@augmentcode/auggie 1.2.0-prerelease.202610141517 → 1.2.0-prerelease.202610150920

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -127,7 +127,7 @@ gpgsig`+Of(s)+`
127
127
  `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(i){case 0:l=s,i=1;break;case 1:r[o++]=l<<2|(s&48)>>4,l=s,i=2;break;case 2:r[o++]=(l&15)<<4|(s&60)>>2,l=s,i=3;break;case 3:r[o++]=(l&3)<<6|s,i=0;break}}if(i==1)throw Error("invalid base64 string");return r.subarray(0,o)}function mi(e,t="std"){let n=WA(t),r=t=="std",o="",i=0,s,l=0;for(let a=0;a<e.length;a++)switch(s=e[a],i){case 0:o+=n[s>>2],l=(s&3)<<4,i=1;break;case 1:o+=n[l|s>>4],l=(s&15)<<2,i=2;break;case 2:o+=n[l|s>>6],o+=n[s&63],i=0;break}return i&&(o+=n[l],r&&(o+="=",i==1&&(o+="="))),o}var Al,XA,Lr;function WA(e){return Al||(Al="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),XA=Al.slice(0,-2).concat("-","_")),e=="url"?XA:Al}function RC(){if(!Lr){Lr=[];let e=WA("std");for(let t=0;t<e.length;t++)Lr[e[t].charCodeAt(0)]=t;Lr[45]=e.indexOf("+"),Lr[95]=e.indexOf("/")}return Lr}function Sn(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=e.charAt(r);switch(o){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o);break}}return n.join("")}var ZC=new Set(["constructor","toString","toJSON","valueOf"]);function Mr(e){return ZC.has(e)?e+"$":e}function Ai(e){for(let t of e.field)tr(t,"jsonName")||(t.jsonName=Sn(t.name));e.nestedType.forEach(Ai)}function GA(e,t){let n=e.values.find(r=>r.name===t);if(!n)throw new Error(`cannot parse ${e} default value: ${t}`);return n.number}function IA(e,t){switch(e){case I.STRING:return t;case I.BYTES:{let n=SC(t);if(n===!1)throw new Error(`cannot parse ${I[e]} default value: ${t}`);return n}case I.INT64:case I.SFIXED64:case I.SINT64:return ae.parse(t);case I.UINT64:case I.FIXED64:return ae.uParse(t);case I.DOUBLE:case I.FLOAT:switch(t){case"inf":return Number.POSITIVE_INFINITY;case"-inf":return Number.NEGATIVE_INFINITY;case"nan":return Number.NaN;default:return parseFloat(t)}case I.BOOL:return t==="true";case I.INT32:case I.UINT32:case I.SINT32:case I.FIXED32:case I.SFIXED32:return parseInt(t,10)}}function SC(e){let t=[],n={tail:e,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(r){if(this.tail.length>=r){let o=this.tail.substring(0,r);return this.tail=this.tail.substring(r),o}return!1}};for(;n.next();)switch(n.c){case"\\":if(n.next())switch(n.c){case"\\":t.push(n.c.charCodeAt(0));break;case"b":t.push(8);break;case"f":t.push(12);break;case"n":t.push(10);break;case"r":t.push(13);break;case"t":t.push(9);break;case"v":t.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let r=n.c,o=n.take(2);if(o===!1)return!1;let i=parseInt(r+o,8);if(Number.isNaN(i))return!1;t.push(i);break}case"x":{let r=n.c,o=n.take(2);if(o===!1)return!1;let i=parseInt(r+o,16);if(Number.isNaN(i))return!1;t.push(i);break}case"u":{let r=n.c,o=n.take(4);if(o===!1)return!1;let i=parseInt(r+o,16);if(Number.isNaN(i))return!1;let s=new Uint8Array(4);new DataView(s.buffer).setInt32(0,i,!0),t.push(s[0],s[1],s[2],s[3]);break}case"U":{let r=n.c,o=n.take(8);if(o===!1)return!1;let i=ae.uEnc(r+o),s=new Uint8Array(8),l=new DataView(s.buffer);l.setInt32(0,i.lo,!0),l.setInt32(4,i.hi,!0),t.push(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7]);break}}break;default:t.push(n.c.charCodeAt(0))}return new Uint8Array(t)}function*Vl(e){switch(e.kind){case"file":for(let t of e.messages)yield t,yield*Vl(t);yield*e.enums,yield*e.services,yield*e.extensions;break;case"message":for(let t of e.nestedMessages)yield t,yield*Vl(t);yield*e.nestedEnums,yield*e.nestedExtensions;break}}function gl(...e){let t=XC();if(!e.length)return t;if("$typeName"in e[0]&&e[0].$typeName=="google.protobuf.FileDescriptorSet"){for(let n of e[0].file)CA(n,t);return t}if("$typeName"in e[0]){let i=function(s){let l=[];for(let a of s.dependency){if(t.getFile(a)!=null||o.has(a))continue;let c=r(a);if(!c)throw new Error(`Unable to resolve ${a}, imported by ${s.name}`);"kind"in c?t.addFile(c,!1,!0):(o.add(c.name),l.push(c))}return l.concat(...l.map(i))},n=e[0],r=e[1],o=new Set;for(let s of[n,...i(n)].reverse())CA(s,t)}else for(let n of e)for(let r of n.files)t.addFile(r);return t}function XC(){let e=new Map,t=new Map,n=new Map;return{kind:"registry",types:e,extendees:t,[Symbol.iterator](){return e.values()},get files(){return n.values()},addFile(r,o,i){if(n.set(r.proto.name,r),!o)for(let s of Vl(r))this.add(s);if(i)for(let s of r.dependencies)this.addFile(s,o,i)},add(r){if(r.kind=="extension"){let o=t.get(r.extendee.typeName);o||t.set(r.extendee.typeName,o=new Map),o.set(r.number,r)}e.set(r.typeName,r)},get(r){return e.get(r)},getFile(r){return n.get(r)},getMessage(r){let o=e.get(r);return o?.kind=="message"?o:void 0},getEnum(r){let o=e.get(r);return o?.kind=="enum"?o:void 0},getExtension(r){let o=e.get(r);return o?.kind=="extension"?o:void 0},getExtensionFor(r,o){var i;return(i=t.get(r.typeName))===null||i===void 0?void 0:i.get(o)},getService(r){let o=e.get(r);return o?.kind=="service"?o:void 0}}}var WC=998,GC=999,IC=9,gi=10,Vi=11,NC=12,NA=14,Md=3,FC=2,FA=1,BC=0,zd=1,BA=2,CC=3,YC=1,yC=2,wC=1;var yA={998:{fieldPresence:1,enumType:2,repeatedFieldEncoding:2,utf8Validation:3,messageEncoding:1,jsonFormat:2,enforceNamingStyle:2,defaultSymbolVisibility:1},999:{fieldPresence:2,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1e3:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1}};function CA(e,t){var n,r;let o={kind:"file",proto:e,deprecated:(r=(n=e.options)===null||n===void 0?void 0:n.deprecated)!==null&&r!==void 0?r:!1,edition:JC(e),name:e.name.replace(/\.proto$/,""),dependencies:kC(e,t),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${e.name}`}},i=new Map,s={get(l){return i.get(l)},add(l){var a;St(((a=l.proto.options)===null||a===void 0?void 0:a.mapEntry)===!0),i.set(l.typeName,l)}};for(let l of e.enumType)wA(l,o,void 0,t);for(let l of e.messageType)UA(l,o,void 0,t,s);for(let l of e.service)UC(l,o,t);Dd(o,t);for(let l of i.values())Ld(l,t,s);for(let l of o.messages)Ld(l,t,s),Dd(l,t);t.addFile(o,!0)}function Dd(e,t){switch(e.kind){case"file":for(let n of e.proto.extension){let r=Hd(n,e,t);e.extensions.push(r),t.add(r)}break;case"message":for(let n of e.proto.extension){let r=Hd(n,e,t);e.nestedExtensions.push(r),t.add(r)}for(let n of e.nestedMessages)Dd(n,t);break}}function Ld(e,t,n){let r=e.proto.oneofDecl.map(i=>vC(i,e)),o=new Set;for(let i of e.proto.field){let s=TC(i,r),l=Hd(i,e,t,s,n);e.fields.push(l),e.field[l.localName]=l,s===void 0?e.members.push(l):(s.fields.push(l),o.has(s)||(o.add(s),e.members.push(s)))}for(let i of r.filter(s=>o.has(s)))e.oneofs.push(i);for(let i of e.nestedMessages)Ld(i,t,n)}function wA(e,t,n,r){var o,i,s,l,a;let c=_C(e.name,e.value),d={kind:"enum",proto:e,deprecated:(i=(o=e.options)===null||o===void 0?void 0:o.deprecated)!==null&&i!==void 0?i:!1,file:t,parent:n,open:!0,name:e.name,typeName:pl(e,n,t),value:{},values:[],sharedPrefix:c,toString(){return`enum ${this.typeName}`}};d.open=LC(d),r.add(d);for(let u of e.value){let h=u.name;d.values.push(d.value[u.number]={kind:"enum_value",proto:u,deprecated:(l=(s=u.options)===null||s===void 0?void 0:s.deprecated)!==null&&l!==void 0?l:!1,parent:d,name:h,localName:Mr(c==null?h:h.substring(c.length)),number:u.number,toString(){return`enum value ${d.typeName}.${h}`}})}((a=n?.nestedEnums)!==null&&a!==void 0?a:t.enums).push(d)}function UA(e,t,n,r,o){var i,s,l,a;let c={kind:"message",proto:e,deprecated:(s=(i=e.options)===null||i===void 0?void 0:i.deprecated)!==null&&s!==void 0?s:!1,file:t,parent:n,name:e.name,typeName:pl(e,n,t),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((l=e.options)===null||l===void 0?void 0:l.mapEntry)===!0?o.add(c):(((a=n?.nestedMessages)!==null&&a!==void 0?a:t.messages).push(c),r.add(c));for(let d of e.enumType)wA(d,t,c,r);for(let d of e.nestedType)UA(d,t,c,r,o)}function UC(e,t,n){var r,o;let i={kind:"service",proto:e,deprecated:(o=(r=e.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,file:t,name:e.name,typeName:pl(e,void 0,t),methods:[],method:{},toString(){return`service ${this.typeName}`}};t.services.push(i),n.add(i);for(let s of e.method){let l=xC(s,i,n);i.methods.push(l),i.method[l.localName]=l}}function xC(e,t,n){var r,o,i,s;let l;e.clientStreaming&&e.serverStreaming?l="bidi_streaming":e.clientStreaming?l="client_streaming":e.serverStreaming?l="server_streaming":l="unary";let a=n.getMessage(tn(e.inputType)),c=n.getMessage(tn(e.outputType));St(a,`invalid MethodDescriptorProto: input_type ${e.inputType} not found`),St(c,`invalid MethodDescriptorProto: output_type ${e.inputType} not found`);let d=e.name;return{kind:"rpc",proto:e,deprecated:(o=(r=e.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,parent:t,name:d,localName:Mr(d.length?Mr(d[0].toLowerCase()+d.substring(1)):d),methodKind:l,input:a,output:c,idempotency:(s=(i=e.options)===null||i===void 0?void 0:i.idempotencyLevel)!==null&&s!==void 0?s:BC,toString(){return`rpc ${t.typeName}.${d}`}}}function vC(e,t){return{kind:"oneof",proto:e,deprecated:!1,parent:t,fields:[],name:e.name,localName:Mr(Sn(e.name)),toString(){return`oneof ${t.typeName}.${this.name}`}}}function Hd(e,t,n,r,o){var i,s,l;let a=o===void 0,c={kind:"field",proto:e,deprecated:(s=(i=e.options)===null||i===void 0?void 0:i.deprecated)!==null&&s!==void 0?s:!1,name:e.name,number:e.number,scalar:void 0,message:void 0,enum:void 0,presence:KC(e,r,a,t),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(a){let b=t.kind=="file"?t:t.file,f=t.kind=="file"?void 0:t,A=pl(e,f,b);c.kind="extension",c.file=b,c.parent=f,c.oneof=void 0,c.typeName=A,c.jsonName=`[${A}]`,c.toString=()=>`extension ${A}`;let m=n.getMessage(tn(e.extendee));St(m,`invalid FieldDescriptorProto: extendee ${e.extendee} not found`),c.extendee=m}else{let b=t;St(b.kind=="message"),c.parent=b,c.oneof=r,c.localName=r?Sn(e.name):Mr(Sn(e.name)),c.jsonName=e.jsonName,c.toString=()=>`field ${b.typeName}.${e.name}`}let d=e.label,u=e.type,h=(l=e.options)===null||l===void 0?void 0:l.jstype;if(d===Md){let b=u==Vi?o?.get(tn(e.typeName)):void 0;if(b){c.fieldKind="map";let{key:f,value:A}=DC(b);return c.mapKey=f.scalar,c.mapKind=A.fieldKind,c.message=A.message,c.delimitedEncoding=!1,c.enum=A.enum,c.scalar=A.scalar,c}switch(c.fieldKind="list",u){case Vi:case gi:c.listKind="message",c.message=n.getMessage(tn(e.typeName)),St(c.message),c.delimitedEncoding=YA(e,t);break;case NA:c.listKind="enum",c.enum=n.getEnum(tn(e.typeName)),St(c.enum);break;default:c.listKind="scalar",c.scalar=u,c.longAsString=h==FA;break}return c.packed=zC(e,t),c}switch(u){case Vi:case gi:c.fieldKind="message",c.message=n.getMessage(tn(e.typeName)),St(c.message,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),c.delimitedEncoding=YA(e,t),c.getDefaultValue=()=>{};break;case NA:{let b=n.getEnum(tn(e.typeName));St(b!==void 0,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),c.fieldKind="enum",c.enum=n.getEnum(tn(e.typeName)),c.getDefaultValue=()=>tr(e,"defaultValue")?GA(b,e.defaultValue):void 0;break}default:{c.fieldKind="scalar",c.scalar=u,c.longAsString=h==FA,c.getDefaultValue=()=>tr(e,"defaultValue")?IA(u,e.defaultValue):void 0;break}}return c}function JC(e){switch(e.syntax){case"":case"proto2":return WC;case"proto3":return GC;case"editions":if(e.edition in yA)return e.edition;throw new Error(`${e.name}: unsupported edition`);default:throw new Error(`${e.name}: unsupported syntax "${e.syntax}"`)}}function kC(e,t){return e.dependency.map(n=>{let r=t.getFile(n);if(!r)throw new Error(`Cannot find ${n}, imported by ${e.name}`);return r})}function _C(e,t){let n=QC(e)+"_";for(let r of t){if(!r.name.toLowerCase().startsWith(n))return;let o=r.name.substring(n.length);if(o.length==0||/^\d/.test(o))return}return n}function QC(e){return(e.substring(0,1)+e.substring(1).replace(/[A-Z]/g,t=>"_"+t)).toLowerCase()}function pl(e,t,n){let r;return t?r=`${t.typeName}.${e.name}`:n.proto.package.length>0?r=`${n.proto.package}.${e.name}`:r=`${e.name}`,r}function tn(e){return e.startsWith(".")?e.substring(1):e}function TC(e,t){if(!tr(e,"oneofIndex")||e.proto3Optional)return;let n=t[e.oneofIndex];return St(n,`invalid FieldDescriptorProto: oneof #${e.oneofIndex} for field #${e.number} not found`),n}function KC(e,t,n,r){if(e.label==FC)return CC;if(e.label==Md)return BA;if(t||e.proto3Optional||n)return zd;let o=Or("fieldPresence",{proto:e,parent:r});return o==BA&&(e.type==Vi||e.type==gi)?zd:o}function zC(e,t){if(e.label!=Md)return!1;switch(e.type){case IC:case NC:case gi:case Vi:return!1}let n=e.options;return n&&tr(n,"packed")?n.packed:YC==Or("repeatedFieldEncoding",{proto:e,parent:t})}function DC(e){let t=e.fields.find(r=>r.number===1),n=e.fields.find(r=>r.number===2);return St(t&&t.fieldKind=="scalar"&&t.scalar!=I.BYTES&&t.scalar!=I.FLOAT&&t.scalar!=I.DOUBLE&&n&&n.fieldKind!="list"&&n.fieldKind!="map"),{key:t,value:n}}function LC(e){var t;return wC==Or("enumType",{proto:e.proto,parent:(t=e.parent)!==null&&t!==void 0?t:e.file})}function YA(e,t){return e.type==gi?!0:yC==Or("messageEncoding",{proto:e,parent:t})}function Or(e,t){var n,r;let o=(n=t.proto.options)===null||n===void 0?void 0:n.features;if(o){let i=o[e];if(i!=0)return i}if("kind"in t){if(t.kind=="message")return Or(e,(r=t.parent)!==null&&r!==void 0?r:t.file);let i=yA[t.edition];if(!i)throw new Error(`feature default for edition ${t.edition} not found`);return i[e]}return Or(e,t.parent)}function St(e,t){if(!e)throw new Error(t)}function xA(e){let t=HC(e);return t.messageType.forEach(Ai),gl(t,()=>{}).getFile(t.name)}function HC(e){return Object.assign(Object.create({syntax:"",edition:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],optionDependency:[],service:[],extension:[]},e),{messageType:e.messageType.map(vA),enumType:e.enumType.map(JA)}))}function vA(e){var t,n,r,o,i,s,l,a;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:e.name,field:(n=(t=e.field)===null||t===void 0?void 0:t.map(MC))!==null&&n!==void 0?n:[],extension:[],nestedType:(o=(r=e.nestedType)===null||r===void 0?void 0:r.map(vA))!==null&&o!==void 0?o:[],enumType:(s=(i=e.enumType)===null||i===void 0?void 0:i.map(JA))!==null&&s!==void 0?s:[],extensionRange:(a=(l=e.extensionRange)===null||l===void 0?void 0:l.map(d=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},d)))!==null&&a!==void 0?a:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function MC(e){return Object.assign(Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},e),{options:e.options?OC(e.options):void 0}))}function OC(e){var t,n,r;return Object.assign(Object.create({ctype:0,packed:!1,jstype:0,lazy:!1,unverifiedLazy:!1,deprecated:!1,weak:!1,debugRedact:!1,retention:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldOptions"},e),{targets:(t=e.targets)!==null&&t!==void 0?t:[],editionDefaults:(r=(n=e.editionDefaults)===null||n===void 0?void 0:n.map(i=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},i)))!==null&&r!==void 0?r:[],uninterpretedOption:[]}))}function JA(e){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:e.name,reservedName:[],reservedRange:[],value:e.value.map(n=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},n))})}function M(e,t,...n){return n.reduce((r,o)=>r.nestedMessages[o],e.messages[t])}var nn=xA({name:"google/protobuf/descriptor.proto",package:"google.protobuf",messageType:[{name:"FileDescriptorSet",field:[{name:"file",number:1,type:11,label:3,typeName:".google.protobuf.FileDescriptorProto"}],extensionRange:[{start:536e6,end:536000001}]},{name:"FileDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"package",number:2,type:9,label:1},{name:"dependency",number:3,type:9,label:3},{name:"public_dependency",number:10,type:5,label:3},{name:"weak_dependency",number:11,type:5,label:3},{name:"option_dependency",number:15,type:9,label:3},{name:"message_type",number:4,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:5,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"service",number:6,type:11,label:3,typeName:".google.protobuf.ServiceDescriptorProto"},{name:"extension",number:7,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FileOptions"},{name:"source_code_info",number:9,type:11,label:1,typeName:".google.protobuf.SourceCodeInfo"},{name:"syntax",number:12,type:9,label:1},{name:"edition",number:14,type:14,label:1,typeName:".google.protobuf.Edition"}]},{name:"DescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"field",number:2,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"extension",number:6,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"nested_type",number:3,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"extension_range",number:5,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ExtensionRange"},{name:"oneof_decl",number:8,type:11,label:3,typeName:".google.protobuf.OneofDescriptorProto"},{name:"options",number:7,type:11,label:1,typeName:".google.protobuf.MessageOptions"},{name:"reserved_range",number:9,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ReservedRange"},{name:"reserved_name",number:10,type:9,label:3},{name:"visibility",number:11,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"ExtensionRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ExtensionRangeOptions"}]},{name:"ReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"ExtensionRangeOptions",field:[{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"},{name:"declaration",number:2,type:11,label:3,typeName:".google.protobuf.ExtensionRangeOptions.Declaration",options:{retention:2}},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"verification",number:3,type:14,label:1,typeName:".google.protobuf.ExtensionRangeOptions.VerificationState",defaultValue:"UNVERIFIED",options:{retention:2}}],nestedType:[{name:"Declaration",field:[{name:"number",number:1,type:5,label:1},{name:"full_name",number:2,type:9,label:1},{name:"type",number:3,type:9,label:1},{name:"reserved",number:5,type:8,label:1},{name:"repeated",number:6,type:8,label:1}]}],enumType:[{name:"VerificationState",value:[{name:"DECLARATION",number:0},{name:"UNVERIFIED",number:1}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:3,type:5,label:1},{name:"label",number:4,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Label"},{name:"type",number:5,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Type"},{name:"type_name",number:6,type:9,label:1},{name:"extendee",number:2,type:9,label:1},{name:"default_value",number:7,type:9,label:1},{name:"oneof_index",number:9,type:5,label:1},{name:"json_name",number:10,type:9,label:1},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FieldOptions"},{name:"proto3_optional",number:17,type:8,label:1}],enumType:[{name:"Type",value:[{name:"TYPE_DOUBLE",number:1},{name:"TYPE_FLOAT",number:2},{name:"TYPE_INT64",number:3},{name:"TYPE_UINT64",number:4},{name:"TYPE_INT32",number:5},{name:"TYPE_FIXED64",number:6},{name:"TYPE_FIXED32",number:7},{name:"TYPE_BOOL",number:8},{name:"TYPE_STRING",number:9},{name:"TYPE_GROUP",number:10},{name:"TYPE_MESSAGE",number:11},{name:"TYPE_BYTES",number:12},{name:"TYPE_UINT32",number:13},{name:"TYPE_ENUM",number:14},{name:"TYPE_SFIXED32",number:15},{name:"TYPE_SFIXED64",number:16},{name:"TYPE_SINT32",number:17},{name:"TYPE_SINT64",number:18}]},{name:"Label",value:[{name:"LABEL_OPTIONAL",number:1},{name:"LABEL_REPEATED",number:3},{name:"LABEL_REQUIRED",number:2}]}]},{name:"OneofDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"options",number:2,type:11,label:1,typeName:".google.protobuf.OneofOptions"}]},{name:"EnumDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"value",number:2,type:11,label:3,typeName:".google.protobuf.EnumValueDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumOptions"},{name:"reserved_range",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto.EnumReservedRange"},{name:"reserved_name",number:5,type:9,label:3},{name:"visibility",number:6,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"EnumReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"EnumValueDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumValueOptions"}]},{name:"ServiceDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"method",number:2,type:11,label:3,typeName:".google.protobuf.MethodDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ServiceOptions"}]},{name:"MethodDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"input_type",number:2,type:9,label:1},{name:"output_type",number:3,type:9,label:1},{name:"options",number:4,type:11,label:1,typeName:".google.protobuf.MethodOptions"},{name:"client_streaming",number:5,type:8,label:1,defaultValue:"false"},{name:"server_streaming",number:6,type:8,label:1,defaultValue:"false"}]},{name:"FileOptions",field:[{name:"java_package",number:1,type:9,label:1},{name:"java_outer_classname",number:8,type:9,label:1},{name:"java_multiple_files",number:10,type:8,label:1,defaultValue:"false"},{name:"java_generate_equals_and_hash",number:20,type:8,label:1,options:{deprecated:!0}},{name:"java_string_check_utf8",number:27,type:8,label:1,defaultValue:"false"},{name:"optimize_for",number:9,type:14,label:1,typeName:".google.protobuf.FileOptions.OptimizeMode",defaultValue:"SPEED"},{name:"go_package",number:11,type:9,label:1},{name:"cc_generic_services",number:16,type:8,label:1,defaultValue:"false"},{name:"java_generic_services",number:17,type:8,label:1,defaultValue:"false"},{name:"py_generic_services",number:18,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:23,type:8,label:1,defaultValue:"false"},{name:"cc_enable_arenas",number:31,type:8,label:1,defaultValue:"true"},{name:"objc_class_prefix",number:36,type:9,label:1},{name:"csharp_namespace",number:37,type:9,label:1},{name:"swift_prefix",number:39,type:9,label:1},{name:"php_class_prefix",number:40,type:9,label:1},{name:"php_namespace",number:41,type:9,label:1},{name:"php_metadata_namespace",number:44,type:9,label:1},{name:"ruby_package",number:45,type:9,label:1},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"OptimizeMode",value:[{name:"SPEED",number:1},{name:"CODE_SIZE",number:2},{name:"LITE_RUNTIME",number:3}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"MessageOptions",field:[{name:"message_set_wire_format",number:1,type:8,label:1,defaultValue:"false"},{name:"no_standard_descriptor_accessor",number:2,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"map_entry",number:7,type:8,label:1},{name:"deprecated_legacy_json_field_conflicts",number:11,type:8,label:1,options:{deprecated:!0}},{name:"features",number:12,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldOptions",field:[{name:"ctype",number:1,type:14,label:1,typeName:".google.protobuf.FieldOptions.CType",defaultValue:"STRING"},{name:"packed",number:2,type:8,label:1},{name:"jstype",number:6,type:14,label:1,typeName:".google.protobuf.FieldOptions.JSType",defaultValue:"JS_NORMAL"},{name:"lazy",number:5,type:8,label:1,defaultValue:"false"},{name:"unverified_lazy",number:15,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"weak",number:10,type:8,label:1,defaultValue:"false"},{name:"debug_redact",number:16,type:8,label:1,defaultValue:"false"},{name:"retention",number:17,type:14,label:1,typeName:".google.protobuf.FieldOptions.OptionRetention"},{name:"targets",number:19,type:14,label:3,typeName:".google.protobuf.FieldOptions.OptionTargetType"},{name:"edition_defaults",number:20,type:11,label:3,typeName:".google.protobuf.FieldOptions.EditionDefault"},{name:"features",number:21,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"feature_support",number:22,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],nestedType:[{name:"EditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"value",number:2,type:9,label:1}]},{name:"FeatureSupport",field:[{name:"edition_introduced",number:1,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"edition_deprecated",number:2,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"deprecation_warning",number:3,type:9,label:1},{name:"edition_removed",number:4,type:14,label:1,typeName:".google.protobuf.Edition"}]}],enumType:[{name:"CType",value:[{name:"STRING",number:0},{name:"CORD",number:1},{name:"STRING_PIECE",number:2}]},{name:"JSType",value:[{name:"JS_NORMAL",number:0},{name:"JS_STRING",number:1},{name:"JS_NUMBER",number:2}]},{name:"OptionRetention",value:[{name:"RETENTION_UNKNOWN",number:0},{name:"RETENTION_RUNTIME",number:1},{name:"RETENTION_SOURCE",number:2}]},{name:"OptionTargetType",value:[{name:"TARGET_TYPE_UNKNOWN",number:0},{name:"TARGET_TYPE_FILE",number:1},{name:"TARGET_TYPE_EXTENSION_RANGE",number:2},{name:"TARGET_TYPE_MESSAGE",number:3},{name:"TARGET_TYPE_FIELD",number:4},{name:"TARGET_TYPE_ONEOF",number:5},{name:"TARGET_TYPE_ENUM",number:6},{name:"TARGET_TYPE_ENUM_ENTRY",number:7},{name:"TARGET_TYPE_SERVICE",number:8},{name:"TARGET_TYPE_METHOD",number:9}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"OneofOptions",field:[{name:"features",number:1,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumOptions",field:[{name:"allow_alias",number:2,type:8,label:1},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"deprecated_legacy_json_field_conflicts",number:6,type:8,label:1,options:{deprecated:!0}},{name:"features",number:7,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumValueOptions",field:[{name:"deprecated",number:1,type:8,label:1,defaultValue:"false"},{name:"features",number:2,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"debug_redact",number:3,type:8,label:1,defaultValue:"false"},{name:"feature_support",number:4,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"ServiceOptions",field:[{name:"features",number:34,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"MethodOptions",field:[{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"idempotency_level",number:34,type:14,label:1,typeName:".google.protobuf.MethodOptions.IdempotencyLevel",defaultValue:"IDEMPOTENCY_UNKNOWN"},{name:"features",number:35,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"IdempotencyLevel",value:[{name:"IDEMPOTENCY_UNKNOWN",number:0},{name:"NO_SIDE_EFFECTS",number:1},{name:"IDEMPOTENT",number:2}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"UninterpretedOption",field:[{name:"name",number:2,type:11,label:3,typeName:".google.protobuf.UninterpretedOption.NamePart"},{name:"identifier_value",number:3,type:9,label:1},{name:"positive_int_value",number:4,type:4,label:1},{name:"negative_int_value",number:5,type:3,label:1},{name:"double_value",number:6,type:1,label:1},{name:"string_value",number:7,type:12,label:1},{name:"aggregate_value",number:8,type:9,label:1}],nestedType:[{name:"NamePart",field:[{name:"name_part",number:1,type:9,label:2},{name:"is_extension",number:2,type:8,label:2}]}]},{name:"FeatureSet",field:[{name:"field_presence",number:1,type:14,label:1,typeName:".google.protobuf.FeatureSet.FieldPresence",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPLICIT",edition:900},{value:"IMPLICIT",edition:999},{value:"EXPLICIT",edition:1e3}]}},{name:"enum_type",number:2,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnumType",options:{retention:1,targets:[6,1],editionDefaults:[{value:"CLOSED",edition:900},{value:"OPEN",edition:999}]}},{name:"repeated_field_encoding",number:3,type:14,label:1,typeName:".google.protobuf.FeatureSet.RepeatedFieldEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPANDED",edition:900},{value:"PACKED",edition:999}]}},{name:"utf8_validation",number:4,type:14,label:1,typeName:".google.protobuf.FeatureSet.Utf8Validation",options:{retention:1,targets:[4,1],editionDefaults:[{value:"NONE",edition:900},{value:"VERIFY",edition:999}]}},{name:"message_encoding",number:5,type:14,label:1,typeName:".google.protobuf.FeatureSet.MessageEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"LENGTH_PREFIXED",edition:900}]}},{name:"json_format",number:6,type:14,label:1,typeName:".google.protobuf.FeatureSet.JsonFormat",options:{retention:1,targets:[3,6,1],editionDefaults:[{value:"LEGACY_BEST_EFFORT",edition:900},{value:"ALLOW",edition:999}]}},{name:"enforce_naming_style",number:7,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnforceNamingStyle",options:{retention:2,targets:[1,2,3,4,5,6,7,8,9],editionDefaults:[{value:"STYLE_LEGACY",edition:900},{value:"STYLE2024",edition:1001}]}},{name:"default_symbol_visibility",number:8,type:14,label:1,typeName:".google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility",options:{retention:2,targets:[1],editionDefaults:[{value:"EXPORT_ALL",edition:900},{value:"EXPORT_TOP_LEVEL",edition:1001}]}}],nestedType:[{name:"VisibilityFeature",enumType:[{name:"DefaultSymbolVisibility",value:[{name:"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",number:0},{name:"EXPORT_ALL",number:1},{name:"EXPORT_TOP_LEVEL",number:2},{name:"LOCAL_ALL",number:3},{name:"STRICT",number:4}]}]}],enumType:[{name:"FieldPresence",value:[{name:"FIELD_PRESENCE_UNKNOWN",number:0},{name:"EXPLICIT",number:1},{name:"IMPLICIT",number:2},{name:"LEGACY_REQUIRED",number:3}]},{name:"EnumType",value:[{name:"ENUM_TYPE_UNKNOWN",number:0},{name:"OPEN",number:1},{name:"CLOSED",number:2}]},{name:"RepeatedFieldEncoding",value:[{name:"REPEATED_FIELD_ENCODING_UNKNOWN",number:0},{name:"PACKED",number:1},{name:"EXPANDED",number:2}]},{name:"Utf8Validation",value:[{name:"UTF8_VALIDATION_UNKNOWN",number:0},{name:"VERIFY",number:2},{name:"NONE",number:3}]},{name:"MessageEncoding",value:[{name:"MESSAGE_ENCODING_UNKNOWN",number:0},{name:"LENGTH_PREFIXED",number:1},{name:"DELIMITED",number:2}]},{name:"JsonFormat",value:[{name:"JSON_FORMAT_UNKNOWN",number:0},{name:"ALLOW",number:1},{name:"LEGACY_BEST_EFFORT",number:2}]},{name:"EnforceNamingStyle",value:[{name:"ENFORCE_NAMING_STYLE_UNKNOWN",number:0},{name:"STYLE2024",number:1},{name:"STYLE_LEGACY",number:2}]}],extensionRange:[{start:1e3,end:9995},{start:9995,end:1e4},{start:1e4,end:10001}]},{name:"FeatureSetDefaults",field:[{name:"defaults",number:1,type:11,label:3,typeName:".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"},{name:"minimum_edition",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"maximum_edition",number:5,type:14,label:1,typeName:".google.protobuf.Edition"}],nestedType:[{name:"FeatureSetEditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"overridable_features",number:4,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"fixed_features",number:5,type:11,label:1,typeName:".google.protobuf.FeatureSet"}]}]},{name:"SourceCodeInfo",field:[{name:"location",number:1,type:11,label:3,typeName:".google.protobuf.SourceCodeInfo.Location"}],nestedType:[{name:"Location",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"span",number:2,type:5,label:3,options:{packed:!0}},{name:"leading_comments",number:3,type:9,label:1},{name:"trailing_comments",number:4,type:9,label:1},{name:"leading_detached_comments",number:6,type:9,label:3}]}],extensionRange:[{start:536e6,end:536000001}]},{name:"GeneratedCodeInfo",field:[{name:"annotation",number:1,type:11,label:3,typeName:".google.protobuf.GeneratedCodeInfo.Annotation"}],nestedType:[{name:"Annotation",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"source_file",number:2,type:9,label:1},{name:"begin",number:3,type:5,label:1},{name:"end",number:4,type:5,label:1},{name:"semantic",number:5,type:14,label:1,typeName:".google.protobuf.GeneratedCodeInfo.Annotation.Semantic"}],enumType:[{name:"Semantic",value:[{name:"NONE",number:0},{name:"SET",number:1},{name:"ALIAS",number:2}]}]}]}],enumType:[{name:"Edition",value:[{name:"EDITION_UNKNOWN",number:0},{name:"EDITION_LEGACY",number:900},{name:"EDITION_PROTO2",number:998},{name:"EDITION_PROTO3",number:999},{name:"EDITION_2023",number:1e3},{name:"EDITION_2024",number:1001},{name:"EDITION_1_TEST_ONLY",number:1},{name:"EDITION_2_TEST_ONLY",number:2},{name:"EDITION_99997_TEST_ONLY",number:99997},{name:"EDITION_99998_TEST_ONLY",number:99998},{name:"EDITION_99999_TEST_ONLY",number:99999},{name:"EDITION_MAX",number:2147483647}]},{name:"SymbolVisibility",value:[{name:"VISIBILITY_UNSET",number:0},{name:"VISIBILITY_LOCAL",number:1},{name:"VISIBILITY_EXPORT",number:2}]}]});var oV=M(nn,1);var kA;(function(e){e[e.DECLARATION=0]="DECLARATION",e[e.UNVERIFIED=1]="UNVERIFIED"})(kA||(kA={}));var _A;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.GROUP=10]="GROUP",e[e.MESSAGE=11]="MESSAGE",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.ENUM=14]="ENUM",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(_A||(_A={}));var QA;(function(e){e[e.OPTIONAL=1]="OPTIONAL",e[e.REPEATED=3]="REPEATED",e[e.REQUIRED=2]="REQUIRED"})(QA||(QA={}));var TA;(function(e){e[e.SPEED=1]="SPEED",e[e.CODE_SIZE=2]="CODE_SIZE",e[e.LITE_RUNTIME=3]="LITE_RUNTIME"})(TA||(TA={}));var KA;(function(e){e[e.STRING=0]="STRING",e[e.CORD=1]="CORD",e[e.STRING_PIECE=2]="STRING_PIECE"})(KA||(KA={}));var zA;(function(e){e[e.JS_NORMAL=0]="JS_NORMAL",e[e.JS_STRING=1]="JS_STRING",e[e.JS_NUMBER=2]="JS_NUMBER"})(zA||(zA={}));var DA;(function(e){e[e.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",e[e.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",e[e.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(DA||(DA={}));var LA;(function(e){e[e.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",e[e.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",e[e.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",e[e.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",e[e.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",e[e.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",e[e.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",e[e.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",e[e.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",e[e.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD"})(LA||(LA={}));var El;(function(e){e[e.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",e[e.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",e[e.IDEMPOTENT=2]="IDEMPOTENT"})(El||(El={}));var HA;(function(e){e[e.DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",e[e.EXPORT_ALL=1]="EXPORT_ALL",e[e.EXPORT_TOP_LEVEL=2]="EXPORT_TOP_LEVEL",e[e.LOCAL_ALL=3]="LOCAL_ALL",e[e.STRICT=4]="STRICT"})(HA||(HA={}));var MA;(function(e){e[e.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",e[e.EXPLICIT=1]="EXPLICIT",e[e.IMPLICIT=2]="IMPLICIT",e[e.LEGACY_REQUIRED=3]="LEGACY_REQUIRED"})(MA||(MA={}));var OA;(function(e){e[e.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",e[e.OPEN=1]="OPEN",e[e.CLOSED=2]="CLOSED"})(OA||(OA={}));var jA;(function(e){e[e.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",e[e.PACKED=1]="PACKED",e[e.EXPANDED=2]="EXPANDED"})(jA||(jA={}));var PA;(function(e){e[e.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",e[e.VERIFY=2]="VERIFY",e[e.NONE=3]="NONE"})(PA||(PA={}));var qA;(function(e){e[e.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",e[e.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",e[e.DELIMITED=2]="DELIMITED"})(qA||(qA={}));var $A;(function(e){e[e.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",e[e.ALLOW=1]="ALLOW",e[e.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT"})($A||($A={}));var eV;(function(e){e[e.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",e[e.STYLE2024=1]="STYLE2024",e[e.STYLE_LEGACY=2]="STYLE_LEGACY"})(eV||(eV={}));var tV;(function(e){e[e.NONE=0]="NONE",e[e.SET=1]="SET",e[e.ALIAS=2]="ALIAS"})(tV||(tV={}));var nV;(function(e){e[e.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",e[e.EDITION_LEGACY=900]="EDITION_LEGACY",e[e.EDITION_PROTO2=998]="EDITION_PROTO2",e[e.EDITION_PROTO3=999]="EDITION_PROTO3",e[e.EDITION_2023=1e3]="EDITION_2023",e[e.EDITION_2024=1001]="EDITION_2024",e[e.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",e[e.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",e[e.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",e[e.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",e[e.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",e[e.EDITION_MAX=2147483647]="EDITION_MAX"})(nV||(nV={}));var rV;(function(e){e[e.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",e[e.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",e[e.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(rV||(rV={}));var iV={readUnknownFields:!0};function jC(e){return e?Object.assign(Object.assign({},iV),e):iV}function rn(e,t,n){let r=ke(e,void 0,!1);return sV(r,new nr(t),jC(n),!1,t.byteLength),r.message}function sV(e,t,n,r,o){var i;let s=r?t.len:t.pos+o,l,a,c=(i=e.getUnknown())!==null&&i!==void 0?i:[];for(;t.pos<s&&([l,a]=t.tag(),!(r&&a==me.EndGroup));){let d=e.findNumber(l);if(!d){let u=t.skip(a,l);n.readUnknownFields&&c.push({no:l,wireType:a,data:u});continue}Od(e,t,d,a,n)}if(r&&(a!=me.EndGroup||l!==o))throw new Error("invalid end group tag");c.length>0&&e.setUnknown(c)}function Od(e,t,n,r,o){var i;switch(n.fieldKind){case"scalar":e.set(n,jr(t,n.scalar));break;case"enum":let s=jr(t,I.INT32);if(n.enum.open)e.set(n,s);else if(n.enum.values.some(a=>a.number===s))e.set(n,s);else if(o.readUnknownFields){let a=new Zn().int32(s).finish(),c=(i=e.getUnknown())!==null&&i!==void 0?i:[];c.push({no:n.number,wireType:r,data:a}),e.setUnknown(c)}break;case"message":e.set(n,jd(t,o,n,e.get(n)));break;case"list":qC(t,r,e.get(n),o);break;case"map":PC(t,e.get(n),o);break}}function PC(e,t,n){let r=t.field(),o,i,s=e.pos+e.uint32();for(;e.pos<s;){let[l]=e.tag();switch(l){case 1:o=jr(e,r.mapKey);break;case 2:switch(r.mapKind){case"scalar":i=jr(e,r.scalar);break;case"enum":i=e.int32();break;case"message":i=jd(e,n,r);break}break}}if(o===void 0&&(o=st(r.mapKey,!1)),i===void 0)switch(r.mapKind){case"scalar":i=st(r.scalar,!1);break;case"enum":i=r.enum.values[0].number;break;case"message":i=ke(r.message,void 0,!1);break}t.set(o,i)}function qC(e,t,n,r){var o;let i=n.field();if(i.listKind==="message"){n.add(jd(e,r,i));return}let s=(o=i.scalar)!==null&&o!==void 0?o:I.INT32;if(!(t==me.LengthDelimited&&s!=I.STRING&&s!=I.BYTES)){n.add(jr(e,s));return}let a=e.uint32()+e.pos;for(;e.pos<a;)n.add(jr(e,s))}function jd(e,t,n,r){let o=n.delimitedEncoding,i=r??ke(n.message,void 0,!1);return sV(i,e,t,o,o?n.number:e.uint32()),i}function jr(e,t){switch(t){case I.STRING:return e.string();case I.BOOL:return e.bool();case I.DOUBLE:return e.double();case I.FLOAT:return e.float();case I.INT32:return e.int32();case I.INT64:return e.int64();case I.UINT64:return e.uint64();case I.FIXED64:return e.fixed64();case I.BYTES:return e.bytes();case I.FIXED32:return e.fixed32();case I.SFIXED32:return e.sfixed32();case I.SFIXED64:return e.sfixed64();case I.SINT64:return e.sint64();case I.UINT32:return e.uint32();case I.SINT32:return e.sint32()}}function k(e,t){var n;let r=rn(oV,Hr(e));return r.messageType.forEach(Ai),r.dependency=(n=t?.map(i=>i.proto.name))!==null&&n!==void 0?n:[],gl(r,i=>t?.find(s=>s.proto.name===i)).getFile(r.name)}var ee=k("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM");var rr=k("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),lV=M(rr,0);var $C=3,aV={writeUnknownFields:!0};function e9(e){return e?Object.assign(Object.assign({},aV),e):aV}function pi(e,t,n){return Rl(new Zn,e9(n),ke(e,t)).finish()}function Rl(e,t,n){var r;for(let o of n.sortedFields){if(!n.isSet(o)){if(o.presence==$C)throw new Error(`cannot encode ${o} to binary: required field not set`);continue}Pd(e,t,n,o)}if(t.writeUnknownFields)for(let{no:o,wireType:i,data:s}of(r=n.getUnknown())!==null&&r!==void 0?r:[])e.tag(o,i).raw(s);return e}function Pd(e,t,n,r){var o;switch(r.fieldKind){case"scalar":case"enum":Zl(e,n.desc.typeName,r.name,(o=r.scalar)!==null&&o!==void 0?o:I.INT32,r.number,n.get(r));break;case"list":t9(e,t,r,n.get(r));break;case"message":cV(e,t,r,n.get(r));break;case"map":for(let[i,s]of n.get(r))n9(e,t,r,i,s);break}}function Zl(e,t,n,r,o,i){dV(e.tag(o,r9(r)),t,n,r,i)}function cV(e,t,n,r){n.delimitedEncoding?Rl(e.tag(n.number,me.StartGroup),t,r).tag(n.number,me.EndGroup):Rl(e.tag(n.number,me.LengthDelimited).fork(),t,r).join()}function t9(e,t,n,r){var o;if(n.listKind=="message"){for(let s of r)cV(e,t,n,s);return}let i=(o=n.scalar)!==null&&o!==void 0?o:I.INT32;if(n.packed){if(!r.size)return;e.tag(n.number,me.LengthDelimited).fork();for(let s of r)dV(e,n.parent.typeName,n.name,i,s);e.join();return}for(let s of r)Zl(e,n.parent.typeName,n.name,i,n.number,s)}function n9(e,t,n,r,o){var i;switch(e.tag(n.number,me.LengthDelimited).fork(),Zl(e,n.parent.typeName,n.name,n.mapKey,1,r),n.mapKind){case"scalar":case"enum":Zl(e,n.parent.typeName,n.name,(i=n.scalar)!==null&&i!==void 0?i:I.INT32,2,o);break;case"message":Rl(e.tag(2,me.LengthDelimited).fork(),t,o).join();break}e.join()}function dV(e,t,n,r,o){try{switch(r){case I.STRING:e.string(o);break;case I.BOOL:e.bool(o);break;case I.DOUBLE:e.double(o);break;case I.FLOAT:e.float(o);break;case I.INT32:e.int32(o);break;case I.INT64:e.int64(o);break;case I.UINT64:e.uint64(o);break;case I.FIXED64:e.fixed64(o);break;case I.BYTES:e.bytes(o);break;case I.FIXED32:e.fixed32(o);break;case I.SFIXED32:e.sfixed32(o);break;case I.SFIXED64:e.sfixed64(o);break;case I.SINT64:e.sint64(o);break;case I.UINT32:e.uint32(o);break;case I.SINT32:e.sint32(o);break}}catch(i){throw i instanceof Error?new Error(`cannot encode field ${t}.${n} to binary: ${i.message}`):i}}function r9(e){switch(e){case I.BYTES:case I.STRING:return me.LengthDelimited;case I.DOUBLE:case I.FIXED64:case I.SFIXED64:return me.Bit64;case I.FIXED32:case I.SFIXED32:case I.FLOAT:return me.Bit32;default:return me.Varint}}function uV(e,t,n){let r=!1;return n||(n=Je(lV),r=!0),n.value=pi(e,t),n.typeUrl=s9(t.$typeName),r?n:void 0}function i9(e,t){if(e.typeUrl==="")return!1;let n=typeof t=="string"?t:t.typeName,r=bV(e.typeUrl);return n===r}function hV(e,t){if(e.typeUrl==="")return;let n=t.kind=="message"?t:t.getMessage(bV(e.typeUrl));if(!(!n||!i9(e,n)))return rn(n,e.value)}function s9(e){return`type.googleapis.com/${e}`}function bV(e){let t=e.lastIndexOf("/"),n=t>=0?e.substring(t+1):e;if(!n.length)throw new Error(`invalid type url: ${e}`);return n}function qd(e,t,...n){if(n.length==0)return e.extensions[t];let r=n.pop();return n.reduce((o,i)=>o.nestedMessages[i],e.messages[t]).nestedExtensions[r]}var fV=k("CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIhoKCUZpZWxkTWFzaxINCgVwYXRocxgBIAMoCUKFAQoTY29tLmdvb2dsZS5wcm90b2J1ZkIORmllbGRNYXNrUHJvdG9QAVoyZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vZmllbGRtYXNrcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw");var $d=k("Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),mV=M($d,0),eu=M($d,1),AV=M($d,2),Sl;(function(e){e[e.NULL_VALUE=0]="NULL_VALUE"})(Sl||(Sl={}));function Xl(e,t){VV(t,e);let n=l9(e.$unknown,t),[r,o,i]=or(t);for(let s of n)Od(r,new nr(s.data),o,s.wireType,{readUnknownFields:!0});return i()}function tu(e,t,n){var r;VV(t,e);let o=((r=e.$unknown)!==null&&r!==void 0?r:[]).filter(c=>c.no!==t.number),[i,s]=or(t,n),l=new Zn;Pd(l,{writeUnknownFields:!0},i,s);let a=new nr(l.finish());for(;a.pos<a.len;){let[c,d]=a.tag(),u=a.skip(d,c);o.push({no:c,wireType:d,data:u})}e.$unknown=o}function nu(e,t){let n=e.proto.options;if(!n){let[,,r]=or(t);return r()}return Xl(n,t)}function l9(e,t){if(e===void 0)return[];if(t.fieldKind==="enum"||t.fieldKind==="scalar"){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.number)return[e[n]];return[]}return e.filter(n=>n.no===t.number)}function or(e,t){let n=e.typeName,r=Object.assign(Object.assign({},e),{kind:"field",parent:e.extendee,localName:n}),o=Object.assign(Object.assign({},e.extendee),{fields:[r],members:[r],oneofs:[]}),i=Je(o,t!==void 0?{[n]:t}:void 0);return[ke(o,i),r,()=>{let s=i[n];if(s===void 0){let l=e.message;return wt(l)?st(l.fields[0].scalar,l.fields[0].longAsString):Je(l)}return s}]}function VV(e,t){if(e.extendee.typeName!=t.$typeName)throw new Error(`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}var a9=3,c9=2,gV={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function d9(e){return e?Object.assign(Object.assign({},gV),e):gV}function Wl(e,t,n){return Ei(ke(e,t),d9(n))}function EV(e,t,n){var r;let o=Wl(e,t,n);return JSON.stringify(o,null,(r=n?.prettySpaces)!==null&&r!==void 0?r:0)}function Ei(e,t){var n;let r=f9(e,t);if(r!==void 0)return r;let o={};for(let i of e.sortedFields){if(!e.isSet(i)){if(i.presence==a9)throw new Error(`cannot encode ${i} to JSON: required field not set`);if(!t.alwaysEmitImplicit||i.presence!==c9)continue}let s=pV(i,e.get(i),t);s!==void 0&&(o[b9(i,t)]=s)}if(t.registry){let i=new Set;for(let{no:s}of(n=e.getUnknown())!==null&&n!==void 0?n:[])if(!i.has(s)){i.add(s);let l=t.registry.getExtensionFor(e.desc,s);if(!l)continue;let a=Xl(e.message,l),[c,d]=or(l,a),u=pV(d,c.get(d),t);u!==void 0&&(o[l.jsonName]=u)}}return o}function pV(e,t,n){switch(e.fieldKind){case"scalar":return Gl(e,t);case"message":return Ei(t,n);case"enum":return ru(e.enum,t,n.enumAsInteger);case"list":return h9(t,n);case"map":return u9(t,n)}}function u9(e,t){let n=e.field(),r={};switch(n.mapKind){case"scalar":for(let[o,i]of e)r[o]=Gl(n,i);break;case"message":for(let[o,i]of e)r[o]=Ei(i,t);break;case"enum":for(let[o,i]of e)r[o]=ru(n.enum,i,t.enumAsInteger);break}return t.alwaysEmitImplicit||e.size>0?r:void 0}function h9(e,t){let n=e.field(),r=[];switch(n.listKind){case"scalar":for(let o of e)r.push(Gl(n,o));break;case"enum":for(let o of e)r.push(ru(n.enum,o,t.enumAsInteger));break;case"message":for(let o of e)r.push(Ei(o,t));break}return t.alwaysEmitImplicit||r.length>0?r:void 0}function ru(e,t,n){var r;if(typeof t!="number")throw new Error(`cannot encode ${e} to JSON: expected number, got ${We(t)}`);if(e.typeName=="google.protobuf.NullValue")return null;if(n)return t;let o=e.value[t];return(r=o?.name)!==null&&r!==void 0?r:t}function Gl(e,t){var n,r,o,i,s,l;switch(e.scalar){case I.INT32:case I.SFIXED32:case I.SINT32:case I.FIXED32:case I.UINT32:if(typeof t!="number")throw new Error(`cannot encode ${e} to JSON: ${(n=en(e,t))===null||n===void 0?void 0:n.message}`);return t;case I.FLOAT:case I.DOUBLE:if(typeof t!="number")throw new Error(`cannot encode ${e} to JSON: ${(r=en(e,t))===null||r===void 0?void 0:r.message}`);return Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case I.STRING:if(typeof t!="string")throw new Error(`cannot encode ${e} to JSON: ${(o=en(e,t))===null||o===void 0?void 0:o.message}`);return t;case I.BOOL:if(typeof t!="boolean")throw new Error(`cannot encode ${e} to JSON: ${(i=en(e,t))===null||i===void 0?void 0:i.message}`);return t;case I.UINT64:case I.FIXED64:case I.INT64:case I.SFIXED64:case I.SINT64:if(typeof t!="bigint"&&typeof t!="string")throw new Error(`cannot encode ${e} to JSON: ${(s=en(e,t))===null||s===void 0?void 0:s.message}`);return t.toString();case I.BYTES:if(t instanceof Uint8Array)return mi(t);throw new Error(`cannot encode ${e} to JSON: ${(l=en(e,t))===null||l===void 0?void 0:l.message}`)}}function b9(e,t){return t.useProtoFieldName?e.name:e.jsonName}function f9(e,t){if(e.desc.typeName.startsWith("google.protobuf."))switch(e.desc.typeName){case"google.protobuf.Any":return m9(e.message,t);case"google.protobuf.Timestamp":return g9(e.message);case"google.protobuf.Duration":return A9(e.message);case"google.protobuf.FieldMask":return V9(e.message);case"google.protobuf.Struct":return RV(e.message);case"google.protobuf.Value":return ou(e.message);case"google.protobuf.ListValue":return ZV(e.message);default:if(wt(e.desc)){let n=e.desc.fields[0];return Gl(n,e.get(n))}return}}function m9(e,t){if(e.typeUrl==="")return{};let{registry:n}=t,r,o;if(n&&(r=hV(e,n),r&&(o=n.getMessage(r.$typeName))),!o||!r)throw new Error(`cannot encode message ${e.$typeName} to JSON: "${e.typeUrl}" is not in the type registry`);let i=Ei(ke(o,r),t);return(o.typeName.startsWith("google.protobuf.")||i===null||Array.isArray(i)||typeof i!="object")&&(i={value:i}),i["@type"]=e.typeUrl,i}function A9(e){if(Number(e.seconds)>315576e6||Number(e.seconds)<-315576e6)throw new Error(`cannot encode message ${e.$typeName} to JSON: value out of range`);let t=e.seconds.toString();if(e.nanos!==0){let n=Math.abs(e.nanos).toString();n="0".repeat(9-n.length)+n,n.substring(3)==="000000"?n=n.substring(0,3):n.substring(6)==="000"&&(n=n.substring(0,6)),t+="."+n,e.nanos<0&&Number(e.seconds)==0&&(t="-"+t)}return t+"s"}function V9(e){return e.paths.map(t=>{if(t.match(/_[0-9]?_/g)||t.match(/[A-Z]/g))throw new Error(`cannot encode message ${e.$typeName} to JSON: lowerCamelCase of path name "`+t+'" is irreversible');return Sn(t)}).join(",")}function RV(e){let t={};for(let[n,r]of Object.entries(e.fields))t[n]=ou(r);return t}function ou(e){switch(e.kind.case){case"nullValue":return null;case"numberValue":if(!Number.isFinite(e.kind.value))throw new Error(`${e.$typeName} cannot be NaN or Infinity`);return e.kind.value;case"boolValue":return e.kind.value;case"stringValue":return e.kind.value;case"structValue":return RV(e.kind.value);case"listValue":return ZV(e.kind.value);default:throw new Error(`${e.$typeName} must have a value`)}}function ZV(e){return e.values.map(ou)}function g9(e){let t=Number(e.seconds)*1e3;if(t<Date.parse("0001-01-01T00:00:00Z")||t>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot encode message ${e.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(e.nanos<0)throw new Error(`cannot encode message ${e.$typeName} to JSON: nanos must not be negative`);let n="Z";if(e.nanos>0){let r=(e.nanos+1e9).toString().substring(1);r.substring(3)==="000000"?n="."+r.substring(0,3)+"Z":r.substring(6)==="000"?n="."+r.substring(0,6)+"Z":n="."+r+"Z"}return new Date(t).toISOString().replace(".000Z",n)}var SV={ignoreUnknownFields:!1};function p9(e){return e?Object.assign(Object.assign({},SV),e):SV}function WV(e,t,n){return qr(e,G9(t,e.typeName),n)}function qr(e,t,n){let r=ke(e);try{Pr(r,t,p9(n))}catch(o){throw uA(o)?new Error(`cannot decode ${o.field()} from JSON: ${o.message}`,{cause:o}):o}return r.message}function Pr(e,t,n){var r;if(I9(e,t,n))return;if(t==null||Array.isArray(t)||typeof t!="object")throw new Error(`cannot decode ${e.desc} from JSON: ${We(t)}`);let o=new Map,i=new Map;for(let s of e.desc.fields)i.set(s.name,s).set(s.jsonName,s);for(let[s,l]of Object.entries(t)){let a=i.get(s);if(a){if(a.oneof){if(l===null&&a.fieldKind=="scalar")continue;let c=o.get(a.oneof);if(c!==void 0)throw new Ie(a.oneof,`oneof set multiple times by ${c.name} and ${a.name}`);o.set(a.oneof,a)}XV(e,a,l,n)}else{let c;if(s.startsWith("[")&&s.endsWith("]")&&(c=(r=n.registry)===null||r===void 0?void 0:r.getExtension(s.substring(1,s.length-1)))&&c.extendee.typeName===e.desc.typeName){let[d,u,h]=or(c);XV(d,u,l,n),tu(e.message,c,h())}if(!c&&!n.ignoreUnknownFields)throw new Error(`cannot decode ${e.desc} from JSON: key "${s}" is unknown`)}}}function XV(e,t,n,r){switch(t.fieldKind){case"scalar":X9(e,t,n);break;case"enum":S9(e,t,n,r);break;case"message":Z9(e,t,n,r);break;case"list":R9(e.get(t),n,r);break;case"map":E9(e.get(t),n,r);break}}function E9(e,t,n){if(t===null)return;let r=e.field();if(typeof t!="object"||Array.isArray(t))throw new Ie(r,"expected object, got "+We(t));for(let[o,i]of Object.entries(t)){if(i===null)throw new Ie(r,"map value must not be null");let s;switch(r.mapKind){case"message":let a=ke(r.message);Pr(a,i,n),s=a;break;case"enum":if(s=iu(r.enum,i,n.ignoreUnknownFields,!0),s===Il)return;break;case"scalar":s=Fl(r,i,!0);break}let l=W9(r.mapKey,o);e.set(l,s)}}function R9(e,t,n){if(t===null)return;let r=e.field();if(!Array.isArray(t))throw new Ie(r,"expected Array, got "+We(t));for(let o of t){if(o===null)throw new Ie(r,"list item must not be null");switch(r.listKind){case"message":let i=ke(r.message);Pr(i,o,n),e.add(i);break;case"enum":let s=iu(r.enum,o,n.ignoreUnknownFields,!0);s!==Il&&e.add(s);break;case"scalar":e.add(Fl(r,o,!0));break}}}function Z9(e,t,n,r){if(n===null&&t.message.typeName!="google.protobuf.Value"){e.clear(t);return}let o=e.isSet(t)?e.get(t):ke(t.message);Pr(o,n,r),e.set(t,o)}function S9(e,t,n,r){let o=iu(t.enum,n,r.ignoreUnknownFields,!1);o===Nl?e.clear(t):o!==Il&&e.set(t,o)}function X9(e,t,n){let r=Fl(t,n,!1);r===Nl?e.clear(t):e.set(t,r)}var Il=Symbol();function iu(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].number:Nl;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let o=e.values.find(i=>i.name===t);if(o!==void 0)return o.number;if(n)return Il;break}throw new Error(`cannot decode ${e} from JSON: ${We(t)}`)}var Nl=Symbol();function Fl(e,t,n){if(t===null)return n?st(e.scalar,!1):Nl;switch(e.scalar){case I.DOUBLE:case I.FLOAT:if(t==="NaN")return NaN;if(t==="Infinity")return Number.POSITIVE_INFINITY;if(t==="-Infinity")return Number.NEGATIVE_INFINITY;if(typeof t=="number"){if(Number.isNaN(t))throw new Ie(e,"unexpected NaN number");if(!Number.isFinite(t))throw new Ie(e,"unexpected infinite number");break}if(typeof t=="string"){if(t===""||t.trim().length!==t.length)break;let r=Number(t);if(!Number.isFinite(r))break;return r}break;case I.INT32:case I.FIXED32:case I.SFIXED32:case I.SINT32:case I.UINT32:return GV(t);case I.BYTES:if(typeof t=="string"){if(t==="")return new Uint8Array(0);try{return Hr(t)}catch(r){let o=r instanceof Error?r.message:String(r);throw new Ie(e,o)}}break}return t}function W9(e,t){switch(e){case I.BOOL:switch(t){case"true":return!0;case"false":return!1}return t;case I.INT32:case I.FIXED32:case I.UINT32:case I.SFIXED32:case I.SINT32:return GV(t);default:return t}}function GV(e){if(typeof e=="string"){if(e===""||e.trim().length!==e.length)return e;let t=Number(e);return Number.isNaN(t)?e:t}return e}function G9(e,t){try{return JSON.parse(e)}catch(n){let r=n instanceof Error?n.message:String(n);throw new Error(`cannot decode message ${t} from JSON: ${r}`,{cause:n})}}function I9(e,t,n){if(!e.desc.typeName.startsWith("google.protobuf."))return!1;switch(e.desc.typeName){case"google.protobuf.Any":return N9(e.message,t,n),!0;case"google.protobuf.Timestamp":return F9(e.message,t),!0;case"google.protobuf.Duration":return B9(e.message,t),!0;case"google.protobuf.FieldMask":return C9(e.message,t),!0;case"google.protobuf.Struct":return IV(e.message,t),!0;case"google.protobuf.Value":return su(e.message,t),!0;case"google.protobuf.ListValue":return NV(e.message,t),!0;default:if(wt(e.desc)){let r=e.desc.fields[0];return t===null?e.clear(r):e.set(r,Fl(r,t,!0)),!0}return!1}}function N9(e,t,n){var r;if(t===null||Array.isArray(t)||typeof t!="object")throw new Error(`cannot decode message ${e.$typeName} from JSON: expected object but got ${We(t)}`);if(Object.keys(t).length==0)return;let o=t["@type"];if(typeof o!="string"||o=="")throw new Error(`cannot decode message ${e.$typeName} from JSON: "@type" is empty`);let i=o.includes("/")?o.substring(o.lastIndexOf("/")+1):o;if(!i.length)throw new Error(`cannot decode message ${e.$typeName} from JSON: "@type" is invalid`);let s=(r=n.registry)===null||r===void 0?void 0:r.getMessage(i);if(!s)throw new Error(`cannot decode message ${e.$typeName} from JSON: ${o} is not in the type registry`);let l=ke(s);if(i.startsWith("google.protobuf.")&&Object.prototype.hasOwnProperty.call(t,"value")){let a=t.value;Pr(l,a,n)}else{let a=Object.assign({},t);delete a["@type"],Pr(l,a,n)}uV(l.desc,l.message,e)}function F9(e,t){if(typeof t!="string")throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);let n=t.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.([0-9]{1,9}))?(?:Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!n)throw new Error(`cannot decode message ${e.$typeName} from JSON: invalid RFC 3339 string`);let r=Date.parse(n[1]+"-"+n[2]+"-"+n[3]+"T"+n[4]+":"+n[5]+":"+n[6]+(n[8]?n[8]:"Z"));if(Number.isNaN(r))throw new Error(`cannot decode message ${e.$typeName} from JSON: invalid RFC 3339 string`);if(r<Date.parse("0001-01-01T00:00:00Z")||r>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot decode message ${e.$typeName} from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);e.seconds=ae.parse(r/1e3),e.nanos=0,n[7]&&(e.nanos=parseInt("1"+n[7]+"0".repeat(9-n[7].length))-1e9)}function B9(e,t){if(typeof t!="string")throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);let n=t.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(n===null)throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);let r=Number(n[1]);if(r>315576e6||r<-315576e6)throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);if(e.seconds=ae.parse(r),typeof n[2]!="string")return;let o=n[2]+"0".repeat(9-n[2].length);e.nanos=parseInt(o),(r<0||Object.is(r,-0))&&(e.nanos=-e.nanos)}function C9(e,t){if(typeof t!="string")throw new Error(`cannot decode message ${e.$typeName} from JSON: ${We(t)}`);if(t==="")return;function n(r){if(r.includes("_"))throw new Error(`cannot decode message ${e.$typeName} from JSON: path names must be lowerCamelCase`);let o=r.replace(/[A-Z]/g,i=>"_"+i.toLowerCase());return o[0]==="_"?o.substring(1):o}e.paths=t.split(",").map(n)}function IV(e,t){if(typeof t!="object"||t==null||Array.isArray(t))throw new Error(`cannot decode message ${e.$typeName} from JSON ${We(t)}`);for(let[n,r]of Object.entries(t)){let o=Je(eu);su(o,r),e.fields[n]=o}}function su(e,t){switch(typeof t){case"number":e.kind={case:"numberValue",value:t};break;case"string":e.kind={case:"stringValue",value:t};break;case"boolean":e.kind={case:"boolValue",value:t};break;case"object":if(t===null)e.kind={case:"nullValue",value:Sl.NULL_VALUE};else if(Array.isArray(t)){let n=Je(AV);NV(n,t),e.kind={case:"listValue",value:n}}else{let n=Je(mV);IV(n,t),e.kind={case:"structValue",value:n}}break;default:throw new Error(`cannot decode message ${e.$typeName} from JSON ${We(t)}`)}return e}function NV(e,t){if(!Array.isArray(t))throw new Error(`cannot decode message ${e.$typeName} from JSON ${We(t)}`);for(let n of t){let r=Je(eu);su(r,n),e.values.push(r)}}import{tmpdir as Ov}from"node:os";import{join as jv}from"node:path";import{format as Pv,inspect as qv}from"node:util";import{homedir as FV}from"node:os";function BV(e){return e==="~"?FV():e.startsWith("~/")||e.startsWith("~\\")?FV()+e.slice(1):e}var Le=ai(nZ(),1),oZ=jv(Ov(),"augment-log.txt"),Jh=Symbol.for("__hermes_meta_level__");function $v(e){try{return JSON.stringify(e)}catch{return qv(e,{depth:3,breakLength:Number.POSITIVE_INFINITY,compact:!0})}}function eJ(e,t,n){typeof t.message=="string"&&!t.message.includes(e.message)&&n.push(e.message),!t.stack&&e.stack&&(t.stack=e.stack)}function tJ(e,t,n){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")n.push(String(e));else if(e instanceof Error)eJ(e,t,n);else if(e&&typeof e=="object"){let{message:r,level:o,...i}=e;typeof r=="string"&&typeof t.message=="string"&&!t.message.includes(r)&&n.push(r),o!==void 0&&(t[Jh]=o),Object.assign(t,i)}}var iZ=Le.default.format(e=>{let t=e[Symbol.for("splat")];if(!t||t.length===0)return e;if(typeof e.message=="string"&&/%[sdjifoOc%]/.test(e.message))try{return e.message=Pv(e.message,...t),e}catch{}let r=[];for(let o of t)tJ(o,e,r);return r.length>0&&(e.message=`${e.message} ${r.join(" ")}`),e}),nJ=Le.default.format.combine(Le.default.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),Le.default.format.errors({stack:!0}),iZ(),Le.default.format.printf(e=>{let{timestamp:t,level:n,message:r,prefix:o,stack:i,...s}=e,l=o?` [${o}]`:"",a={};for(let b of Object.keys(s))a[b]=s[b];let c=e[Jh];c!==void 0&&(a.level=c);let d=Object.keys(a).length>0?` ${$v(a)}`:"",u=i?`
128
128
  ${String(i).split(`
129
129
  `).join(`
130
- `)}`:"",h=typeof n=="string"?n.toUpperCase():String(n??"INFO").toUpperCase();return`${t} ${h.padEnd(5)}${l} ${r}${d}${u}`})),rJ=Le.default.format.combine(Le.default.format.timestamp(),Le.default.format.errors({stack:!0}),iZ(),Le.default.format(e=>{let t=e[Jh];return t!==void 0&&e.meta_level===void 0&&(e.meta_level=t),e})(),Le.default.format.json()),Qt,rZ=oZ;function oJ(e,t){rZ=e&&e!=="-"?BV(e):oZ;let n=t||process.env.LOG_LEVEL||"info",r=new Le.default.transports.File({filename:rZ,format:process.env.AUGMENT_LOG_FORMAT==="json"?rJ:nJ});Qt?(Qt.clear().add(r),Qt.level=n):Qt=Le.default.createLogger({level:n,transports:[r]})}var L=new Proxy({},{get(e,t,n){return Qt||oJ(),Reflect.get(Qt,t,n)}});function sZ(){let e=new Le.default.transports.Console({silent:!0});if(Qt){Qt.clear(),Qt.add(e);return}Qt=Le.default.createLogger({level:process.env.LOG_LEVEL||"info",transports:[e]})}var It=class extends Error{statusCode;statusText;responseBody;serverMessage;errorReason;constructor(t,n,r,o,i){let s=o??(r||void 0),l=s&&s.length>200?`${s.slice(0,200)}\u2026[truncated]`:s;super(l?`API call failed: ${t} ${n}: ${l}`:`API call failed: ${t} ${n}`),this.name="PoseidonRpcError",this.statusCode=t,this.statusText=n,this.responseBody=r,this.serverMessage=o,this.errorReason=i}get status(){return this.statusCode}},Hi=class extends Error{constructor(t){super(t),this.name="UsageError"}},fo=class extends Error{residentId;resourceVersion;constructor(t,n){super(`Unable to find resident ${t} or resource version ${n}`),this.name="ResidentVersionLookupError",this.residentId=t,this.resourceVersion=n}},mo;(function(e){e[e.REASON_UNSPECIFIED=0]="REASON_UNSPECIFIED",e[e.END_TURN=1]="END_TURN",e[e.MAX_TOKENS=2]="MAX_TOKENS",e[e.TOOL_USE_REQUESTED=3]="TOOL_USE_REQUESTED",e[e.SAFETY=4]="SAFETY",e[e.RECITATION=5]="RECITATION",e[e.MALFORMED_FUNCTION_CALL=6]="MALFORMED_FUNCTION_CALL",e[e.STOP_REASON_ERROR=7]="STOP_REASON_ERROR"})(mo||(mo={}));var kh;(function(e){e.chat="CHAT",e.agent="AGENT",e.remoteAgent="REMOTE_AGENT",e.orientation="ORIENTATION",e.cliAgent="CLI_AGENT",e.cliNoninteractive="CLI_NONINTERACTIVE"})(kh||(kh={}));var _h;(function(e){e[e.UNSET=0]="UNSET",e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=2]="NEGATIVE"})(_h||(_h={}));var Qh;(function(e){e[e.TEXT=0]="TEXT",e[e.TOOL_RESULT=1]="TOOL_RESULT",e[e.IMAGE=2]="IMAGE",e[e.IMAGE_ID=3]="IMAGE_ID",e[e.IDE_STATE=4]="IDE_STATE",e[e.EDIT_EVENTS=5]="EDIT_EVENTS",e[e.CHECKPOINT_REF=6]="CHECKPOINT_REF",e[e.FILE=8]="FILE",e[e.FILE_ID=9]="FILE_ID",e[e.HISTORY_SUMMARY=10]="HISTORY_SUMMARY"})(Qh||(Qh={}));var Th;(function(e){e[e.RAW_RESPONSE=0]="RAW_RESPONSE",e[e.SUGGESTED_QUESTIONS=1]="SUGGESTED_QUESTIONS",e[e.MAIN_TEXT_FINISHED=2]="MAIN_TEXT_FINISHED",e[e.WORKSPACE_FILE_CHUNKS=3]="WORKSPACE_FILE_CHUNKS",e[e.RELEVANT_SOURCES=4]="RELEVANT_SOURCES",e[e.TOOL_USE=5]="TOOL_USE",e[e.AGENT_MEMORY=6]="AGENT_MEMORY",e[e.TOOL_USE_START=7]="TOOL_USE_START",e[e.THINKING=8]="THINKING",e[e.BILLING_METADATA=9]="BILLING_METADATA",e[e.TOKEN_USAGE=10]="TOKEN_USAGE"})(Th||(Th={}));var Kh;(function(e){e[e.ALWAYS_ATTACHED=0]="ALWAYS_ATTACHED",e[e.MANUAL=1]="MANUAL",e[e.AGENT_REQUESTED=2]="AGENT_REQUESTED"})(Kh||(Kh={}));var D;(function(e){e[e.Canceled=1]="Canceled",e[e.Unknown=2]="Unknown",e[e.InvalidArgument=3]="InvalidArgument",e[e.DeadlineExceeded=4]="DeadlineExceeded",e[e.NotFound=5]="NotFound",e[e.AlreadyExists=6]="AlreadyExists",e[e.PermissionDenied=7]="PermissionDenied",e[e.ResourceExhausted=8]="ResourceExhausted",e[e.FailedPrecondition=9]="FailedPrecondition",e[e.Aborted=10]="Aborted",e[e.OutOfRange=11]="OutOfRange",e[e.Unimplemented=12]="Unimplemented",e[e.Internal=13]="Internal",e[e.Unavailable=14]="Unavailable",e[e.DataLoss=15]="DataLoss",e[e.Unauthenticated=16]="Unauthenticated"})(D||(D={}));function Mi(e){let t=D[e];return typeof t!="string"?e.toString():t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase())}var Ya;function lZ(e){if(!Ya){Ya={};for(let t of Object.values(D))typeof t!="string"&&(Ya[Mi(t)]=t)}return Ya[e]}var se=class e extends Error{constructor(t,n=D.Unknown,r,o,i){super(iJ(t,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=t,this.code=n,this.metadata=new Headers(r??{}),this.details=o??[],this.cause=i}static from(t,n=D.Unknown){return t instanceof e?t:t instanceof Error?t.name=="AbortError"||t.name=="TimeoutError"?new e(t.message,D.Canceled):new e(t.message,n,void 0,void 0,t):new e(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===e.prototype?!0:t.name==="ConnectError"&&"code"in t&&typeof t.code=="number"&&"metadata"in t&&"details"in t&&Array.isArray(t.details)&&"rawMessage"in t&&typeof t.rawMessage=="string"&&"cause"in t:!1}findDetails(t){let n=t.kind==="message"?{getMessage:o=>o===t.typeName?t:void 0}:t,r=[];for(let o of this.details){if("desc"in o){n.getMessage(o.desc.typeName)&&r.push(Je(o.desc,o.value));continue}let i=n.getMessage(o.type);if(i)try{r.push(rn(i,o.value))}catch{}}return r}};function iJ(e,t){return e.length?`[${Mi(t)}] ${e}`:`[${Mi(t)}]`}function zh(...e){let t=new Headers;for(let n of e)n.forEach((r,o)=>{t.append(o,r)});return t}function aZ(e,t){let n={};for(let r of e.methods){let o=t(r);o!=null&&(n[r.localName]=o)}return n}var ya=1;function cZ(e,t,n=!1){if(t>e){let r=`message size is larger than configured readMaxBytes ${e}`;throw n&&(r=`message size ${t} is larger than configured readMaxBytes ${e}`),new se(r,D.ResourceExhausted)}}function sJ(e){return new Dh(e)}var Dh=class{constructor(t){this.readMaxBytes=t,this.header=new Uint8Array(5),this.headerView=new DataView(this.header.buffer),this.buf=[]}get byteLength(){return this.buf.reduce((t,n)=>t+n.byteLength,0)}decode(t){this.buf.push(t);let n=[];for(;;){let r=this.pop();if(!r)break;n.push(r)}return n}pop(){if(!(!this.env&&(this.env=this.head(),!this.env))&&this.cons(this.env.data)){let t=this.env;return this.env=void 0,t}}head(){if(!this.cons(this.header))return;let t=this.headerView.getUint8(0),n=this.headerView.getUint32(1);return cZ(this.readMaxBytes,n,!0),{flags:t,data:new Uint8Array(n)}}cons(t){let n=t.byteLength;if(this.byteLength<n)return!1;let r=0;for(;r<n;){let o=this.buf.shift();o.byteLength>n-r?(t.set(o.subarray(0,n-r),r),this.buf.unshift(o.subarray(n-r)),r+=n-r):(t.set(o,r),r+=o.byteLength)}return!0}};function Lh(e){let t,n=sJ(4294967295);return new ReadableStream({start(){t=e.getReader()},async pull(r){let o=!1;for(;!o;){let i=await t.read();if(i.done)n.byteLength>0&&r.error(new se("protocol error: incomplete envelope",D.InvalidArgument)),r.close();else for(let s of n.decode(i.value))r.enqueue(s),o=!0}}})}function Hh(e,t){let n=new Uint8Array(t.length+5);n.set(t,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,e),r.setUint32(1,t.length),n}var lJ=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(l,a){s=e[i](s),o(l,a,s.done,s.value)})}}function o(i,s,l,a){Promise.resolve(a).then(function(c){i({value:c,done:l})},s)}},Oi=function(e){return this instanceof Oi?(this.v=e,this):new Oi(e)},aJ=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(f){return Promise.resolve(f).then(b,u)}}function l(b,f){r[b]&&(o[b]=function(A){return new Promise(function(m,V){i.push([b,A,m,V])>1||a(b,A)})},f&&(o[b]=f(o[b])))}function a(b,f){try{c(r[b](f))}catch(A){h(i[0][3],A)}}function c(b){b.value instanceof Oi?Promise.resolve(b.value.v).then(d,u):h(i[0][2],b)}function d(b){a("next",b)}function u(b){a("throw",b)}function h(b,f){b(f),i.shift(),i.length&&a(i[0][0],i[0][1])}},cJ=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,i){t[o]=e[o]?function(s){return(n=!n)?{value:Oi(e[o](s)),done:!1}:i?i(s):s}:i}};function dZ(e){return aJ(this,arguments,function*(){yield Oi(yield*cJ(lJ(e)))})}var uZ=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(l,a){s=e[i](s),o(l,a,s.done,s.value)})}}function o(i,s,l,a){Promise.resolve(a).then(function(c){i({value:c,done:l})},s)}},Ao=function(e){return this instanceof Ao?(this.v=e,this):new Ao(e)},dJ=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,i){t[o]=e[o]?function(s){return(n=!n)?{value:Ao(e[o](s)),done:!1}:i?i(s):s}:i}},uJ=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(f){return Promise.resolve(f).then(b,u)}}function l(b,f){r[b]&&(o[b]=function(A){return new Promise(function(m,V){i.push([b,A,m,V])>1||a(b,A)})},f&&(o[b]=f(o[b])))}function a(b,f){try{c(r[b](f))}catch(A){h(i[0][3],A)}}function c(b){b.value instanceof Ao?Promise.resolve(b.value.v).then(d,u):h(i[0][2],b)}function d(b){a("next",b)}function u(b){a("throw",b)}function h(b,f){b(f),i.shift(),i.length&&a(i[0][0],i[0][1])}};function Mh(e,t){return aZ(e,n=>{switch(n.methodKind){case"unary":return hJ(t,n);case"server_streaming":return bJ(t,n);case"client_streaming":return fJ(t,n);case"bidi_streaming":return mJ(t,n);default:return null}})}function hJ(e,t){return async(n,r)=>{var o,i;let s=await e.unary(t,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);return(o=r?.onHeader)===null||o===void 0||o.call(r,s.header),(i=r?.onTrailer)===null||i===void 0||i.call(r,s.trailer),s.message}}function bJ(e,t){return(n,r)=>hZ(e.stream(t,r?.signal,r?.timeoutMs,r?.headers,dZ([n]),r?.contextValues),r)}function fJ(e,t){return async(n,r)=>{var o,i,s,l,a,c;let d=await e.stream(t,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);(a=r?.onHeader)===null||a===void 0||a.call(r,d.header);let u,h=0;try{for(var b=!0,f=uZ(d.message),A;A=await f.next(),o=A.done,!o;b=!0)l=A.value,b=!1,u=l,h++}catch(m){i={error:m}}finally{try{!b&&!o&&(s=f.return)&&await s.call(f)}finally{if(i)throw i.error}}if(!u)throw new se("protocol error: missing response message",D.Unimplemented);if(h>1)throw new se("protocol error: received extra messages for client streaming method",D.Unimplemented);return(c=r?.onTrailer)===null||c===void 0||c.call(r,d.trailer),u}}function mJ(e,t){return(n,r)=>hZ(e.stream(t,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues),r)}function hZ(e,t){let n=(function(){return uJ(this,arguments,function*(){var r,o;let i=yield Ao(e);(r=t?.onHeader)===null||r===void 0||r.call(t,i.header),yield Ao(yield*dJ(uZ(i.message))),(o=t?.onTrailer)===null||o===void 0||o.call(t,i.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function bZ(...e){let t=new AbortController,n=e.filter(o=>o!==void 0).concat(t.signal);for(let o of n){if(o.aborted){r.apply(o);break}o.addEventListener("abort",r)}function r(){t.signal.aborted||t.abort(Oh(this));for(let o of n)o.removeEventListener("abort",r)}return t}function fZ(e){let t=new AbortController,n=()=>{t.abort(new se("the operation timed out",D.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function Oh(e){if(!e.aborted)return;if(e.reason!==void 0)return e.reason;let t=new Error("This operation was aborted");return t.name="AbortError",t}function wa(){return{get(e){return e.id in this?this[e.id]:e.defaultValue},set(e,t){return this[e.id]=t,this},delete(e){return delete this[e.id],this}}}function Ua(e,t,...n){if(n.length>0)throw new Error;return e.services[t]}function xa(e,t){return e.toString().replace(/\/?$/,`/${t.parent.typeName}/${t.name}`)}function jh(e,t){return Je(e,t)}function mZ(e,t){function n(r){return r.done===!0?r:{done:r.done,value:jh(e,r.value)}}return{[Symbol.asyncIterator](){let r=t[Symbol.asyncIterator](),o={next:()=>r.next().then(n)};return r.throw!==void 0&&(o.throw=i=>r.throw(i).then(n)),r.return!==void 0&&(o.return=i=>r.return(i).then(n)),o}}}function Ph(e,t){if(!t)return e;for(let n of t.concat().reverse())e=n(e);return e}function va(e){var t;let n=Object.assign({},e);return(t=n.ignoreUnknownFields)!==null&&t!==void 0||(n.ignoreUnknownFields=!0),n}function Ja(e,t,n,r){let o=t?AZ(e.input,r):VZ(e.input,n);return{parse:(t?AZ(e.output,r):VZ(e.output,n)).parse,serialize:o.serialize}}function AZ(e,t){return{parse(n){try{return rn(e,n,t)}catch(r){let o=r instanceof Error?r.message:String(r);throw new se(`parse binary: ${o}`,D.Internal)}},serialize(n){try{return pi(e,n,t)}catch(r){let o=r instanceof Error?r.message:String(r);throw new se(`serialize binary: ${o}`,D.Internal)}}}}function VZ(e,t){var n,r;let o=(n=t?.textEncoder)!==null&&n!==void 0?n:new TextEncoder,i=(r=t?.textDecoder)!==null&&r!==void 0?r:new TextDecoder,s=va(t);return{parse(l){try{let a=i.decode(l);return WV(e,a,s)}catch(a){throw se.from(a,D.InvalidArgument)}},serialize(l){try{let a=EV(e,l,s);return o.encode(a)}catch(a){throw se.from(a,D.Internal)}}}}var AJ=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;var gZ="application/proto",pZ="application/json",EZ="application/connect+proto",RZ="application/connect+json";function ZZ(e){let t=e?.match(AJ);if(!t)return;let n=!!t[1],r=!!t[3];return{stream:n,binary:r}}function ji(e,t,n){var r;if(t&&new Headers(t).forEach((l,a)=>n.metadata.append(a,l)),typeof e!="object"||e==null||Array.isArray(e))throw n;let o=n.code;"code"in e&&typeof e.code=="string"&&(o=(r=lZ(e.code))!==null&&r!==void 0?r:o);let i=e.message;if(i!=null&&typeof i!="string")throw n;let s=new se(i??"",o,t);if("details"in e&&Array.isArray(e.details))for(let l of e.details){if(l===null||typeof l!="object"||Array.isArray(l)||typeof l.type!="string"||typeof l.value!="string")throw n;try{s.details.push({type:l.type,value:Hr(l.value),debug:l.debug})}catch{throw n}}return s}var ka=2;function qh(e){let t=new se("invalid end stream",D.Unknown),n;try{n=JSON.parse(typeof e=="string"?e:new TextDecoder().decode(e))}catch{throw t}if(typeof n!="object"||n==null||Array.isArray(n))throw t;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw t;for(let[i,s]of Object.entries(n.metadata)){if(!Array.isArray(s)||s.some(l=>typeof l!="string"))throw t;for(let l of s)r.append(i,l)}}let o="error"in n&&n.error!=null?ji(n.error,r,t):void 0;return{metadata:r,error:o}}var gr="Content-Type",SZ="Content-Length",Pi="Content-Encoding";var $h="Accept-Encoding";var XZ="Connect-Timeout-Ms",_a="Connect-Protocol-Version",eb="User-Agent";function WZ(e){switch(e){case 400:return D.Internal;case 401:return D.Unauthenticated;case 403:return D.PermissionDenied;case 404:return D.Unimplemented;case 429:return D.Unavailable;case 502:return D.Unavailable;case 503:return D.Unavailable;case 504:return D.Unavailable;default:return D.Unknown}}function Qa(e){let t=new Headers,n=new Headers;return e.forEach((r,o)=>{o.toLowerCase().startsWith("trailer-")?n.append(o.substring(8),r):t.append(o,r)}),[t,n]}var Ta="1";function Ka(e,t,n,r,o){let i=new Headers(r??{});return n!==void 0&&i.set(XZ,`${n}`),i.set(gr,e=="unary"?t?gZ:pZ:t?EZ:RZ),i.set(_a,Ta),!i.has(eb)&&o&&i.set(eb,"connect-es/2.0.4"),i}function za(e,t,n,r){let o=r.get(gr),i=ZZ(o);if(n!==200){let l=new se(`HTTP ${n}`,WZ(n),r);if(e=="unary"&&i&&!i.binary)return{isUnaryError:!0,unaryError:l};throw l}let s={binary:t,stream:e!=="unary"};if(i?.binary!==s.binary||i.stream!==s.stream)throw new se(`unsupported content type ${o}`,i===void 0?D.Unknown:D.Internal,r);return{isUnaryError:!1}}var GZ="application/";function pJ(e,t){return t?mi(e,"url"):encodeURIComponent(new TextDecoder().decode(e))}function tb(e,t,n){let r=`?connect=v${Ta}`,o=e.header.get(gr);o?.indexOf(GZ)===0&&(r+="&encoding="+encodeURIComponent(o.slice(GZ.length)));let i=e.header.get(Pi);i!==null&&i!=="identity"&&(r+="&compression="+encodeURIComponent(i),n=!0),n&&(r+="&base64=1"),r+="&message="+pJ(t,n);let s=e.url+r,l=new Headers(e.header);for(let a of[_a,gr,SZ,Pi,$h])l.delete(a);return Object.assign(Object.assign({},e),{requestMethod:"GET",url:s,header:l})}function nb(e){let t=Ph(e.next,e.interceptors),[n,r,o]=IZ(e),i=Object.assign(Object.assign({},e.req),{message:jh(e.req.method.input,e.req.message),signal:n});return t(i).then(s=>(o(),s),r)}function rb(e){let t=Ph(e.next,e.interceptors),[n,r,o]=IZ(e),i=Object.assign(Object.assign({},e.req),{message:mZ(e.req.method.input,e.req.message),signal:n}),s=!1;return n.addEventListener("abort",function(){var l,a;let c=e.req.message[Symbol.asyncIterator]();s||(l=c.throw)===null||l===void 0||l.call(c,this.reason).catch(()=>{}),(a=c.return)===null||a===void 0||a.call(c).catch(()=>{})}),t(i).then(l=>Object.assign(Object.assign({},l),{message:{[Symbol.asyncIterator](){let a=l.message[Symbol.asyncIterator]();return{next(){return a.next().then(c=>(c.done==!0&&(s=!0,o()),c),r)}}}}}),r)}function IZ(e){let{signal:t,cleanup:n}=fZ(e.timeoutMs),r=bZ(e.signal,t);return[r.signal,function(i){let s=se.from(t.aborted?Oh(t):i);return r.abort(s),n(),Promise.reject(s)},function(){n(),r.abort()}]}var NZ=k("ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIjCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUSEAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJSAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNoGAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgMIAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwKBGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJnCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8z");var qi=k("Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzM",[NZ,nn]),FZ=qd(qi,0);var Yn=k("Chdnb29nbGUvcnBjL3N0YXR1cy5wcm90bxIKZ29vZ2xlLnJwYyJOCgZTdGF0dXMSDAoEY29kZRgBIAEoBRIPCgdtZXNzYWdlGAIgASgJEiUKB2RldGFpbHMYAyADKAsyFC5nb29nbGUucHJvdG9idWYuQW55QmEKDmNvbS5nb29nbGUucnBjQgtTdGF0dXNQcm90b1ABWjdnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL3JwYy9zdGF0dXM7c3RhdHVz+AEBogIDUlBDYgZwcm90bzM",[rr]);var Vt=k("CiBiYXNlL2Jsb2JfbmFtZXMvYmxvYl9uYW1lcy5wcm90bxIPYmFzZS5ibG9iX25hbWVzImcKBUJsb2JzEiMKFmJhc2VsaW5lX2NoZWNrcG9pbnRfaWQYASABKAlIAIgBARINCgVhZGRlZBgCIAMoDBIPCgdkZWxldGVkGAMgAygMQhkKF19iYXNlbGluZV9jaGVja3BvaW50X2lkYgZwcm90bzM");var CZ=k("Ci9zZXJ2aWNlcy9iaWxsaW5nL2NlbnRyYWwvYmlsbGluZ19lbnRpdGllcy5wcm90bxIHYmlsbGluZypPCglVc2FnZVVuaXQSFgoSVVNBR0VfVU5JVF9VTktOT1dOEAASFgoSVVNBR0VfVU5JVF9DUkVESVRTEAESEgoOVVNBR0VfVU5JVF9VU0QQAkJQWk5naXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYmlsbGluZy9jZW50cmFsL2JpbGxpbmdfZW50aXRpZXNfcHJvdG9iBnByb3RvMw",[ee]),BZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CREDITS=1]="CREDITS",e[e.USD=2]="USD"})(BZ||(BZ={}));var JZ=k("Ch1zZXJ2aWNlcy9saWIvcHJvdG8vY2hhdC5wcm90bxIEY2hhdCJ+ChVDaGF0UmVxdWVzdEVkaXRFdmVudHMSLgoLZWRpdF9ldmVudHMYASADKAsyGS5jaGF0LkNoYXRSZXF1ZXN0RmlsZUVkaXQSKgoGc291cmNlGAIgASgOMhUuY2hhdC5FZGl0RXZlbnRTb3VyY2VIAIgBAUIJCgdfc291cmNlIoYBCg9DaGF0UmVxdWVzdEZpbGUSEQoJZmlsZV9kYXRhGAEgASgJEhIKCm1lZGlhX3R5cGUYAiABKAkSFgoJZmlsZV9uYW1lGAMgASgJSACIAQESFwoKcGFnZV9jb3VudBgEIAEoBUgBiAEBQgwKCl9maWxlX25hbWVCDQoLX3BhZ2VfY291bnQitQEKE0NoYXRSZXF1ZXN0RmlsZUVkaXQSDAoEcGF0aBgBIAEoCRIdChBiZWZvcmVfYmxvYl9uYW1lGAIgASgJSACIAQESHAoPYWZ0ZXJfYmxvYl9uYW1lGAMgASgJSAGIAQESKgoFZWRpdHMYBCADKAsyGy5jaGF0LkNoYXRSZXF1ZXN0U2luZ2xlRWRpdEITChFfYmVmb3JlX2Jsb2JfbmFtZUISChBfYWZ0ZXJfYmxvYl9uYW1lIrgBChNDaGF0UmVxdWVzdElkZVN0YXRlEjQKEXdvcmtzcGFjZV9mb2xkZXJzGAEgAygLMhkuY2hhdC5Xb3Jrc3BhY2VGb2xkZXJJbmZvEiMKG3dvcmtzcGFjZV9mb2xkZXJzX3VuY2hhbmdlZBgCIAEoCBIxChBjdXJyZW50X3Rlcm1pbmFsGAMgASgLMhIuY2hhdC5UZXJtaW5hbEluZm9IAIgBAUITChFfY3VycmVudF90ZXJtaW5hbCJNChBDaGF0UmVxdWVzdEltYWdlEhIKCmltYWdlX2RhdGEYASABKAkSJQoGZm9ybWF0GAIgASgOMhUuY2hhdC5JbWFnZUZvcm1hdFR5cGUidQoVQ2hhdFJlcXVlc3RTaW5nbGVFZGl0EhkKEWJlZm9yZV9saW5lX3N0YXJ0GAEgASgNEhMKC2JlZm9yZV90ZXh0GAIgASgJEhgKEGFmdGVyX2xpbmVfc3RhcnQYAyABKA0SEgoKYWZ0ZXJfdGV4dBgEIAEoCSIiCg9DaGF0UmVxdWVzdFRleHQSDwoHY29udGVudBgBIAEoCSLxAgoVQ2hhdFJlcXVlc3RUb29sUmVzdWx0EhMKC3Rvb2xfdXNlX2lkGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSEAoIaXNfZXJyb3IYAyABKAgSFwoKcmVxdWVzdF9pZBgEIAEoCUgAiAEBEjIKDWNvbnRlbnRfbm9kZXMYBSADKAsyGy5jaGF0LlRvb2xSZXN1bHRDb250ZW50Tm9kZRIYCgtkdXJhdGlvbl9tcxgGIAEoA0gBiAEBEhoKDXN0YXJ0X3RpbWVfbXMYByABKANIAogBARI7CghtZXRhZGF0YRgIIAMoCzIpLmNoYXQuQ2hhdFJlcXVlc3RUb29sUmVzdWx0Lk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg0KC19yZXF1ZXN0X2lkQg4KDF9kdXJhdGlvbl9tc0IQCg5fc3RhcnRfdGltZV9tcyLaAQoWQ2hhdFJlc3VsdE5vZGVNZXRhZGF0YRIWCglvcGVuYWlfaWQYASABKAlIAIgBARIWCglnb29nbGVfdHMYAiABKAxIAYgBARIVCghwcm92aWRlchgDIAEoCUgCiAEBEhIKBXBoYXNlGAQgASgJSAOIAQESHQoQc291cmNlX2V2ZW50X3NlcRgFIAEoA0gEiAEBQgwKCl9vcGVuYWlfaWRCDAoKX2dvb2dsZV90c0ILCglfcHJvdmlkZXJCCAoGX3BoYXNlQhMKEV9zb3VyY2VfZXZlbnRfc2VxItoBChJDaGF0UmVzdWx0VGhpbmtpbmcSFAoHc3VtbWFyeRgBIAEoCUgAiAEBEh4KEWVuY3J5cHRlZF9jb250ZW50GAIgASgJSAGIAQESFAoHY29udGVudBgDIAEoCUgCiAEBEikKHG9wZW5haV9yZXNwb25zZXNfYXBpX2l0ZW1faWQYBCABKAlIA4gBAUIKCghfc3VtbWFyeUIUChJfZW5jcnlwdGVkX2NvbnRlbnRCCgoIX2NvbnRlbnRCHwodX29wZW5haV9yZXNwb25zZXNfYXBpX2l0ZW1faWQi4AUKFENoYXRSZXN1bHRUb2tlblVzYWdlEhkKDGlucHV0X3Rva2VucxgBIAEoBUgAiAEBEhoKDW91dHB1dF90b2tlbnMYAiABKAVIAYgBARIkChdjYWNoZV9yZWFkX2lucHV0X3Rva2VucxgDIAEoBUgCiAEBEigKG2NhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucxgEIAEoBUgDiAEBEiEKFHN5c3RlbV9wcm9tcHRfdG9rZW5zGAUgASgFSASIAQESIAoTY2hhdF9oaXN0b3J5X3Rva2VucxgGIAEoBUgFiAEBEiMKFmN1cnJlbnRfbWVzc2FnZV90b2tlbnMYByABKAVIBogBARIfChJtYXhfY29udGV4dF90b2tlbnMYCCABKAVIB4gBARIkChd0b29sX2RlZmluaXRpb25zX3Rva2VucxgJIAEoBUgIiAEBEh8KEnRvb2xfcmVzdWx0X3Rva2VucxgKIAEoBUgJiAEBEiYKGWFzc2lzdGFudF9yZXNwb25zZV90b2tlbnMYCyABKAVICogBARIeChFtYXhfb3V0cHV0X3Rva2VucxgMIAEoBUgLiAEBQg8KDV9pbnB1dF90b2tlbnNCEAoOX291dHB1dF90b2tlbnNCGgoYX2NhY2hlX3JlYWRfaW5wdXRfdG9rZW5zQh4KHF9jYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnNCFwoVX3N5c3RlbV9wcm9tcHRfdG9rZW5zQhYKFF9jaGF0X2hpc3RvcnlfdG9rZW5zQhkKF19jdXJyZW50X21lc3NhZ2VfdG9rZW5zQhUKE19tYXhfY29udGV4dF90b2tlbnNCGgoYX3Rvb2xfZGVmaW5pdGlvbnNfdG9rZW5zQhUKE190b29sX3Jlc3VsdF90b2tlbnNCHAoaX2Fzc2lzdGFudF9yZXNwb25zZV90b2tlbnNCFAoSX21heF9vdXRwdXRfdG9rZW5zImMKEUNoYXRSZXN1bHRUb29sVXNlEhMKC3Rvb2xfdXNlX2lkGAEgASgJEhEKCXRvb2xfbmFtZRgCIAEoCRISCgppbnB1dF9qc29uGAMgASgJEhIKCmlzX3BhcnRpYWwYBCABKAgiRgoMVGVybWluYWxJbmZvEhMKC3Rlcm1pbmFsX2lkGAEgASgNEiEKGWN1cnJlbnRfd29ya2luZ19kaXJlY3RvcnkYAiABKAkiTgoOVG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIZChFpbnB1dF9zY2hlbWFfanNvbhgDIAEoCSK4AQoVVG9vbFJlc3VsdENvbnRlbnROb2RlEi0KBHR5cGUYASABKA4yHy5jaGF0LlRvb2xSZXN1bHRDb250ZW50Tm9kZVR5cGUSGQoMdGV4dF9jb250ZW50GAIgASgJSACIAQESMgoNaW1hZ2VfY29udGVudBgDIAEoCzIWLmNoYXQuQ2hhdFJlcXVlc3RJbWFnZUgBiAEBQg8KDV90ZXh0X2NvbnRlbnRCEAoOX2ltYWdlX2NvbnRlbnQiQwoTV29ya3NwYWNlRm9sZGVySW5mbxIXCg9yZXBvc2l0b3J5X3Jvb3QYASABKAkSEwoLZm9sZGVyX3Jvb3QYAiABKAkqqQEKE0NoYXRSZXF1ZXN0Tm9kZVR5cGUSCAoEVEVYVBAAEg8KC1RPT0xfUkVTVUxUEAESCQoFSU1BR0UQAhIMCghJTUFHRV9JRBADEg0KCUlERV9TVEFURRAEEg8KC0VESVRfRVZFTlRTEAUSEgoOQ0hFQ0tQT0lOVF9SRUYQBhIICgRGSUxFEAgSCwoHRklMRV9JRBAJEhMKD0hJU1RPUllfU1VNTUFSWRAKKusBChJDaGF0UmVzdWx0Tm9kZVR5cGUSEAoMUkFXX1JFU1BPTlNFEAASFwoTU1VHR0VTVEVEX1FVRVNUSU9OUxABEhYKEk1BSU5fVEVYVF9GSU5JU0hFRBACEhkKFVdPUktTUEFDRV9GSUxFX0NIVU5LUxADEhQKEFJFTEVWQU5UX1NPVVJDRVMQBBIMCghUT09MX1VTRRAFEhIKDlRPT0xfVVNFX1NUQVJUEAcSDAoIVEhJTktJTkcQCBIUChBCSUxMSU5HX01FVEFEQVRBEAkSDwoLVE9LRU5fVVNBR0UQCiIECAYQBiIECAsQCyquAQoOQ2hhdFN0b3BSZWFzb24SFgoSUkVBU09OX1VOU1BFQ0lGSUVEEAASDAoIRU5EX1RVUk4QARIOCgpNQVhfVE9LRU5TEAISFgoSVE9PTF9VU0VfUkVRVUVTVEVEEAMSCgoGU0FGRVRZEAQSDgoKUkVDSVRBVElPThAFEhsKF01BTEZPUk1FRF9GVU5DVElPTl9DQUxMEAYSFQoRU1RPUF9SRUFTT05fRVJST1IQBypICg9FZGl0RXZlbnRTb3VyY2USDwoLVU5TUEVDSUZJRUQQABINCglVU0VSX0VESVQQARIVChFDSEVDS1BPSU5UX1JFVkVSVBACKlUKD0ltYWdlRm9ybWF0VHlwZRIcChhJTUFHRV9GT1JNQVRfVU5TUEVDSUZJRUQQABIHCgNQTkcQARIICgRKUEVHEAISBwoDR0lGEAMSCAoEV0VCUBAEKl4KGVRvb2xSZXN1bHRDb250ZW50Tm9kZVR5cGUSHAoYQ09OVEVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASEAoMQ09OVEVOVF9URVhUEAESEQoNQ09OVEVOVF9JTUFHRRACQjhaNmdpdGh1Yi5jb20vYXVnbWVudGNvZGUvYXVnbWVudC9zZXJ2aWNlcy9saWIvcHJvdG8vY2hhdGIGcHJvdG8z");var YZ;(function(e){e[e.TEXT=0]="TEXT",e[e.TOOL_RESULT=1]="TOOL_RESULT",e[e.IMAGE=2]="IMAGE",e[e.IMAGE_ID=3]="IMAGE_ID",e[e.IDE_STATE=4]="IDE_STATE",e[e.EDIT_EVENTS=5]="EDIT_EVENTS",e[e.CHECKPOINT_REF=6]="CHECKPOINT_REF",e[e.FILE=8]="FILE",e[e.FILE_ID=9]="FILE_ID",e[e.HISTORY_SUMMARY=10]="HISTORY_SUMMARY"})(YZ||(YZ={}));var yZ;(function(e){e[e.RAW_RESPONSE=0]="RAW_RESPONSE",e[e.SUGGESTED_QUESTIONS=1]="SUGGESTED_QUESTIONS",e[e.MAIN_TEXT_FINISHED=2]="MAIN_TEXT_FINISHED",e[e.WORKSPACE_FILE_CHUNKS=3]="WORKSPACE_FILE_CHUNKS",e[e.RELEVANT_SOURCES=4]="RELEVANT_SOURCES",e[e.TOOL_USE=5]="TOOL_USE",e[e.TOOL_USE_START=7]="TOOL_USE_START",e[e.THINKING=8]="THINKING",e[e.BILLING_METADATA=9]="BILLING_METADATA",e[e.TOKEN_USAGE=10]="TOKEN_USAGE"})(yZ||(yZ={}));var wZ;(function(e){e[e.REASON_UNSPECIFIED=0]="REASON_UNSPECIFIED",e[e.END_TURN=1]="END_TURN",e[e.MAX_TOKENS=2]="MAX_TOKENS",e[e.TOOL_USE_REQUESTED=3]="TOOL_USE_REQUESTED",e[e.SAFETY=4]="SAFETY",e[e.RECITATION=5]="RECITATION",e[e.MALFORMED_FUNCTION_CALL=6]="MALFORMED_FUNCTION_CALL",e[e.STOP_REASON_ERROR=7]="STOP_REASON_ERROR"})(wZ||(wZ={}));var UZ;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.USER_EDIT=1]="USER_EDIT",e[e.CHECKPOINT_REVERT=2]="CHECKPOINT_REVERT"})(UZ||(UZ={}));var xZ;(function(e){e[e.IMAGE_FORMAT_UNSPECIFIED=0]="IMAGE_FORMAT_UNSPECIFIED",e[e.PNG=1]="PNG",e[e.JPEG=2]="JPEG",e[e.GIF=3]="GIF",e[e.WEBP=4]="WEBP"})(xZ||(xZ={}));var vZ;(function(e){e[e.CONTENT_TYPE_UNSPECIFIED=0]="CONTENT_TYPE_UNSPECIFIED",e[e.CONTENT_TEXT=1]="CONTENT_TEXT",e[e.CONTENT_IMAGE=2]="CONTENT_IMAGE"})(vZ||(vZ={}));var yn=k("Ch1zZXJ2aWNlcy9jaGF0X2hvc3QvY2hhdC5wcm90bxIEY2hhdCJECg9CcmluZ1lvdXJPd25LZXkSJAoIcHJvdmlkZXIYASABKA4yEi5jaGF0LkJZT0tQcm92aWRlchILCgNrZXkYAiABKAki6AMKEENoYW5nZWRGaWxlU3RhdHMSNwoQYWRkZWRfZmlsZV9zdGF0cxgBIAEoCzIdLmNoYXQuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSOAoRYnJva2VuX2ZpbGVfc3RhdHMYAiABKAsyHS5jaGF0LlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEjgKEWNvcGllZF9maWxlX3N0YXRzGAMgASgLMh0uY2hhdC5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxI5ChJkZWxldGVkX2ZpbGVfc3RhdHMYBCABKAsyHS5jaGF0LlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEjoKE21vZGlmaWVkX2ZpbGVfc3RhdHMYBSABKAsyHS5jaGF0LlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEjkKEnJlbmFtZWRfZmlsZV9zdGF0cxgGIAEoCzIdLmNoYXQuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSOgoTdW5tZXJnZWRfZmlsZV9zdGF0cxgHIAEoCzIdLmNoYXQuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSOQoSdW5rbm93bl9maWxlX3N0YXRzGAggASgLMh0uY2hhdC5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cyLxAQoZQ2hhdEZlYXR1cmVEZXRlY3Rpb25GbGFncxIlChhzdXBwb3J0X3JlbGV2YW50X3NvdXJjZXMYAyABKAhIAIgBARIjChZzdXBwb3J0X3Rvb2xfdXNlX3N0YXJ0GAQgASgISAGIAQESJgoZc3VwcG9ydF9wYXJhbGxlbF90b29sX3VzZRgFIAEoCEgCiAEBQhsKGV9zdXBwb3J0X3JlbGV2YW50X3NvdXJjZXNCGQoXX3N1cHBvcnRfdG9vbF91c2Vfc3RhcnRCHAoaX3N1cHBvcnRfcGFyYWxsZWxfdG9vbF91c2VKBAgBEAJKBAgCEAMiywYKE0NoYXRIaXN0b3J5TWV0YWRhdGESJgoJY2hhdF9tb2RlGAEgASgOMg4uY2hhdC5DaGF0TW9kZUgAiAEBEjMKCmNyZWF0ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESFgoJaXNfc2lsZW50GAMgASgISAKIAQESGgoNaXNfc3VjY2Vzc2Z1bBgEIAEoCEgDiAEBEhcKCm1vZGVsX25hbWUYBSABKAlIBIgBARIXCgpyZXF1ZXN0X2lkGAYgASgJSAWIAQESFAoHdHVybl9pZBgHIAEoCUgGiAEBEiMKFnBhcmVudF9jb252ZXJzYXRpb25faWQYCCABKAlIB4gBARIhChRyb290X2NvbnZlcnNhdGlvbl9pZBgJIAEoCUgIiAEBEigKG3BlcnNpc3RlZF90aHJvdWdoX2V2ZW50X3NlcRgKIAEoA0gJiAEBEhcKCmlzX3BhcnRpYWwYCyABKAhICogBARIcCg9zdWJzY3JpcHRpb25faWQYDCABKAlIC4gBARIbCg5zZW5kZXJfdXNlcl9pZBgNIAEoCUgMiAEBEjMKE3Zmc19maWxlX3JlZmVyZW5jZXMYDiADKAsyFi5jaGF0LlZGU0ZpbGVSZWZlcmVuY2USMwoTbWNwX3Rvb2xfcmVmZXJlbmNlcxgPIAMoCzIWLmNoYXQuTUNQVG9vbFJlZmVyZW5jZRIqCgtzaWxlbnRfdHlwZRgQIAEoDjIQLmNoYXQuU2lsZW50VHlwZUgNiAEBQgwKCl9jaGF0X21vZGVCDQoLX2NyZWF0ZWRfYXRCDAoKX2lzX3NpbGVudEIQCg5faXNfc3VjY2Vzc2Z1bEINCgtfbW9kZWxfbmFtZUINCgtfcmVxdWVzdF9pZEIKCghfdHVybl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCHgocX3BlcnNpc3RlZF90aHJvdWdoX2V2ZW50X3NlcUINCgtfaXNfcGFydGlhbEISChBfc3Vic2NyaXB0aW9uX2lkQhEKD19zZW5kZXJfdXNlcl9pZEIOCgxfc2lsZW50X3R5cGUiSwoMQ2hhdFBvc2l0aW9uEhQKDHByZWZpeF9iZWdpbhgBIAEoBRISCgpzdWZmaXhfZW5kGAIgASgFEhEKCWJsb2JfbmFtZRgDIAEoCSJfCg9DaGF0UmVwbGFjZVRleHQSGAoQcmVwbGFjZW1lbnRfdGV4dBgBIAEoCRIZChFzdGFydF9saW5lX251bWJlchgCIAEoBRIXCg9lbmRfbGluZV9udW1iZXIYAyABKAUi1hUKC0NoYXRSZXF1ZXN0EhIKCm1vZGVsX25hbWUYASABKAkSDAoEcGF0aBgCIAEoCRIOCgZwcmVmaXgYAyABKAkSFQoNc2VsZWN0ZWRfY29kZRgEIAEoCRIOCgZzdWZmaXgYBSABKAkSDwoHbWVzc2FnZRgGIAEoCRIkCgxjaGF0X2hpc3RvcnkYByADKAsyDi5jaGF0LkV4Y2hhbmdlEiQKCHBvc2l0aW9uGAggASgLMhIuY2hhdC5DaGF0UG9zaXRpb24SDAoEbGFuZxgKIAEoCRITCgtzZXF1ZW5jZV9pZBgLIAEoDRIlCgVibG9icxgMIAMoCzIWLmJhc2UuYmxvYl9uYW1lcy5CbG9icxIkChxlbmFibGVfcHJlZmVyZW5jZV9jb2xsZWN0aW9uGA0gASgIEhkKEXVzZXJfZ3VpZGVkX2Jsb2JzGA4gAygJEhsKE2V4dGVybmFsX3NvdXJjZV9pZHMYECADKAkSKAogY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWQYDyABKAkSJQodZGlzYWJsZV9hdXRvX2V4dGVybmFsX3NvdXJjZXMYESABKAgSHQoVcHJvbXB0X2Zvcm1hdHRlcl9uYW1lGBIgASgJEjcKEmNoYW5nZWRfZmlsZV9zdGF0cxgTIAEoCzIWLmNoYXQuQ2hhbmdlZEZpbGVTdGF0c0gAiAEBEhEKBGRpZmYYFCABKAlIAYgBARIgChhyZWxldmFudF9jb21taXRfbWVzc2FnZXMYFSADKAkSHwoXZXhhbXBsZV9jb21taXRfbWVzc2FnZXMYFiADKAkSHAoPdXNlcl9ndWlkZWxpbmVzGBcgASgJSAKIAQESIQoUd29ya3NwYWNlX2d1aWRlbGluZXMYGCABKAlIA4gBARJFChdmZWF0dXJlX2RldGVjdGlvbl9mbGFncxgZIAEoCzIfLmNoYXQuQ2hhdEZlYXR1cmVEZXRlY3Rpb25GbGFnc0gEiAEBEi4KEHRvb2xfZGVmaW5pdGlvbnMYGiADKAsyFC5jaGF0LlRvb2xEZWZpbml0aW9uEiQKBW5vZGVzGBsgAygLMhUuY2hhdC5DaGF0UmVxdWVzdE5vZGUSLAoMcGVyc29uYV90eXBlGB0gASgOMhEuY2hhdC5QZXJzb25hVHlwZUgFiAEBEhUKDWlzX3N1c3BpY2lvdXMYHiABKAgSGQoFcnVsZXMYHyADKAsyCi5jaGF0LlJ1bGUSDgoGc2lsZW50GCAgASgIEhgKC2FnZW50X3Rhc2tzGCEgASgJSAaIAQESJQoLY2xpZW50X3R5cGUYIiABKA4yEC5jaGF0LkNsaWVudFR5cGUSJgoJY2hhdF9tb2RlGCMgASgOMg4uY2hhdC5DaGF0TW9kZUgHiAEBEjsKFHRoaXJkX3BhcnR5X292ZXJyaWRlGCQgASgLMhguY2hhdC5UaGlyZFBhcnR5T3ZlcnJpZGVICIgBARIcCg9jb252ZXJzYXRpb25faWQYJSABKAlICYgBARIqCgtzaWxlbnRfdHlwZRgmIAEoDjIQLmNoYXQuU2lsZW50VHlwZUgKiAEBEiMKFnN5c3RlbV9wcm9tcHRfb3ZlcnJpZGUYJyABKAlIC4gBARJBChpzeXN0ZW1fcHJvbXB0X3JlcGxhY2VtZW50cxgoIAMoCzIdLmNoYXQuU3lzdGVtUHJvbXB0UmVwbGFjZW1lbnQSGwoGc2tpbGxzGCogAygLMgsuY2hhdC5Ta2lsbBIhChRzeXN0ZW1fcHJvbXB0X2FwcGVuZBgrIAEoCUgMiAEBEi8KImNvbnN1bWVfY3JlZGl0c19vbl9zaWxlbnRfcmVxdWVzdHMYLCABKAhIDYgBARIUCgd0dXJuX2lkGC0gASgJSA6IAQESIwoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBguIAEoCUgPiAEBEiEKFHJvb3RfY29udmVyc2F0aW9uX2lkGC8gASgJSBCIAQESHQoQZGlzYWJsZV90aGlua2luZxgwIAEoCEgRiAEBEjYKEmJyaW5nX3lvdXJfb3duX2tleRgxIAEoCzIVLmNoYXQuQnJpbmdZb3VyT3duS2V5SBKIAQESIQoUcmVxdWVzdGVkX21vZGVsX25hbWUYMiABKAlIE4gBARIcCg9zdWJzY3JpcHRpb25faWQYMyABKAlIFIgBARIyCg9jbGllbnRfbWV0YWRhdGEYNCABKAsyFC5jaGF0LkNsaWVudE1ldGFkYXRhSBWIAQESJgoZaW50ZXJuYWxfYWdlbnRfcGVyc29uYV9pZBg1IAEoCUgWiAEBEhwKD3BlcnNvbmFfcHJvbXB0cxg2IAEoCUgXiAEBEicKGnNraXBfY29udmVyc2F0aW9uX2luZGV4aW5nGDcgASgISBiIAQESGwoOc2VuZGVyX3VzZXJfaWQYOCABKAlIGYgBARIeChFldV9pbmZlcmVuY2Vfb25seRg5IAEoCEgaiAEBEkoKHGN1c3RvbV9idXRsZXJfcm91dGluZ19jb25maWcYOiABKAsyHy5jaGF0LkN1c3RvbUJ1dGxlclJvdXRpbmdDb25maWdIG4gBARIzChN2ZnNfZmlsZV9yZWZlcmVuY2VzGDsgAygLMhYuY2hhdC5WRlNGaWxlUmVmZXJlbmNlEjMKE21jcF90b29sX3JlZmVyZW5jZXMYPCADKAsyFi5jaGF0Lk1DUFRvb2xSZWZlcmVuY2USHQoQcmVhc29uaW5nX2VmZm9ydBg9IAEoCUgciAEBQhUKE19jaGFuZ2VkX2ZpbGVfc3RhdHNCBwoFX2RpZmZCEgoQX3VzZXJfZ3VpZGVsaW5lc0IXChVfd29ya3NwYWNlX2d1aWRlbGluZXNCGgoYX2ZlYXR1cmVfZGV0ZWN0aW9uX2ZsYWdzQg8KDV9wZXJzb25hX3R5cGVCDgoMX2FnZW50X3Rhc2tzQgwKCl9jaGF0X21vZGVCFwoVX3RoaXJkX3BhcnR5X292ZXJyaWRlQhIKEF9jb252ZXJzYXRpb25faWRCDgoMX3NpbGVudF90eXBlQhkKF19zeXN0ZW1fcHJvbXB0X292ZXJyaWRlQhcKFV9zeXN0ZW1fcHJvbXB0X2FwcGVuZEIlCiNfY29uc3VtZV9jcmVkaXRzX29uX3NpbGVudF9yZXF1ZXN0c0IKCghfdHVybl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCEwoRX2Rpc2FibGVfdGhpbmtpbmdCFQoTX2JyaW5nX3lvdXJfb3duX2tleUIXChVfcmVxdWVzdGVkX21vZGVsX25hbWVCEgoQX3N1YnNjcmlwdGlvbl9pZEISChBfY2xpZW50X21ldGFkYXRhQhwKGl9pbnRlcm5hbF9hZ2VudF9wZXJzb25hX2lkQhIKEF9wZXJzb25hX3Byb21wdHNCHQobX3NraXBfY29udmVyc2F0aW9uX2luZGV4aW5nQhEKD19zZW5kZXJfdXNlcl9pZEIUChJfZXVfaW5mZXJlbmNlX29ubHlCHwodX2N1c3RvbV9idXRsZXJfcm91dGluZ19jb25maWdCEwoRX3JlYXNvbmluZ19lZmZvcnRKBAgJEApKBAgcEB1KBAgpECpSCWNhbnZhc19pZCLzAwoPQ2hhdFJlcXVlc3ROb2RlEgoKAmlkGAEgASgFEicKBHR5cGUYAiABKA4yGS5jaGF0LkNoYXRSZXF1ZXN0Tm9kZVR5cGUSLQoJdGV4dF9ub2RlGAMgASgLMhUuY2hhdC5DaGF0UmVxdWVzdFRleHRIAIgBARI6ChB0b29sX3Jlc3VsdF9ub2RlGAQgASgLMhsuY2hhdC5DaGF0UmVxdWVzdFRvb2xSZXN1bHRIAYgBARIvCgppbWFnZV9ub2RlGAUgASgLMhYuY2hhdC5DaGF0UmVxdWVzdEltYWdlSAKIAQESNgoOaWRlX3N0YXRlX25vZGUYByABKAsyGS5jaGF0LkNoYXRSZXF1ZXN0SWRlU3RhdGVIA4gBARI6ChBlZGl0X2V2ZW50c19ub2RlGAggASgLMhsuY2hhdC5DaGF0UmVxdWVzdEVkaXRFdmVudHNIBIgBARItCglmaWxlX25vZGUYCSABKAsyFS5jaGF0LkNoYXRSZXF1ZXN0RmlsZUgFiAEBQgwKCl90ZXh0X25vZGVCEwoRX3Rvb2xfcmVzdWx0X25vZGVCDQoLX2ltYWdlX25vZGVCEQoPX2lkZV9zdGF0ZV9ub2RlQhMKEV9lZGl0X2V2ZW50c19ub2RlQgwKCl9maWxlX25vZGVKBAgGEAcixAQKDENoYXRSZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCBI3ChV3b3Jrc3BhY2VfZmlsZV9jaHVua3MYBCADKAsyGC5jaGF0LldvcmtzcGFjZUZpbGVDaHVuaxJHCh1pbmNvcnBvcmF0ZWRfZXh0ZXJuYWxfc291cmNlcxgFIAMoCzIgLmNoYXQuSW5jb3Jwb3JhdGVkRXh0ZXJuYWxTb3VyY2USOQoVcmVwbGFjZV90ZXh0X3Jlc3BvbnNlGAYgASgLMhUuY2hhdC5DaGF0UmVwbGFjZVRleHRIAIgBARIjCgVub2RlcxgHIAMoCzIULmNoYXQuQ2hhdFJlc3VsdE5vZGUSNgoLc3RhdHVzX2NvZGUYCCABKA4yHC5jaGF0LkNoYXRSZXNwb25zZVN0YXR1c0NvZGVIAYgBARIuCgtzdG9wX3JlYXNvbhgJIAEoDjIULmNoYXQuQ2hhdFN0b3BSZWFzb25IAogBARIaCg1lcnJvcl9tZXNzYWdlGAogASgJSAOIAQESIQoUZWZmZWN0aXZlX21vZGVsX25hbWUYCyABKAlIBIgBAUIYChZfcmVwbGFjZV90ZXh0X3Jlc3BvbnNlQg4KDF9zdGF0dXNfY29kZUIOCgxfc3RvcF9yZWFzb25CEAoOX2Vycm9yX21lc3NhZ2VCFwoVX2VmZmVjdGl2ZV9tb2RlbF9uYW1lIsYCChlDaGF0UmVzdWx0QmlsbGluZ01ldGFkYXRhEhsKDnRyYW5zYWN0aW9uX2lkGAEgASgJSACIAQESGAoQY3JlZGl0c19jb25zdW1lZBgCIAEoBRIQCghjb3N0X3VzZBgHIAEoCRImCgp1c2FnZV91bml0GAggASgOMhIuYmlsbGluZy5Vc2FnZVVuaXQSIQoUZWZmZWN0aXZlX21vZGVsX25hbWUYCSABKAlIAYgBAUIRCg9fdHJhbnNhY3Rpb25faWRCFwoVX2VmZmVjdGl2ZV9tb2RlbF9uYW1lSgQIAxAESgQIBBAFSgQIBRAGSgQIBhAHUgxpbnB1dF90b2tlbnNSDW91dHB1dF90b2tlbnNSF2NhY2hlX3JlYWRfaW5wdXRfdG9rZW5zUhtjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMi7gMKDkNoYXRSZXN1bHROb2RlEgoKAmlkGAEgASgFEiYKBHR5cGUYAiABKA4yGC5jaGF0LkNoYXRSZXN1bHROb2RlVHlwZRIPCgdjb250ZW50GAMgASgJEi4KCHRvb2xfdXNlGAQgASgLMhcuY2hhdC5DaGF0UmVzdWx0VG9vbFVzZUgAiAEBEi8KCHRoaW5raW5nGAUgASgLMhguY2hhdC5DaGF0UmVzdWx0VGhpbmtpbmdIAYgBARI+ChBiaWxsaW5nX21ldGFkYXRhGAYgASgLMh8uY2hhdC5DaGF0UmVzdWx0QmlsbGluZ01ldGFkYXRhSAKIAQESNAoLdG9rZW5fdXNhZ2UYCCABKAsyGi5jaGF0LkNoYXRSZXN1bHRUb2tlblVzYWdlSAOIAQESMwoIbWV0YWRhdGEYByABKAsyHC5jaGF0LkNoYXRSZXN1bHROb2RlTWV0YWRhdGFIBIgBARIZCgx0aW1lc3RhbXBfbXMYCiABKARIBYgBAUILCglfdG9vbF91c2VCCwoJX3RoaW5raW5nQhMKEV9iaWxsaW5nX21ldGFkYXRhQg4KDF90b2tlbl91c2FnZUILCglfbWV0YWRhdGFCDwoNX3RpbWVzdGFtcF9tc0oECAkQClINY29udGV4dF91c2FnZSK+AQoOQ2xpZW50TWV0YWRhdGESEwoLY2xpZW50X25hbWUYASABKAkSFgoOY2xpZW50X3ZlcnNpb24YAiABKAkSFgoOY2xpZW50X3N1YnR5cGUYAyABKAkSFwoPYWNwX2NsaWVudF9uYW1lGAQgASgJEhoKEmFjcF9jbGllbnRfdmVyc2lvbhgFIAEoCRISCgp1c2VyX2FnZW50GAYgASgJEhAKCHBsYXRmb3JtGAcgASgJEgwKBGFyY2gYCCABKAkiwwIKGUN1c3RvbUJ1dGxlclJvdXRpbmdDb25maWcSFQoNZGVmYXVsdF9tb2RlbBgBIAEoCRJECgt0aWVyX21vZGVscxgCIAMoCzIvLmNoYXQuQ3VzdG9tQnV0bGVyUm91dGluZ0NvbmZpZy5UaWVyTW9kZWxzRW50cnkSWQoWdGllcl9yZWFzb25pbmdfZWZmb3J0cxgDIAMoCzI5LmNoYXQuQ3VzdG9tQnV0bGVyUm91dGluZ0NvbmZpZy5UaWVyUmVhc29uaW5nRWZmb3J0c0VudHJ5GjEKD1RpZXJNb2RlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjsKGVRpZXJSZWFzb25pbmdFZmZvcnRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLFAgoIRXhjaGFuZ2USFwoPcmVxdWVzdF9tZXNzYWdlGAEgASgJEhoKDXJlc3BvbnNlX3RleHQYAiABKAlIAIgBARIXCgpyZXF1ZXN0X2lkGAMgASgJSAGIAQESLAoNcmVxdWVzdF9ub2RlcxgEIAMoCzIVLmNoYXQuQ2hhdFJlcXVlc3ROb2RlEiwKDnJlc3BvbnNlX25vZGVzGAUgAygLMhQuY2hhdC5DaGF0UmVzdWx0Tm9kZRIzCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhkKDGNvbXBvc2l0ZV9pZBgHIAEoCUgDiAEBQhAKDl9yZXNwb25zZV90ZXh0Qg0KC19yZXF1ZXN0X2lkQg0KC19jcmVhdGVkX2F0Qg8KDV9jb21wb3NpdGVfaWQiZQoURXhjaGFuZ2VXaXRoTWV0YWRhdGESIAoIZXhjaGFuZ2UYASABKAsyDi5jaGF0LkV4Y2hhbmdlEisKCG1ldGFkYXRhGAIgASgLMhkuY2hhdC5DaGF0SGlzdG9yeU1ldGFkYXRhImAKGkluY29ycG9yYXRlZEV4dGVybmFsU291cmNlEhMKC3NvdXJjZV9uYW1lGAEgASgJEhEKBGxpbmsYAiABKAlIAIgBARIRCglzb3VyY2VfaWQYAyABKAlCBwoFX2xpbmsiSwoQTUNQVG9vbFJlZmVyZW5jZRIRCglzZXJ2ZXJfaWQYASABKAkSFgoJdG9vbF9uYW1lGAIgASgJSACIAQFCDAoKX3Rvb2xfbmFtZSJvChJQZXJGaWxlQ2hhbmdlU3RhdHMSEQoJZmlsZV9wYXRoGAEgASgJEhcKD2luc2VydGlvbl9jb3VudBgCIAEoBRIWCg5kZWxldGlvbl9jb3VudBgDIAEoBRIVCg1vbGRfZmlsZV9wYXRoGAQgASgJIrEBChdQZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxIaChJjaGFuZ2VkX2ZpbGVfY291bnQYASABKAUSPAoacGVyX2ZpbGVfY2hhbmdlX3N0YXRzX2hlYWQYAiADKAsyGC5jaGF0LlBlckZpbGVDaGFuZ2VTdGF0cxI8ChpwZXJfZmlsZV9jaGFuZ2Vfc3RhdHNfdGFpbBgDIAMoCzIYLmNoYXQuUGVyRmlsZUNoYW5nZVN0YXRzIm0KBFJ1bGUSHAoEdHlwZRgBIAEoDjIOLmNoYXQuUnVsZVR5cGUSDAoEcGF0aBgCIAEoCRIPCgdjb250ZW50GAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIjwKBVNraWxsEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIbG9jYXRpb24YAyABKAkiOgoXU3lzdGVtUHJvbXB0UmVwbGFjZW1lbnQSDgoGc2VhcmNoGAEgASgJEg8KB3JlcGxhY2UYAiABKAkilAEKElRoaXJkUGFydHlPdmVycmlkZRIgChNwcm92aWRlcl9tb2RlbF9uYW1lGAEgASgJSACIAQESFAoHYXBpX2tleRgCIAEoCUgBiAEBEhUKCGJhc2VfdXJsGAMgASgJSAKIAQFCFgoUX3Byb3ZpZGVyX21vZGVsX25hbWVCCgoIX2FwaV9rZXlCCwoJX2Jhc2VfdXJsImoKEFZGU0ZpbGVSZWZlcmVuY2USDwoHZmlsZV9pZBgBIAEoCRIVCg1maWxlc3lzdGVtX2lkGAIgASgJEgwKBHBhdGgYAyABKAkSEAoIc3BhY2VfaWQYBCABKAkSDgoGaXNfZGlyGAUgASgIIk0KEldvcmtzcGFjZUZpbGVDaHVuaxISCgpjaGFyX3N0YXJ0GAEgASgFEhAKCGNoYXJfZW5kGAIgASgFEhEKCWJsb2JfbmFtZRgDIAEoCSr0AQoMQllPS1Byb3ZpZGVyEhQKEFBST1ZJREVSX1VOS05PV04QABIWChJQUk9WSURFUl9BTlRIUk9QSUMQARITCg9QUk9WSURFUl9PUEVOQUkQAhIUChBQUk9WSURFUl9CRURST0NLEAMSFgoSUFJPVklERVJfRklSRVdPUktTEAQSHwobUFJPVklERVJfVkVSVEVYQUlfQU5USFJPUElDEAUSHAoYUFJPVklERVJfVkVSVEVYQUlfR0VNSU5JEAYSGwoXUFJPVklERVJfQkVEUk9DS19PUEVOQUkQBxIXChNQUk9WSURFUl9PUEVOUk9VVEVSEAgq5QEKCENoYXRNb2RlEggKBENIQVQQABIJCgVBR0VOVBABEg8KC09SSUVOVEFUSU9OEAMSEAoMUkVNT1RFX0FHRU5UEAUSDQoJQ0xJX0FHRU5UEAYSFgoSQ0xJX05PTklOVEVSQUNUSVZFEAcSDwoLQ09ERV9SRVZJRVcQCBIVChFBR0VOVElDX1NMQUNLX0JPVBAJEhYKEkNPTlRFWFRfRU5HSU5FX1NESxAKEhYKEkNPTlRFWFRfRU5HSU5FX01DUBALEhYKElBPU0VJRE9OX0NMSV9BR0VOVBAMIgQIAhACIgQIBBAEKnoKFkNoYXRSZXNwb25zZVN0YXR1c0NvZGUSBgoCT0sQABIZChVFWENFRURfQ09OVEVYVF9MRU5HVEgQARIPCgtXQVNfQkxPQ0tFRBACEhMKD0lOVkFMSURfUkVRVUVTVBADEhcKE1NVTU1BUklaRV9BTkRfUkVUUlkQBCpFCgpDbGllbnRUeXBlEgsKB1VOS05PV04QABIHCgNDTEkQARIKCgZWU0NPREUQAhIMCghJTlRFTExJShADEgcKA1dFQhAEKkgKC1BlcnNvbmFUeXBlEgsKB0RFRkFVTFQQABIOCgpQUk9UT1RZUEVSEAESDgoKQlJBSU5TVE9STRACEgwKCFJFVklFV0VSEAMqQAoIUnVsZVR5cGUSEwoPQUxXQVlTX0FUVEFDSEVEEAASCgoGTUFOVUFMEAESEwoPQUdFTlRfUkVRVUVTVEVEEAIq8wQKClNpbGVudFR5cGUSGwoXU0lMRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIXChNTSUxFTlRfVFlQRV9VTktOT1dOEBMSHgoaUkVXUklURV9QUk9NUFRfSU5TVFJVQ1RJT04QARIaChZISVNUT1JZX1NVTU1BUllfUFJPTVBUEAISHwobQ0xBU1NJRllfQU5EX0RJU1RJTExfUFJPTVBUEAMSJwojQ0xBU1NJRllfQU5EX0RJU1RJTExfU1VDQ0VTU19QUk9NUFQQBBIUChBJTkpFQ1RJT05fUFJPTVBUEAUSGwoXU1VNTUFSWV9FWENIQU5HRV9QUk9NUFQQBhIbChdVUERBVEVfVEFTS19MSVNUX1BST01QVBAHEh0KGUdFTkVSQVRFX1FVRVNUSU9OU19QUk9NUFQQCBIaChZQUk9KRUNUX1NVTU1BUllfUFJPTVBUEAkSFgoSQ09NUFJFU1NJT05fUFJPTVBUEAoSIAocTEFOR1VBR0VfTE9DQUxJWkFUSU9OX1BST01QVBAMEhsKF0RFVEVDVF9MQU5HVUFHRVNfUFJPTVBUEA0SIgoeT1JJRU5UQVRJT05fQ09NUFJFU1NJT05fUFJPTVBUEA4SIAocT1JJRU5UQVRJT05fQlVJTERfVEVTVF9RVUVSWRAPEiQKIEhFTFBGVUxfU09GVFdBUkVfRU5HSU5FRVJfUFJPTVBUEBASGwoXQUdFTlRfT05CT0FSRElOR19QUk9NUFQQERIgChxFTVBUWV9NRVNTQUdFX1dJVEhfVE9PTF9DQUxMEBISFgoSVE9PTF9TRUFSQ0hfUFJPTVBUEBQiBAgLEAtQBGIGcHJvdG8z",[Vt,ee,Yn,CZ,JZ]);var kZ;(function(e){e[e.PROVIDER_UNKNOWN=0]="PROVIDER_UNKNOWN",e[e.PROVIDER_ANTHROPIC=1]="PROVIDER_ANTHROPIC",e[e.PROVIDER_OPENAI=2]="PROVIDER_OPENAI",e[e.PROVIDER_BEDROCK=3]="PROVIDER_BEDROCK",e[e.PROVIDER_FIREWORKS=4]="PROVIDER_FIREWORKS",e[e.PROVIDER_VERTEXAI_ANTHROPIC=5]="PROVIDER_VERTEXAI_ANTHROPIC",e[e.PROVIDER_VERTEXAI_GEMINI=6]="PROVIDER_VERTEXAI_GEMINI",e[e.PROVIDER_BEDROCK_OPENAI=7]="PROVIDER_BEDROCK_OPENAI",e[e.PROVIDER_OPENROUTER=8]="PROVIDER_OPENROUTER"})(kZ||(kZ={}));var _Z;(function(e){e[e.CHAT=0]="CHAT",e[e.AGENT=1]="AGENT",e[e.ORIENTATION=3]="ORIENTATION",e[e.REMOTE_AGENT=5]="REMOTE_AGENT",e[e.CLI_AGENT=6]="CLI_AGENT",e[e.CLI_NONINTERACTIVE=7]="CLI_NONINTERACTIVE",e[e.CODE_REVIEW=8]="CODE_REVIEW",e[e.AGENTIC_SLACK_BOT=9]="AGENTIC_SLACK_BOT",e[e.CONTEXT_ENGINE_SDK=10]="CONTEXT_ENGINE_SDK",e[e.CONTEXT_ENGINE_MCP=11]="CONTEXT_ENGINE_MCP",e[e.POSEIDON_CLI_AGENT=12]="POSEIDON_CLI_AGENT"})(_Z||(_Z={}));var QZ;(function(e){e[e.OK=0]="OK",e[e.EXCEED_CONTEXT_LENGTH=1]="EXCEED_CONTEXT_LENGTH",e[e.WAS_BLOCKED=2]="WAS_BLOCKED",e[e.INVALID_REQUEST=3]="INVALID_REQUEST",e[e.SUMMARIZE_AND_RETRY=4]="SUMMARIZE_AND_RETRY"})(QZ||(QZ={}));var TZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CLI=1]="CLI",e[e.VSCODE=2]="VSCODE",e[e.INTELLIJ=3]="INTELLIJ",e[e.WEB=4]="WEB"})(TZ||(TZ={}));var KZ;(function(e){e[e.DEFAULT=0]="DEFAULT",e[e.PROTOTYPER=1]="PROTOTYPER",e[e.BRAINSTORM=2]="BRAINSTORM",e[e.REVIEWER=3]="REVIEWER"})(KZ||(KZ={}));var zZ;(function(e){e[e.ALWAYS_ATTACHED=0]="ALWAYS_ATTACHED",e[e.MANUAL=1]="MANUAL",e[e.AGENT_REQUESTED=2]="AGENT_REQUESTED"})(zZ||(zZ={}));var DZ;(function(e){e[e.SILENT_TYPE_UNSPECIFIED=0]="SILENT_TYPE_UNSPECIFIED",e[e.SILENT_TYPE_UNKNOWN=19]="SILENT_TYPE_UNKNOWN",e[e.REWRITE_PROMPT_INSTRUCTION=1]="REWRITE_PROMPT_INSTRUCTION",e[e.HISTORY_SUMMARY_PROMPT=2]="HISTORY_SUMMARY_PROMPT",e[e.CLASSIFY_AND_DISTILL_PROMPT=3]="CLASSIFY_AND_DISTILL_PROMPT",e[e.CLASSIFY_AND_DISTILL_SUCCESS_PROMPT=4]="CLASSIFY_AND_DISTILL_SUCCESS_PROMPT",e[e.INJECTION_PROMPT=5]="INJECTION_PROMPT",e[e.SUMMARY_EXCHANGE_PROMPT=6]="SUMMARY_EXCHANGE_PROMPT",e[e.UPDATE_TASK_LIST_PROMPT=7]="UPDATE_TASK_LIST_PROMPT",e[e.GENERATE_QUESTIONS_PROMPT=8]="GENERATE_QUESTIONS_PROMPT",e[e.PROJECT_SUMMARY_PROMPT=9]="PROJECT_SUMMARY_PROMPT",e[e.COMPRESSION_PROMPT=10]="COMPRESSION_PROMPT",e[e.LANGUAGE_LOCALIZATION_PROMPT=12]="LANGUAGE_LOCALIZATION_PROMPT",e[e.DETECT_LANGUAGES_PROMPT=13]="DETECT_LANGUAGES_PROMPT",e[e.ORIENTATION_COMPRESSION_PROMPT=14]="ORIENTATION_COMPRESSION_PROMPT",e[e.ORIENTATION_BUILD_TEST_QUERY=15]="ORIENTATION_BUILD_TEST_QUERY",e[e.HELPFUL_SOFTWARE_ENGINEER_PROMPT=16]="HELPFUL_SOFTWARE_ENGINEER_PROMPT",e[e.AGENT_ONBOARDING_PROMPT=17]="AGENT_ONBOARDING_PROMPT",e[e.EMPTY_MESSAGE_WITH_TOOL_CALL=18]="EMPTY_MESSAGE_WITH_TOOL_CALL",e[e.TOOL_SEARCH_PROMPT=20]="TOOL_SEARCH_PROMPT"})(DZ||(DZ={}));var Da=k("CiFiYXNlL2RpZmZfdXRpbHMvZWRpdF9ldmVudHMucHJvdG8SD2Jhc2UuZGlmZl91dGlscyJqCgpTaW5nbGVFZGl0EhQKDGJlZm9yZV9zdGFydBgBIAEoDRIYCgtiZWZvcmVfdGV4dBgCIAEoCUIDgAEBEhMKC2FmdGVyX3N0YXJ0GAMgASgNEhcKCmFmdGVyX3RleHQYBCABKAlCA4ABASKFAQoRR3JhbnVsYXJFZGl0RXZlbnQSEQoEcGF0aBgBIAEoCUIDgAEBEhgKEGJlZm9yZV9ibG9iX25hbWUYAiABKAkSFwoPYWZ0ZXJfYmxvYl9uYW1lGAMgASgJEioKBWVkaXRzGAQgAygLMhsuYmFzZS5kaWZmX3V0aWxzLlNpbmdsZUVkaXRiBnByb3RvMw");var MZ=k("ChxzZXJ2aWNlcy9hZ2VudHMvYWdlbnRzLnByb3RvEgZhZ2VudHMi9gQKG0NvZGViYXNlUmV0cmlldmFsUmF3UmVxdWVzdBIqCgdxdWVyaWVzGAEgAygLMhkuYWdlbnRzLlJhd1JldHJpZXZhbFF1ZXJ5EiUKBWJsb2JzGAIgAygLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEhIKCm1heF9jaHVua3MYAyABKAUSGQoRbWF4X291dHB1dF9sZW5ndGgYBCABKAUSGQoRdXNlcl9ndWlkZWRfYmxvYnMYBSADKAkSGwoTZXh0ZXJuYWxfc291cmNlX2lkcxgGIAMoCRIlCh1kaXNhYmxlX2F1dG9fZXh0ZXJuYWxfc291cmNlcxgHIAEoCBIMCgRwYXRoGAggASgJEg4KBnByZWZpeBgJIAEoCRIOCgZzdWZmaXgYCiABKAkSFQoNc2VsZWN0ZWRfY29kZRgLIAEoCRIeCgZkaWFsb2cYDCADKAsyDi5jaGF0LkV4Y2hhbmdlEiMKG2luY2x1ZGVfZm9ybWF0dGVkX3JldHJpZXZhbBgNIAEoCBIcChRpbmNsdWRlX2xpbmVfbnVtYmVycxgOIAEoCBIcCg9jb252ZXJzYXRpb25faWQYDyABKAlIAIgBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGBAgASgJSAGIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYESABKAlIAogBARIUCgd0dXJuX2lkGBIgASgJSAOIAQFCEgoQX2NvbnZlcnNhdGlvbl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCCgoIX3R1cm5faWQioAEKHENvZGViYXNlUmV0cmlldmFsUmF3UmVzcG9uc2USKQoGY2h1bmtzGAEgAygLMhkuYWdlbnRzLlJhd1JldHJpZXZlZENodW5rEhsKE2Zvcm1hdHRlZF9yZXRyaWV2YWwYAiABKAkSGgoSdW5rbm93bl9ibG9iX25hbWVzGAMgAygJEhwKFGNoZWNrcG9pbnRfbm90X2ZvdW5kGAQgASgIIqQEChhDb2RlYmFzZVJldHJpZXZhbFJlcXVlc3QSGwoTaW5mb3JtYXRpb25fcmVxdWVzdBgBIAEoCRIeCgZkaWFsb2cYAiADKAsyDi5jaGF0LkV4Y2hhbmdlEiUKBWJsb2JzGAMgAygLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEhkKEW1heF9vdXRwdXRfbGVuZ3RoGAQgASgFEiIKGmRpc2FibGVfY29kZWJhc2VfcmV0cmlldmFsGAUgASgIEh8KF2VuYWJsZV9jb21taXRfcmV0cmlldmFsGAYgASgIEiUKHWVuYWJsZV9jb252ZXJzYXRpb25fcmV0cmlldmFsGAcgASgIEjYKEmJyaW5nX3lvdXJfb3duX2tleRgIIAEoCzIVLmNoYXQuQnJpbmdZb3VyT3duS2V5SACIAQESHAoPY29udmVyc2F0aW9uX2lkGAkgASgJSAGIAQESIwoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBgKIAEoCUgCiAEBEiEKFHJvb3RfY29udmVyc2F0aW9uX2lkGAsgASgJSAOIAQESFAoHdHVybl9pZBgMIAEoCUgEiAEBQhUKE19icmluZ195b3VyX293bl9rZXlCEgoQX2NvbnZlcnNhdGlvbl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCCgoIX3R1cm5faWQiuwYKGUNvZGViYXNlUmV0cmlldmFsUmVzcG9uc2USGwoTZm9ybWF0dGVkX3JldHJpZXZhbBgBIAEoCRIlCh1jb2RlYmFzZV9yZXRyaWV2YWxfZWxhcHNlZF9tcxgCIAEoBRIpCiFjb252ZXJzYXRpb25fcmV0cmlldmFsX2VsYXBzZWRfbXMYAyABKAUSKQohY29udmVyc2F0aW9uX2luaXRpYWxfcmV0cmlldmFsX21zGAQgASgFEicKH2NvbnZlcnNhdGlvbl9xdWVyeV9yZXdyaXRpbmdfbXMYBSABKAUSKgoiY29udmVyc2F0aW9uX2ZvbGxvd3VwX3JldHJpZXZhbF9tcxgGIAEoBRIbChNibG9iX25hbWVfbG9va3VwX21zGAcgASgFEiEKGWNvZGViYXNlX2NodW5rc19yZXRyaWV2ZWQYCCABKAUSIwobY29udmVyc2F0aW9uX2NodW5rc19pbml0aWFsGAkgASgFEiYKHmNvbnZlcnNhdGlvbl9xdWVyaWVzX2dlbmVyYXRlZBgKIAEoBRIkChxjb252ZXJzYXRpb25fY2h1bmtzX2ZvbGxvd3VwGAsgASgFEiQKHGNvbnZlcnNhdGlvbl9jaHVua3NfY29tYmluZWQYDCABKAUSKgoiY29kZWJhc2VfcmVzdWx0X2xlbl9wcmVfdHJ1bmNhdGlvbhgNIAEoBRIbChNjb2RlYmFzZV9yZXN1bHRfbGVuGA4gASgFEi4KJmNvbnZlcnNhdGlvbl9yZXN1bHRfbGVuX3ByZV90cnVuY2F0aW9uGA8gASgFEh8KF2NvbnZlcnNhdGlvbl9yZXN1bHRfbGVuGBAgASgFEhsKE2NvbWJpbmVkX3Jlc3VsdF9sZW4YESABKAUSFAoMdG90YWxfYnVkZ2V0GBIgASgFEhcKD2NvZGViYXNlX2J1ZGdldBgTIAEoBRIbChNjb252ZXJzYXRpb25fYnVkZ2V0GBQgASgFEhoKEmNvZGViYXNlX3RydW5jYXRlZBgVIAEoCBIeChZjb252ZXJzYXRpb25fdHJ1bmNhdGVkGBYgASgIEhcKD2ZpbmFsX3RydW5jYXRlZBgXIAEoCCJ0Cg9FZGl0RmlsZVJlcXVlc3QSEQoJZmlsZV9wYXRoGAEgASgJEhQKDGVkaXRfc3VtbWFyeRgCIAEoCRIhChlkZXRhaWxlZF9lZGl0X2Rlc2NyaXB0aW9uGAMgASgJEhUKDWZpbGVfY29udGVudHMYBCABKAkiRAoQRWRpdEZpbGVSZXNwb25zZRIeChZtb2RpZmllZF9maWxlX2NvbnRlbnRzGAEgASgJEhAKCGlzX2Vycm9yGAIgASgIImMKEVJhd1JldHJpZXZhbFF1ZXJ5EhMKC2Rlc2NyaXB0aW9uGAEgASgJEgwKBHBhdGgYAiABKAkSFwoPY29udGFpbnNfc3RyaW5nGAMgASgJEhIKCm1heF9jaHVua3MYBCABKAUihgIKEVJhd1JldHJpZXZlZENodW5rEgwKBHRleHQYASABKAkSDAoEcGF0aBgCIAEoCRISCgpjaGFyX3N0YXJ0GAMgASgFEhAKCGNoYXJfZW5kGAQgASgFEhIKCmxpbmVfc3RhcnQYBSABKAUSFwoPbGVuZ3RoX2luX2xpbmVzGAYgASgFEhEKCWJsb2JfbmFtZRgHIAEoCRINCgVzY29yZRgIIAEoAhIOCgZvcmlnaW4YCSABKAkSFgoObWF0Y2hlZF9zdHJpbmcYCiABKAkSGgoSZXh0ZXJuYWxfc291cmNlX2lkGAsgASgJEhwKFGV4dGVybmFsX3NvdXJjZV9uYW1lGAwgASgJIrkCChVSdW5SZW1vdGVUb29sUmVzcG9uc2USEwoLdG9vbF9vdXRwdXQYASABKAkSGwoTdG9vbF9yZXN1bHRfbWVzc2FnZRgCIAEoCRIUCghpc19lcnJvchgDIAEoCEICGAESMAoGc3RhdHVzGAQgASgOMiAuYWdlbnRzLlJlbW90ZVRvb2xSZXNwb25zZVN0YXR1cxIjChZjb21wcmVzc2VkX2Z1bGxfb3V0cHV0GAUgASgJSACIAQESHQoQZnVsbF9vdXRwdXRfc2l6ZRgGIAEoA0gBiAEBEjIKDWNvbnRlbnRfbm9kZXMYByADKAsyGy5jaGF0LlRvb2xSZXN1bHRDb250ZW50Tm9kZUIZChdfY29tcHJlc3NlZF9mdWxsX291dHB1dEITChFfZnVsbF9vdXRwdXRfc2l6ZSqrAgoMUmVtb3RlVG9vbElkEgsKB1VOS05PV04QABIOCgpXRUJfU0VBUkNIEAESDgoKR0lUSFVCX0FQSRAIEhsKF0dJVEhVQl9BUFBfUkVBRE9OTFlfQVBJEBISGwoXR0lUSFVCX0FQUF9QT1NUX0NPTU1FTlQQExIdChlHSVRIVUJfQVBQX1BSX0RFU0NSSVBUSU9OEBQSCgoGTElORUFSEAwSCAoESklSQRANEg4KCkNPTkZMVUVOQ0UQDhIKCgZOT1RJT04QDxIMCghTVVBBQkFTRRAQEgkKBUdMRUFOEBEiBAgCEAIiBAgDEAMiBAgEEAQiBAgFEAUiBAgGEAYiBAgHEAciBAgJEAkiBAgKEAoiBAgLEAsiBAgVEBUqDkNPTlRFWFRfQ0FOVkFTKtYBChhSZW1vdGVUb29sUmVzcG9uc2VTdGF0dXMSIQodVE9PTF9FWEVDVVRJT05fVU5LTk9XTl9TVEFUVVMQABIaChZUT09MX0VYRUNVVElPTl9TVUNDRVNTEAESEgoOVE9PTF9OT1RfRk9VTkQQAhIWChJJTlZBTElEX1RPT0xfSU5QVVQQAxIYChRUT09MX0VYRUNVVElPTl9FUlJPUhAEEhYKElRPT0xfTk9UX0FWQUlMQUJMRRAFEh0KGVRPT0xfQVVUSEVOVElDQVRJT05fRVJST1IQBmIGcHJvdG8z",[Vt,Yn,yn]);var LZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_SEARCH=1]="WEB_SEARCH",e[e.GITHUB_API=8]="GITHUB_API",e[e.GITHUB_APP_READONLY_API=18]="GITHUB_APP_READONLY_API",e[e.GITHUB_APP_POST_COMMENT=19]="GITHUB_APP_POST_COMMENT",e[e.GITHUB_APP_PR_DESCRIPTION=20]="GITHUB_APP_PR_DESCRIPTION",e[e.LINEAR=12]="LINEAR",e[e.JIRA=13]="JIRA",e[e.CONFLUENCE=14]="CONFLUENCE",e[e.NOTION=15]="NOTION",e[e.SUPABASE=16]="SUPABASE",e[e.GLEAN=17]="GLEAN"})(LZ||(LZ={}));var HZ;(function(e){e[e.TOOL_EXECUTION_UNKNOWN_STATUS=0]="TOOL_EXECUTION_UNKNOWN_STATUS",e[e.TOOL_EXECUTION_SUCCESS=1]="TOOL_EXECUTION_SUCCESS",e[e.TOOL_NOT_FOUND=2]="TOOL_NOT_FOUND",e[e.INVALID_TOOL_INPUT=3]="INVALID_TOOL_INPUT",e[e.TOOL_EXECUTION_ERROR=4]="TOOL_EXECUTION_ERROR",e[e.TOOL_NOT_AVAILABLE=5]="TOOL_NOT_AVAILABLE",e[e.TOOL_AUTHENTICATION_ERROR=6]="TOOL_AUTHENTICATION_ERROR"})(HZ||(HZ={}));var $e=k("CjBzZXJ2aWNlcy9hdXRoL2NlbnRyYWwvc2VydmVyL2F1dGhfZW50aXRpZXMucHJvdG8SDWF1dGhfZW50aXRpZXMipQEKBlVzZXJJZBI2Cgx1c2VyX2lkX3R5cGUYASABKA4yIC5hdXRoX2VudGl0aWVzLlVzZXJJZC5Vc2VySWRUeXBlEg8KB3VzZXJfaWQYAiABKAkiUgoKVXNlcklkVHlwZRILCgdVTktOT1dOEAASCwoHQVVHTUVOVBABEg0KCUFQSV9UT0tFThACEgkKBVNMQUNLEAMSEAoMSU5URVJOQUxfSUFQEAQqjgEKB0JvdFR5cGUSGAoUQk9UX1RZUEVfVU5TUEVDSUZJRUQQABITCg9DT0RFX1JFVklFV19CT1QQARIYChRDT0RFX1JFVklFV19FVkFMX0JPVBACEg4KCkFUSEVOQV9CT1QQAxINCglTTEFDS19CT1QQBBIOCgpMSU5FQVJfQk9UEAUSCwoHU0FOREJPWBAGKlMKCFVzZXJUeXBlEhkKFVVTRVJfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVVTRVJfVFlQRV9SRUdVTEFSEAESFQoRVVNFUl9UWVBFX1NFUlZJQ0UQAkJRWk9naXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYXV0aC9jZW50cmFsL3NlcnZlci9hdXRoX2VudGl0aWVzX3Byb3RvYgZwcm90bzM",[ee]);var OZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.AUGMENT=1]="AUGMENT",e[e.API_TOKEN=2]="API_TOKEN",e[e.SLACK=3]="SLACK",e[e.INTERNAL_IAP=4]="INTERNAL_IAP"})(OZ||(OZ={}));var jZ;(function(e){e[e.BOT_TYPE_UNSPECIFIED=0]="BOT_TYPE_UNSPECIFIED",e[e.CODE_REVIEW_BOT=1]="CODE_REVIEW_BOT",e[e.CODE_REVIEW_EVAL_BOT=2]="CODE_REVIEW_EVAL_BOT",e[e.ATHENA_BOT=3]="ATHENA_BOT",e[e.SLACK_BOT=4]="SLACK_BOT",e[e.LINEAR_BOT=5]="LINEAR_BOT",e[e.SANDBOX=6]="SANDBOX"})(jZ||(jZ={}));var PZ;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.REGULAR=1]="REGULAR",e[e.SERVICE=2]="SERVICE"})(PZ||(PZ={}));var $Z=k("CidzZXJ2aWNlcy9hdXRoL2NlbnRyYWwvc2VydmVyL2F1dGgucHJvdG8SBGF1dGgipAIKGUNhbmNlbFN1YnNjcmlwdGlvblJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSGgoSY2FuY2VsX2ltbWVkaWF0ZWx5GAMgASgIEjoKCGZlZWRiYWNrGAQgASgLMiguYXV0aC5DYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0LkZlZWRiYWNrEg4KBnJlYXNvbhgFIAEoCRp7CghGZWVkYmFjaxI1ChNjYW5jZWxsYXRpb25fcmVhc29uGAEgASgOMhguYXV0aC5DYW5jZWxsYXRpb25SZWFzb24SIAoTYWRkaXRpb25hbF9mZWVkYmFjaxgCIAEoCUgAiAEBQhYKFF9hZGRpdGlvbmFsX2ZlZWRiYWNrKugHChJDYW5jZWxsYXRpb25SZWFzb24SIwofQ0FOQ0VMTEFUSU9OX1JFQVNPTl9VTlNQRUNJRklFRBAAEiUKIUNBTkNFTExBVElPTl9SRUFTT05fVE9PX0VYUEVOU0lWRRABEigKJENBTkNFTExBVElPTl9SRUFTT05fTk9UX1VTSU5HX0VOT1VHSBACEigKJENBTkNFTExBVElPTl9SRUFTT05fTUlTU0lOR19GRUFUVVJFUxADEigKJENBTkNFTExBVElPTl9SRUFTT05fVEVDSE5JQ0FMX0lTU1VFUxAEEi8KK0NBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NPTVBFVElUT1IQBRIwCixDQU5DRUxMQVRJT05fUkVBU09OX1NXSVRDSElOR19UT19DTEFVREVfQ09ERRAGEioKJkNBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NPREVYEAcSLworQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fR0VNSU5JX0NMSRAIEisKJ0NBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NVUlNPUhAJEi0KKUNBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX1dJTkRTVVJGEAoSLAooQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fQ09QSUxPVBALEioKJkNBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NMSU5FEAwSKgomQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fREVWSU4QDRIoCiRDQU5DRUxMQVRJT05fUkVBU09OX1NXSVRDSElOR19UT19ST08QDhIsCihDQU5DRUxMQVRJT05fUkVBU09OX1NXSVRDSElOR19UT19MT1ZBQkxFEA8SLAooQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fRkFDVE9SWRAQEi8KK0NBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX09USEVSX1RPT0wQERIoCiRDQU5DRUxMQVRJT05fUkVBU09OX05PX0xPTkdFUl9ORUVERUQQEhIdChlDQU5DRUxMQVRJT05fUkVBU09OX09USEVSEBMSMwovQ0FOQ0VMTEFUSU9OX1JFQVNPTl9SRVFVSVJFX0NPTVBMRVRJT05TX0ZFQVRVUkUQFBIxCi1DQU5DRUxMQVRJT05fUkVBU09OX1JFUVVJUkVfTkVYVF9FRElUX0ZFQVRVUkUQFUJDWkFnaXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYXV0aC9jZW50cmFsL3NlcnZlci9wcm90b2IGcHJvdG8z",[ee,$e]);var qZ;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TOO_EXPENSIVE=1]="TOO_EXPENSIVE",e[e.NOT_USING_ENOUGH=2]="NOT_USING_ENOUGH",e[e.MISSING_FEATURES=3]="MISSING_FEATURES",e[e.TECHNICAL_ISSUES=4]="TECHNICAL_ISSUES",e[e.SWITCHING_TO_COMPETITOR=5]="SWITCHING_TO_COMPETITOR",e[e.SWITCHING_TO_CLAUDE_CODE=6]="SWITCHING_TO_CLAUDE_CODE",e[e.SWITCHING_TO_CODEX=7]="SWITCHING_TO_CODEX",e[e.SWITCHING_TO_GEMINI_CLI=8]="SWITCHING_TO_GEMINI_CLI",e[e.SWITCHING_TO_CURSOR=9]="SWITCHING_TO_CURSOR",e[e.SWITCHING_TO_WINDSURF=10]="SWITCHING_TO_WINDSURF",e[e.SWITCHING_TO_COPILOT=11]="SWITCHING_TO_COPILOT",e[e.SWITCHING_TO_CLINE=12]="SWITCHING_TO_CLINE",e[e.SWITCHING_TO_DEVIN=13]="SWITCHING_TO_DEVIN",e[e.SWITCHING_TO_ROO=14]="SWITCHING_TO_ROO",e[e.SWITCHING_TO_LOVABLE=15]="SWITCHING_TO_LOVABLE",e[e.SWITCHING_TO_FACTORY=16]="SWITCHING_TO_FACTORY",e[e.SWITCHING_TO_OTHER_TOOL=17]="SWITCHING_TO_OTHER_TOOL",e[e.NO_LONGER_NEEDED=18]="NO_LONGER_NEEDED",e[e.OTHER=19]="OTHER",e[e.REQUIRE_COMPLETIONS_FEATURE=20]="REQUIRE_COMPLETIONS_FEATURE",e[e.REQUIRE_NEXT_EDIT_FEATURE=21]="REQUIRE_NEXT_EDIT_FEATURE"})(qZ||(qZ={}));var t2=k("Ci5zZXJ2aWNlcy9iaWxsaW5nL21ldGVyaW5nL21ldGVyaW5nX2V2ZW50LnByb3RvEg5tZXRlcmluZ19ldmVudCKRBAoOUmVxdWVzdENvbnRleHQSFgoOcmVxdWVzdF9zb3VyY2UYASABKAkSEgoKcmVxdWVzdF9pZBgCIAEoCRISCgpzZXNzaW9uX2lkGAMgASgJEhEKCXRlbmFudF9pZBgFIAEoCRImCgd1c2VyX2lkGAYgASgLMhUuYXV0aF9lbnRpdGllcy5Vc2VySWQSGwoTdXNlcl9lbWFpbF9vdmVycmlkZRgHIAEoCRIXCg9jb252ZXJzYXRpb25faWQYCCABKAkSHgoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBgJIAEoCRIcChRyb290X2NvbnZlcnNhdGlvbl9pZBgKIAEoCRIPCgd0dXJuX2lkGAsgASgJEioKCXVzZXJfdHlwZRgMIAEoDjIXLmF1dGhfZW50aXRpZXMuVXNlclR5cGUSKAoIYm90X3R5cGUYDSABKA4yFi5hdXRoX2VudGl0aWVzLkJvdFR5cGUSDwoHaXNfYnlvaxgOIAEoCBIRCglleHBlcnRfaWQYDyABKAkSGQoRZXVfaW5mZXJlbmNlX29ubHkYECABKAgSEwoLd29ya2Zsb3dfaWQYESABKAkSEwoLcmVzaWRlbnRfaWQYEiABKAkSFgoOZW52aXJvbm1lbnRfaWQYEyABKAkSEAoIYWdlbnRfaWQYFCABKAkSEAoIc3BhY2VfaWQYFSABKAlKBAgEEAUiiAEKFUFnZW50TWV0ZXJpbmdNZXRhZGF0YRIdChVhY3Rpdml0eV9kaXNwbGF5X25hbWUYASABKAkSGgoSbW9kZWxfZGlzcGxheV9uYW1lGAIgASgJEhwKFHJlcXVlc3RlZF9tb2RlbF9uYW1lGAMgASgJEhYKDnJvdXRpbmdfcmVhc29uGAQgASgJIloKHUNvbnRleHRFbmdpbmVNZXRlcmluZ01ldGFkYXRhEh0KFWFjdGl2aXR5X2Rpc3BsYXlfbmFtZRgBIAEoCRIaChJtb2RlbF9kaXNwbGF5X25hbWUYAiABKAkiYwoXQ29tcHV0ZU1ldGVyaW5nTWV0YWRhdGESHQoVYWN0aXZpdHlfZGlzcGxheV9uYW1lGAEgASgJEhoKEm1vZGVsX2Rpc3BsYXlfbmFtZRgCIAEoCRINCgV2bV9pZBgDIAEoCSKgBAoLQ29zdENvbnRleHQSGwoTYWN0aXZpdHlfbXVsdGlwbGllchgBIAEoARIUCgxpbnB1dF90b2tlbnMYAiABKAUSFQoNb3V0cHV0X3Rva2VucxgDIAEoBRIZChFjYWNoZV9yZWFkX3Rva2VucxgEIAEoBRIaChJjYWNoZV93cml0ZV90b2tlbnMYBSABKAUSEgoKbW9kZWxfbmFtZRgGIAEoCRIWCg50b3RhbF9jb3N0X3VzZBgHIAEoARIaChJieW9rX3Byb3ZpZGVyX25hbWUYCCABKAkSFgoOc3VyY2hhcmdlX3JhdGUYCSABKAESFQoNc3VyY2hhcmdlX3VzZBgKIAEoCRIVCg1iYXNlX2Nvc3RfdXNkGAsgASgJEhAKCHZtX2NvdW50GAwgASgFEhoKEnRvdGFsX2NwdV9jb3N0X3VzZBgNIAEoARIdChV0b3RhbF9tZW1vcnlfY29zdF91c2QYDiABKAESHgoWdG90YWxfYmlsbGFibGVfc2Vjb25kcxgPIAEoARIRCgljcHVfY29yZXMYECABKAISFwoPbWVtb3J5X3NpemVfbWliGBEgASgFEhcKD3Byb3ZpZGVyX3JlZ2lvbhgSIAEoCRIWCg5lbmRwb2ludF9zY29wZRgTIAEoCRIgChNyZWdpb25hbF9tdWx0aXBsaWVyGBQgASgBSACIAQFCFgoUX3JlZ2lvbmFsX211bHRpcGxpZXIizwUKDU1ldGVyaW5nRXZlbnQSFgoOaWRlbXBvdGVuY3lfaWQYASABKAkSOwoKdXNhZ2VfdHlwZRgCIAEoDjInLm1ldGVyaW5nX2V2ZW50Lk1ldGVyaW5nRXZlbnQuVXNhZ2VUeXBlEjcKD3JlcXVlc3RfY29udGV4dBgDIAEoCzIeLm1ldGVyaW5nX2V2ZW50LlJlcXVlc3RDb250ZXh0EkgKF2FnZW50X21ldGVyaW5nX21ldGFkYXRhGAQgASgLMiUubWV0ZXJpbmdfZXZlbnQuQWdlbnRNZXRlcmluZ01ldGFkYXRhSAASWQogY29udGV4dF9lbmdpbmVfbWV0ZXJpbmdfbWV0YWRhdGEYByABKAsyLS5tZXRlcmluZ19ldmVudC5Db250ZXh0RW5naW5lTWV0ZXJpbmdNZXRhZGF0YUgAEkwKGWNvbXB1dGVfbWV0ZXJpbmdfbWV0YWRhdGEYCyABKAsyJy5tZXRlcmluZ19ldmVudC5Db21wdXRlTWV0ZXJpbmdNZXRhZGF0YUgAEi0KCXRpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQY3JlZGl0c19jb25zdW1lZBgGIAEoARIxCgxjb3N0X2NvbnRleHQYCCABKAsyGy5tZXRlcmluZ19ldmVudC5Db3N0Q29udGV4dBIPCgdkcnlfcnVuGAkgASgIEhMKB2lzX2J5b2sYCiABKAhCAhgBEhkKEWJpbGxlZF9hbW91bnRfdXNkGA4gASgJEiMKG2VzdGltYXRlZF9jdXN0b21lcl9jb3N0X3VzZBgPIAEoCSJPCglVc2FnZVR5cGUSFgoSVVNBR0VfVFlQRV9VTktOT1dOEAASCQoFQUdFTlQQARISCg5DT05URVhUX0VOR0lORRACEgsKB0NPTVBVVEUQA0IKCghtZXRhZGF0YUJGWkRnaXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYmlsbGluZy9tZXRlcmluZ19ldmVudF9wcm90b2IGcHJvdG8z",[ee,$e]);var e2;(function(e){e[e.USAGE_TYPE_UNKNOWN=0]="USAGE_TYPE_UNKNOWN",e[e.AGENT=1]="AGENT",e[e.CONTEXT_ENGINE=2]="CONTEXT_ENGINE",e[e.COMPUTE=3]="COMPUTE"})(e2||(e2={}));var n2=k("CilzZXJ2aWNlcy9jb21wbGV0aW9uX2hvc3QvY29tcGxldGlvbi5wcm90bxIKY29tcGxldGlvbiJECg9HaXREaWZmRmlsZUluZm8SGQoRY29udGVudF9ibG9iX25hbWUYASABKAkSFgoOZmlsZV9ibG9iX25hbWUYAiABKAki6wEKC1JlY2VuY3lJbmZvEjUKEXRhYl9zd2l0Y2hfZXZlbnRzGAEgAygLMhouY29tcGxldGlvbi5UYWJTd2l0Y2hFdmVudBI3ChJnaXRfZGlmZl9maWxlX2luZm8YAiADKAsyGy5jb21wbGV0aW9uLkdpdERpZmZGaWxlSW5mbxIzCg5yZWNlbnRfY2hhbmdlcxgDIAMoCzIbLmNvbXBsZXRpb24uUmVwbGFjZW1lbnRUZXh0EjcKD3ZpZXdlZF9jb250ZW50cxgEIAMoCzIeLmNvbXBsZXRpb24uVmlld2VkQ29udGVudEV2ZW50IoUCCg9SZXBsYWNlbWVudFRleHQSEQoJYmxvYl9uYW1lGAEgASgJEgwKBHBhdGgYAiABKAkSEgoKY2hhcl9zdGFydBgDIAEoDRIQCghjaGFyX2VuZBgEIAEoDRIYChByZXBsYWNlbWVudF90ZXh0GAUgASgJEhcKD3ByZXNlbnRfaW5fYmxvYhgGIAEoCBIfChJleHBlY3RlZF9ibG9iX25hbWUYByABKAlIAIgBARIyCgl0aW1lc3RhbXAYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQFCFQoTX2V4cGVjdGVkX2Jsb2JfbmFtZUIMCgpfdGltZXN0YW1wIjYKDlRhYlN3aXRjaEV2ZW50EgwKBHBhdGgYASABKAkSFgoOZmlsZV9ibG9iX25hbWUYAiABKAkizgEKElZpZXdlZENvbnRlbnRFdmVudBIMCgRwYXRoGAEgASgJEhYKDmZpbGVfYmxvYl9uYW1lGAIgASgJEhcKD3Zpc2libGVfY29udGVudBgDIAEoCRISCgpsaW5lX3N0YXJ0GAQgASgNEhAKCGxpbmVfZW5kGAUgASgNEhIKCmNoYXJfc3RhcnQYBiABKA0SEAoIY2hhcl9lbmQYByABKA0SLQoJdGltZXN0YW1wGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcGIGcHJvdG8z",[Vt,Da,ee]);var r2=k("Ch1zZXJ2aWNlcy9lZGl0X2hvc3QvZWRpdC5wcm90bxIEZWRpdCJLCgxFZGl0UG9zaXRpb24SFAoMcHJlZml4X2JlZ2luGAEgASgFEhIKCnN1ZmZpeF9lbmQYAiABKAUSEQoJYmxvYl9uYW1lGAMgASgJIvEBCgtFZGl0UmVxdWVzdBISCgptb2RlbF9uYW1lGAEgASgJEgwKBHBhdGgYAiABKAkSDgoGcHJlZml4GAMgASgJEhUKDXNlbGVjdGVkX3RleHQYBCABKAkSDgoGc3VmZml4GAUgASgJEhMKC2luc3RydWN0aW9uGAYgASgJEiQKCHBvc2l0aW9uGAcgASgLMhIuZWRpdC5FZGl0UG9zaXRpb24SDAoEbGFuZxgJIAEoCRITCgtzZXF1ZW5jZV9pZBgKIAEoDRIlCgVibG9icxgLIAEoCzIWLmJhc2UuYmxvYl9uYW1lcy5CbG9ic0oECAgQCSJWCgxFZGl0UmVzcG9uc2USDAoEdGV4dBgBIAEoCRIaChJ1bmtub3duX2Jsb2JfbmFtZXMYAiADKAkSHAoUY2hlY2twb2ludF9ub3RfZm91bmQYAyABKAgieQoIRXhjaGFuZ2USFwoPcmVxdWVzdF9tZXNzYWdlGAEgASgJEhoKDXJlc3BvbnNlX3RleHQYAiABKAlIAIgBARIXCgpyZXF1ZXN0X2lkGAMgASgJSAGIAQFCEAoOX3Jlc3BvbnNlX3RleHRCDQoLX3JlcXVlc3RfaWQijwEKHEluc3RydWN0aW9uQWdncmVnYXRlUmVzcG9uc2USDAoEdGV4dBgBIAEoCRIaChJ1bmtub3duX2Jsb2JfbmFtZXMYAiADKAkSHAoUY2hlY2twb2ludF9ub3RfZm91bmQYAyABKAgSJwoMcmVwbGFjZV90ZXh0GAQgAygLMhEuZWRpdC5SZXBsYWNlVGV4dCLwBAoSSW5zdHJ1Y3Rpb25SZXF1ZXN0EhIKCm1vZGVsX25hbWUYASABKAkSDAoEcGF0aBgCIAEoCRIOCgZwcmVmaXgYAyABKAkSFQoNc2VsZWN0ZWRfdGV4dBgEIAEoCRIOCgZzdWZmaXgYBSABKAkSEwoLaW5zdHJ1Y3Rpb24YBiABKAkSJAoIcG9zaXRpb24YByABKAsyEi5lZGl0LkVkaXRQb3NpdGlvbhIMCgRsYW5nGAggASgJEhMKC3NlcXVlbmNlX2lkGAkgASgNEiUKBWJsb2JzGAogASgLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEiQKDGNoYXRfaGlzdG9yeRgLIAMoCzIOLmVkaXQuRXhjaGFuZ2USFwoKY29kZV9ibG9jaxgMIAEoCUgAiAEBEh0KEHRhcmdldF9maWxlX3BhdGgYDSABKAlIAYgBARIgChN0YXJnZXRfZmlsZV9jb250ZW50GA4gASgJSAKIAQESLQogY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWQYDyABKAlIA4gBARIcCg91c2VyX2d1aWRlbGluZXMYECABKAlIBIgBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgRIAEoCUgFiAEBQg0KC19jb2RlX2Jsb2NrQhMKEV90YXJnZXRfZmlsZV9wYXRoQhYKFF90YXJnZXRfZmlsZV9jb250ZW50QiMKIV9jb250ZXh0X2NvZGVfZXhjaGFuZ2VfcmVxdWVzdF9pZEISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lcyKuAQoLUmVwbGFjZVRleHQSEQoEdGV4dBgBIAEoCUgAiAEBEhcKCnN0YXJ0X2xpbmUYAiABKA1IAYgBARIVCghlbmRfbGluZRgDIAEoDUgCiAEBEhUKCG9sZF90ZXh0GAQgASgJSAOIAQESEwoLc2VxdWVuY2VfaWQYBSABKA1CBwoFX3RleHRCDQoLX3N0YXJ0X2xpbmVCCwoJX2VuZF9saW5lQgsKCV9vbGRfdGV4dGIGcHJvdG8z",[Vt]);var o2=k("Ci9zZXJ2aWNlcy9pbnRlZ3JhdGlvbnMvZ2l0aHViL2dpdGh1Yl9ldmVudC5wcm90bxIMZ2l0aHViX2V2ZW50InkKDUV2ZW50TWV0YWRhdGESFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgDEhEKCXRlbmFudF9pZBgCIAEoCRITCgt0ZW5hbnRfbmFtZRgEIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJEhMKC2RlbGl2ZXJ5X2lkGAUgASgJIkQKClJlcG9zaXRvcnkSEQoEbmFtZRgBIAEoCUIDgAEBEhIKBW93bmVyGAIgASgJQgOAAQESDwoHbm9kZV9pZBgDIAEoCSKAAgoJUHVzaEV2ZW50EiwKCnJlcG9zaXRvcnkYASABKAsyGC5naXRodWJfZXZlbnQuUmVwb3NpdG9yeRIQCgNyZWYYAiABKAlCA4ABARIXCgpiZWZvcmVfc2hhGAMgASgJQgOAAQESFgoJYWZ0ZXJfc2hhGAQgASgJQgOAAQESNwoTcHVzaGVkX2F0X3RpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZm9yY2VkGAYgASgIEjkKFWhlYWRfY29tbWl0X3RpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiQwoIVXNlckluZm8SEgoFbG9naW4YASABKAlCA4ABARISCgVlbWFpbBgCIAEoCUIDgAEBEg8KB25vZGVfaWQYAyABKAkiwgEKEUluc3RhbGxhdGlvbkV2ZW50EicKBXJlcG9zGAEgAygLMhguZ2l0aHViX2V2ZW50LlJlcG9zaXRvcnkSDgoGYWN0aW9uGAIgASgJEisKBnNlbmRlchgDIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mb0gAiAEBEi4KCXJlcXVlc3RlchgEIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mb0gBiAEBQgkKB19zZW5kZXJCDAoKX3JlcXVlc3RlciKtBQoQUHVsbFJlcXVlc3RFdmVudBIsCgpyZXBvc2l0b3J5GAEgASgLMhguZ2l0aHViX2V2ZW50LlJlcG9zaXRvcnkSDgoGYWN0aW9uGAIgASgJEg4KBm51bWJlchgDIAEoDRISCgV0aXRsZRgEIAEoCUIDgAEBEhEKBGJvZHkYBSABKAlCA4ABARINCgVzdGF0ZRgGIAEoCRImCgZhdXRob3IYByABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SLQoIYXNzaWduZWUYCCABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm9IAIgBARITCgZsYWJlbHMYCSADKAlCA4ABARIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCghoZWFkX3JlZhgMIAEoCUIDgAEBEhUKCGhlYWRfc2hhGA0gASgJQgOAAQESFQoIYmFzZV9yZWYYDiABKAlCA4ABARIVCghiYXNlX3NoYRgPIAEoCUIDgAEBEjMKE3JlcXVlc3RlZF9yZXZpZXdlcnMYECADKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SDQoFZHJhZnQYESABKAgSDgoGbWVyZ2VkGBIgASgIEjIKCW1lcmdlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIWCglhZGRpdGlvbnMYFCABKANIAogBARIWCglkZWxldGlvbnMYFSABKANIA4gBAUILCglfYXNzaWduZWVCDAoKX21lcmdlZF9hdEIMCgpfYWRkaXRpb25zQgwKCl9kZWxldGlvbnMi4gEKB0NvbW1lbnQSEQoEYm9keRgBIAEoCUIDgAEBEgoKAmlkGAIgASgDEiQKBHVzZXIYAyABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEQoEcGF0aBgGIAEoCUIDgAEBEgwKBGxpbmUYByABKAUSEQoJY29tbWl0X2lkGAggASgJIocCCh1QdWxsUmVxdWVzdFJldmlld0NvbW1lbnRFdmVudBIsCgpyZXBvc2l0b3J5GAEgASgLMhguZ2l0aHViX2V2ZW50LlJlcG9zaXRvcnkSDgoGYWN0aW9uGAIgASgJEg4KBm51bWJlchgDIAEoDRImCgdjb21tZW50GAQgASgLMhUuZ2l0aHViX2V2ZW50LkNvbW1lbnQSHwoScHVsbF9yZXF1ZXN0X3RpdGxlGAUgASgJQgOAAQESGgoScHVsbF9yZXF1ZXN0X3N0YXRlGAYgASgJEjMKE3B1bGxfcmVxdWVzdF9hdXRob3IYByABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8i7gEKCkNoZWNrU3VpdGUSCgoCaWQYASABKAMSFQoIaGVhZF9zaGEYAiABKAlCA4ABARIOCgZzdGF0dXMYAyABKAkSEgoKY29uY2x1c2lvbhgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI5Cg1wdWxsX3JlcXVlc3RzGAcgAygLMiIuZ2l0aHViX2V2ZW50LlB1bGxSZXF1ZXN0UmVmZXJlbmNlInEKFFB1bGxSZXF1ZXN0UmVmZXJlbmNlEg4KBm51bWJlchgBIAEoDRISCgV0aXRsZRgCIAEoCUIDgAEBEg0KBXN0YXRlGAMgASgJEiYKBmF1dGhvchgEIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mbyJ+Cg9DaGVja1N1aXRlRXZlbnQSLAoKcmVwb3NpdG9yeRgBIAEoCzIYLmdpdGh1Yl9ldmVudC5SZXBvc2l0b3J5Eg4KBmFjdGlvbhgCIAEoCRItCgtjaGVja19zdWl0ZRgDIAEoCzIYLmdpdGh1Yl9ldmVudC5DaGVja1N1aXRlIrMBCgxJc3N1ZUNvbW1lbnQSEQoEYm9keRgBIAEoCUIDgAEBEgoKAmlkGAIgASgDEiQKBHVzZXIYAyABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAihAIKEUlzc3VlQ29tbWVudEV2ZW50EiwKCnJlcG9zaXRvcnkYASABKAsyGC5naXRodWJfZXZlbnQuUmVwb3NpdG9yeRIOCgZhY3Rpb24YAiABKAkSDgoGbnVtYmVyGAMgASgNEisKB2NvbW1lbnQYBCABKAsyGi5naXRodWJfZXZlbnQuSXNzdWVDb21tZW50EhgKC2lzc3VlX3RpdGxlGAUgASgJQgOAAQESEwoLaXNzdWVfc3RhdGUYBiABKAkSFwoPaXNfcHVsbF9yZXF1ZXN0GAcgASgIEiwKDGlzc3VlX2F1dGhvchgIIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mbyLQAQoMQ29tbWl0U3RhdHVzEg0KBXN0YXRlGAEgASgJEhcKCnRhcmdldF91cmwYAiABKAlCA4ABARIYCgtkZXNjcmlwdGlvbhgDIAEoCUIDgAEBEhQKB2NvbnRleHQYBCABKAlCA4ABARIzCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIDgAEBEjMKCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgOAAQEiwwEKC1N0YXR1c0V2ZW50EjEKCnJlcG9zaXRvcnkYASABKAsyGC5naXRodWJfZXZlbnQuUmVwb3NpdG9yeUIDgAEBEgsKA3NoYRgCIAEoCRINCgVzdGF0ZRgDIAEoCRIqCgZzdGF0dXMYBCABKAsyGi5naXRodWJfZXZlbnQuQ29tbWl0U3RhdHVzEjkKDXB1bGxfcmVxdWVzdHMYBSADKAsyIi5naXRodWJfZXZlbnQuUHVsbFJlcXVlc3RSZWZlcmVuY2Ui+wMKC0dpdGh1YkV2ZW50Ei0KCG1ldGFkYXRhGAEgASgLMhsuZ2l0aHViX2V2ZW50LkV2ZW50TWV0YWRhdGESEgoKZXZlbnRfdHlwZRgCIAEoCRInCgRwdXNoGAMgASgLMhcuZ2l0aHViX2V2ZW50LlB1c2hFdmVudEgAEjcKDGluc3RhbGxhdGlvbhgEIAEoCzIfLmdpdGh1Yl9ldmVudC5JbnN0YWxsYXRpb25FdmVudEgAEjYKDHB1bGxfcmVxdWVzdBgFIAEoCzIeLmdpdGh1Yl9ldmVudC5QdWxsUmVxdWVzdEV2ZW50SAASUgobcHVsbF9yZXF1ZXN0X3Jldmlld19jb21tZW50GAYgASgLMisuZ2l0aHViX2V2ZW50LlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudEV2ZW50SAASNAoLY2hlY2tfc3VpdGUYByABKAsyHS5naXRodWJfZXZlbnQuQ2hlY2tTdWl0ZUV2ZW50SAASOAoNaXNzdWVfY29tbWVudBgIIAEoCzIfLmdpdGh1Yl9ldmVudC5Jc3N1ZUNvbW1lbnRFdmVudEgAEisKBnN0YXR1cxgJIAEoCzIZLmdpdGh1Yl9ldmVudC5TdGF0dXNFdmVudEgAEhUKCHJhd19qc29uGAogASgJQgOAAQFCBwoFZXZlbnRiBnByb3RvMw",[ee]);var La=k("CidzZXJ2aWNlcy9pbnRlZ3JhdGlvbnMvZ2xlYW4vZ2xlYW4ucHJvdG8SBWdsZWFuIq8FCghEb2N1bWVudBITCgtkb2N1bWVudF9pZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIPCgdjb250ZW50GAMgASgJEioKDWRvY3VtZW50X3R5cGUYBCABKA4yEy5nbGVhbi5Eb2N1bWVudFR5cGUSJgoLZGF0YV9zb3VyY2UYBSABKA4yES5nbGVhbi5EYXRhU291cmNlEgsKA3VybBgGIAEoCRIhCghjaGlsZHJlbhgHIAMoCzIPLmdsZWFuLkRvY3VtZW50Eh0KBmF1dGhvchgIIAEoCzINLmdsZWFuLlBlcnNvbhIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp2aXNpYmlsaXR5GAsgASgOMhouZ2xlYW4uRG9jdW1lbnQuVmlzaWJpbGl0eRIpCghzbmlwcGV0cxgMIAMoCzIXLmdsZWFuLkRvY3VtZW50LlNuaXBwZXQSGAoQZGF0YV9zb3VyY2VfbmFtZRgNIAEoCRpUCgdTbmlwcGV0EgwKBHRleHQYASABKAkSEwoLc3RhcnRfcmFuZ2UYAiABKAUSEQoJZW5kX3JhbmdlGAMgASgFEhMKC2RvY3VtZW50X2lkGAQgASgJIp8BCgpWaXNpYmlsaXR5EhoKFlVOU1BFQ0lGSUVEX1ZJU0lCSUxJVFkQABIPCgtQVUJMSUNfTElOSxABEhIKDlBVQkxJQ19WSVNJQkxFEAISEgoORE9NQUlOX1ZJU0lCTEUQAxIPCgtET01BSU5fTElOSxAEEgsKB1BSSVZBVEUQBRIeChpTUEVDSUZJQ19QRU9QTEVfQU5EX0dST1VQUxAGIiIKBlBlcnNvbhIMCgRuYW1lGAEgASgJEgoKAmlkGAIgASgJImEKDVNlYXJjaFJlcXVlc3QSDQoFcXVlcnkYASABKAkSHAoUaW5jbHVkZV9wcml2YXRlX2RvY3MYAiABKAgSDwoHdXNlcl9pZBgDIAEoCRISCgp1c2VyX2VtYWlsGAQgASgJIlwKDlNlYXJjaFJlc3BvbnNlEiIKCWRvY3VtZW50cxgBIAMoCzIPLmdsZWFuLkRvY3VtZW50EhEKCW9hdXRoX3VybBgCIAEoCRITCgtzdGF0dXNfY29kZRgDIAEoBSpYCgpEYXRhU291cmNlEhsKF1VOU1BFQ0lGSUVEX0RBVEFfU09VUkNFEAASCQoFU0xBQ0sQARIKCgZOT1RJT04QAhIKCgZMSU5FQVIQAxIKCgZHSVRIVUIQBCpuCgxEb2N1bWVudFR5cGUSHQoZVU5TUEVDSUZJRURfRE9DVU1FTlRfVFlQRRAAEggKBFBBR0UQARILCgdNRVNTQUdFEAISCwoHQ0hBTk5FTBADEhAKDENPTlZFUlNBVElPThAEEgkKBUlTU1VFEAVCQlpAZ2l0aHViLmNvbS9hdWdtZW50Y29kZS9hdWdtZW50L3NlcnZpY2VzL2ludGVncmF0aW9ucy9nbGVhbi9wcm90b2IGcHJvdG8z",[ee]);var i2;(function(e){e[e.UNSPECIFIED_VISIBILITY=0]="UNSPECIFIED_VISIBILITY",e[e.PUBLIC_LINK=1]="PUBLIC_LINK",e[e.PUBLIC_VISIBLE=2]="PUBLIC_VISIBLE",e[e.DOMAIN_VISIBLE=3]="DOMAIN_VISIBLE",e[e.DOMAIN_LINK=4]="DOMAIN_LINK",e[e.PRIVATE=5]="PRIVATE",e[e.SPECIFIC_PEOPLE_AND_GROUPS=6]="SPECIFIC_PEOPLE_AND_GROUPS"})(i2||(i2={}));var s2;(function(e){e[e.UNSPECIFIED_DATA_SOURCE=0]="UNSPECIFIED_DATA_SOURCE",e[e.SLACK=1]="SLACK",e[e.NOTION=2]="NOTION",e[e.LINEAR=3]="LINEAR",e[e.GITHUB=4]="GITHUB"})(s2||(s2={}));var l2;(function(e){e[e.UNSPECIFIED_DOCUMENT_TYPE=0]="UNSPECIFIED_DOCUMENT_TYPE",e[e.PAGE=1]="PAGE",e[e.MESSAGE=2]="MESSAGE",e[e.CHANNEL=3]="CHANNEL",e[e.CONVERSATION=4]="CONVERSATION",e[e.ISSUE=5]="ISSUE"})(l2||(l2={}));var a2=k("CjFzZXJ2aWNlcy9pbnRlZ3JhdGlvbnMvc2xhY2tfYm90L3NsYWNrX2V2ZW50LnByb3RvEghzbGFja2JvdCKzAQoNRXZlbnRNZXRhZGF0YRIPCgd0ZWFtX2lkGAEgASgJEhUKDWVudGVycHJpc2VfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhIKCnJlcXVlc3RfaWQYBCABKAkSEwoLdGVuYW50X25hbWUYBSABKAkSFwoPc2hhcmRfbmFtZXNwYWNlGAYgASgJEhMKC3JpX2V2ZW50X2lkGAcgASgJEhAKCGV2ZW50X2lkGAggASgJIrEBCg9BcHBNZW50aW9uRXZlbnQSEQoEdGV4dBgDIAEoCUIDgAEBEgwKBHVzZXIYBCABKAkSEQoJdGltZXN0YW1wGAUgASgJEhgKEHRocmVhZF90aW1lc3RhbXAYBiABKAkSDwoHY2hhbm5lbBgHIAEoCRIXCg9ldmVudF90aW1lc3RhbXAYCCABKAkSEQoJdXNlcl90ZWFtGAkgASgJEhMKC3NvdXJjZV90ZWFtGAogASgJIvcBCgxNZXNzYWdlRXZlbnQSFQoNY2xpZW50X21zZ19pZBgBIAEoCRIMCgR1c2VyGAIgASgJEgwKBHRleHQYAyABKAkSGAoQdGhyZWFkX3RpbWVzdGFtcBgEIAEoCRIRCgl0aW1lc3RhbXAYBSABKAkSDwoHY2hhbm5lbBgGIAEoCRIUCgxjaGFubmVsX3R5cGUYByABKAkSFwoPZXZlbnRfdGltZXN0YW1wGAggASgJEhEKCXVzZXJfdGVhbRgJIAEoCRITCgtzb3VyY2VfdGVhbRgKIAEoCRIPCgdzdWJ0eXBlGAsgASgJEg4KBmJvdF9pZBgMIAEoCSKhAQoSUmVhY3Rpb25BZGRlZEV2ZW50EgwKBHVzZXIYASABKAkSEQoJaXRlbV91c2VyGAIgASgJEhcKD2V2ZW50X3RpbWVzdGFtcBgDIAEoCRIRCglpdGVtX3R5cGUYBCABKAkSFAoMaXRlbV9jaGFubmVsGAUgASgJEhAKCHJlYWN0aW9uGAYgASgJEhYKDml0ZW1fdGltZXN0YW1wGAcgASgJImMKGE1lbWJlckpvaW5lZENoYW5uZWxFdmVudBIMCgR1c2VyGAEgASgJEg8KB2NoYW5uZWwYAiABKAkSFwoPZXZlbnRfdGltZXN0YW1wGAMgASgJEg8KB2ludml0ZXIYBCABKAkiPgoTQXBwVW5pbnN0YWxsZWRFdmVudBIXCg9ldmVudF90aW1lc3RhbXAYASABKAMSDgoGYXBwX2lkGAIgASgJIkwKEkFwcEhvbWVPcGVuZWRFdmVudBIMCgR1c2VyGAEgASgJEg8KB2NoYW5uZWwYAiABKAkSFwoPZXZlbnRfdGltZXN0YW1wGAMgASgJImQKEkNoYW5uZWxDcmVhdGVkSW5mbxIKCgJpZBgBIAEoCRISCgppc19jaGFubmVsGAIgASgIEgwKBG5hbWUYAyABKAkSDwoHY3JlYXRlZBgEIAEoAxIPCgdjcmVhdG9yGAUgASgJIl0KE0NoYW5uZWxDcmVhdGVkRXZlbnQSLQoHY2hhbm5lbBgBIAEoCzIcLnNsYWNrYm90LkNoYW5uZWxDcmVhdGVkSW5mbxIXCg9ldmVudF90aW1lc3RhbXAYAiABKAki7QMKClNsYWNrRXZlbnQSKQoIbWV0YWRhdGEYASABKAsyFy5zbGFja2JvdC5FdmVudE1ldGFkYXRhEhIKCmV2ZW50X3R5cGUYAiABKAkSMAoLYXBwX21lbnRpb24YAyABKAsyGS5zbGFja2JvdC5BcHBNZW50aW9uRXZlbnRIABIpCgdtZXNzYWdlGAQgASgLMhYuc2xhY2tib3QuTWVzc2FnZUV2ZW50SAASNgoOcmVhY3Rpb25fYWRkZWQYBSABKAsyHC5zbGFja2JvdC5SZWFjdGlvbkFkZGVkRXZlbnRIABJDChVtZW1iZXJfam9pbmVkX2NoYW5uZWwYBiABKAsyIi5zbGFja2JvdC5NZW1iZXJKb2luZWRDaGFubmVsRXZlbnRIABI4Cg9hcHBfdW5pbnN0YWxsZWQYByABKAsyHS5zbGFja2JvdC5BcHBVbmluc3RhbGxlZEV2ZW50SAASNwoPYXBwX2hvbWVfb3BlbmVkGAggASgLMhwuc2xhY2tib3QuQXBwSG9tZU9wZW5lZEV2ZW50SAASOAoPY2hhbm5lbF9jcmVhdGVkGAogASgLMh0uc2xhY2tib3QuQ2hhbm5lbENyZWF0ZWRFdmVudEgAEhAKCHJhd19qc29uGAkgASgJQgcKBWV2ZW50YgZwcm90bzM");var c2=k("CiBzZXJ2aWNlcy9zZXR0aW5ncy9zZXR0aW5ncy5wcm90bxIIc2V0dGluZ3Mi9AUKE01jcE9BdXRoQ3JlZGVudGlhbHMSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhoKDXJlZnJlc2hfdG9rZW4YAiABKAlIAIgBARJAChdhY2Nlc3NfdG9rZW5fZXhwaXJlc19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIXCgp0b2tlbl90eXBlGAQgASgJSAKIAQESEgoFc2NvcGUYBSABKAlIA4gBARIeChZhdXRob3JpemF0aW9uX2VuZHBvaW50GAYgASgJEhYKDnRva2VuX2VuZHBvaW50GAcgASgJEhMKBmlzc3VlchgIIAEoCUgEiAEBEhEKCWNsaWVudF9pZBgJIAEoCRIaCg1jbGllbnRfc2VjcmV0GAogASgJSAWIAQESHgoRaGFzX3JlZnJlc2hfdG9rZW4YCyABKAhIBogBARIdChBvYXV0aF9zZWNyZXRfa2V5GAwgASgJSAeIAQESKQocb2F1dGhfc2VjcmV0X293bmVyX2NvbmZpZ19pZBgNIAEoCUgIiAEBEicKGnRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kGA4gASgJSAmIAQESLAokb2F1dGhfc2VjcmV0X293bmVyX2NvbmZpZ19pZF9hbGlhc2VzGA8gAygJEhwKD29hdXRoX3NlY3JldF9pZBgQIAEoCUgKiAEBQhAKDl9yZWZyZXNoX3Rva2VuQhoKGF9hY2Nlc3NfdG9rZW5fZXhwaXJlc19hdEINCgtfdG9rZW5fdHlwZUIICgZfc2NvcGVCCQoHX2lzc3VlckIQCg5fY2xpZW50X3NlY3JldEIUChJfaGFzX3JlZnJlc2hfdG9rZW5CEwoRX29hdXRoX3NlY3JldF9rZXlCHwodX29hdXRoX3NlY3JldF9vd25lcl9jb25maWdfaWRCHQobX3Rva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kQhIKEF9vYXV0aF9zZWNyZXRfaWRiBnByb3RvMw",[nn,ee,$e,La]);var m2=k("CipzZXJ2aWNlcy9yZW1vdGVfYWdlbnRzL3JlbW90ZV9hZ2VudHMucHJvdG8SDXJlbW90ZV9hZ2VudHMiQAoQQWRkU1NIS2V5UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSEwoLcHVibGljX2tleXMYAiADKAkiRgoRQWRkU1NIS2V5UmVzcG9uc2USMQoKc3NoX2NvbmZpZxgBIAEoCzIdLnJlbW90ZV9hZ2VudHMuQWdlbnRTU0hDb25maWcixwMKBUFnZW50EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIqCgZzdGF0dXMYAiABKA4yGi5yZW1vdGVfYWdlbnRzLkFnZW50U3RhdHVzEioKBmNvbmZpZxgDIAEoCzIaLnJlbW90ZV9hZ2VudHMuQWdlbnRDb25maWcSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoKc3NoX2NvbmZpZxgGIAEoCzIdLnJlbW90ZV9hZ2VudHMuQWdlbnRTU0hDb25maWdIAIgBARIYCgtoYXNfdXBkYXRlcxgHIAEoCEgBiAEBEjgKEHdvcmtzcGFjZV9zdGF0dXMYCCABKA4yHi5yZW1vdGVfYWdlbnRzLldvcmtzcGFjZVN0YXR1cxIzCgpleHBpcmVzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBQg0KC19zc2hfY29uZmlnQg4KDF9oYXNfdXBkYXRlc0INCgtfZXhwaXJlc19hdCL2BgoLQWdlbnRDb25maWcSNgoPd29ya3NwYWNlX3NldHVwGAEgASgLMh0ucmVtb3RlX2FnZW50cy5Xb3Jrc3BhY2VTZXR1cBItCg5zdGFydGluZ19ub2RlcxgCIAMoCzIVLmNoYXQuQ2hhdFJlcXVlc3ROb2RlEhwKD3VzZXJfZ3VpZGVsaW5lcxgDIAEoCUgAiAEBEiEKFHdvcmtzcGFjZV9ndWlkZWxpbmVzGAQgASgJSAGIAQESEgoFbW9kZWwYBiABKAlIAogBARIiChVpc19zZXR1cF9zY3JpcHRfYWdlbnQYByABKAhIA4gBARIzCgttY3Bfc2VydmVycxgIIAMoCzIeLnJlbW90ZV9hZ2VudHMuTWNwU2VydmVyQ29uZmlnEhIKBXRpdGxlGAkgASgJSASIAQESOQoOcmVxdWVzdF9zb3VyY2UYCiABKA4yHC5yZW1vdGVfYWdlbnRzLlJlcXVlc3RTb3VyY2VIBYgBARIWCg5kaXNhYmxlZF90b29scxgMIAMoCRJSChVtY3Bfb2F1dGhfY3JlZGVudGlhbHMYDSADKAsyMy5yZW1vdGVfYWdlbnRzLkFnZW50Q29uZmlnLk1jcE9hdXRoQ3JlZGVudGlhbHNFbnRyeRItCghib3RfdHlwZRgOIAEoDjIWLmF1dGhfZW50aXRpZXMuQm90VHlwZUgGiAEBEhsKDmNvcnJlbGF0aW9uX2lkGA8gASgJSAeIAQESLwoic2tpcF9mZWF0dXJlX2dhdGluZ19mb3JfZnJlZV90cmlhbBgQIAEoCEgIiAEBGlkKGE1jcE9hdXRoQ3JlZGVudGlhbHNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5zZXR0aW5ncy5NY3BPQXV0aENyZWRlbnRpYWxzOgI4AUISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lc0IICgZfbW9kZWxCGAoWX2lzX3NldHVwX3NjcmlwdF9hZ2VudEIICgZfdGl0bGVCEQoPX3JlcXVlc3Rfc291cmNlQgsKCV9ib3RfdHlwZUIRCg9fY29ycmVsYXRpb25faWRCJQojX3NraXBfZmVhdHVyZV9nYXRpbmdfZm9yX2ZyZWVfdHJpYWxKBAgFEAZKBAgLEAwicwoOQWdlbnRTU0hDb25maWcSEwoLcHVibGljX2tleXMYASADKAkSEAoIaG9zdG5hbWUYAiABKAkSOgoSc3NoX2NvbmZpZ19vcHRpb25zGAMgAygLMh4ucmVtb3RlX2FnZW50cy5TU0hDb25maWdPcHRpb24iYgoLQ2hhdFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEjoKD3JlcXVlc3RfZGV0YWlscxgCIAEoCzIhLnJlbW90ZV9hZ2VudHMuQ2hhdFJlcXVlc3REZXRhaWxzIo8CChJDaGF0UmVxdWVzdERldGFpbHMSLAoNcmVxdWVzdF9ub2RlcxgBIAMoCzIVLmNoYXQuQ2hhdFJlcXVlc3ROb2RlEhwKD3VzZXJfZ3VpZGVsaW5lcxgCIAEoCUgAiAEBEiEKFHdvcmtzcGFjZV9ndWlkZWxpbmVzGAMgASgJSAGIAQESFQoIbW9kZWxfaWQYBSABKAlIAogBARIzCgttY3Bfc2VydmVycxgGIAMoCzIeLnJlbW90ZV9hZ2VudHMuTWNwU2VydmVyQ29uZmlnQhIKEF91c2VyX2d1aWRlbGluZXNCFwoVX3dvcmtzcGFjZV9ndWlkZWxpbmVzQgsKCV9tb2RlbF9pZEoECAQQBSIOCgxDaGF0UmVzcG9uc2UiaAoSQ3JlYXRlQWdlbnRSZXF1ZXN0EioKBmNvbmZpZxgBIAEoCzIaLnJlbW90ZV9hZ2VudHMuQWdlbnRDb25maWcSFwoKaW1hZ2VfbmFtZRgCIAEoCUgAiAEBQg0KC19pbWFnZV9uYW1lIjoKE0NyZWF0ZUFnZW50UmVzcG9uc2USIwoFYWdlbnQYASABKAsyFC5yZW1vdGVfYWdlbnRzLkFnZW50Ii0KEkRlbGV0ZUFnZW50UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiFQoTRGVsZXRlQWdlbnRSZXNwb25zZSJ4ChZEaWZmRXhwbGFuYXRpb25TZWN0aW9uEg0KBXRpdGxlGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEjoKCHNlY3Rpb25zGAMgAygLMigucmVtb3RlX2FnZW50cy5EaWZmRXhwbGFuYXRpb25TdWJTZWN0aW9uIqEBChlEaWZmRXhwbGFuYXRpb25TdWJTZWN0aW9uEg0KBXRpdGxlGAEgASgJEkkKDGRlc2NyaXB0aW9ucxgCIAMoCzIzLnJlbW90ZV9hZ2VudHMuRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbkRlc2NyaXB0aW9uEioKCWRpZmZfdHlwZRgDIAEoDjIXLnJlbW90ZV9hZ2VudHMuRGlmZlR5cGUifgokRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbkRlc2NyaXB0aW9uEgwKBHBhdGgYASABKAkSDAoEdGV4dBgCIAEoCRIjCgVyYW5nZRgDIAEoCzIULnJlbW90ZV9hZ2VudHMuUmFuZ2USFQoNc2VsZWN0ZWRfY29kZRgEIAEoCSJlChZHZW5lcmF0ZVN1bW1hcnlSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIZChFzdGFydF9zZXF1ZW5jZV9pZBgCIAEoDRIXCg9lbmRfc2VxdWVuY2VfaWQYAyABKA0iWwoXR2VuZXJhdGVTdW1tYXJ5UmVzcG9uc2USQAoRZGlmZl9kZXNjcmlwdGlvbnMYASADKAsyJS5yZW1vdGVfYWdlbnRzLkRpZmZFeHBsYW5hdGlvblNlY3Rpb24iJQoJR2l0aHViUmVmEgsKA3VybBgBIAEoCRILCgNyZWYYAiABKAkiMAoVSW50ZXJydXB0QWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIYChZJbnRlcnJ1cHRBZ2VudFJlc3BvbnNlIoMDCg9NY3BTZXJ2ZXJDb25maWcSFAoHY29tbWFuZBgBIAEoCUgAiAEBEgwKBGFyZ3MYAiADKAkSFwoKdGltZW91dF9tcxgDIAEoBUgBiAEBEjQKA2VudhgEIAMoCzInLnJlbW90ZV9hZ2VudHMuTWNwU2VydmVyQ29uZmlnLkVudkVudHJ5EiQKF3VzZV9zaGVsbF9pbnRlcnBvbGF0aW9uGAUgASgISAKIAQESEQoEbmFtZRgGIAEoCUgDiAEBEhUKCGRpc2FibGVkGAcgASgISASIAQESEQoEdHlwZRgIIAEoCUgFiAEBEhAKA3VybBgJIAEoCUgGiAEBGioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCgoIX2NvbW1hbmRCDQoLX3RpbWVvdXRfbXNCGgoYX3VzZV9zaGVsbF9pbnRlcnBvbGF0aW9uQgcKBV9uYW1lQgsKCV9kaXNhYmxlZEIHCgVfdHlwZUIGCgRfdXJsIiwKEVBhdXNlQWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIUChJQYXVzZUFnZW50UmVzcG9uc2UiIwoFUmFuZ2USDQoFc3RhcnQYASABKAUSCwoDZW5kGAIgASgFIi0KElJlc3VtZUFnZW50UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiFQoTUmVzdW1lQWdlbnRSZXNwb25zZSJsChZSZXN1bWVIaW50QWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRI5CgtoaW50X3JlYXNvbhgCIAEoDjIkLnJlbW90ZV9hZ2VudHMuUmVzdW1lSGludEFnZW50UmVhc29uIjEKF1Jlc3VtZUhpbnRBZ2VudFJlc3BvbnNlEhYKDnJlc3VtZV9zdGFydGVkGAEgASgIIi0KD1NTSENvbmZpZ09wdGlvbhILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiUwoSVXBkYXRlQWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIWCgluZXdfdGl0bGUYAiABKAlIAIgBAUIMCgpfbmV3X3RpdGxlIjoKE1VwZGF0ZUFnZW50UmVzcG9uc2USIwoFYWdlbnQYASABKAsyFC5yZW1vdGVfYWdlbnRzLkFnZW50ItACCg5Xb3Jrc3BhY2VTZXR1cBIuCgpnaXRodWJfcmVmGAEgASgLMhgucmVtb3RlX2FnZW50cy5HaXRodWJSZWZIABISCgVwYXRjaBgCIAEoCUgBiAEBEhkKDHNldHVwX3NjcmlwdBgDIAEoCUgCiAEBEhIKBXRva2VuGAQgASgJSAOIAQESFAoHYXBpX3VybBgFIAEoCUgEiAEBEkAKCmdpdF9jb25maWcYBiADKAsyLC5yZW1vdGVfYWdlbnRzLldvcmtzcGFjZVNldHVwLkdpdENvbmZpZ0VudHJ5GjAKDkdpdENvbmZpZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCEAoOc3RhcnRpbmdfZmlsZXNCCAoGX3BhdGNoQg8KDV9zZXR1cF9zY3JpcHRCCAoGX3Rva2VuQgoKCF9hcGlfdXJsKoACCgtBZ2VudFN0YXR1cxIcChhBR0VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIYChRBR0VOVF9TVEFUVVNfUEVORElORxAFEhkKFUFHRU5UX1NUQVRVU19TVEFSVElORxABEhgKFEFHRU5UX1NUQVRVU19SVU5OSU5HEAISFQoRQUdFTlRfU1RBVFVTX0lETEUQAxIXChNBR0VOVF9TVEFUVVNfRkFJTEVEEAQSGAoUQUdFTlRfU1RBVFVTX1BBVVNJTkcQBhIXChNBR0VOVF9TVEFUVVNfUEFVU0VEEAcSIQodQUdFTlRfU1RBVFVTX1BFTkRJTkdfREVMRVRJT04QCCqJAQoIRGlmZlR5cGUSDwoLVU5TUEVDSUZJRUQQABIHCgNGSVgQARILCgdGRUFUVVJFEAISDAoIUkVGQUNUT1IQAxIRCg1ET0NVTUVOVEFUSU9OEAQSCQoFU1RZTEUQBRIICgRURVNUEAYSCQoFQ0hPUkUQBxIKCgZSRVZFUlQQCBIJCgVPVEhFUhAJKt8BCg1SZXF1ZXN0U291cmNlEh4KGlJFUVVFU1RfU09VUkNFX1VOU1BFQ0lGSUVEEAASFgoSUkVRVUVTVF9TT1VSQ0VfSURFEAESIgoeUkVRVUVTVF9TT1VSQ0VfQVVHTUVOVF9BQ1RJT05TEAISHAoYUkVRVUVTVF9TT1VSQ0VfU0xBQ0tfQk9UEAMSHQoZUkVRVUVTVF9TT1VSQ0VfR0lUSFVCX0JPVBAEEh0KGVJFUVVFU1RfU09VUkNFX0xJTkVBUl9CT1QQBRIWChJSRVFVRVNUX1NPVVJDRV9DTEkQBiqaAQoVUmVzdW1lSGludEFnZW50UmVhc29uEigKJFJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9VTlNQRUNJRklFRBAAEisKJ1JFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9UWVBJTkdfTUVTU0FHRRABEioKJlJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9WSUVXSU5HX0FHRU5UEAIqygEKD1dvcmtzcGFjZVN0YXR1cxIgChxXT1JLU1BBQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHAoYV09SS1NQQUNFX1NUQVRVU19SVU5OSU5HEAESHAoYV09SS1NQQUNFX1NUQVRVU19QQVVTSU5HEAISGwoXV09SS1NQQUNFX1NUQVRVU19QQVVTRUQQAxIdChlXT1JLU1BBQ0VfU1RBVFVTX1JFU1VNSU5HEAQSHQoZV09SS1NQQUNFX1NUQVRVU19ERUxFVElORxAFYgZwcm90bzM",[ee,$e,yn,c2]);var d2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PENDING=5]="PENDING",e[e.STARTING=1]="STARTING",e[e.RUNNING=2]="RUNNING",e[e.IDLE=3]="IDLE",e[e.FAILED=4]="FAILED",e[e.PAUSING=6]="PAUSING",e[e.PAUSED=7]="PAUSED",e[e.PENDING_DELETION=8]="PENDING_DELETION"})(d2||(d2={}));var u2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.FIX=1]="FIX",e[e.FEATURE=2]="FEATURE",e[e.REFACTOR=3]="REFACTOR",e[e.DOCUMENTATION=4]="DOCUMENTATION",e[e.STYLE=5]="STYLE",e[e.TEST=6]="TEST",e[e.CHORE=7]="CHORE",e[e.REVERT=8]="REVERT",e[e.OTHER=9]="OTHER"})(u2||(u2={}));var h2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.IDE=1]="IDE",e[e.AUGMENT_ACTIONS=2]="AUGMENT_ACTIONS",e[e.SLACK_BOT=3]="SLACK_BOT",e[e.GITHUB_BOT=4]="GITHUB_BOT",e[e.LINEAR_BOT=5]="LINEAR_BOT",e[e.CLI=6]="CLI"})(h2||(h2={}));var b2;(function(e){e[e.RESUME_AGENT_HINT_REASON_UNSPECIFIED=0]="RESUME_AGENT_HINT_REASON_UNSPECIFIED",e[e.RESUME_AGENT_HINT_REASON_TYPING_MESSAGE=1]="RESUME_AGENT_HINT_REASON_TYPING_MESSAGE",e[e.RESUME_AGENT_HINT_REASON_VIEWING_AGENT=2]="RESUME_AGENT_HINT_REASON_VIEWING_AGENT"})(b2||(b2={}));var f2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.RUNNING=1]="RUNNING",e[e.PAUSING=2]="PAUSING",e[e.PAUSED=3]="PAUSED",e[e.RESUMING=4]="RESUMING",e[e.DELETING=5]="DELETING"})(f2||(f2={}));var A2=k("ChpzZXJ2aWNlcy9zaGFyZS9zaGFyZS5wcm90bxIFc2hhcmUicQoMQ2hhdEV4Y2hhbmdlEhIKCnJlcXVlc3RfaWQYASABKAkSFAoHbWVzc2FnZRgCIAEoCUIDgAEBEhUKCHJlc3BvbnNlGAMgASgJQgOAAQESIAoTcmVzcG9uc2Vfbm9kZXNfanNvbhgEIAEoCUIDgAEBIioKGkdldENoYXRDb252ZXJzYXRpb25SZXF1ZXN0EgwKBHV1aWQYASABKAkiswEKG0dldENoYXRDb252ZXJzYXRpb25SZXNwb25zZRIMCgR1dWlkGAEgASgJEigKBGRhdGUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBHVzZXIYAyABKAkSFwoPY29udmVyc2F0aW9uX2lkGAQgASgJEiEKBGNoYXQYBSADKAsyEy5zaGFyZS5DaGF0RXhjaGFuZ2USEgoFdGl0bGUYBiABKAlCA4ABASJ7ChtTYXZlQ2hhdENvbnZlcnNhdGlvblJlcXVlc3QSDAoEdXNlchgBIAEoCRIXCg9jb252ZXJzYXRpb25faWQYAiABKAkSIQoEY2hhdBgDIAMoCzITLnNoYXJlLkNoYXRFeGNoYW5nZRISCgV0aXRsZRgEIAEoCUIDgAEBIiwKHFNhdmVDaGF0Q29udmVyc2F0aW9uUmVzcG9uc2USDAoEdXVpZBgBIAEoCTLGAQoFU2hhcmUSXAoTR2V0Q2hhdENvbnZlcnNhdGlvbhIhLnNoYXJlLkdldENoYXRDb252ZXJzYXRpb25SZXF1ZXN0GiIuc2hhcmUuR2V0Q2hhdENvbnZlcnNhdGlvblJlc3BvbnNlEl8KFFNhdmVDaGF0Q29udmVyc2F0aW9uEiIuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXF1ZXN0GiMuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXNwb25zZWIGcHJvdG8z",[ee]);var D2=k("Ci5zZXJ2aWNlcy9yZXF1ZXN0X2luc2lnaHQvcmVxdWVzdF9pbnNpZ2h0LnByb3RvEg9yZXF1ZXN0X2luc2lnaHQiYgoNQWdlbnRGZWVkYmFjaxIvCgZyYXRpbmcYASABKA4yHy5yZXF1ZXN0X2luc2lnaHQuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgCIAEoCRISCgp1c2VyX2FnZW50GAMgASgJIk0KFUFnZW50SW50ZXJydXB0aW9uRGF0YRISCgpyZXF1ZXN0X2lkGAEgASgJEiAKGGN1cnJfY29udmVyc2F0aW9uX2xlbmd0aBgCIAEoDSKjAgoRQWdlbnRSZXF1ZXN0RXZlbnQSWAofY2hhdF9oaXN0b3J5X3N1bW1hcml6YXRpb25fZGF0YRgFIAEoCzItLnJlcXVlc3RfaW5zaWdodC5DaGF0SGlzdG9yeVN1bW1hcml6YXRpb25EYXRhSAASSAoXZmlyc3RfdG9rZW5fdGltaW5nX2RhdGEYBiABKAsyJS5yZXF1ZXN0X2luc2lnaHQuRmlyc3RUb2tlblRpbWluZ0RhdGFIABISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkSFwoPY29udmVyc2F0aW9uX2lkGAMgASgJEhsKE2NoYXRfaGlzdG9yeV9sZW5ndGgYBCABKA1CDAoKZXZlbnRfZGF0YSIUChJBZ2VudFJldmVyc2lvbkRhdGEiugoKEUFnZW50U2Vzc2lvbkV2ZW50EkMKFGFnZW50X3JldmVyc2lvbl9kYXRhGAQgASgLMiMucmVxdWVzdF9pbnNpZ2h0LkFnZW50UmV2ZXJzaW9uRGF0YUgAEkkKF2FnZW50X2ludGVycnVwdGlvbl9kYXRhGAUgASgLMiYucmVxdWVzdF9pbnNpZ2h0LkFnZW50SW50ZXJydXB0aW9uRGF0YUgAEkgKF3JlbWVtYmVyX3Rvb2xfY2FsbF9kYXRhGAYgASgLMiUucmVxdWVzdF9pbnNpZ2h0LlJlbWVtYmVyVG9vbENhbGxEYXRhSAASSAoXbWVtb3JpZXNfZmlsZV9vcGVuX2RhdGEYByABKAsyJS5yZXF1ZXN0X2luc2lnaHQuTWVtb3JpZXNGaWxlT3BlbkRhdGFIABJLChhpbml0aWFsX29yaWVudGF0aW9uX2RhdGEYCCABKAsyJy5yZXF1ZXN0X2luc2lnaHQuSW5pdGlhbE9yaWVudGF0aW9uRGF0YUgAEkwKGWNsYXNzaWZ5X2FuZF9kaXN0aWxsX2RhdGEYCSABKAsyJy5yZXF1ZXN0X2luc2lnaHQuQ2xhc3NpZnlBbmREaXN0aWxsRGF0YUgAEkEKE2ZsdXNoX21lbW9yaWVzX2RhdGEYCiABKAsyIi5yZXF1ZXN0X2luc2lnaHQuRmx1c2hNZW1vcmllc0RhdGFIABI/ChJtZW1vcmllc19tb3ZlX2RhdGEYCyABKAsyIS5yZXF1ZXN0X2luc2lnaHQuTWVtb3JpZXNNb3ZlRGF0YUgAEkEKE3J1bGVzX2ltcG9ydGVkX2RhdGEYDCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuUnVsZXNJbXBvcnRlZERhdGFIABJCChR0YXNrX2xpc3RfdXNhZ2VfZGF0YRgNIAEoCzIiLnJlcXVlc3RfaW5zaWdodC5UYXNrTGlzdFVzYWdlRGF0YUgAEkkKF2NvbnRlbnRfdHJ1bmNhdGlvbl9kYXRhGA4gASgLMiYucmVxdWVzdF9pbnNpZ2h0LkNvbnRlbnRUcnVuY2F0aW9uRGF0YUgAElAKG21vZGVsX3NlbGVjdGlvbl9jaGFuZ2VfZGF0YRgPIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5Nb2RlbFNlbGVjdGlvbkNoYW5nZURhdGFIABJMChlzY3JpcHRfY2FwdHVyZV9iYXNpY19kYXRhGBAgASgLMicucmVxdWVzdF9pbnNpZ2h0LlNjcmlwdENhcHR1cmVCYXNpY0RhdGFIABI9ChFtZW1vcnlfdXNhZ2VfZGF0YRgRIAEoCzIgLnJlcXVlc3RfaW5zaWdodC5NZW1vcnlVc2FnZURhdGFIABJRChxza2lsbHNfaW5jbHVkZWRfaW5fY2hhdF9kYXRhGBIgASgLMikucmVxdWVzdF9pbnNpZ2h0LlNraWxsc0luY2x1ZGVkSW5DaGF0RGF0YUgAEkwKGXNraWxsX2NvbnRlbnRfbG9hZGVkX2RhdGEYEyABKAsyJy5yZXF1ZXN0X2luc2lnaHQuU2tpbGxDb250ZW50TG9hZGVkRGF0YUgAEkEKE3JldHJpZXZhbF90b29sX2RhdGEYFCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuUmV0cmlldmFsVG9vbERhdGFIABISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkSFwoPY29udmVyc2F0aW9uX2lkGAMgASgJQgwKCmV2ZW50X2RhdGEivggKEEFnZW50VHJhY2luZ0RhdGESOwoFZmxhZ3MYAyADKAsyLC5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YS5GbGFnc0VudHJ5EjkKBG51bXMYBCADKAsyKy5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YS5OdW1zRW50cnkSSAoMc3RyaW5nX3N0YXRzGAUgAygLMjIucmVxdWVzdF9pbnNpZ2h0LkFnZW50VHJhY2luZ0RhdGEuU3RyaW5nU3RhdHNFbnRyeRJGCgtyZXF1ZXN0X2lkcxgGIAMoCzIxLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlJlcXVlc3RJZHNFbnRyeRozCgtTdHJpbmdTdGF0cxIRCgludW1fbGluZXMYASABKAUSEQoJbnVtX2NoYXJzGAIgASgFGkwKDFRpbWVkQm9vbGVhbhINCgV2YWx1ZRgBIAEoCBItCgl0aW1lc3RhbXAYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGksKC1RpbWVkTnVtYmVyEg0KBXZhbHVlGAEgASgBEi0KCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAafwoQVGltZWRTdHJpbmdTdGF0cxI8CgV2YWx1ZRgBIAEoCzItLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlN0cmluZ1N0YXRzEi0KCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaSwoLVGltZWRTdHJpbmcSDQoFdmFsdWUYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBpcCgpGbGFnc0VudHJ5EgsKA2tleRgBIAEoCRI9CgV2YWx1ZRgCIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlRpbWVkQm9vbGVhbjoCOAEaWgoJTnVtc0VudHJ5EgsKA2tleRgBIAEoCRI8CgV2YWx1ZRgCIAEoCzItLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlRpbWVkTnVtYmVyOgI4ARpmChBTdHJpbmdTdGF0c0VudHJ5EgsKA2tleRgBIAEoCRJBCgV2YWx1ZRgCIAEoCzIyLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlRpbWVkU3RyaW5nU3RhdHM6AjgBGmAKD1JlcXVlc3RJZHNFbnRyeRILCgNrZXkYASABKAkSPAoFdmFsdWUYAiABKAsyLS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YS5UaW1lZFN0cmluZzoCOAEipwEKFUFwaUh0dHBSZXF1ZXN0RGV0YWlscxITCgtoZWFkZXJfanNvbhgBIAEoCRItCg5vcGFxdWVfdXNlcl9pZBgCIAEoCzIVLmF1dGhfZW50aXRpZXMuVXNlcklkEjIKDHJlcXVlc3RfdHlwZRgDIAEoDjIcLnJlcXVlc3RfaW5zaWdodC5SZXF1ZXN0VHlwZRIWCg5yZXF1ZXN0X3BhcmFtcxgEIAEoCSI2Cg9BcGlIdHRwUmVzcG9uc2USDAoEY29kZRgBIAEoDRIVCg1lcnJvcl9tZXNzYWdlGAIgASgJIqYCChBBdXRvVG9wVXBTZXR0aW5nEhcKD29yYl9jdXN0b21lcl9pZBgBIAEoCRJBCgZhY3Rpb24YAiABKA4yMS5yZXF1ZXN0X2luc2lnaHQuQXV0b1RvcFVwU2V0dGluZy5BdXRvVG9wVXBBY3Rpb24SEQoJdGhyZXNob2xkGAMgASgDEg4KBmFtb3VudBgEIAEoAxIZChFiaWxsaW5nX2VudGl0eV9pZBgFIAEoCRIYChB0b3BfdXBfdGhyZXNob2xkGAYgASgJEhUKDXRvcF91cF9hbW91bnQYByABKAkiRwoPQXV0b1RvcFVwQWN0aW9uEhkKFVVOS05PV05fVE9QX1VQX0FDVElPThAAEgsKB0VOQUJMRUQQARIMCghESVNBQkxFRBACImsKFEJ1dGxlclBsYW5uZXJBdHRlbXB0Eg8KB2F0dGVtcHQYASABKAUSFAoMcmF3X3Jlc3BvbnNlGAIgASgJEhoKDWVycm9yX21lc3NhZ2UYAyABKAlIAIgBAUIQCg5fZXJyb3JfbWVzc2FnZSLoBgoVQnV0bGVyUm91dGluZ1Jlc3BvbnNlEhYKDnNlbGVjdGVkX21vZGVsGAEgASgJEhUKDXJvdXRpbmdfbW9kZWwYAiABKAkSFgoOcm91dGluZ19yZWFzb24YAyABKAkSGQoMcGxhbm5lcl90aWVyGAQgASgJSACIAQESNwoIYXR0ZW1wdHMYBSADKAsyJS5yZXF1ZXN0X2luc2lnaHQuQnV0bGVyUGxhbm5lckF0dGVtcHQSFAoMcm91dGluZ19wYXRoGAYgASgJEiUKGHBsYW5uZXJfZXN0aW1hdGVkX3JvdW5kcxgHIAEoBUgBiAEBEiMKFnBsYW5uZXJfaGlnaF9yZWFzb25pbmcYCCABKAhIAogBARIeChFwbGFubmVyX2Jhc2VfdGllchgJIAEoCUgDiAEBEigKG3BsYW5uZXJfdXNlcl9yZXF1ZXN0ZWRfdGllchgKIAEoCUgEiAEBEiAKE3BsYW5uZXJfcHJvbXB0X2hhc2gYCyABKAlIBYgBARIXCg9jb252ZXJzYXRpb25faWQYDCABKAkSDwoHdHVybl9pZBgNIAEoCRIZChFidXRsZXJfbW9kZWxfbmFtZRgOIAEoCRIRCglpc19zaWxlbnQYDyABKAgSGwoTaXNfdG9vbF9yZXN1bHRfdHVybhgQIAEoCBJECg1zZXNzaW9uX3N0YXRlGBEgASgLMigucmVxdWVzdF9pbnNpZ2h0LkJ1dGxlclNlc3Npb25DYWNoZVN0YXRlSAaIAQESUQoWcGVuZGluZ19yZXRyeV9kZWNpc2lvbhgSIAEoCzIsLnJlcXVlc3RfaW5zaWdodC5CdXRsZXJTdW1tYXJpemVSZXRyeVBlbmRpbmdIB4gBARIUCgxzcnBfZGVjaXNpb24YEyABKAlCDwoNX3BsYW5uZXJfdGllckIbChlfcGxhbm5lcl9lc3RpbWF0ZWRfcm91bmRzQhkKF19wbGFubmVyX2hpZ2hfcmVhc29uaW5nQhQKEl9wbGFubmVyX2Jhc2VfdGllckIeChxfcGxhbm5lcl91c2VyX3JlcXVlc3RlZF90aWVyQhYKFF9wbGFubmVyX3Byb21wdF9oYXNoQhAKDl9zZXNzaW9uX3N0YXRlQhkKF19wZW5kaW5nX3JldHJ5X2RlY2lzaW9uInAKF0J1dGxlclNlc3Npb25DYWNoZVN0YXRlEhIKCmxhc3RfbW9kZWwYASABKAkSGQoRY29uc2VjdXRpdmVfdHVybnMYAiABKAUSFQoNY2FjaGVkX3Rva2VucxgDIAEoAxIPCgdsYXN0X3RzGAQgASgBIkYKG0J1dGxlclN1bW1hcml6ZVJldHJ5UGVuZGluZxIPCgd0dXJuX2lkGAEgASgJEhYKDnNlbGVjdGVkX21vZGVsGAIgASgJIuIBChJDYW5jZWxTdWJzY3JpcHRpb24SGwoTb3JiX3N1YnNjcmlwdGlvbl9pZBgBIAEoCRI6CghmZWVkYmFjaxgCIAEoCzIoLmF1dGguQ2FuY2VsU3Vic2NyaXB0aW9uUmVxdWVzdC5GZWVkYmFjaxIbChNjYW5jZWxsYXRpb25fcmVhc29uGAMgASgJEh4KFnN0cmlwZV9zdWJzY3JpcHRpb25faWQYBCABKAkSGQoRYmlsbGluZ19lbnRpdHlfaWQYBSABKAkSGwoTYWRkaXRpb25hbF9mZWVkYmFjaxgGIAEoCSIUChJDaGFuZ2VzQXBwbGllZERhdGEiYQoMQ2hhdEZlZWRiYWNrEi8KBnJhdGluZxgBIAEoDjIfLnJlcXVlc3RfaW5zaWdodC5GZWVkYmFja1JhdGluZxIMCgRub3RlGAIgASgJEhIKCnVzZXJfYWdlbnQYAyABKAki6wQKHENoYXRIaXN0b3J5U3VtbWFyaXphdGlvbkRhdGESIAoYdG90YWxfaGlzdG9yeV9jaGFyX2NvdW50GAEgASgNEiQKHHRvdGFsX2hpc3RvcnlfZXhjaGFuZ2VfY291bnQYAiABKA0SFwoPaGVhZF9jaGFyX2NvdW50GAMgASgNEhsKE2hlYWRfZXhjaGFuZ2VfY291bnQYBCABKA0SHAoUaGVhZF9sYXN0X3JlcXVlc3RfaWQYBSABKAkSFwoPdGFpbF9jaGFyX2NvdW50GAYgASgNEhsKE3RhaWxfZXhjaGFuZ2VfY291bnQYByABKA0SHAoUdGFpbF9sYXN0X3JlcXVlc3RfaWQYCCABKAkSGgoSc3VtbWFyeV9jaGFyX2NvdW50GAkgASgNEiEKGXN1bW1hcml6YXRpb25fZHVyYXRpb25fbXMYCiABKA0SIAoYaXNfY2FjaGVfYWJvdXRfdG9fZXhwaXJlGAsgASgIEhIKCmlzX2Fib3J0ZWQYDCABKAgSJgoZdG90YWxfaGlzdG9yeV90b2tlbl9jb3VudBgNIAEoDUgAiAEBEh0KEGhlYWRfdG9rZW5fY291bnQYDiABKA1IAYgBARIdChB0YWlsX3Rva2VuX2NvdW50GA8gASgNSAKIAQESIAoTdG9rZW5zX2Zyb21fYmFja2VuZBgQIAEoCEgDiAEBQhwKGl90b3RhbF9oaXN0b3J5X3Rva2VuX2NvdW50QhMKEV9oZWFkX3Rva2VuX2NvdW50QhMKEV90YWlsX3Rva2VuX2NvdW50QhYKFF90b2tlbnNfZnJvbV9iYWNrZW5kIhkKF0NoYXRJbnB1dENvbXBsZXRpb25FbWl0IjEKHUNoYXRJbnB1dENvbXBsZXRpb25SZXNvbHV0aW9uEhAKCGFjY2VwdGVkGAEgASgIIqAGCg9DaGF0VXNlck1lc3NhZ2USPAoJY2hhdF9tb2RlGAEgASgOMikucmVxdWVzdF9pbnNpZ2h0LkNoYXRVc2VyTWVzc2FnZS5DaGF0TW9kZRIbChNjaGF0X2hpc3RvcnlfbGVuZ3RoGAIgASgNEhgKEGltYWdlX25vZGVfY291bnQYAyABKA0SFwoPY2hhcmFjdGVyX2NvdW50GAQgASgNEhIKCmxpbmVfY291bnQYBSABKA0SLQoOb3BhcXVlX3VzZXJfaWQYBiABKAsyFS5hdXRoX2VudGl0aWVzLlVzZXJJZBIXCgptb2RlbF9uYW1lGAcgASgJSACIAQESHAoPY29udmVyc2F0aW9uX2lkGAggASgJSAGIAQESKAoIYm90X3R5cGUYCSABKA4yFi5hdXRoX2VudGl0aWVzLkJvdFR5cGUSHQoQYWdlbnRfcGVyc29uYV9pZBgKIAEoCUgCiAEBIoMDCghDaGF0TW9kZRISCg5DSEFUX01PREVfQ0hBVBAAEhMKD0NIQVRfTU9ERV9BR0VOVBABEhYKEkNIQVRfTU9ERV9NRU1PUklFUxACEhkKFUNIQVRfTU9ERV9PUklFTlRBVElPThADEiIKHkNIQVRfTU9ERV9NRU1PUklFU19DT01QUkVTU0lPThAEEhoKFkNIQVRfTU9ERV9SRU1PVEVfQUdFTlQQBRIXChNDSEFUX01PREVfQ0xJX0FHRU5UEAYSIAocQ0hBVF9NT0RFX0NMSV9OT05JTlRFUkFDVElWRRAHEhkKFUNIQVRfTU9ERV9DT0RFX1JFVklFVxAIEh8KG0NIQVRfTU9ERV9BR0VOVElDX1NMQUNLX0JPVBAJEiAKHENIQVRfTU9ERV9DT05URVhUX0VOR0lORV9TREsQChIgChxDSEFUX01PREVfQ09OVEVYVF9FTkdJTkVfTUNQEAsSIAocQ0hBVF9NT0RFX1BPU0VJRE9OX0NMSV9BR0VOVBAMQg0KC19tb2RlbF9uYW1lQhIKEF9jb252ZXJzYXRpb25faWRCEwoRX2FnZW50X3BlcnNvbmFfaWQiUQoWQ2xhc3NpZnlBbmREaXN0aWxsRGF0YRI3Cgx0cmFjaW5nX2RhdGEYASABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSJlChBDbGlBZ2VudEZlZWRiYWNrEi8KBnJhdGluZxgBIAEoDjIfLnJlcXVlc3RfaW5zaWdodC5GZWVkYmFja1JhdGluZxIMCgRub3RlGAIgASgJEhIKCnVzZXJfYWdlbnQYAyABKAki6QEKGENsaWVudENvbXBsZXRpb25UaW1lbGluZRI4ChRpbml0aWFsX3JlcXVlc3RfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoOYXBpX3N0YXJ0X3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGFwaV9lbmRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJZW1pdF90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJcCgxDbGllbnRNZXRyaWMSEgoKZXZlbnRfbmFtZRgBIAEoCRISCgp1c2VyX2FnZW50GAIgASgJEhUKDWNsaWVudF9tZXRyaWMYAyABKAkSDQoFdmFsdWUYBCABKAQiawoRQ2xvc2VTdWJzY3JpcHRpb24SGwoTb3JiX3N1YnNjcmlwdGlvbl9pZBgBIAEoCRIeChZzdHJpcGVfc3Vic2NyaXB0aW9uX2lkGAIgASgJEhkKEWJpbGxpbmdfZW50aXR5X2lkGAMgASgJImEKH0NvbW1pdEF0dHJpYnV0aW9uTW9kZWxCcmVha2Rvd24SEgoKbW9kZWxfbmFtZRgBIAEoCRITCgtsaW5lc19hZGRlZBgCIAEoBRIVCg1saW5lc19kZWxldGVkGAMgASgFIu0CChhDb21taXRBdHRyaWJ1dGlvblN1bW1hcnkSGwoTYXR0cmlidXRpb25fdmVyc2lvbhgBIAEoCRIUCgxjb250ZW50X2hhc2gYAiABKAkSNAoQY29tbWl0X3RpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoRdG90YWxfbGluZXNfYWRkZWQYBCABKAUSGwoTdG90YWxfbGluZXNfZGVsZXRlZBgFIAEoBRJJCg9tb2RlbF9icmVha2Rvd24YBiADKAsyMC5yZXF1ZXN0X2luc2lnaHQuQ29tbWl0QXR0cmlidXRpb25Nb2RlbEJyZWFrZG93bhISCgp3aW5kb3dfc2VjGAcgASgFEhcKD3NvdXJjZV9ldmVudF9pZBgIIAEoCRIgChNpc19mcm9tX21haW5fYnJhbmNoGAkgASgISACIAQFCFgoUX2lzX2Zyb21fbWFpbl9icmFuY2gihAEKEENvbW1pdEZpbGVDaGFuZ2USEwoLY2hhbmdlX3R5cGUYASABKAkSEQoJZmlsZV9wYXRoGAIgASgJEhoKDW9sZF9maWxlX3BhdGgYAyABKAlIAIgBARIRCgRkaWZmGAQgASgJSAGIAQFCEAoOX29sZF9maWxlX3BhdGhCBwoFX2RpZmYivAIKEkNvbW1pdFNlc3Npb25FdmVudBIMCgRoYXNoGAEgASgJEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHc3ViamVjdBgFIAEoCRIMCgRib2R5GAYgASgJEjcKDGZpbGVfY2hhbmdlcxgHIAMoCzIhLnJlcXVlc3RfaW5zaWdodC5Db21taXRGaWxlQ2hhbmdlEhIKCnVzZXJfYWdlbnQYCCABKAkSNwoTY29tbWl0dGVyX3RpbWVzdGFtcBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIAoTaXNfZnJvbV9tYWluX2JyYW5jaBgKIAEoCEgAiAEBQhYKFF9pc19mcm9tX21haW5fYnJhbmNoSgQIAhADSgQIAxAEIhAKDkNvbXBsZXRpb25FbWl0IlMKEkNvbXBsZXRpb25GZWVkYmFjaxIvCgZyYXRpbmcYASABKA4yHy5yZXF1ZXN0X2luc2lnaHQuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgCIAEoCSLbBQoVQ29tcGxldGlvbkhvc3RSZXF1ZXN0EgwKBHNlZWQYAiABKAQSFAoMZW9zX3Rva2VuX2lkGAQgAygFEg0KBXRvcF9rGAUgASgFEg0KBXRvcF9wGAYgASgCEhMKC3RlbXBlcmF0dXJlGAcgASgCEhIKCm91dHB1dF9sZW4YCCABKAUSGgoSZW5hYmxlX3BhdGhfcHJlZml4GAkgASgIEiAKGGVuYWJsZV9wcmVmZXJlbmNlX3Rva2VucxgKIAEoCBIhChllbmFibGVfZmlsbF9pbl90aGVfbWlkZGxlGAsgASgIEhMKC2VuYWJsZV9ibTI1GA0gASgIEh4KFmVuYWJsZV9kZW5zZV9yZXRyaWV2YWwYDiABKAgSDQoFbW9kZWwYDyABKAkSDgoGcHJlZml4GBAgASgJEgwKBHBhdGgYESABKAkSDgoGc3VmZml4GBIgASgJEhIKCmJsb2JfbmFtZXMYEyADKAkSDAoEbGFuZxgUIAEoCRJACghwb3NpdGlvbhgVIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uSG9zdFJlcXVlc3RQb3NpdGlvbhISCgpwcm9iZV9vbmx5GBYgASgIEiUKBWJsb2JzGBcgASgLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEi0KDHJlY2VuY3lfaW5mbxgYIAEoCzIXLmNvbXBsZXRpb24uUmVjZW5jeUluZm8SMwoMdG9rZW5pemF0aW9uGBkgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIiChV1c2VyX2ZpbHRlcl90aHJlc2hvbGQYGiABKAJIAIgBARI3CgtlZGl0X2V2ZW50cxgbIAMoCzIiLmJhc2UuZGlmZl91dGlscy5HcmFudWxhckVkaXRFdmVudEIYChZfdXNlcl9maWx0ZXJfdGhyZXNob2xkSgQIARACSgQIDBANInUKHUNvbXBsZXRpb25Ib3N0UmVxdWVzdFBvc2l0aW9uEhQKDHByZWZpeF9iZWdpbhgBIAEoBRIXCg9jdXJzb3JfcG9zaXRpb24YAiABKAUSEgoKc3VmZml4X2VuZBgDIAEoBRIRCglibG9iX25hbWUYBCABKAkihgMKFkNvbXBsZXRpb25Ib3N0UmVzcG9uc2USDAoEdGV4dBgCIAEoCRIaChJ1bmtub3duX2Jsb2JfbmFtZXMYAyADKAkSFgoOc2tpcHBlZF9zdWZmaXgYBiABKAkSHwoXc3VmZml4X3JlcGxhY2VtZW50X3RleHQYByABKAkSHAoUY2hlY2twb2ludF9ub3RfZm91bmQYCCABKAgSMwoMdG9rZW5pemF0aW9uGAkgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIeChFpc19lbXB0eV9yZXNwb25zZRgKIAEoCEgAiAEBEiAKE2NvbnRhaW5zX3NraXBfdG9rZW4YCyABKAhIAYgBARIeChF2YWxpZF9yZXBsYWNlbWVudBgMIAEoCEgCiAEBQhQKEl9pc19lbXB0eV9yZXNwb25zZUIWChRfY29udGFpbnNfc2tpcF90b2tlbkIUChJfdmFsaWRfcmVwbGFjZW1lbnRKBAgBEAJKBAgEEAVKBAgFEAYi5QIKFUNvbXBsZXRpb25Qb3N0UHJvY2VzcxIfCg5pc19sb3dfcXVhbGl0eRgBIAEoCEICGAFIAIgBARIUCgxmaWx0ZXJfc2NvcmUYDCABKAISJQoYYXBwbGllZF9maWx0ZXJfdGhyZXNob2xkGA0gASgCSAGIAQESTwoNZmlsdGVyX3JlYXNvbhgOIAEoDjIzLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uUG9zdFByb2Nlc3MuRmlsdGVyUmVhc29uSAKIAQEiWwoMRmlsdGVyUmVhc29uEhkKFVVOS05PV05fRklMVEVSX1JFQVNPThAAEhAKDE5PVF9GSUxURVJFRBABEg8KC0xPV19RVUFMSVRZEAISDQoJREVOWV9MSVNUEANCEQoPX2lzX2xvd19xdWFsaXR5QhsKGV9hcHBsaWVkX2ZpbHRlcl90aHJlc2hvbGRCEAoOX2ZpbHRlcl9yZWFzb24iWgoeQ29tcGxldGlvblJlcXVlc3RJZElzc3VlZEV2ZW50EhIKCnJlcXVlc3RfaWQYASABKAkSFgoJZmlsZV9wYXRoGAIgASgJSACIAQFCDAoKX2ZpbGVfcGF0aCIsChRDb21wbGV0aW9uUmVzb2x1dGlvbhIUCgxhY2NlcHRlZF9pZHgYASABKAUiRAoNQ29udGVudENoYW5nZRIMCgR0ZXh0GAEgASgJEiUKBXJhbmdlGAIgASgLMhYucmVxdWVzdF9pbnNpZ2h0LlJhbmdlIo4BCh1Db250ZW50TWFuYWdlckNoZWNrcG9pbnRCbG9icxIVCg1jaGVja3BvaW50X2lkGAEgASgJEh4KFmJhc2VsaW5lX2NoZWNrcG9pbnRfaWQYAiABKAkSGQoRYWRkZWRfYmxvYnNfY291bnQYAyABKA0SGwoTZGVsZXRlZF9ibG9ic19jb3VudBgEIAEoDSK8AQoZQ29udGVudE1hbmFnZXJVcGxvYWRCbG9icxJTCg51cGxvYWRlZF9ibG9icxgBIAMoCzI7LnJlcXVlc3RfaW5zaWdodC5Db250ZW50TWFuYWdlclVwbG9hZEJsb2JzLlVwbG9hZGVkQmxvYkluZm8aSgoQVXBsb2FkZWRCbG9iSW5mbxIRCglibG9iX25hbWUYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoBBIPCgdleGlzdGVkGAMgASgIIqABChVDb250ZW50VHJ1bmNhdGlvbkRhdGESGwoTb3JpZ2luYWxfY2hhcl9jb3VudBgBIAEoDRIbChNvcmlnaW5hbF9saW5lX2NvdW50GAIgASgNEhwKFHRydW5jYXRlZF9jaGFyX2NvdW50GAMgASgNEhwKFHRydW5jYXRlZF9saW5lX2NvdW50GAQgASgNEhEKCXRvb2xfdHlwZRgFIAEoCSK+AQoOQ29zbW9zRmVlZGJhY2sSLwoGcmF0aW5nGAEgASgOMh8ucmVxdWVzdF9pbnNpZ2h0LkZlZWRiYWNrUmF0aW5nEgwKBG5vdGUYAiABKAkSEgoKdXNlcl9hZ2VudBgDIAEoCRIUCgxyZWFzb25fY29kZXMYBCADKAkSEwoLZXhwZXJ0X25hbWUYBSABKAkSEwoLdGVuYW50X3RpZXIYBiABKAkSGQoRdGVhbV9kaXNwbGF5X25hbWUYByABKAkiDwoNQ3JlYXRlZFBSRGF0YSKPAwoWQ3VzdG9tZXJVSVNlc3Npb25FdmVudBJNCg1zZXNzaW9uX3N0YXJ0GAIgASgLMjQucmVxdWVzdF9pbnNpZ2h0LkN1c3RvbWVyVUlTZXNzaW9uRXZlbnQuU2Vzc2lvblN0YXJ0SAASSQoLc2Vzc2lvbl9lbmQYAyABKAsyMi5yZXF1ZXN0X2luc2lnaHQuQ3VzdG9tZXJVSVNlc3Npb25FdmVudC5TZXNzaW9uRW5kSAASDwoHdXNlcl9pZBgBIAEoCRokCgxTZXNzaW9uU3RhcnQSFAoMcmVkaXJlY3RfdXJsGAEgASgJGpoBCgpTZXNzaW9uRW5kEkkKBnJlYXNvbhgBIAEoDjI5LnJlcXVlc3RfaW5zaWdodC5DdXN0b21lclVJU2Vzc2lvbkV2ZW50LlNlc3Npb25FbmQuUmVhc29uIkEKBlJlYXNvbhIeChpVTktOT1dOX1NFU1NJT05fRU5EX1JFQVNPThAAEgoKBkxPR09VVBABEgsKB1RJTUVPVVQQAkIHCgVldmVudCJZChlEYWlseVJlcXVlc3RMaW1pdEV4Y2VlZGVkEi0KDm9wYXF1ZV91c2VyX2lkGAEgASgLMhUuYXV0aF9lbnRpdGllcy5Vc2VySWQSDQoFbGltaXQYAiABKAUiOQoNRGlmZlBhbmVsRGF0YRIXCg9sb2FkaW5nX3RpbWVfbXMYASABKAUSDwoHYXBwbGllZBgCIAEoCCIKCghFZGl0RW1pdCJUChhFZGl0UmVxdWVzdElkSXNzdWVkRXZlbnQSEgoKcmVxdWVzdF9pZBgBIAEoCRIWCglmaWxlX3BhdGgYAiABKAlIAIgBAUIMCgpfZmlsZV9wYXRoIpMBCg5FZGl0UmVzb2x1dGlvbhITCgtpc19hY2NlcHRlZBgBIAEoCBIbCg5hbm5vdGF0ZWRfdGV4dBgCIAEoCUgAiAEBEiIKFWFubm90YXRlZF9pbnN0cnVjdGlvbhgDIAEoCUgBiAEBQhEKD19hbm5vdGF0ZWRfdGV4dEIYChZfYW5ub3RhdGVkX2luc3RydWN0aW9uIqkBChdFbWJlZGRpbmdzU2VhcmNoUmVxdWVzdBISCgpibG9iX25hbWVzGAEgAygJEhMKC251bV9yZXN1bHRzGAIgASgFEhoKEnRyYW5zZm9ybWF0aW9uX2tleRgDIAEoCRIPCgdzdWJfa2V5GAQgASgJEiUKBWJsb2JzGAUgAygLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEhEKCW51bV9ibG9icxgGIAEoBSKEAQoYRW1iZWRkaW5nc1NlYXJjaFJlc3BvbnNlEhoKEm1pc3NpbmdfYmxvYl9uYW1lcxgBIAMoCRI4CgdyZXN1bHRzGAIgAygLMicucmVxdWVzdF9pbnNpZ2h0LkVtYmVkZGluZ3NTZWFyY2hSZXN1bHQSEgoKYmxvYl9jb3VudBgDIAEoDSJPChZFbWJlZGRpbmdzU2VhcmNoUmVzdWx0EhEKCWJsb2JfbmFtZRgBIAEoCRITCgtjaHVua19pbmRleBgCIAEoDRINCgV2YWx1ZRgDIAEoAiLrAQoORXh0ZW5zaW9uRXJyb3ISIAoTb3JpZ2luYWxfcmVxdWVzdF9pZBgBIAEoCUgAiAEBEg8KB21lc3NhZ2UYAiABKAkSEwoLc3RhY2tfdHJhY2UYAyABKAkSRQoLZGlhZ25vc3RpY3MYBCADKAsyMC5yZXF1ZXN0X2luc2lnaHQuRXh0ZW5zaW9uRXJyb3IuRGlhZ25vc3RpY3NFbnRyeRoyChBEaWFnbm9zdGljc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCFgoUX29yaWdpbmFsX3JlcXVlc3RfaWQisQEKFUV4dGVuc2lvblNlc3Npb25FdmVudBISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkSSAoPYWRkaXRpb25hbF9kYXRhGAMgAygLMi8ucmVxdWVzdF9pbnNpZ2h0LkV4dGVuc2lvblNlc3Npb25FdmVudC5LZXlWYWx1ZRomCghLZXlWYWx1ZRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiiQEKFEZpcnN0VG9rZW5UaW1pbmdEYXRhEiYKHnVzZXJfbWVzc2FnZV9zZW50X3RpbWVzdGFtcF9tcxgBIAEoBBIpCiFmaXJzdF90b2tlbl9yZWNlaXZlZF90aW1lc3RhbXBfbXMYAiABKAQSHgoWdGltZV90b19maXJzdF90b2tlbl9tcxgDIAEoDSJMChFGbHVzaE1lbW9yaWVzRGF0YRI3Cgx0cmFjaW5nX2RhdGEYASABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSImChBHaXRodWJBUElGYWlsdXJlEhIKCmVycm9yX2NvZGUYASABKAUimgMKHEdpdGh1YlB1bGxSZXF1ZXN0TWVyZ2VkRXZlbnQSFwoKcmVwb19vd25lchgBIAEoCUgAiAEBEhYKCXJlcG9fbmFtZRgCIAEoCUgBiAEBEhYKCXByX251bWJlchgDIAEoDUgCiAEBEjIKCW1lcmdlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARIcCg9tZXJnZWRfYnlfbG9naW4YBSABKAlIBIgBARIWCglhZGRpdGlvbnMYBiABKA1IBYgBARIWCglkZWxldGlvbnMYByABKA1IBogBARIVCghoZWFkX3NoYRgIIAEoCUgHiAEBEhUKCGJhc2VfcmVmGAkgASgJSAiIAQFCDQoLX3JlcG9fb3duZXJCDAoKX3JlcG9fbmFtZUIMCgpfcHJfbnVtYmVyQgwKCl9tZXJnZWRfYXRCEgoQX21lcmdlZF9ieV9sb2dpbkIMCgpfYWRkaXRpb25zQgwKCl9kZWxldGlvbnNCCwoJX2hlYWRfc2hhQgsKCV9iYXNlX3JlZiItChNHaXRodWJVc2VyQXV0aG9yaXplEhYKDmdpdGh1Yl91c2VyX2lkGAEgASgDItYDCgxJbmZlclJlcXVlc3QSDQoFbW9kZWwYASABKAkSDgoGcHJvbXB0GAIgASgJEgwKBHBhdGgYAyABKAkSDgoGc3VmZml4GAQgASgJEhAKCG1lbW9yaWVzGAUgAygJEg0KBXRvcF9rGAYgASgFEg0KBXRvcF9wGAcgASgCEhMKC3RlbXBlcmF0dXJlGAggASgCEhIKCm1heF90b2tlbnMYCSABKAUSEgoKc2Vzc2lvbl9pZBgLIAEoCRIMCgRsYW5nGAwgASgJEhIKCnVzZXJfYWdlbnQYDSABKAkSEwoLc2VxdWVuY2VfaWQYDiABKA0SEgoKcHJvYmVfb25seRgPIAEoCBIlCgVibG9icxgQIAEoCzIWLmJhc2UuYmxvYl9uYW1lcy5CbG9icxItCgxyZWNlbmN5X2luZm8YESABKAsyFy5jb21wbGV0aW9uLlJlY2VuY3lJbmZvEiIKFXVzZXJfZmlsdGVyX3RocmVzaG9sZBgSIAEoAkgAiAEBEjcKC2VkaXRfZXZlbnRzGBMgAygLMiIuYmFzZS5kaWZmX3V0aWxzLkdyYW51bGFyRWRpdEV2ZW50QhgKFl91c2VyX2ZpbHRlcl90aHJlc2hvbGRKBAgKEAsiaQoVSW5mZXJlbmNlSG9zdFJlc3BvbnNlEhUKDWN1bV9sb2dfcHJvYnMYAiABKAISMwoMdG9rZW5pemF0aW9uGAMgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbkoECAEQAiLfAQoWSW5pdGlhbE9yaWVudGF0aW9uRGF0YRJJCgZjYWxsZXIYASABKA4yOS5yZXF1ZXN0X2luc2lnaHQuSW5pdGlhbE9yaWVudGF0aW9uRGF0YS5PcmllbnRhdGlvbkNhbGxlchI3Cgx0cmFjaW5nX2RhdGEYAiABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSJBChFPcmllbnRhdGlvbkNhbGxlchIPCgtVTlNQRUNJRklFRBAAEg4KCk9OQk9BUkRJTkcQARILCgdDT01NQU5EEAIiEQoPSW5zdHJ1Y3Rpb25FbWl0ImEKFUluc3RydWN0aW9uUmVzb2x1dGlvbhIaChJpc19hY2NlcHRlZF9jaHVua3MYASADKAgSFQoNaXNfYWNjZXB0X2FsbBgCIAEoCBIVCg1pc19yZWplY3RfYWxsGAMgASgIImUKEE1lbW9yaWVzRmVlZGJhY2sSLwoGcmF0aW5nGAEgASgOMh8ucmVxdWVzdF9pbnNpZ2h0LkZlZWRiYWNrUmF0aW5nEgwKBG5vdGUYAiABKAkSEgoKdXNlcl9hZ2VudBgDIAEoCSI3ChRNZW1vcmllc0ZpbGVPcGVuRGF0YRIfChdtZW1vcmllc19wYXRoX3VuZGVmaW5lZBgBIAEoCCKfAQoQTWVtb3JpZXNNb3ZlRGF0YRI4CgZ0YXJnZXQYASABKA4yKC5yZXF1ZXN0X2luc2lnaHQuTWVtb3JpZXNNb3ZlRGF0YS5UYXJnZXQiUQoGVGFyZ2V0Eg8KC1VOU1BFQ0lGSUVEEAASEwoPVVNFUl9HVUlERUxJTkVTEAESFgoSQVVHTUVOVF9HVUlERUxJTkVTEAISCQoFUlVMRVMQAyK5AQoPTWVtb3J5VXNhZ2VEYXRhEg4KBmFjdGlvbhgBIAEoBRIWCgltZW1vcnlfaWQYAiABKAlIAIgBARIUCgx0cmlnZ2VyZWRfYnkYAyABKAUSGQoMbWVtb3J5X3N0YXRlGAQgASgJSAGIAQESGwoObWVtb3J5X3ZlcnNpb24YBSABKAlIAogBAUIMCgpfbWVtb3J5X2lkQg8KDV9tZW1vcnlfc3RhdGVCEQoPX21lbW9yeV92ZXJzaW9uIu4CChBNb2RlU2VsZWN0b3JEYXRhEkQKBmFjdGlvbhgBIAEoDjI0LnJlcXVlc3RfaW5zaWdodC5Nb2RlU2VsZWN0b3JEYXRhLk1vZGVTZWxlY3RvckFjdGlvbhI0CgRtb2RlGAIgASgOMiYucmVxdWVzdF9pbnNpZ2h0Lk1vZGVTZWxlY3RvckRhdGEuTW9kZRI6Cg5zb3VyY2VfY29udHJvbBgDIAEoDjIiLnJlcXVlc3RfaW5zaWdodC5Tb3VyY2VDb250cm9sVHlwZSI/CgRNb2RlEhAKDFVOS05PV05fTU9ERRAAEggKBENIQVQQARIJCgVBR0VOVBACEhAKDFJFTU9URV9BR0VOVBADImEKEk1vZGVTZWxlY3RvckFjdGlvbhIgChxVTktOT1dOX01PREVfU0VMRUNUT1JfQUNUSU9OEAASCAoET1BFThABEgkKBUNMT1NFEAISCgoGU0VMRUNUEAMSCAoESU5JVBAEIoABChhNb2RlbFNlbGVjdGlvbkNoYW5nZURhdGESGQoRcHJldmlvdXNfbW9kZWxfaWQYASABKAkSGwoTcHJldmlvdXNfbW9kZWxfbmFtZRgCIAEoCRIUCgxuZXdfbW9kZWxfaWQYAyABKAkSFgoObmV3X21vZGVsX25hbWUYBCABKAkiyQEKFE5vdGlmaWNhdGlvbkJlbGxEYXRhEk8KCmJlbGxfc3RhdGUYASABKA4yOy5yZXF1ZXN0X2luc2lnaHQuTm90aWZpY2F0aW9uQmVsbERhdGEuTm90aWZpY2F0aW9uQmVsbFN0YXRlImAKFU5vdGlmaWNhdGlvbkJlbGxTdGF0ZRILCgdVTktOT1dOEAASDQoJQUNUSVZBVEVEEAESDwoLREVBQ1RJVkFURUQQAhIMCghOT1RJRklFRBAEEgwKCEFDQ0VQVEVEEAMiQAoWT25ib2FyZGluZ1Nlc3Npb25FdmVudBISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkiiQEKFVBhcmVudGhlc2lzVHJ1bmNhdGlvbhIVCg1vcmlnaW5hbF90ZXh0GAEgASgJEhYKDnRydW5jYXRlZF90ZXh0GAIgASgJEhUKDXdhc190cnVuY2F0ZWQYAyABKAgSHAoUY291bGRfaGF2ZV90cnVuY2F0ZWQYBCABKAgSDAoEcGF0aBgFIAEoCSJMChRQYXJzZWRSb3V0ZXJSZXNwb25zZRIQCghjYXRlZ29yeRgBIAEoCRIRCglmaWxlbmFtZXMYAiADKAkSDwoHZG9jc2V0cxgDIAMoCSLCAgoWUG9zZWlkb25BbmFseXRpY3NFdmVudBJKChVwb3NlaWRvbl9wcl9hbmFseXRpY3MYBCABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUG9zZWlkb25QckFuYWx5dGljc0V2ZW50SAASTwoTb3V0Y29tZV9vYnNlcnZhdGlvbhgFIAEoCzIwLnJlcXVlc3RfaW5zaWdodC5Qb3NlaWRvbk91dGNvbWVPYnNlcnZhdGlvbkV2ZW50SAASLQoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIVCghldmVudF9pZBgCIAEoCUgCiAEBEhcKCnJlcXVlc3RfaWQYAyABKAlIA4gBAUIHCgVldmVudEIHCgVfdGltZUILCglfZXZlbnRfaWRCDQoLX3JlcXVlc3RfaWQirgQKH1Bvc2VpZG9uT3V0Y29tZU9ic2VydmF0aW9uRXZlbnQSEQoEbmFtZRgBIAEoCUgAiAEBEhQKB3N1YmplY3QYAiABKAlIAYgBARIZCgxzdWJqZWN0X3R5cGUYAyABKAlIAogBARITCgZzb3VyY2UYBCABKAlIA4gBARI0CgtvYnNlcnZlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARJICgR0YWdzGAYgAygLMjoucmVxdWVzdF9pbnNpZ2h0LlBvc2VpZG9uT3V0Y29tZU9ic2VydmF0aW9uRXZlbnQuVGFnc0VudHJ5EhoKDW1ldGFkYXRhX2pzb24YCCABKAlIBYgBARJOCgdtZXRyaWNzGAkgAygLMj0ucmVxdWVzdF9pbnNpZ2h0LlBvc2VpZG9uT3V0Y29tZU9ic2VydmF0aW9uRXZlbnQuTWV0cmljc0VudHJ5GisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGi4KDE1ldHJpY3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBQgcKBV9uYW1lQgoKCF9zdWJqZWN0Qg8KDV9zdWJqZWN0X3R5cGVCCQoHX3NvdXJjZUIOCgxfb2JzZXJ2ZWRfYXRCEAoOX21ldGFkYXRhX2pzb25KBAgHEAhSEGF0dHJpYnV0aW9uX3RhZ3Mi4gkKGFBvc2VpZG9uUHJBbmFseXRpY3NFdmVudBIRCgRyZXBvGAEgASgJSACIAQESFgoJcHJfbnVtYmVyGAIgASgDSAGIAQESGgoNZXZlbnRfdHJpZ2dlchgDIAEoCUgCiAEBEjMKCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQESGQoMYXV0aG9yX2xvZ2luGAUgASgJSASIAQESMgoJbWVyZ2VkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEiYKGWFwcHJvdmVkX2J5X3Jpc2tfYW5hbHl6ZXIYByABKAhIBogBARIwCiNudW1fY29tbWVudHNfYWRkcmVzc2VkX2J5X3ByX2F1dGhvchgIIAEoA0gHiAEBEh8KEnByX2F1dGhvcl9hc3Npc3RlZBgJIAEoCEgIiAEBEi0KIGRlZXBfcmV2aWV3ZXJfbnVtYmVyX29mX2NvbW1lbnRzGAogASgDSAmIAQESLQogcGFpcl9yZXZpZXdlcl9udW1iZXJfb2ZfY29tbWVudHMYCyABKANICogBARIWCglpc19yZXZlcnQYDCABKAhIC4gBARIXCgppc19idWdfZml4GA0gASgISAyIAQESGAoLbG9jX2NoYW5nZWQYDiABKANIDYgBARIfChJudW1faHVtYW5fY29tbWVudHMYDyABKANIDogBARIgChNudW1fY29zbW9zX2NvbW1lbnRzGBAgASgDSA+IAQESFQoIcGxhdGZvcm0YESABKAlIEIgBARIqCh1kZWVwX2NvZGVfcmV2aWV3ZXJfc2Vzc2lvbl9pZBgSIAEoCUgRiAEBEigKG3ByX3Jpc2tfYW5hbHl6ZXJfc2Vzc2lvbl9pZBgTIAEoCUgSiAEBEiUKGHBhaXJfcmV2aWV3ZXJfc2Vzc2lvbl9pZBgUIAEoCUgTiAEBEiEKFHByX2F1dGhvcl9zZXNzaW9uX2lkGBUgASgJSBSIAQFCBwoFX3JlcG9CDAoKX3ByX251bWJlckIQCg5fZXZlbnRfdHJpZ2dlckINCgtfY3JlYXRlZF9hdEIPCg1fYXV0aG9yX2xvZ2luQgwKCl9tZXJnZWRfYXRCHAoaX2FwcHJvdmVkX2J5X3Jpc2tfYW5hbHl6ZXJCJgokX251bV9jb21tZW50c19hZGRyZXNzZWRfYnlfcHJfYXV0aG9yQhUKE19wcl9hdXRob3JfYXNzaXN0ZWRCIwohX2RlZXBfcmV2aWV3ZXJfbnVtYmVyX29mX2NvbW1lbnRzQiMKIV9wYWlyX3Jldmlld2VyX251bWJlcl9vZl9jb21tZW50c0IMCgpfaXNfcmV2ZXJ0Qg0KC19pc19idWdfZml4Qg4KDF9sb2NfY2hhbmdlZEIVChNfbnVtX2h1bWFuX2NvbW1lbnRzQhYKFF9udW1fY29zbW9zX2NvbW1lbnRzQgsKCV9wbGF0Zm9ybUIgCh5fZGVlcF9jb2RlX3Jldmlld2VyX3Nlc3Npb25faWRCHgocX3ByX3Jpc2tfYW5hbHl6ZXJfc2Vzc2lvbl9pZEIbChlfcGFpcl9yZXZpZXdlcl9zZXNzaW9uX2lkQhcKFV9wcl9hdXRob3Jfc2Vzc2lvbl9pZCKOAQoTUG9zdHByb2Nlc3NSZXNwb25zZRI4Cgx0b2tlbml6YXRpb24YASABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uSACIAQESGgoNZXJyb3JfbWVzc2FnZRgCIAEoCUgBiAEBQg8KDV90b2tlbml6YXRpb25CEAoOX2Vycm9yX21lc3NhZ2UipwEKEFByZWZlcmVuY2VTYW1wbGUSEwoLcmVxdWVzdF9pZHMYASADKAkSPQoGc2NvcmVzGAIgAygLMi0ucmVxdWVzdF9pbnNpZ2h0LlByZWZlcmVuY2VTYW1wbGUuU2NvcmVzRW50cnkSEAoIZmVlZGJhY2sYAyABKAkaLQoLU2NvcmVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASK0AgoQUHJvbXB0Q2FjaGVVc2FnZRIUCgxpbnB1dF90b2tlbnMYASABKA0SHwoXY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMYAiABKA0SIwobY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zGAMgASgNEhkKEXRleHRfaW5wdXRfdG9rZW5zGAQgASgNEhkKEXRvb2xfaW5wdXRfdG9rZW5zGAUgASgNEhoKEnRleHRfb3V0cHV0X3Rva2VucxgGIAEoDRIaChJ0b29sX291dHB1dF90b2tlbnMYByABKA0SGQoMbW9kZWxfY2FsbGVyGAggASgJSACIAQESGQoMc2VydmljZV90aWVyGAkgASgJSAGIAQFCDwoNX21vZGVsX2NhbGxlckIPCg1fc2VydmljZV90aWVyIj8KD1B1cmNoYXNlQ3JlZGl0cxIbChNvcmJfc3Vic2NyaXB0aW9uX2lkGAEgASgJEg8KB2NyZWRpdHMYAiABKAIiUwomUklBZ2VudGljU2xhY2tib3RSZWFjdGlvblJlY2VpdmVkRXZlbnQSKQoLc2xhY2tfZXZlbnQYASABKAsyFC5zbGFja2JvdC5TbGFja0V2ZW50IjcKDVJJQmF0Y2hVcGxvYWQSEgoKYmxvYl9jb3VudBgBIAEoBRISCgp0b3RhbF9zaXplGAIgASgDIvcDChNSSUNoYXRNZXRlcmluZ0V2ZW50EjUKDm1ldGVyaW5nX2V2ZW50GAEgASgLMh0ubWV0ZXJpbmdfZXZlbnQuTWV0ZXJpbmdFdmVudBIbChNhY3Rpdml0eV9tdWx0aXBsaWVyGAIgASgBEhQKDGlucHV0X3Rva2VucxgDIAEoBRIVCg1vdXRwdXRfdG9rZW5zGAQgASgFEhkKEWNhY2hlX3JlYWRfdG9rZW5zGAUgASgFEhoKEmNhY2hlX3dyaXRlX3Rva2VucxgGIAEoBRIWCg50b3RhbF9jb3N0X3VzZBgLIAEoARISCgptb2RlbF9uYW1lGAwgASgJEhwKD2NvbnZlcnNhdGlvbl9pZBgNIAEoCUgAiAEBEhsKDnJvdXRpbmdfcmVhc29uGA4gASgJSAGIAQESHAoPcHJvdmlkZXJfcmVnaW9uGA8gASgJSAKIAQESGwoOZW5kcG9pbnRfc2NvcGUYECABKAlIA4gBARIgChNyZWdpb25hbF9tdWx0aXBsaWVyGBEgASgBSASIAQFCEgoQX2NvbnZlcnNhdGlvbl9pZEIRCg9fcm91dGluZ19yZWFzb25CEgoQX3Byb3ZpZGVyX3JlZ2lvbkIRCg9fZW5kcG9pbnRfc2NvcGVCFgoUX3JlZ2lvbmFsX211bHRpcGxpZXIi3gEKDVJJQ2hhdFJlcXVlc3QSIgoHcmVxdWVzdBgBIAEoCzIRLmNoYXQuQ2hhdFJlcXVlc3QSOQoQcmV0cmlldmVkX2NodW5rcxgDIAMoCzIfLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxDaHVuaxIzCgx0b2tlbml6YXRpb24YBCABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uEhsKE2V4dGVybmFsX3NvdXJjZV9pZHMYBSADKAkSFgoOcmVxdWVzdF9zb3VyY2UYBiABKAlKBAgCEAMiwAIKDlJJQ2hhdFJlc3BvbnNlEiQKCHJlc3BvbnNlGAEgASgLMhIuY2hhdC5DaGF0UmVzcG9uc2USMwoMdG9rZW5pemF0aW9uGAMgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSACIAQESDgoGc2lsZW50GAUgASgIEioKC3NpbGVudF90eXBlGAYgASgOMhAuY2hhdC5TaWxlbnRUeXBlSAGIAQESPwoPcmVmdXNhbF9zdW1tYXJ5GAcgASgLMiEucmVxdWVzdF9pbnNpZ2h0LlJJUmVmdXNhbFN1bW1hcnlIAogBAUIQCg5fZXJyb3JfbWVzc2FnZUIOCgxfc2lsZW50X3R5cGVCEgoQX3JlZnVzYWxfc3VtbWFyeUoECAIQAyKpAQoNUklFZGl0UmVxdWVzdBIiCgdyZXF1ZXN0GAEgASgLMhEuZWRpdC5FZGl0UmVxdWVzdBI5ChByZXRyaWV2ZWRfY2h1bmtzGAMgAygLMh8ucmVxdWVzdF9pbnNpZ2h0LlJldHJpZXZhbENodW5rEjMKDHRva2VuaXphdGlvbhgEIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5Ub2tlbml6YXRpb25KBAgCEAMicQoOUklFZGl0UmVzcG9uc2USJAoIcmVzcG9uc2UYASABKAsyEi5lZGl0LkVkaXRSZXNwb25zZRIzCgx0b2tlbml6YXRpb24YAyABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uSgQIAhADImgKDVJJRmluZE1pc3NpbmcSEgoKbW9kZWxfbmFtZRgBIAEoCRISCgpibG9iX2NvdW50GAIgASgFEhUKDW1pc3NpbmdfY291bnQYAyABKAUSGAoQbm9uaW5kZXhlZF9jb3VudBgEIAEoBSJ5ChxSSUdpdGh1YkFwcEluc3RhbGxhdGlvbkV2ZW50EiIKBnN0YXR1cxgBIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzEjUKCmV2ZW50X3R5cGUYAiABKA4yIS5yZXF1ZXN0X2luc2lnaHQuSW5zdGFsbEV2ZW50VHlwZSJACg1SSUdpdGh1YkV2ZW50Ei8KDGdpdGh1Yl9ldmVudBgBIAEoCzIZLmdpdGh1Yl9ldmVudC5HaXRodWJFdmVudCLRBAoYUklHaXRodWJQcm9jZXNzaW5nUmVzdWx0EiIKBnN0YXR1cxgBIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzEhsKE2xhc3RfdXBkYXRlZF9jb21taXQYAiABKAkSRgoKZGlmZl9pbmZvcxgDIAMoCzIyLnJlcXVlc3RfaW5zaWdodC5SSUdpdGh1YlByb2Nlc3NpbmdSZXN1bHQuRGlmZkluZm8SHQoVZmlsZW5hbWVzX3RvX2Rvd25sb2FkGAQgAygJEk0KEWlnbm9yZV9kaWZmX2luZm9zGAcgAygLMjIucmVxdWVzdF9pbnNpZ2h0LlJJR2l0aHViUHJvY2Vzc2luZ1Jlc3VsdC5EaWZmSW5mbxIkChxpZ25vcmVfZmlsZW5hbWVzX3RvX2Rvd25sb2FkGAggAygJEjAKEGNoZWNrcG9pbnRfYmxvYnMYBSABKAsyFi5iYXNlLmJsb2JfbmFtZXMuQmxvYnMSFwoPZ2l0X2FwcGx5X2Vycm9yGAYgASgJEhsKE2ZpbGVfZG93bmxvYWRfZXJyb3IYCSABKAkSFgoOZGlmZl9ibG9iX25hbWUYCiABKAkSFQoNaWdub3JlZF9maWxlcxgLIAMoCRqAAQoIRGlmZkluZm8SEAoIZmlsZW5hbWUYASABKAkSFAoMb2xkX2Jsb2JuYW1lGAIgASgJEhQKDG5ld19ibG9ibmFtZRgDIAEoCRIUCgxvbGRfZmlsZW5hbWUYBCABKAkSDwoHcmVtb3ZlZBgFIAEoCBIPCgdyZW5hbWVkGAYgASgIIhgKFlJJR2xlYW5PQXV0aFVSTFJlcXVlc3QiLAoXUklHbGVhbk9BdXRoVVJMUmVzcG9uc2USEQoJb2F1dGhfdXJsGAEgASgJItECCg5SSUdsZWFuUmVxdWVzdBIlCgdyZXF1ZXN0GAEgASgLMhQuZ2xlYW4uU2VhcmNoUmVxdWVzdBIWCg5yZXF1ZXN0X3NvdXJjZRgCIAEoCRJbChZxdWVyeV9wcm9jZXNzb3JfY29uZmlnGAMgASgLMjsucmVxdWVzdF9pbnNpZ2h0LlJJR2xlYW5SZXF1ZXN0LlJJR2xlYW5RdWVyeVByb2Nlc3NvckNvbmZpZxqiAQobUklHbGVhblF1ZXJ5UHJvY2Vzc29yQ29uZmlnEhYKDmdjcF9wcm9qZWN0X2lkGAEgASgJEhIKCmdjcF9yZWdpb24YAiABKAkSEgoKbW9kZWxfbmFtZRgDIAEoCRITCgt0ZW1wZXJhdHVyZRgEIAEoAhIZChFtYXhfb3V0cHV0X3Rva2VucxgFIAEoBRITCgttYXhfcmVzdWx0cxgGIAEoBSK2AQoPUklHbGVhblJlc3BvbnNlEicKCHJlc3BvbnNlGAEgASgLMhUuZ2xlYW4uU2VhcmNoUmVzcG9uc2USUAofZ2VuZXJhdGVfc2VhcmNoX3F1ZXJpZXNfcmVxdWVzdBgCIAEoCzInLnJlcXVlc3RfaW5zaWdodC5UaGlyZFBhcnR5TW9kZWxSZXF1ZXN0EigKIGdlbmVyYXRlX3NlYXJjaF9xdWVyaWVzX3Jlc3BvbnNlGAMgAygJIrEBChRSSUluc3RydWN0aW9uUmVxdWVzdBIpCgdyZXF1ZXN0GAEgASgLMhguZWRpdC5JbnN0cnVjdGlvblJlcXVlc3QSOQoQcmV0cmlldmVkX2NodW5rcxgCIAMoCzIfLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxDaHVuaxIzCgx0b2tlbml6YXRpb24YAyABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uIrABChVSSUluc3RydWN0aW9uUmVzcG9uc2USNAoIcmVzcG9uc2UYASABKAsyIi5lZGl0Lkluc3RydWN0aW9uQWdncmVnYXRlUmVzcG9uc2USMwoMdG9rZW5pemF0aW9uGAIgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIaCg1lcnJvcl9tZXNzYWdlGAMgASgJSACIAQFCEAoOX2Vycm9yX21lc3NhZ2UirwEKHlJJSW50ZWdyYXRpb25JbnN0YWxsYXRpb25FdmVudBIiCgZzdGF0dXMYASABKAsyEi5nb29nbGUucnBjLlN0YXR1cxI1CgpldmVudF90eXBlGAIgASgOMiEucmVxdWVzdF9pbnNpZ2h0Lkluc3RhbGxFdmVudFR5cGUSEwoLaW50ZWdyYXRpb24YAyABKAkSDQoFc2NvcGUYBCABKAkSDgoGbWV0aG9kGAUgASgJItABCg5SSU1vZGVsQVBJQ2FsbBISCgptb2RlbF9uYW1lGAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhMKBnJlZ2lvbhgDIAEoCUgAiAEBEiAKE3JlcXVlc3RfcGFyYW1zX2pzb24YBCABKAlIAYgBARIjChZyZXNwb25zZV9tZXRhZGF0YV9qc29uGAUgASgJSAKIAQFCCQoHX3JlZ2lvbkIWChRfcmVxdWVzdF9wYXJhbXNfanNvbkIZChdfcmVzcG9uc2VfbWV0YWRhdGFfanNvbiJoChBSSVJlZnVzYWxTdW1tYXJ5EhAKCHByb3ZpZGVyGAEgASgJEhIKCm1vZGVsX25hbWUYAiABKAkSDAoEdHlwZRgDIAEoCRIQCghjYXRlZ29yeRgEIAEoCRIOCgZzb3VyY2UYBSABKAkixgIKF1JJUmVtb3RlVG9vbENhbGxSZXF1ZXN0EkYKGmNvZGViYXNlX3JldHJpZXZhbF9yZXF1ZXN0GAEgASgLMiAuYWdlbnRzLkNvZGViYXNlUmV0cmlldmFsUmVxdWVzdEgAEjQKEWVkaXRfZmlsZV9yZXF1ZXN0GAIgASgLMhcuYWdlbnRzLkVkaXRGaWxlUmVxdWVzdEgAEk0KGnJpX3J1bl9yZW1vdGVfdG9vbF9yZXF1ZXN0GAQgASgLMicucmVxdWVzdF9pbnNpZ2h0LlJJUnVuUmVtb3RlVG9vbFJlcXVlc3RIABJNCh5jb2RlYmFzZV9yZXRyaWV2YWxfcmF3X3JlcXVlc3QYBSABKAsyIy5hZ2VudHMuQ29kZWJhc2VSZXRyaWV2YWxSYXdSZXF1ZXN0SABCCQoHcmVxdWVzdEoECAMQBCK8AgoYUklSZW1vdGVUb29sQ2FsbFJlc3BvbnNlEkgKG2NvZGViYXNlX3JldHJpZXZhbF9yZXNwb25zZRgBIAEoCzIhLmFnZW50cy5Db2RlYmFzZVJldHJpZXZhbFJlc3BvbnNlSAASNgoSZWRpdF9maWxlX3Jlc3BvbnNlGAIgASgLMhguYWdlbnRzLkVkaXRGaWxlUmVzcG9uc2VIABJBChhydW5fcmVtb3RlX3Rvb2xfcmVzcG9uc2UYAyABKAsyHS5hZ2VudHMuUnVuUmVtb3RlVG9vbFJlc3BvbnNlSAASTwofY29kZWJhc2VfcmV0cmlldmFsX3Jhd19yZXNwb25zZRgEIAEoCzIkLmFnZW50cy5Db2RlYmFzZVJldHJpZXZhbFJhd1Jlc3BvbnNlSABCCgoIcmVzcG9uc2UibwoWUklSdW5SZW1vdGVUb29sUmVxdWVzdBIVCgl0b29sX25hbWUYASABKAlCAhgBEhcKD3Rvb2xfaW5wdXRfanNvbhgCIAEoCRIlCgd0b29sX2lkGAMgASgOMhQuYWdlbnRzLlJlbW90ZVRvb2xJZCJLChVSSVNoYXJlR2V0Q2hhdFJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnNoYXJlLkdldENoYXRDb252ZXJzYXRpb25SZXF1ZXN0Ik4KFlJJU2hhcmVHZXRDaGF0UmVzcG9uc2USNAoIcmVzcG9uc2UYASABKAsyIi5zaGFyZS5HZXRDaGF0Q29udmVyc2F0aW9uUmVzcG9uc2UiTQoWUklTaGFyZVNhdmVDaGF0UmVxdWVzdBIzCgdyZXF1ZXN0GAEgASgLMiIuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXF1ZXN0IlAKF1JJU2hhcmVTYXZlQ2hhdFJlc3BvbnNlEjUKCHJlc3BvbnNlGAEgASgLMiMuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXNwb25zZSJ4ChtSSVNsYWNrYm90SW5zdGFsbGF0aW9uRXZlbnQSIgoGc3RhdHVzGAEgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMSNQoKZXZlbnRfdHlwZRgCIAEoDjIhLnJlcXVlc3RfaW5zaWdodC5JbnN0YWxsRXZlbnRUeXBlIosCChFSSVNsYWNrYm90UmVxdWVzdBIpCgtzbGFja19ldmVudBgBIAEoCzIULnNsYWNrYm90LlNsYWNrRXZlbnQSRAoMY2hhbm5lbF90eXBlGAIgASgOMi4ucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXF1ZXN0LkNoYW5uZWxUeXBlIoQBCgtDaGFubmVsVHlwZRIYChRVTktOT1dOX0NIQU5ORUxfVFlQRRAAEgYKAklNEAESCAoETVBJTRACEhIKDlNIQVJFRF9DSEFOTkVMEAMSEwoPUFJJVkFURV9DSEFOTkVMEAQSEwoPR0VORVJBTF9DSEFOTkVMEAUSCwoHQ0hBTk5FTBAGIv0DChJSSVNsYWNrYm90UmVzcG9uc2USDwoHY2hhbm5lbBgBIAEoCRIYChB0aHJlYWRfdGltZXN0YW1wGAIgASgJEiEKGXJlcXVlc3RfbWVzc2FnZV90aW1lc3RhbXAYAyABKAkSQgoPcmVzcG9uc2VfZXZlbnRzGAQgAygLMikucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXNwb25zZS5FdmVudBrQAQoFRXZlbnQSRwoMcG9zdF9tZXNzYWdlGAIgASgLMi8ucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXNwb25zZS5Qb3N0TWVzc2FnZUgAEksKDnVwZGF0ZV9tZXNzYWdlGAMgASgLMjEucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXNwb25zZS5VcGRhdGVNZXNzYWdlSAASKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBwoFZXZlbnQaPwoLUG9zdE1lc3NhZ2USIgoacmVzcG9uc2VfbWVzc2FnZV90aW1lc3RhbXAYASABKAkSDAoEdGV4dBgCIAEoCRpBCg1VcGRhdGVNZXNzYWdlEiIKGnJlc3BvbnNlX21lc3NhZ2VfdGltZXN0YW1wGAEgASgJEgwKBHRleHQYAiABKAkiIwoFUmFuZ2USDQoFc3RhcnQYASABKAUSCwoDZW5kGAIgASgFIqECChRSZW1lbWJlclRvb2xDYWxsRGF0YRJICgZjYWxsZXIYASABKA4yOC5yZXF1ZXN0X2luc2lnaHQuUmVtZW1iZXJUb29sQ2FsbERhdGEuUmVtZW1iZXJUb29sQ2FsbGVyEh0KFWlzX2NvbXBsZXhfbmV3X21lbW9yeRgCIAEoCBI3Cgx0cmFjaW5nX2RhdGEYAyABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSJnChJSZW1lbWJlclRvb2xDYWxsZXISDwoLVU5TUEVDSUZJRUQQABIYChRDTEFTU0lGWV9BTkRfRElTVElMTBABEg8KC09SSUVOVEFUSU9OEAISFQoRTUVNT1JZX0FDQ0VQVEFOQ0UQAyJCChJSZW1vdGVBZ2VudENyZWF0ZWQSFAoMY2hhbmdlZF9yZXBvGAEgASgIEhYKDmNoYW5nZWRfYnJhbmNoGAIgASgIImgKE1JlbW90ZUFnZW50RmVlZGJhY2sSLwoGcmF0aW5nGAEgASgOMh8ucmVxdWVzdF9pbnNpZ2h0LkZlZWRiYWNrUmF0aW5nEgwKBG5vdGUYAiABKAkSEgoKdXNlcl9hZ2VudBgDIAEoCSLaAQoWUmVtb3RlQWdlbnRMYXRlbmN5RGF0YRJUCgxsYXRlbmN5X3R5cGUYASABKA4yPi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRMYXRlbmN5RGF0YS5SZW1vdGVBZ2VudExhdGVuY3lUeXBlEhIKCmxhdGVuY3lfbXMYAiABKA0iVgoWUmVtb3RlQWdlbnRMYXRlbmN5VHlwZRIYChRVTktOT1dOX0xBVEVOQ1lfVFlQRRAAEhAKDENSRUFURV9BR0VOVBABEhAKDFJFU1VNRV9BR0VOVBACItsBCg5SZW1vdGVBZ2VudExvZxI1CgdlbnRyaWVzGAEgAygLMiQucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50TG9nRW50cnkSFwoPcmVtb3RlX2FnZW50X2lkGAIgASgJEhEKCWNvbXBvbmVudBgDIAEoCRIzCg9zdGFydF90aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDWVuZF90aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImgKE1JlbW90ZUFnZW50TG9nRW50cnkSDwoHbWVzc2FnZRgBIAEoCRIRCgl0cmFuc3BvcnQYAiABKAkSLQoJdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLHAwoeUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25EYXRhEmAKBmFjdGlvbhgBIAEoDjJQLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudE5ld1RocmVhZEJ1dHRvbkRhdGEuUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25BY3Rpb24STwoLdGhyZWFkX3R5cGUYAiABKA4yOi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25EYXRhLlRocmVhZFR5cGUSOgoOc291cmNlX2NvbnRyb2wYAyABKA4yIi5yZXF1ZXN0X2luc2lnaHQuU291cmNlQ29udHJvbFR5cGUiaAogUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25BY3Rpb24SJAogVU5LTk9XTl9ORVdfVEhSRUFEX0JVVFRPTl9BQ1RJT04QABIJCgVDTElDSxABEggKBE9QRU4QAhIJCgVDTE9TRRADIkwKClRocmVhZFR5cGUSFwoTVU5LTk9XTl9USFJFQURfVFlQRRAAEggKBENIQVQQARIJCgVBR0VOVBACEhAKDFJFTU9URV9BR0VOVBADIqUJChdSZW1vdGVBZ2VudFNlc3Npb25FdmVudBJIChdyZW1vdGVfYWdlbnRfc2V0dXBfZGF0YRgEIAEoCzIlLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudFNldHVwRGF0YUgAEkgKEXNldHVwX3NjcmlwdF9kYXRhGAUgASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2V0dXBTY3JpcHREYXRhSAASQwoUc3NoX2ludGVyYWN0aW9uX2RhdGEYBiABKAsyIy5yZXF1ZXN0X2luc2lnaHQuU1NISW50ZXJhY3Rpb25EYXRhSAASRwoWbm90aWZpY2F0aW9uX2JlbGxfZGF0YRgHIAEoCzIlLnJlcXVlc3RfaW5zaWdodC5Ob3RpZmljYXRpb25CZWxsRGF0YUgAEjkKD2RpZmZfcGFuZWxfZGF0YRgIIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5EaWZmUGFuZWxEYXRhSAASPQoRc2V0dXBfcGFnZV9vcGVuZWQYCSABKAsyIC5yZXF1ZXN0X2luc2lnaHQuU2V0dXBQYWdlT3BlbmVkSAASPwoSZ2l0aHViX2FwaV9mYWlsdXJlGAogASgLMiEucmVxdWVzdF9pbnNpZ2h0LkdpdGh1YkFQSUZhaWx1cmVIABJDChRyZW1vdGVfYWdlbnRfY3JlYXRlZBgLIAEoCzIjLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudENyZWF0ZWRIABJDChRjaGFuZ2VzX2FwcGxpZWRfZGF0YRgMIAEoCzIjLnJlcXVlc3RfaW5zaWdodC5DaGFuZ2VzQXBwbGllZERhdGFIABI5Cg9jcmVhdGVkX3ByX2RhdGEYDSABKAsyHi5yZXF1ZXN0X2luc2lnaHQuQ3JlYXRlZFBSRGF0YUgAEj8KEm1vZGVfc2VsZWN0b3JfZGF0YRgOIAEoCzIhLnJlcXVlc3RfaW5zaWdodC5Nb2RlU2VsZWN0b3JEYXRhSAASVQoecmVtb3RlX2FnZW50X3NldHVwX3dpbmRvd19kYXRhGA8gASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2V0dXBXaW5kb3dEYXRhSAASUwodcmVtb3RlX2FnZW50X3RocmVhZF9saXN0X2RhdGEYECABKAsyKi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRUaHJlYWRMaXN0RGF0YUgAEl4KI3JlbW90ZV9hZ2VudF9uZXdfdGhyZWFkX2J1dHRvbl9kYXRhGBEgASgLMi8ucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50TmV3VGhyZWFkQnV0dG9uRGF0YUgAEkwKGXJlbW90ZV9hZ2VudF9sYXRlbmN5X2RhdGEYEiABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRMYXRlbmN5RGF0YUgAEhIKCmV2ZW50X25hbWUYASABKAkSEgoKdXNlcl9hZ2VudBgCIAEoCRIXCg9yZW1vdGVfYWdlbnRfaWQYAyABKAlCDAoKZXZlbnRfZGF0YSLOAQoUUmVtb3RlQWdlbnRTZXR1cERhdGESIwobdXNlZF9nZW5lcmF0ZWRfc2V0dXBfc2NyaXB0GAEgASgIElAKC3NldHVwX3N0YXRlGAIgASgOMjsucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2V0dXBEYXRhLlJlbW90ZUFnZW50U2V0dXBTdGF0ZSI/ChVSZW1vdGVBZ2VudFNldHVwU3RhdGUSCwoHVU5LTk9XThAAEg0KCUNPTVBMRVRFRBABEgoKBkZBSUxFRBACIoMBChpSZW1vdGVBZ2VudFNldHVwU2NyaXB0RGF0YRIRCgludW1fdHJpZXMYASABKAUSGQoRbnVtX21lc3NhZ2VzX3NlbnQYAyABKAUSGgoSZ2VuZXJhdGlvbl90aW1lX21zGAQgASgFEhsKE21hbnVhbF9tb2RpZmljYXRpb24YBSABKAgilgUKGlJlbW90ZUFnZW50U2V0dXBXaW5kb3dEYXRhElgKBmFjdGlvbhgBIAEoDjJILnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudFNldHVwV2luZG93RGF0YS5SZW1vdGVBZ2VudFNldHVwV2luZG93QWN0aW9uEhEKCXJlcG9faGFzaBgCIAEoCRITCgticmFuY2hfaGFzaBgDIAEoCRIhChloYXNfc2V0dXBfc2NyaXB0X3NlbGVjdGVkGAQgASgIEiIKGmdpdGh1Yl9pbnRlZ3JhdGlvbl9lbmFibGVkGAUgASgIEhsKE251bV9yZXBvc19hdmFpbGFibGUYBiABKA0SOgoOc291cmNlX2NvbnRyb2wYByABKA4yIi5yZXF1ZXN0X2luc2lnaHQuU291cmNlQ29udHJvbFR5cGUi1QIKHFJlbW90ZUFnZW50U2V0dXBXaW5kb3dBY3Rpb24SHwobVU5LTk9XTl9TRVRVUF9XSU5ET1dfQUNUSU9OEAASCAoET1BFThABEgkKBUNMT1NFEAISDwoLU0VMRUNUX1JFUE8QAxIRCg1TRUxFQ1RfQlJBTkNIEAQSFwoTU0VMRUNUX1NFVFVQX1NDUklQVBAFEh4KGkFVVE9fR0VORVJBVEVfU0VUVVBfU0NSSVBUEAYSIAocTUFOVUFMTFlfQ1JFQVRFX1NFVFVQX1NDUklQVBAHEhkKFVRZUEVfSU5fUFJPTVBUX1dJTkRPVxAIEhgKFENMSUNLX1JFV1JJVEVfUFJPTVBUEAkSGAoURU5BQkxFX05PVElGSUNBVElPTlMQChIZChVESVNBQkxFX05PVElGSUNBVElPTlMQCxIWChJDTElDS19DUkVBVEVfQUdFTlQQDCLjAgoZUmVtb3RlQWdlbnRUaHJlYWRMaXN0RGF0YRJWCgZhY3Rpb24YASABKA4yRi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRUaHJlYWRMaXN0RGF0YS5SZW1vdGVBZ2VudFRocmVhZExpc3RBY3Rpb24SGgoSbnVtX2FnZW50c19pbl9saXN0GAIgASgNEjoKDnNvdXJjZV9jb250cm9sGAMgASgOMiIucmVxdWVzdF9pbnNpZ2h0LlNvdXJjZUNvbnRyb2xUeXBlIpUBChtSZW1vdGVBZ2VudFRocmVhZExpc3RBY3Rpb24SHQoZVU5LTk9XTl9BR0VOVF9MSVNUX0FDVElPThAAEggKBE9QRU4QARIJCgVDTE9TRRACEhAKDFNFTEVDVF9BR0VOVBADEhAKDERFTEVURV9BR0VOVBAEEg0KCVBJTl9BR0VOVBAFEg8KC1VOUElOX0FHRU5UEAYifgoaUmVtb3RlQWdlbnRXb3Jrc3BhY2VVcHRpbWUSMAoMdXB0aW1lX3N0YXJ0GAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cHRpbWVfZW5kGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJQChxSZW1vdGVBZ2VudHNBZGRTU0hLZXlSZXF1ZXN0EjAKB3JlcXVlc3QYASABKAsyHy5yZW1vdGVfYWdlbnRzLkFkZFNTSEtleVJlcXVlc3QiUwodUmVtb3RlQWdlbnRzQWRkU1NIS2V5UmVzcG9uc2USMgoIcmVzcG9uc2UYASABKAsyIC5yZW1vdGVfYWdlbnRzLkFkZFNTSEtleVJlc3BvbnNlIkYKF1JlbW90ZUFnZW50c0NoYXRSZXF1ZXN0EisKB3JlcXVlc3QYASABKAsyGi5yZW1vdGVfYWdlbnRzLkNoYXRSZXF1ZXN0IkkKGFJlbW90ZUFnZW50c0NoYXRSZXNwb25zZRItCghyZXNwb25zZRgBIAEoCzIbLnJlbW90ZV9hZ2VudHMuQ2hhdFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c0NyZWF0ZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuQ3JlYXRlQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c0NyZWF0ZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5DcmVhdGVBZ2VudFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c0RlbGV0ZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuRGVsZXRlQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c0RlbGV0ZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5EZWxldGVBZ2VudFJlc3BvbnNlIlwKIlJlbW90ZUFnZW50c0dlbmVyYXRlU3VtbWFyeVJlcXVlc3QSNgoHcmVxdWVzdBgBIAEoCzIlLnJlbW90ZV9hZ2VudHMuR2VuZXJhdGVTdW1tYXJ5UmVxdWVzdCJfCiNSZW1vdGVBZ2VudHNHZW5lcmF0ZVN1bW1hcnlSZXNwb25zZRI4CghyZXNwb25zZRgBIAEoCzImLnJlbW90ZV9hZ2VudHMuR2VuZXJhdGVTdW1tYXJ5UmVzcG9uc2UiVQocUmVtb3RlQWdlbnRzSW50ZXJydXB0UmVxdWVzdBI1CgdyZXF1ZXN0GAEgASgLMiQucmVtb3RlX2FnZW50cy5JbnRlcnJ1cHRBZ2VudFJlcXVlc3QiWAodUmVtb3RlQWdlbnRzSW50ZXJydXB0UmVzcG9uc2USNwoIcmVzcG9uc2UYASABKAsyJS5yZW1vdGVfYWdlbnRzLkludGVycnVwdEFnZW50UmVzcG9uc2UiTQoYUmVtb3RlQWdlbnRzUGF1c2VSZXF1ZXN0EjEKB3JlcXVlc3QYASABKAsyIC5yZW1vdGVfYWdlbnRzLlBhdXNlQWdlbnRSZXF1ZXN0IlAKGVJlbW90ZUFnZW50c1BhdXNlUmVzcG9uc2USMwoIcmVzcG9uc2UYASABKAsyIS5yZW1vdGVfYWdlbnRzLlBhdXNlQWdlbnRSZXNwb25zZSJcCiJSZW1vdGVBZ2VudHNSZXN1bWVIaW50QWdlbnRSZXF1ZXN0EjYKB3JlcXVlc3QYASABKAsyJS5yZW1vdGVfYWdlbnRzLlJlc3VtZUhpbnRBZ2VudFJlcXVlc3QiXwojUmVtb3RlQWdlbnRzUmVzdW1lSGludEFnZW50UmVzcG9uc2USOAoIcmVzcG9uc2UYASABKAsyJi5yZW1vdGVfYWdlbnRzLlJlc3VtZUhpbnRBZ2VudFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c1Jlc3VtZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuUmVzdW1lQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c1Jlc3VtZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5SZXN1bWVBZ2VudFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c1VwZGF0ZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuVXBkYXRlQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c1VwZGF0ZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5VcGRhdGVBZ2VudFJlc3BvbnNlImcKDlJlcXVlc3RCbG9ja2VkEi0KDm9wYXF1ZV91c2VyX2lkGAEgASgLMhUuYXV0aF9lbnRpdGllcy5Vc2VySWQSEgoKdXNlcl9lbWFpbBgCIAEoCRISCgpjaGVja190eXBlGAMgASgJIoM+CgxSZXF1ZXN0RXZlbnQSNgoNaW5mZXJfcmVxdWVzdBgCIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5JbmZlclJlcXVlc3RIABJJChdjb21wbGV0aW9uX2hvc3RfcmVxdWVzdBgIIAEoCzImLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uSG9zdFJlcXVlc3RIABJJChdpbmZlcmVuY2VfaG9zdF9yZXNwb25zZRgKIAEoCzImLnJlcXVlc3RfaW5zaWdodC5JbmZlcmVuY2VIb3N0UmVzcG9uc2VIABJLChhjb21wbGV0aW9uX2hvc3RfcmVzcG9uc2UYCSABKAsyJy5yZXF1ZXN0X2luc2lnaHQuQ29tcGxldGlvbkhvc3RSZXNwb25zZUgAEj0KEWFwaV9odHRwX3Jlc3BvbnNlGAcgASgLMiAucmVxdWVzdF9pbnNpZ2h0LkFwaUh0dHBSZXNwb25zZUgAEk0KGWVtYmVkZGluZ3Nfc2VhcmNoX3JlcXVlc3QYCyABKAsyKC5yZXF1ZXN0X2luc2lnaHQuRW1iZWRkaW5nc1NlYXJjaFJlcXVlc3RIABJPChplbWJlZGRpbmdzX3NlYXJjaF9yZXNwb25zZRgMIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5FbWJlZGRpbmdzU2VhcmNoUmVzcG9uc2VIABI6Cg9jb21wbGV0aW9uX2VtaXQYDSABKAsyHy5yZXF1ZXN0X2luc2lnaHQuQ29tcGxldGlvbkVtaXRIABJGChVjb21wbGV0aW9uX3Jlc29sdXRpb24YDiABKAsyJS5yZXF1ZXN0X2luc2lnaHQuQ29tcGxldGlvblJlc29sdXRpb25IABI7ChFlZGl0X2hvc3RfcmVxdWVzdBgPIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5SSUVkaXRSZXF1ZXN0SAASPQoSZWRpdF9ob3N0X3Jlc3BvbnNlGBAgASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlJJRWRpdFJlc3BvbnNlSAASQgoTY29tcGxldGlvbl9mZWVkYmFjaxgRIAEoCzIjLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uRmVlZGJhY2tIABIuCgllZGl0X2VtaXQYEiABKAsyGS5yZXF1ZXN0X2luc2lnaHQuRWRpdEVtaXRIABI6Cg9lZGl0X3Jlc29sdXRpb24YEyABKAsyHy5yZXF1ZXN0X2luc2lnaHQuRWRpdFJlc29sdXRpb25IABI8ChByZXF1ZXN0X21ldGFkYXRhGBQgASgLMiAucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RNZXRhZGF0YUgAEkAKEnJldHJpZXZhbF9yZXNwb25zZRgVIAEoCzIiLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxSZXNwb25zZUgAEjsKEWNoYXRfaG9zdF9yZXF1ZXN0GBYgASgLMh4ucmVxdWVzdF9pbnNpZ2h0LlJJQ2hhdFJlcXVlc3RIABI9ChJjaGF0X2hvc3RfcmVzcG9uc2UYFyABKAsyHy5yZXF1ZXN0X2luc2lnaHQuUklDaGF0UmVzcG9uc2VIABI6Cg9leHRlbnNpb25fZXJyb3IYGCABKAsyHy5yZXF1ZXN0X2luc2lnaHQuRXh0ZW5zaW9uRXJyb3JIABJJChdjb21wbGV0aW9uX3Bvc3RfcHJvY2VzcxgZIAEoCzImLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uUG9zdFByb2Nlc3NIABI+ChFwcmVmZXJlbmNlX3NhbXBsZRgbIAEoCzIhLnJlcXVlc3RfaW5zaWdodC5QcmVmZXJlbmNlU2FtcGxlSAASNgoNY2hhdF9mZWVkYmFjaxgcIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5DaGF0RmVlZGJhY2tIABI+ChFyZXJhbmtlcl9yZXNwb25zZRgdIAEoCzIhLnJlcXVlc3RfaW5zaWdodC5SZXJhbmtlclJlc3BvbnNlSAASTwoaY2xpZW50X2NvbXBsZXRpb25fdGltZWxpbmUYICABKAsyKS5yZXF1ZXN0X2luc2lnaHQuQ2xpZW50Q29tcGxldGlvblRpbWVsaW5lSAASSQoYaW5zdHJ1Y3Rpb25faG9zdF9yZXF1ZXN0GCYgASgLMiUucmVxdWVzdF9pbnNpZ2h0LlJJSW5zdHJ1Y3Rpb25SZXF1ZXN0SAASSwoZaW5zdHJ1Y3Rpb25faG9zdF9yZXNwb25zZRgnIAEoCzImLnJlcXVlc3RfaW5zaWdodC5SSUluc3RydWN0aW9uUmVzcG9uc2VIABI+ChBzbGFja2JvdF9yZXF1ZXN0GCggASgLMiIucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXF1ZXN0SAASQAoRc2xhY2tib3RfcmVzcG9uc2UYKSABKAsyIy5yZXF1ZXN0X2luc2lnaHQuUklTbGFja2JvdFJlc3BvbnNlSAASNgoMZ2l0aHViX2V2ZW50GCogASgLMh4ucmVxdWVzdF9pbnNpZ2h0LlJJR2l0aHViRXZlbnRIABJNChhnaXRodWJfcHJvY2Vzc2luZ19yZXN1bHQYKyABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUklHaXRodWJQcm9jZXNzaW5nUmVzdWx0SAASSgoXc2hhcmVfc2F2ZV9jaGF0X3JlcXVlc3QYLCABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUklTaGFyZVNhdmVDaGF0UmVxdWVzdEgAEkwKGHNoYXJlX3NhdmVfY2hhdF9yZXNwb25zZRgtIAEoCzIoLnJlcXVlc3RfaW5zaWdodC5SSVNoYXJlU2F2ZUNoYXRSZXNwb25zZUgAEkgKFnNoYXJlX2dldF9jaGF0X3JlcXVlc3QYLiABKAsyJi5yZXF1ZXN0X2luc2lnaHQuUklTaGFyZUdldENoYXRSZXF1ZXN0SAASSgoXc2hhcmVfZ2V0X2NoYXRfcmVzcG9uc2UYLyABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUklTaGFyZUdldENoYXRSZXNwb25zZUgAElAKG3NtYXJ0X3Bhc3RlX2NsaWVudF90aW1lbGluZRgwIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5TbWFydFBhc3RlQ2xpZW50VGltZWxpbmVIABJHChZzbWFydF9wYXN0ZV9yZXNvbHV0aW9uGDEgASgLMiUucmVxdWVzdF9pbnNpZ2h0LlNtYXJ0UGFzdGVSZXNvbHV0aW9uSAASVgodZ2l0aHViX2FwcF9pbnN0YWxsYXRpb25fZXZlbnQYMiABKAsyLS5yZXF1ZXN0X2luc2lnaHQuUklHaXRodWJBcHBJbnN0YWxsYXRpb25FdmVudEgAElMKG3NsYWNrYm90X2luc3RhbGxhdGlvbl9ldmVudBgzIAEoCzIsLnJlcXVlc3RfaW5zaWdodC5SSVNsYWNrYm90SW5zdGFsbGF0aW9uRXZlbnRIABJIChZpbnN0cnVjdGlvbl9yZXNvbHV0aW9uGDQgASgLMiYucmVxdWVzdF9pbnNpZ2h0Lkluc3RydWN0aW9uUmVzb2x1dGlvbkgAEjwKEGluc3RydWN0aW9uX2VtaXQYNSABKAsyIC5yZXF1ZXN0X2luc2lnaHQuSW5zdHJ1Y3Rpb25FbWl0SAASPgoRc2xhY2tib3RfZmVlZGJhY2sYNiABKAsyIS5yZXF1ZXN0X2luc2lnaHQuU2xhY2tib3RGZWVkYmFja0gAEjgKDWdsZWFuX3JlcXVlc3QYOyABKAsyHy5yZXF1ZXN0X2luc2lnaHQuUklHbGVhblJlcXVlc3RIABI6Cg5nbGVhbl9yZXNwb25zZRg8IAEoCzIgLnJlcXVlc3RfaW5zaWdodC5SSUdsZWFuUmVzcG9uc2VIABJKChdnbGVhbl9vYXV0aF91cmxfcmVxdWVzdBg9IAEoCzInLnJlcXVlc3RfaW5zaWdodC5SSUdsZWFuT0F1dGhVUkxSZXF1ZXN0SAASTAoYZ2xlYW5fb2F1dGhfdXJsX3Jlc3BvbnNlGD4gASgLMigucmVxdWVzdF9pbnNpZ2h0LlJJR2xlYW5PQXV0aFVSTFJlc3BvbnNlSAASTAoYcmVtb3RlX3Rvb2xfY2FsbF9yZXF1ZXN0GEEgASgLMigucmVxdWVzdF9pbnNpZ2h0LlJJUmVtb3RlVG9vbENhbGxSZXF1ZXN0SAASTgoZcmVtb3RlX3Rvb2xfY2FsbF9yZXNwb25zZRhCIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5SSVJlbW90ZVRvb2xDYWxsUmVzcG9uc2VIABI7ChBzdWJfYWdlbnRfZGlhbG9nGEMgASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlN1YkFnZW50RGlhbG9nSAASPwoScHJvbXB0X2NhY2hlX3VzYWdlGEQgASgLMiEucmVxdWVzdF9pbnNpZ2h0LlByb21wdENhY2hlVXNhZ2VIABI1Cg10b29sX3VzZV9kYXRhGEUgASgLMhwucmVxdWVzdF9pbnNpZ2h0LlRvb2xVc2VEYXRhSAASOgoPcm91dGVyX3Jlc3BvbnNlGEYgASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlJvdXRlclJlc3BvbnNlSAASRAoUcG9zdHByb2Nlc3NfcmVzcG9uc2UYRyABKAsyJC5yZXF1ZXN0X2luc2lnaHQuUG9zdHByb2Nlc3NSZXNwb25zZUgAEkEKE2FnZW50X3JlcXVlc3RfZXZlbnQYSCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuQWdlbnRSZXF1ZXN0RXZlbnRIABI4Cg5hZ2VudF9mZWVkYmFjaxhJIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5BZ2VudEZlZWRiYWNrSAASOgoPcmVxdWVzdF9ibG9ja2VkGEogASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RCbG9ja2VkSAASQAoScmVxdWVzdF9zdXNwaWNpb3VzGEsgASgLMiIucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RTdXNwaWNpb3VzSAASQwoUdG9rZW5fZXhjaGFuZ2VfZXJyb3IYTCABKAsyIy5yZXF1ZXN0X2luc2lnaHQuVG9rZW5FeGNoYW5nZUVycm9ySAASNgoMZmluZF9taXNzaW5nGE0gASgLMh4ucmVxdWVzdF9pbnNpZ2h0LlJJRmluZE1pc3NpbmdIABI2CgxiYXRjaF91cGxvYWQYTiABKAsyHi5yZXF1ZXN0X2luc2lnaHQuUklCYXRjaFVwbG9hZEgAElIKHHJlbW90ZV9hZ2VudHNfY3JlYXRlX3JlcXVlc3QYTyABKAsyKi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzQ3JlYXRlUmVxdWVzdEgAElQKHXJlbW90ZV9hZ2VudHNfY3JlYXRlX3Jlc3BvbnNlGFAgASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50c0NyZWF0ZVJlc3BvbnNlSAASTgoacmVtb3RlX2FnZW50c19jaGF0X3JlcXVlc3QYUSABKAsyKC5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzQ2hhdFJlcXVlc3RIABJQChtyZW1vdGVfYWdlbnRzX2NoYXRfcmVzcG9uc2UYUiABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzQ2hhdFJlc3BvbnNlSAASWAofcmVtb3RlX2FnZW50c19pbnRlcnJ1cHRfcmVxdWVzdBhTIAEoCzItLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNJbnRlcnJ1cHRSZXF1ZXN0SAASWgogcmVtb3RlX2FnZW50c19pbnRlcnJ1cHRfcmVzcG9uc2UYVCABKAsyLi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzSW50ZXJydXB0UmVzcG9uc2VIABJSChxyZW1vdGVfYWdlbnRzX2RlbGV0ZV9yZXF1ZXN0GFUgASgLMioucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50c0RlbGV0ZVJlcXVlc3RIABJUCh1yZW1vdGVfYWdlbnRzX2RlbGV0ZV9yZXNwb25zZRhWIAEoCzIrLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNEZWxldGVSZXNwb25zZUgAEloKIXJlbW90ZV9hZ2VudHNfYWRkX3NzaF9rZXlfcmVxdWVzdBhXIAEoCzItLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNBZGRTU0hLZXlSZXF1ZXN0SAASXAoicmVtb3RlX2FnZW50c19hZGRfc3NoX2tleV9yZXNwb25zZRhYIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNBZGRTU0hLZXlSZXNwb25zZUgAElIKHGRhaWx5X3JlcXVlc3RfbGltaXRfZXhjZWVkZWQYWSABKAsyKi5yZXF1ZXN0X2luc2lnaHQuRGFpbHlSZXF1ZXN0TGltaXRFeGNlZWRlZEgAEj0KEWNoYXRfdXNlcl9tZXNzYWdlGFogASgLMiAucmVxdWVzdF9pbnNpZ2h0LkNoYXRVc2VyTWVzc2FnZUgAEkgKFnBhcmVudGhlc2lzX3RydW5jYXRpb24YWyABKAsyJi5yZXF1ZXN0X2luc2lnaHQuUGFyZW50aGVzaXNUcnVuY2F0aW9uSAASRQoVcmVtb3RlX2FnZW50X2ZlZWRiYWNrGFwgASgLMiQucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50RmVlZGJhY2tIABJQChtyZW1vdGVfYWdlbnRzX3BhdXNlX3JlcXVlc3QYXSABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzUGF1c2VSZXF1ZXN0SAASUgoccmVtb3RlX2FnZW50c19wYXVzZV9yZXNwb25zZRheIAEoCzIqLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNQYXVzZVJlc3BvbnNlSAASUgoccmVtb3RlX2FnZW50c19yZXN1bWVfcmVxdWVzdBhfIAEoCzIqLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNSZXN1bWVSZXF1ZXN0SAASVAodcmVtb3RlX2FnZW50c19yZXN1bWVfcmVzcG9uc2UYYCABKAsyKy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzUmVzdW1lUmVzcG9uc2VIABI5Cg5tb2RlbF9hcGlfY2FsbBhhIAEoCzIfLnJlcXVlc3RfaW5zaWdodC5SSU1vZGVsQVBJQ2FsbEgAEmYKJ3JlbW90ZV9hZ2VudHNfcmVzdW1lX2hpbnRfYWdlbnRfcmVxdWVzdBhiIAEoCzIzLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNSZXN1bWVIaW50QWdlbnRSZXF1ZXN0SAASaAoocmVtb3RlX2FnZW50c19yZXN1bWVfaGludF9hZ2VudF9yZXNwb25zZRhjIAEoCzI0LnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNSZXN1bWVIaW50QWdlbnRSZXNwb25zZUgAElIKHHJlbW90ZV9hZ2VudHNfdXBkYXRlX3JlcXVlc3QYZCABKAsyKi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzVXBkYXRlUmVxdWVzdEgAElQKHXJlbW90ZV9hZ2VudHNfdXBkYXRlX3Jlc3BvbnNlGGUgASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50c1VwZGF0ZVJlc3BvbnNlSAASZQomcmVtb3RlX2FnZW50c19nZW5lcmF0ZV9zdW1tYXJ5X3JlcXVlc3QYZiABKAsyMy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzR2VuZXJhdGVTdW1tYXJ5UmVxdWVzdEgAEmcKJ3JlbW90ZV9hZ2VudHNfZ2VuZXJhdGVfc3VtbWFyeV9yZXNwb25zZRhnIAEoCzI0LnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNHZW5lcmF0ZVN1bW1hcnlSZXNwb25zZUgAEj4KEW1lbW9yaWVzX2ZlZWRiYWNrGGggASgLMiEucmVxdWVzdF9pbnNpZ2h0Lk1lbW9yaWVzRmVlZGJhY2tIABI/ChJjbGlfYWdlbnRfZmVlZGJhY2sYaSABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQ2xpQWdlbnRGZWVkYmFja0gAEkoKGGFwaV9odHRwX3JlcXVlc3RfZGV0YWlscxhqIAEoCzImLnJlcXVlc3RfaW5zaWdodC5BcGlIdHRwUmVxdWVzdERldGFpbHNIABJZCiByZXZpZXdfYm90X3B1bGxfcmVxdWVzdF9yZXZpZXdlZBhrIAEoCzItLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RQdWxsUmVxdWVzdFJldmlld2VkSAASTAoZcmV2aWV3X2JvdF9lbW9qaV9yZWFjdGlvbhhsIAEoCzInLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RFbW9qaVJlYWN0aW9uSAASQwoTY2hhdF9tZXRlcmluZ19ldmVudBhtIAEoCzIkLnJlcXVlc3RfaW5zaWdodC5SSUNoYXRNZXRlcmluZ0V2ZW50SAASTAoZcmV2aWV3X2JvdF9hdXRvbWF0ZWRfZXZhbBhuIAEoCzInLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RBdXRvbWF0ZWRFdmFsSAASSgoYcmV2aWV3X2JvdF9wb3N0ZWRfcmV2aWV3GG8gASgLMiYucmVxdWVzdF9pbnNpZ2h0LlJldmlld0JvdFBvc3RlZFJldmlld0gAEkwKGXJldmlld19ib3RfcG9zdGVkX2NvbW1lbnQYcCABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUmV2aWV3Qm90UG9zdGVkQ29tbWVudEgAEk4KGmNoYXRfaW5wdXRfY29tcGxldGlvbl9lbWl0GHEgASgLMigucmVxdWVzdF9pbnNpZ2h0LkNoYXRJbnB1dENvbXBsZXRpb25FbWl0SAASWgogY2hhdF9pbnB1dF9jb21wbGV0aW9uX3Jlc29sdXRpb24YciABKAsyLi5yZXF1ZXN0X2luc2lnaHQuQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb25IABJOChpyZXZpZXdfYm90X3JlcG9zX2Nvbm5lY3RlZBhzIAEoCzIoLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RSZXBvc0Nvbm5lY3RlZEgAEmsKKGFnZW50aWNfc2xhY2tib3RfcmVhY3Rpb25fcmVjZWl2ZWRfZXZlbnQYdCABKAsyNy5yZXF1ZXN0X2luc2lnaHQuUklBZ2VudGljU2xhY2tib3RSZWFjdGlvblJlY2VpdmVkRXZlbnRIABJOChpyZXZpZXdfYm90X2FnZW50X2NvbXBsZXRlZBh2IAEoCzIoLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RBZ2VudENvbXBsZXRlZEgAElMKGmdpdGh1Yl9wdWxsX3JlcXVlc3RfbWVyZ2VkGHcgASgLMi0ucmVxdWVzdF9pbnNpZ2h0LkdpdGh1YlB1bGxSZXF1ZXN0TWVyZ2VkRXZlbnRIABJJChdidXRsZXJfcm91dGluZ19yZXNwb25zZRh4IAEoCzImLnJlcXVlc3RfaW5zaWdodC5CdXRsZXJSb3V0aW5nUmVzcG9uc2VIABI6Cg9jb3Ntb3NfZmVlZGJhY2sYeSABKAsyHy5yZXF1ZXN0X2luc2lnaHQuQ29zbW9zRmVlZGJhY2tIABJZCh5pbnRlZ3JhdGlvbl9pbnN0YWxsYXRpb25fZXZlbnQYeiABKAsyLy5yZXF1ZXN0X2luc2lnaHQuUklJbnRlZ3JhdGlvbkluc3RhbGxhdGlvbkV2ZW50SAASKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoIZXZlbnRfaWQYJSABKAlIAYgBAUIHCgVldmVudEILCglfZXZlbnRfaWRKBAgDEARKBAgEEAVKBAgFEAZKBAg3EDhKBAg4EDlKBAg5EDpKBAg6EDtKBAg/EEBKBAhAEEFKBAgaEBtKBAgeEB9KBAgfECBKBAghECJKBAgiECNKBAgjECRKBAgkECVKBAh1EHZSFGxsbV9nZW5lcmF0ZV9yZXF1ZXN0UhVsbG1fZ2VuZXJhdGVfcmVzcG9uc2VSFm5leHRfZWRpdF9ob3N0X3JlcXVlc3RSF25leHRfZWRpdF9ob3N0X3Jlc3BvbnNlUhJuZXh0X2VkaXRfZmVlZGJhY2tSFG5leHRfZWRpdF9yZXNvbHV0aW9uUg5uZXh0X2VkaXRfZW1pdCLEAgoPUmVxdWVzdE1ldGFkYXRhEjIKDHJlcXVlc3RfdHlwZRgBIAEoDjIcLnJlcXVlc3RfaW5zaWdodC5SZXF1ZXN0VHlwZRISCgpzZXNzaW9uX2lkGAIgASgJEg8KB3VzZXJfaWQYAyABKAkSEgoKdXNlcl9hZ2VudBgEIAEoCRItCg5vcGFxdWVfdXNlcl9pZBgFIAEoCzIVLmF1dGhfZW50aXRpZXMuVXNlcklkEhcKCnVzZXJfZW1haWwYBiABKAlIAIgBARIRCglzb3VyY2VfaXAYByABKAkSKAoIYm90X3R5cGUYCCABKA4yFi5hdXRoX2VudGl0aWVzLkJvdFR5cGUSHAoPY29udmVyc2F0aW9uX2lkGAkgASgJSAGIAQFCDQoLX3VzZXJfZW1haWxCEgoQX2NvbnZlcnNhdGlvbl9pZCJqChFSZXF1ZXN0U3VzcGljaW91cxItCg5vcGFxdWVfdXNlcl9pZBgBIAEoCzIVLmF1dGhfZW50aXRpZXMuVXNlcklkEhIKCnVzZXJfZW1haWwYAiABKAkSEgoKY2hlY2tfdHlwZRgDIAEoCSK0AQoNUmVyYW5rZXJDaHVuaxIMCgR0ZXh0GAEgASgJEgwKBHBhdGgYAiABKAkSEwoLY2hhcl9vZmZzZXQYAyABKAUSEAoIY2hhcl9lbmQYBCABKAUSEQoJYmxvYl9uYW1lGAUgASgJEhMKC2NodW5rX2luZGV4GAYgASgFEg4KBm9yaWdpbhgHIAEoCRINCgVzY29yZRgIIAEoAhIZChFzaG9ydF9kZXNjcmlwdGlvbhgJIAEoCSKKAQoQUmVyYW5rZXJSZXNwb25zZRI3Cg9yZXJhbmtlZF9jaHVua3MYASADKAsyHi5yZXF1ZXN0X2luc2lnaHQuUmVyYW5rZXJDaHVuaxI3ChByZXJhbmtlcl9wcm9tcHRzGAMgAygLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbkoECAIQAyLiAQoOUmV0cmlldmFsQ2h1bmsSDAoEdGV4dBgFIAEoCRIMCgRwYXRoGAYgASgJEhMKC2NoYXJfb2Zmc2V0GAQgASgFEhAKCGNoYXJfZW5kGAcgASgFEhEKCWJsb2JfbmFtZRgCIAEoCRITCgtjaHVua19pbmRleBgDIAEoBRIOCgZvcmlnaW4YCCABKAkSDQoFc2NvcmUYCSABKAISMgoJdGltZXN0YW1wGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgwKCl90aW1lc3RhbXBKBAgBEAIiwQEKEVJldHJpZXZhbFJlc3BvbnNlEjYKDnJldHJpZXZhbF90eXBlGAEgASgOMh4ucmVxdWVzdF9pbnNpZ2h0LlJldHJpZXZhbFR5cGUSOQoQcmV0cmlldmVkX2NodW5rcxgDIAMoCzIfLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxDaHVuaxIzCgxxdWVyeV9wcm9tcHQYBCABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uSgQIAhADItsHChFSZXRyaWV2YWxUb29sRGF0YRIWCg5yZXRyaWV2YWxfbW9kZRgBIAEoCRIYChB0b3RhbF9lbGFwc2VkX21zGAIgASgFEhsKE2FwaV9jYWxsX2VsYXBzZWRfbXMYAyABKAUSGQoRcmVyYW5rX2VsYXBzZWRfbXMYBCABKAUSGQoRZW5yaWNoX2VsYXBzZWRfbXMYBSABKAUSJQodY29kZWJhc2VfcmV0cmlldmFsX2VsYXBzZWRfbXMYBiABKAUSKQohY29udmVyc2F0aW9uX3JldHJpZXZhbF9lbGFwc2VkX21zGAcgASgFEikKIWNvbnZlcnNhdGlvbl9pbml0aWFsX3JldHJpZXZhbF9tcxgIIAEoBRInCh9jb252ZXJzYXRpb25fcXVlcnlfcmV3cml0aW5nX21zGAkgASgFEioKImNvbnZlcnNhdGlvbl9mb2xsb3d1cF9yZXRyaWV2YWxfbXMYCiABKAUSGwoTYmxvYl9uYW1lX2xvb2t1cF9tcxgLIAEoBRIhChljb2RlYmFzZV9jaHVua3NfcmV0cmlldmVkGAwgASgFEiMKG2NvbnZlcnNhdGlvbl9jaHVua3NfaW5pdGlhbBgNIAEoBRImCh5jb252ZXJzYXRpb25fcXVlcmllc19nZW5lcmF0ZWQYDiABKAUSJAocY29udmVyc2F0aW9uX2NodW5rc19mb2xsb3d1cBgPIAEoBRIkChxjb252ZXJzYXRpb25fY2h1bmtzX2NvbWJpbmVkGBAgASgFEigKIGNvbnZlcnNhdGlvbl9jaHVua3NfYWZ0ZXJfcmVyYW5rGBEgASgFEioKImNvZGViYXNlX3Jlc3VsdF9sZW5fcHJlX3RydW5jYXRpb24YEiABKAUSGwoTY29kZWJhc2VfcmVzdWx0X2xlbhgTIAEoBRIuCiZjb252ZXJzYXRpb25fcmVzdWx0X2xlbl9wcmVfdHJ1bmNhdGlvbhgUIAEoBRIfChdjb252ZXJzYXRpb25fcmVzdWx0X2xlbhgVIAEoBRIbChNjb21iaW5lZF9yZXN1bHRfbGVuGBYgASgFEhQKDHRvdGFsX2J1ZGdldBgXIAEoBRIXCg9jb2RlYmFzZV9idWRnZXQYGCABKAUSGwoTY29udmVyc2F0aW9uX2J1ZGdldBgZIAEoBRIaChJjb2RlYmFzZV90cnVuY2F0ZWQYGiABKAgSHgoWY29udmVyc2F0aW9uX3RydW5jYXRlZBgbIAEoCBIXCg9maW5hbF90cnVuY2F0ZWQYHCABKAgSFAoMaXNfc3ViX2FnZW50GB0gASgIIqkBChdSZXZpZXdCb3RBZ2VudENvbXBsZXRlZBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSEgoKcmVwb19vd25lchgCIAEoCRIRCglyZXBvX25hbWUYAyABKAkSEQoJcHJfbnVtYmVyGAQgASgNEg8KB291dGNvbWUYBSABKAkSDwoHYXR0ZW1wdBgGIAEoBRIZChFyZXZpZXdfcmVxdWVzdF9pZBgHIAEoCSKxAgoWUmV2aWV3Qm90QXV0b21hdGVkRXZhbBIUCgxyZXBvX25vZGVfaWQYASABKAkSEQoJcHJfbnVtYmVyGAIgASgNEhcKD3JlbW90ZV9hZ2VudF9pZBgDIAEoCRIRCglhZGRyZXNzZWQYBCABKAgSEgoKY29tbWVudF9pZBgFIAEoCRIYChBwcmltYXJ5X2NhdGVnb3J5GAYgASgJEhMKC3N1YmNhdGVnb3J5GAcgASgJEhsKE2F1Z21lbnRfYm90X2NvbW1lbnQYCCABKAgSHQoVY3VzdG9tX2d1aWRlbGluZV9hcmVhGAkgASgJEhsKE2N1c3RvbV9ndWlkZWxpbmVfaWQYCiABKAkSFwoKYWN0aW9uYWJsZRgLIAEoCEgAiAEBQg0KC19hY3Rpb25hYmxlIm8KFlJldmlld0JvdEVtb2ppUmVhY3Rpb24SFAoMcmVwb19ub2RlX2lkGAEgASgJEhEKCXByX251bWJlchgCIAEoDRIdChVjb21tZW50X2Rpc2N1c3Npb25faWQYAyABKA0SDQoFZW1vamkYBCABKAkiewoWUmV2aWV3Qm90UG9zdGVkQ29tbWVudBIRCglyZXZpZXdfaWQYASABKAkSEgoKY29tbWVudF9pZBgCIAEoCRIRCglwcl9udW1iZXIYAyABKA0SEAoIc2V2ZXJpdHkYBCABKAkSFQoNZnBfbGlrZWxpaG9vZBgFIAEoAiJAChVSZXZpZXdCb3RQb3N0ZWRSZXZpZXcSFAoMbnVtX2NvbW1lbnRzGAEgASgNEhEKCXJldmlld19pZBgCIAEoCSKPCQocUmV2aWV3Qm90UHVsbFJlcXVlc3RSZXZpZXdlZBIUCgxyZXBvX25vZGVfaWQYASABKAkSEQoJcHJfbnVtYmVyGAIgASgNEg8KB3RyaWdnZXIYAyABKAkSFwoPcmVtb3RlX2FnZW50X2lkGAQgASgJEhIKCnJlcG9fb3duZXIYBSABKAkSEQoJcmVwb19uYW1lGAYgASgJEhsKE2F1dGhvcl9naXRodWJfbG9naW4YByABKAkSGwoTYXV0aG9yX2dpdGh1Yl9lbWFpbBgIIAEoCRIdChVhdXRob3JfZ2l0aHViX25vZGVfaWQYCSABKAkSKAobY29tbWVudF9hdXRob3JfZ2l0aHViX2xvZ2luGAogASgJSACIAQESKAobY29tbWVudF9hdXRob3JfZ2l0aHViX2VtYWlsGAsgASgJSAGIAQESKgodY29tbWVudF9hdXRob3JfZ2l0aHViX25vZGVfaWQYDCABKAlIAogBARIYCgtsaW5lc19hZGRlZBgNIAEoDUgDiAEBEhoKDWxpbmVzX3JlbW92ZWQYDiABKA1IBIgBARISCgptb2RlbF9uYW1lGA8gASgJEh0KEGVzdGltYXRlZF90b2tlbnMYECABKA1IBYgBARIYChB1c2VkX2xhcmdlX21vZGVsGBEgASgIEh4KEWRpZmZfcGF0Y2hfbGVuZ3RoGBIgASgDSAaIAQESJQoYY3VzdG9tX2d1aWRlbGluZXNfbGVuZ3RoGBMgASgDSAeIAQESIwoWd29ya3NwYWNlX3J1bGVzX2xlbmd0aBgUIAEoA0gIiAEBEiQKF3dvcmtzcGFjZV9ydWxlc19lbmFibGVkGBUgASgISAmIAQESHgoRcnVsZV9maWxlc19sb2FkZWQYFiABKAVICogBARIlChhleGlzdGluZ19jb21tZW50c19sZW5ndGgYFyABKANIC4gBARIbCg5wcl9ib2R5X2xlbmd0aBgYIAEoA0gMiAEBEiAKE2NoYW5nZWRfZmlsZXNfY291bnQYGSABKAVIDYgBARIUCgdvdXRjb21lGBogASgJSA6IAQFCHgocX2NvbW1lbnRfYXV0aG9yX2dpdGh1Yl9sb2dpbkIeChxfY29tbWVudF9hdXRob3JfZ2l0aHViX2VtYWlsQiAKHl9jb21tZW50X2F1dGhvcl9naXRodWJfbm9kZV9pZEIOCgxfbGluZXNfYWRkZWRCEAoOX2xpbmVzX3JlbW92ZWRCEwoRX2VzdGltYXRlZF90b2tlbnNCFAoSX2RpZmZfcGF0Y2hfbGVuZ3RoQhsKGV9jdXN0b21fZ3VpZGVsaW5lc19sZW5ndGhCGQoXX3dvcmtzcGFjZV9ydWxlc19sZW5ndGhCGgoYX3dvcmtzcGFjZV9ydWxlc19lbmFibGVkQhQKEl9ydWxlX2ZpbGVzX2xvYWRlZEIbChlfZXhpc3RpbmdfY29tbWVudHNfbGVuZ3RoQhEKD19wcl9ib2R5X2xlbmd0aEIWChRfY2hhbmdlZF9maWxlc19jb3VudEIKCghfb3V0Y29tZSKaAQoXUmV2aWV3Qm90UmVwb3NDb25uZWN0ZWQSEwoLdG90YWxfY291bnQYASABKA0SJQodYXV0b19yZXZpZXdfb25fcHJfcmVhZHlfY291bnQYAiABKA0SKwojbWFudWFsX3dpdGhfY29tbWVudF9rZXlwaHJhc2VfY291bnQYAyABKA0SFgoOZGlzYWJsZWRfY291bnQYBCABKA0ingIKDlJvdXRlclJlc3BvbnNlEjQKDXByb21wdF90b2tlbnMYASABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uEjsKD3Jlc3BvbnNlX3Rva2VucxgCIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5Ub2tlbml6YXRpb25IAIgBARJDCg9wYXJzZWRfcmVzcG9uc2UYAyABKAsyJS5yZXF1ZXN0X2luc2lnaHQuUGFyc2VkUm91dGVyUmVzcG9uc2VIAYgBARIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSAKIAQFCEgoQX3Jlc3BvbnNlX3Rva2Vuc0ISChBfcGFyc2VkX3Jlc3BvbnNlQhAKDl9lcnJvcl9tZXNzYWdlItEBChFSdWxlc0ltcG9ydGVkRGF0YRI1CgR0eXBlGAEgASgOMicucmVxdWVzdF9pbnNpZ2h0LlJ1bGVzSW1wb3J0ZWREYXRhLlR5cGUSEQoJbnVtX2ZpbGVzGAIgASgNEg4KBnNvdXJjZRgDIAEoCSJiCgRUeXBlEg8KC1VOU1BFQ0lGSUVEEAASFAoQTUFOVUFMTFlfQ1JFQVRFRBABEggKBEFVVE8QAhIWChJTRUxFQ1RFRF9ESVJFQ1RPUlkQAxIRCg1TRUxFQ1RFRF9GSUxFEAQirAEKElNTSEludGVyYWN0aW9uRGF0YRJNChBpbnRlcmFjdGlvbl90eXBlGAEgASgOMjMucmVxdWVzdF9pbnNpZ2h0LlNTSEludGVyYWN0aW9uRGF0YS5JbnRlcmFjdGlvblR5cGUiRwoPSW50ZXJhY3Rpb25UeXBlEgsKB1VOS05PV04QABILCgdDTElDS0VEEAESGgoWUkVNT1RFX1NFU1NJT05fU1RBUlRFRBACIk8KFlNjcmlwdENhcHR1cmVCYXNpY0RhdGESEgoKc2hlbGxfbmFtZRgBIAEoCRIQCghwbGF0Zm9ybRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIv8OCgxTZXNzaW9uRXZlbnQSSwoYb25ib2FyZGluZ19zZXNzaW9uX2V2ZW50GAQgASgLMicucmVxdWVzdF9pbnNpZ2h0Lk9uYm9hcmRpbmdTZXNzaW9uRXZlbnRIABI2Cg1jbGllbnRfbWV0cmljGAUgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LkNsaWVudE1ldHJpY0gAEkkKF2V4dGVuc2lvbl9zZXNzaW9uX2V2ZW50GAogASgLMiYucmVxdWVzdF9pbnNpZ2h0LkV4dGVuc2lvblNlc3Npb25FdmVudEgAEkwKGWN1c3RvbWVyX3VpX3Nlc3Npb25fZXZlbnQYCyABKAsyJy5yZXF1ZXN0X2luc2lnaHQuQ3VzdG9tZXJVSVNlc3Npb25FdmVudEgAEkEKE2FnZW50X3Nlc3Npb25fZXZlbnQYDCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuQWdlbnRTZXNzaW9uRXZlbnRIABJSChxjb250ZW50X21hbmFnZXJfdXBsb2FkX2Jsb2JzGA0gASgLMioucmVxdWVzdF9pbnNpZ2h0LkNvbnRlbnRNYW5hZ2VyVXBsb2FkQmxvYnNIABJaCiBjb250ZW50X21hbmFnZXJfY2hlY2twb2ludF9ibG9icxgOIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5Db250ZW50TWFuYWdlckNoZWNrcG9pbnRCbG9ic0gAEk4KGnJlbW90ZV9hZ2VudF9zZXNzaW9uX2V2ZW50GA8gASgLMigucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2Vzc2lvbkV2ZW50SAASPAoQcHVyY2hhc2VfY3JlZGl0cxgQIAEoCzIgLnJlcXVlc3RfaW5zaWdodC5QdXJjaGFzZUNyZWRpdHNIABJCChNjYW5jZWxfc3Vic2NyaXB0aW9uGBEgASgLMiMucmVxdWVzdF9pbnNpZ2h0LkNhbmNlbFN1YnNjcmlwdGlvbkgAEnIKLHVuc2NoZWR1bGVfcGVuZGluZ19zdWJzY3JpcHRpb25fY2FuY2VsbGF0aW9uGBIgASgLMjoucmVxdWVzdF9pbnNpZ2h0LlVuc2NoZWR1bGVQZW5kaW5nU3Vic2NyaXB0aW9uQ2FuY2VsbGF0aW9uSAASOwoQcmVtb3RlX2FnZW50X2xvZxgTIAEoCzIfLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudExvZ0gAEkkKF3Vuc2NoZWR1bGVfcGxhbl9jaGFuZ2VzGBUgASgLMiYucmVxdWVzdF9pbnNpZ2h0LlVuc2NoZWR1bGVQbGFuQ2hhbmdlc0gAEkUKFWdpdGh1Yl91c2VyX2F1dGhvcml6ZRgWIAEoCzIkLnJlcXVlc3RfaW5zaWdodC5HaXRodWJVc2VyQXV0aG9yaXplSAASVAodcmVtb3RlX2FnZW50X3dvcmtzcGFjZV91cHRpbWUYFyABKAsyKy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRXb3Jrc3BhY2VVcHRpbWVIABJIChd1c2VyX2dpdGh1Yl9vcmdfbWFwcGluZxgYIAEoCzIlLnJlcXVlc3RfaW5zaWdodC5Vc2VyR2l0aHViT3JnTWFwcGluZ0gAEkAKE2F1dG9fdG9wX3VwX3NldHRpbmcYGSABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQXV0b1RvcFVwU2V0dGluZ0gAEkMKFGNvbW1pdF9zZXNzaW9uX2V2ZW50GBogASgLMiMucmVxdWVzdF9pbnNpZ2h0LkNvbW1pdFNlc3Npb25FdmVudEgAEk8KGmNvbW1pdF9hdHRyaWJ1dGlvbl9zdW1tYXJ5GBsgASgLMikucmVxdWVzdF9pbnNpZ2h0LkNvbW1pdEF0dHJpYnV0aW9uU3VtbWFyeUgAEkAKEmNsb3NlX3N1YnNjcmlwdGlvbhgcIAEoCzIiLnJlcXVlc3RfaW5zaWdodC5DbG9zZVN1YnNjcmlwdGlvbkgAEjMKCXRleHRfZWRpdBgGIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5UZXh0RWRpdEV2ZW50SAASVwocY29tcGxldGlvbl9yZXF1ZXN0X2lkX2lzc3VlZBgHIAEoCzIvLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uUmVxdWVzdElkSXNzdWVkRXZlbnRIABJLChZlZGl0X3JlcXVlc3RfaWRfaXNzdWVkGAggASgLMikucmVxdWVzdF9pbnNpZ2h0LkVkaXRSZXF1ZXN0SWRJc3N1ZWRFdmVudEgAEigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKCGV2ZW50X2lkGAMgASgJSAGIAQFCBwoFZXZlbnRCCwoJX2V2ZW50X2lkSgQIAhADSgQICRAKSgQIFBAVUhduZXh0X2VkaXRfc2Vzc2lvbl9ldmVudFIbbmV4dF9lZGl0X3JlcXVlc3RfaWRfaXNzdWVkUhVmZWF0dXJlX3ZlY3Rvcl9yZXBvcnQiEQoPU2V0dXBQYWdlT3BlbmVkIm8KFlNraWxsQ29udGVudExvYWRlZERhdGESEgoKc2tpbGxfbmFtZRgBIAEoCRIUCgxza2lsbF9zb3VyY2UYAiABKAkSFgoOY29udGVudF9sZW5ndGgYAyABKA0SEwoLc291cmNlX3Rvb2wYBCABKAkiNQoJU2tpbGxJbmZvEhIKCnNraWxsX25hbWUYASABKAkSFAoMc2tpbGxfc291cmNlGAIgASgJIlsKGFNraWxsc0luY2x1ZGVkSW5DaGF0RGF0YRIqCgZza2lsbHMYASADKAsyGi5yZXF1ZXN0X2luc2lnaHQuU2tpbGxJbmZvEhMKC3NraWxsX2NvdW50GAIgASgNIo0BChBTbGFja2JvdEZlZWRiYWNrEiAKGHNsYWNrX3Jlc3BvbnNlX3RpbWVzdGFtcBgBIAEoCRIYChBzbGFja19jaGFubmVsX2lkGAIgASgJEi8KBnJhdGluZxgDIAEoDjIfLnJlcXVlc3RfaW5zaWdodC5GZWVkYmFja1JhdGluZxIMCgRub3RlGAQgASgJIrwBChhTbWFydFBhc3RlQ2xpZW50VGltZWxpbmUSOAoUaW5pdGlhbF9yZXF1ZXN0X3RpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjYKEnN0cmVhbV9maW5pc2hfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKYXBwbHlfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiYAoUU21hcnRQYXN0ZVJlc29sdXRpb24SGgoSaXNfYWNjZXB0ZWRfY2h1bmtzGAEgAygIEhUKDWlzX2FjY2VwdF9hbGwYAiABKAgSFQoNaXNfcmVqZWN0X2FsbBgDIAEoCCIwCg5TdWJBZ2VudERpYWxvZxIeCgZkaWFsb2cYAyADKAsyDi5jaGF0LkV4Y2hhbmdlIqkEChFUYXNrTGlzdFVzYWdlRGF0YRJBCgZhY3Rpb24YASABKA4yMS5yZXF1ZXN0X2luc2lnaHQuVGFza0xpc3RVc2FnZURhdGEuVGFza0xpc3RBY3Rpb24SGQoRdG90YWxfdGFza3NfY291bnQYAiABKA0SRgoMdHJpZ2dlcmVkX2J5GAMgASgOMjAucmVxdWVzdF9pbnNpZ2h0LlRhc2tMaXN0VXNhZ2VEYXRhLkFjdGlvblRyaWdnZXIisgIKDlRhc2tMaXN0QWN0aW9uEg8KC1VOU1BFQ0lGSUVEEAASDAoIQUREX1RBU0sQARIPCgtBRERfU1VCVEFTSxACEhYKElVQREFURV9UQVNLX1NUQVRVUxADEhQKEFVQREFURV9UQVNLX05BTUUQBBIbChdVUERBVEVfVEFTS19ERVNDUklQVElPThAFEhgKFFJFT1JHQU5JWkVfVEFTS19MSVNUEAYSDwoLREVMRVRFX1RBU0sQBxITCg9SVU5fU0lOR0xFX1RBU0sQCBIRCg1SVU5fQUxMX1RBU0tTEAkSEgoOVklFV19UQVNLX0xJU1QQChIUChBFWFBPUlRfVEFTS19MSVNUEAsSFAoQSU1QT1JUX1RBU0tfTElTVBAMEhIKDlNZTkNfVEFTS19MSVNUEA0iOQoNQWN0aW9uVHJpZ2dlchITCg9VTktOT1dOX1RSSUdHRVIQABIICgRVU0VSEAESCQoFQUdFTlQQAiK9AwoNVGV4dEVkaXRFdmVudBI6CgZyZWFzb24YASABKA4yJS5yZXF1ZXN0X2luc2lnaHQuVGV4dEVkaXRFdmVudC5SZWFzb25IAIgBARI3Cg9jb250ZW50X2NoYW5nZXMYAiADKAsyHi5yZXF1ZXN0X2luc2lnaHQuQ29udGVudENoYW5nZRIWCglmaWxlX3BhdGgYAyABKAlIAYgBARIfChJhZnRlcl9jaGFuZ2VzX2hhc2gYBCABKAlIAogBARIwChBoYXNoX2NoYXJfcmFuZ2VzGAUgAygLMhYucmVxdWVzdF9pbnNpZ2h0LlJhbmdlEh8KEnNvdXJjZV9mb2xkZXJfcm9vdBgGIAEoCUgDiAEBEh0KEGFmdGVyX2RvY19sZW5ndGgYByABKA1IBIgBASIwCgZSZWFzb24SEgoOVU5LTk9XTl9SRUFTT04QABIICgRVTkRPEAESCAoEUkVETxACQgkKB19yZWFzb25CDAoKX2ZpbGVfcGF0aEIVChNfYWZ0ZXJfY2hhbmdlc19oYXNoQhUKE19zb3VyY2VfZm9sZGVyX3Jvb3RCEwoRX2FmdGVyX2RvY19sZW5ndGgiUAodVGhpcmRQYXJ0eU1vZGVsTWVzc2FnZUhpc3RvcnkSFAoMdXNlcl9tZXNzYWdlGAEgASgJEhkKEWFzc2lzdGFudF9tZXNzYWdlGAIgASgJIoEBChZUaGlyZFBhcnR5TW9kZWxSZXF1ZXN0Eg4KBnByb21wdBgBIAEoCRIVCg1zeXN0ZW1fcHJvbXB0GAIgASgJEkAKCG1lc3NhZ2VzGAMgAygLMi4ucmVxdWVzdF9pbnNpZ2h0LlRoaXJkUGFydHlNb2RlbE1lc3NhZ2VIaXN0b3J5IsMBChJUb2tlbkV4Y2hhbmdlRXJyb3ISOgoGcmVhc29uGAEgASgOMioucmVxdWVzdF9pbnNpZ2h0LlRva2VuRXhjaGFuZ2VFcnJvci5SZWFzb24SLQoOb3BhcXVlX3VzZXJfaWQYAiABKAsyFS5hdXRoX2VudGl0aWVzLlVzZXJJZBISCgp1c2VyX2VtYWlsGAMgASgJIi4KBlJlYXNvbhILCgdVTktOT1dOEAASFwoTVEVOQU5UX05PVF9JTl9TSEFSRBABIlMKDFRva2VuaXphdGlvbhIRCgl0b2tlbl9pZHMYASADKAUSDwoHb2Zmc2V0cxgCIAMoDRIRCglsb2dfcHJvYnMYAyADKAISDAoEdGV4dBgEIAEoCSLHBgoLVG9vbFVzZURhdGESEQoJdG9vbF9uYW1lGAEgASgJEhMKC3Rvb2xfdXNlX2lkGAIgASgJEiEKFHRvb2xfb3V0cHV0X2lzX2Vycm9yGAMgASgISACIAQESHAoUdG9vbF9ydW5fZHVyYXRpb25fbXMYBCABKA0SEgoKdG9vbF9pbnB1dBgFIAEoCRIYCgtpc19tY3BfdG9vbBgGIAEoCEgBiAEBEhwKD2NvbnZlcnNhdGlvbl9pZBgHIAEoCUgCiAEBEiAKE2NoYXRfaGlzdG9yeV9sZW5ndGgYCCABKA1IA4gBARIcCg90b29sX3JlcXVlc3RfaWQYCSABKAlIBIgBARIcCg90b29sX291dHB1dF9sZW4YCiABKA1IBYgBARIbCg50b29sX2lucHV0X2xlbhgLIAEoDUgGiAEBEh0KEHRvb2xfbGluZXNfYWRkZWQYDCABKA1IB4gBARIfChJ0b29sX2xpbmVzX2RlbGV0ZWQYDSABKA1ICIgBARI4Cg10b29sX3VzZV9kaWZmGA4gASgLMhwucmVxdWVzdF9pbnNpZ2h0LlRvb2xVc2VEaWZmSAmIAQESFwoKbWNwX3NlcnZlchgPIAEoCUgKiAEBEhoKDW1jcF90b29sX25hbWUYECABKAlIC4gBARIdChB0b29sX2Vycm9yX2NsYXNzGBEgASgJSAyIAQESHwoSdG9vbF9lcnJvcl9zbmlwcGV0GBIgASgJSA2IAQFCFwoVX3Rvb2xfb3V0cHV0X2lzX2Vycm9yQg4KDF9pc19tY3BfdG9vbEISChBfY29udmVyc2F0aW9uX2lkQhYKFF9jaGF0X2hpc3RvcnlfbGVuZ3RoQhIKEF90b29sX3JlcXVlc3RfaWRCEgoQX3Rvb2xfb3V0cHV0X2xlbkIRCg9fdG9vbF9pbnB1dF9sZW5CEwoRX3Rvb2xfbGluZXNfYWRkZWRCFQoTX3Rvb2xfbGluZXNfZGVsZXRlZEIQCg5fdG9vbF91c2VfZGlmZkINCgtfbWNwX3NlcnZlckIQCg5fbWNwX3Rvb2xfbmFtZUITChFfdG9vbF9lcnJvcl9jbGFzc0IVChNfdG9vbF9lcnJvcl9zbmlwcGV0IlsKC1Rvb2xVc2VEaWZmEhEKCXJvb3RfcGF0aBgBIAEoCRIMCgRwYXRoGAIgASgJEisKBWVkaXRzGAMgAygLMhwucmVxdWVzdF9pbnNpZ2h0LlRvb2xVc2VFZGl0IkoKC1Rvb2xVc2VFZGl0EhMKC2JlZm9yZV90ZXh0GAEgASgJEhIKCmFmdGVyX3RleHQYAiABKAkSEgoKbGluZV9zdGFydBgDIAEoDSJICilVbnNjaGVkdWxlUGVuZGluZ1N1YnNjcmlwdGlvbkNhbmNlbGxhdGlvbhIbChNvcmJfc3Vic2NyaXB0aW9uX2lkGAEgASgJIjQKFVVuc2NoZWR1bGVQbGFuQ2hhbmdlcxIbChNvcmJfc3Vic2NyaXB0aW9uX2lkGAEgASgJIoUCChRVc2VyR2l0aHViT3JnTWFwcGluZxIKCgJpZBgBIAEoAxINCgVsb2dpbhgCIAEoCRIMCgRuYW1lGAMgASgJEg8KB2NvbXBhbnkYBCABKAkSEAoIbG9jYXRpb24YBSABKAkSDQoFZW1haWwYBiABKAkSGAoQdHdpdHRlcl91c2VybmFtZRgHIAEoCRITCgtkZXNjcmlwdGlvbhgIIAEoCRIXCg9mb2xsb3dlcnNfY291bnQYCSABKAUSEgoKZGlza191c2FnZRgKIAEoBRIRCglwbGFuX25hbWUYCyABKAkSFAoMZmlsbGVkX3NlYXRzGAwgASgFEg0KBXNlYXRzGA0gASgFKjcKDkZlZWRiYWNrUmF0aW5nEgkKBVVOU0VUEAASDAoIUE9TSVRJVkUQARIMCghORUdBVElWRRACKk4KEEluc3RhbGxFdmVudFR5cGUSHgoaVU5LTk9XTl9JTlNUQUxMX0VWRU5UX1RZUEUQABINCglVTklOU1RBTEwQARILCgdJTlNUQUxMEAIqvAUKC1JlcXVlc3RUeXBlEhgKFFVOS05PV05fUkVRVUVTVF9UWVBFEAASDgoKQ09NUExFVElPThABEggKBEVESVQQAhIICgRDSEFUEAMSEwoPRVhURU5TSU9OX0VSUk9SEAQSEQoNU0xBQ0tCT1RfQ0hBVBAGEhMKD1NIQVJFX1NBVkVfQ0hBVBAHEhIKDlNIQVJFX0dFVF9DSEFUEAgSEQoNQVVUT0ZJWF9DSEVDSxAJEhAKDEFVVE9GSVhfUExBThAKEhAKDExMTV9HRU5FUkFURRALEhQKEFJFTU9URV9UT09MX0NBTEwQDBIQCgxSRU1PVEVfQUdFTlQQDRIOCgpBR0VOVF9DSEFUEA4SEAoMTElORUFSX09BVVRIEA8SDAoITUVNT1JJRVMQEBIPCgtPUklFTlRBVElPThAREhgKFE1FTU9SSUVTX0NPTVBSRVNTSU9OEBISFQoRUkVNT1RFX0FHRU5UX0NIQVQQExIUChBSRU1PVEVfQUdFTlRfTE9HEBQSEgoOQ0xJX0FHRU5UX0NIQVQQFRITCg9UT0tFTl9GUk9NX0NPREUQFhIhCh1DTElfQUdFTlRfQ0hBVF9OT05JTlRFUkFDVElWRRAXEhkKFUNIQVRfSU5QVVRfQ09NUExFVElPThAYEg8KC0NPREVfUkVWSUVXEBkSHwobUkVNT1RFX01DUF9TRVJWRVJfVE9PTF9DQUxMEBoSHwobRFlOQU1JQ19DTElFTlRfUkVHSVNUUkFUSU9OEBsSFQoRQUdFTlRJQ19TTEFDS19CT1QQHBIbChdDT05URVhUX0VOR0lORV9TREtfQ0hBVBAdEhsKF0NPTlRFWFRfRU5HSU5FX01DUF9DSEFUEB4SGwoXUE9TRUlET05fQ0xJX0FHRU5UX0NIQVQQHyIECAUQBSoJTkVYVF9FRElUKm0KDVJldHJpZXZhbFR5cGUSGgoWVU5LTk9XTl9SRVRSSUVWQUxfVFlQRRAAEgkKBURFTlNFEAESDQoJU0lHTkFUVVJFEAISCwoHUkVDRU5DWRADEg8KC1VTRVJfR1VJREVEEAQSCAoERElGRhAFKkQKEVNvdXJjZUNvbnRyb2xUeXBlEhoKFlVOS05PV05fU09VUkNFX0NPTlRST0wQABIHCgNHSVQQARIKCgZHSVRIVUIQAmIGcHJvdG8z",[Vt,Da,ee,Yn,MZ,$Z,$e,t2,yn,n2,r2,o2,La,a2,m2,A2]);var V2;(function(e){e[e.UNKNOWN_TOP_UP_ACTION=0]="UNKNOWN_TOP_UP_ACTION",e[e.ENABLED=1]="ENABLED",e[e.DISABLED=2]="DISABLED"})(V2||(V2={}));var g2;(function(e){e[e.CHAT=0]="CHAT",e[e.AGENT=1]="AGENT",e[e.MEMORIES=2]="MEMORIES",e[e.ORIENTATION=3]="ORIENTATION",e[e.MEMORIES_COMPRESSION=4]="MEMORIES_COMPRESSION",e[e.REMOTE_AGENT=5]="REMOTE_AGENT",e[e.CLI_AGENT=6]="CLI_AGENT",e[e.CLI_NONINTERACTIVE=7]="CLI_NONINTERACTIVE",e[e.CODE_REVIEW=8]="CODE_REVIEW",e[e.AGENTIC_SLACK_BOT=9]="AGENTIC_SLACK_BOT",e[e.CONTEXT_ENGINE_SDK=10]="CONTEXT_ENGINE_SDK",e[e.CONTEXT_ENGINE_MCP=11]="CONTEXT_ENGINE_MCP",e[e.POSEIDON_CLI_AGENT=12]="POSEIDON_CLI_AGENT"})(g2||(g2={}));var p2;(function(e){e[e.UNKNOWN_FILTER_REASON=0]="UNKNOWN_FILTER_REASON",e[e.NOT_FILTERED=1]="NOT_FILTERED",e[e.LOW_QUALITY=2]="LOW_QUALITY",e[e.DENY_LIST=3]="DENY_LIST"})(p2||(p2={}));var E2;(function(e){e[e.UNKNOWN_SESSION_END_REASON=0]="UNKNOWN_SESSION_END_REASON",e[e.LOGOUT=1]="LOGOUT",e[e.TIMEOUT=2]="TIMEOUT"})(E2||(E2={}));var R2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ONBOARDING=1]="ONBOARDING",e[e.COMMAND=2]="COMMAND"})(R2||(R2={}));var Z2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.USER_GUIDELINES=1]="USER_GUIDELINES",e[e.AUGMENT_GUIDELINES=2]="AUGMENT_GUIDELINES",e[e.RULES=3]="RULES"})(Z2||(Z2={}));var S2;(function(e){e[e.UNKNOWN_MODE=0]="UNKNOWN_MODE",e[e.CHAT=1]="CHAT",e[e.AGENT=2]="AGENT",e[e.REMOTE_AGENT=3]="REMOTE_AGENT"})(S2||(S2={}));var X2;(function(e){e[e.UNKNOWN_MODE_SELECTOR_ACTION=0]="UNKNOWN_MODE_SELECTOR_ACTION",e[e.OPEN=1]="OPEN",e[e.CLOSE=2]="CLOSE",e[e.SELECT=3]="SELECT",e[e.INIT=4]="INIT"})(X2||(X2={}));var W2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.ACTIVATED=1]="ACTIVATED",e[e.DEACTIVATED=2]="DEACTIVATED",e[e.NOTIFIED=4]="NOTIFIED",e[e.ACCEPTED=3]="ACCEPTED"})(W2||(W2={}));var G2;(function(e){e[e.UNKNOWN_CHANNEL_TYPE=0]="UNKNOWN_CHANNEL_TYPE",e[e.IM=1]="IM",e[e.MPIM=2]="MPIM",e[e.SHARED_CHANNEL=3]="SHARED_CHANNEL",e[e.PRIVATE_CHANNEL=4]="PRIVATE_CHANNEL",e[e.GENERAL_CHANNEL=5]="GENERAL_CHANNEL",e[e.CHANNEL=6]="CHANNEL"})(G2||(G2={}));var I2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CLASSIFY_AND_DISTILL=1]="CLASSIFY_AND_DISTILL",e[e.ORIENTATION=2]="ORIENTATION",e[e.MEMORY_ACCEPTANCE=3]="MEMORY_ACCEPTANCE"})(I2||(I2={}));var N2;(function(e){e[e.UNKNOWN_LATENCY_TYPE=0]="UNKNOWN_LATENCY_TYPE",e[e.CREATE_AGENT=1]="CREATE_AGENT",e[e.RESUME_AGENT=2]="RESUME_AGENT"})(N2||(N2={}));var F2;(function(e){e[e.UNKNOWN_NEW_THREAD_BUTTON_ACTION=0]="UNKNOWN_NEW_THREAD_BUTTON_ACTION",e[e.CLICK=1]="CLICK",e[e.OPEN=2]="OPEN",e[e.CLOSE=3]="CLOSE"})(F2||(F2={}));var B2;(function(e){e[e.UNKNOWN_THREAD_TYPE=0]="UNKNOWN_THREAD_TYPE",e[e.CHAT=1]="CHAT",e[e.AGENT=2]="AGENT",e[e.REMOTE_AGENT=3]="REMOTE_AGENT"})(B2||(B2={}));var C2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COMPLETED=1]="COMPLETED",e[e.FAILED=2]="FAILED"})(C2||(C2={}));var Y2;(function(e){e[e.UNKNOWN_SETUP_WINDOW_ACTION=0]="UNKNOWN_SETUP_WINDOW_ACTION",e[e.OPEN=1]="OPEN",e[e.CLOSE=2]="CLOSE",e[e.SELECT_REPO=3]="SELECT_REPO",e[e.SELECT_BRANCH=4]="SELECT_BRANCH",e[e.SELECT_SETUP_SCRIPT=5]="SELECT_SETUP_SCRIPT",e[e.AUTO_GENERATE_SETUP_SCRIPT=6]="AUTO_GENERATE_SETUP_SCRIPT",e[e.MANUALLY_CREATE_SETUP_SCRIPT=7]="MANUALLY_CREATE_SETUP_SCRIPT",e[e.TYPE_IN_PROMPT_WINDOW=8]="TYPE_IN_PROMPT_WINDOW",e[e.CLICK_REWRITE_PROMPT=9]="CLICK_REWRITE_PROMPT",e[e.ENABLE_NOTIFICATIONS=10]="ENABLE_NOTIFICATIONS",e[e.DISABLE_NOTIFICATIONS=11]="DISABLE_NOTIFICATIONS",e[e.CLICK_CREATE_AGENT=12]="CLICK_CREATE_AGENT"})(Y2||(Y2={}));var y2;(function(e){e[e.UNKNOWN_AGENT_LIST_ACTION=0]="UNKNOWN_AGENT_LIST_ACTION",e[e.OPEN=1]="OPEN",e[e.CLOSE=2]="CLOSE",e[e.SELECT_AGENT=3]="SELECT_AGENT",e[e.DELETE_AGENT=4]="DELETE_AGENT",e[e.PIN_AGENT=5]="PIN_AGENT",e[e.UNPIN_AGENT=6]="UNPIN_AGENT"})(y2||(y2={}));var w2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MANUALLY_CREATED=1]="MANUALLY_CREATED",e[e.AUTO=2]="AUTO",e[e.SELECTED_DIRECTORY=3]="SELECTED_DIRECTORY",e[e.SELECTED_FILE=4]="SELECTED_FILE"})(w2||(w2={}));var U2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CLICKED=1]="CLICKED",e[e.REMOTE_SESSION_STARTED=2]="REMOTE_SESSION_STARTED"})(U2||(U2={}));var x2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ADD_TASK=1]="ADD_TASK",e[e.ADD_SUBTASK=2]="ADD_SUBTASK",e[e.UPDATE_TASK_STATUS=3]="UPDATE_TASK_STATUS",e[e.UPDATE_TASK_NAME=4]="UPDATE_TASK_NAME",e[e.UPDATE_TASK_DESCRIPTION=5]="UPDATE_TASK_DESCRIPTION",e[e.REORGANIZE_TASK_LIST=6]="REORGANIZE_TASK_LIST",e[e.DELETE_TASK=7]="DELETE_TASK",e[e.RUN_SINGLE_TASK=8]="RUN_SINGLE_TASK",e[e.RUN_ALL_TASKS=9]="RUN_ALL_TASKS",e[e.VIEW_TASK_LIST=10]="VIEW_TASK_LIST",e[e.EXPORT_TASK_LIST=11]="EXPORT_TASK_LIST",e[e.IMPORT_TASK_LIST=12]="IMPORT_TASK_LIST",e[e.SYNC_TASK_LIST=13]="SYNC_TASK_LIST"})(x2||(x2={}));var v2;(function(e){e[e.UNKNOWN_TRIGGER=0]="UNKNOWN_TRIGGER",e[e.USER=1]="USER",e[e.AGENT=2]="AGENT"})(v2||(v2={}));var J2;(function(e){e[e.UNKNOWN_REASON=0]="UNKNOWN_REASON",e[e.UNDO=1]="UNDO",e[e.REDO=2]="REDO"})(J2||(J2={}));var k2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TENANT_NOT_IN_SHARD=1]="TENANT_NOT_IN_SHARD"})(k2||(k2={}));var _2;(function(e){e[e.UNSET=0]="UNSET",e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=2]="NEGATIVE"})(_2||(_2={}));var Q2;(function(e){e[e.UNKNOWN_INSTALL_EVENT_TYPE=0]="UNKNOWN_INSTALL_EVENT_TYPE",e[e.UNINSTALL=1]="UNINSTALL",e[e.INSTALL=2]="INSTALL"})(Q2||(Q2={}));var T2;(function(e){e[e.UNKNOWN_REQUEST_TYPE=0]="UNKNOWN_REQUEST_TYPE",e[e.COMPLETION=1]="COMPLETION",e[e.EDIT=2]="EDIT",e[e.CHAT=3]="CHAT",e[e.EXTENSION_ERROR=4]="EXTENSION_ERROR",e[e.SLACKBOT_CHAT=6]="SLACKBOT_CHAT",e[e.SHARE_SAVE_CHAT=7]="SHARE_SAVE_CHAT",e[e.SHARE_GET_CHAT=8]="SHARE_GET_CHAT",e[e.AUTOFIX_CHECK=9]="AUTOFIX_CHECK",e[e.AUTOFIX_PLAN=10]="AUTOFIX_PLAN",e[e.LLM_GENERATE=11]="LLM_GENERATE",e[e.REMOTE_TOOL_CALL=12]="REMOTE_TOOL_CALL",e[e.REMOTE_AGENT=13]="REMOTE_AGENT",e[e.AGENT_CHAT=14]="AGENT_CHAT",e[e.LINEAR_OAUTH=15]="LINEAR_OAUTH",e[e.MEMORIES=16]="MEMORIES",e[e.ORIENTATION=17]="ORIENTATION",e[e.MEMORIES_COMPRESSION=18]="MEMORIES_COMPRESSION",e[e.REMOTE_AGENT_CHAT=19]="REMOTE_AGENT_CHAT",e[e.REMOTE_AGENT_LOG=20]="REMOTE_AGENT_LOG",e[e.CLI_AGENT_CHAT=21]="CLI_AGENT_CHAT",e[e.TOKEN_FROM_CODE=22]="TOKEN_FROM_CODE",e[e.CLI_AGENT_CHAT_NONINTERACTIVE=23]="CLI_AGENT_CHAT_NONINTERACTIVE",e[e.CHAT_INPUT_COMPLETION=24]="CHAT_INPUT_COMPLETION",e[e.CODE_REVIEW=25]="CODE_REVIEW",e[e.REMOTE_MCP_SERVER_TOOL_CALL=26]="REMOTE_MCP_SERVER_TOOL_CALL",e[e.DYNAMIC_CLIENT_REGISTRATION=27]="DYNAMIC_CLIENT_REGISTRATION",e[e.AGENTIC_SLACK_BOT=28]="AGENTIC_SLACK_BOT",e[e.CONTEXT_ENGINE_SDK_CHAT=29]="CONTEXT_ENGINE_SDK_CHAT",e[e.CONTEXT_ENGINE_MCP_CHAT=30]="CONTEXT_ENGINE_MCP_CHAT",e[e.POSEIDON_CLI_AGENT_CHAT=31]="POSEIDON_CLI_AGENT_CHAT"})(T2||(T2={}));var K2;(function(e){e[e.UNKNOWN_RETRIEVAL_TYPE=0]="UNKNOWN_RETRIEVAL_TYPE",e[e.DENSE=1]="DENSE",e[e.SIGNATURE=2]="SIGNATURE",e[e.RECENCY=3]="RECENCY",e[e.USER_GUIDED=4]="USER_GUIDED",e[e.DIFF=5]="DIFF"})(K2||(K2={}));var z2;(function(e){e[e.UNKNOWN_SOURCE_CONTROL=0]="UNKNOWN_SOURCE_CONTROL",e[e.GIT=1]="GIT",e[e.GITHUB=2]="GITHUB"})(z2||(z2={}));var L2=k("CjdzZXJ2aWNlcy9saWIvZ3JwYy9jb25uZWN0X2ZvcndhcmQvZm9yd2FyZF9vcHRpb25zLnByb3RvEg9mb3J3YXJkX29wdGlvbnMiRAoXUmVxdWlyZWRGZWF0dXJlRmxhZ0Jvb2wSEQoJZmxhZ19uYW1lGAEgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAIgASgIIkYKGVJlcXVpcmVkRmVhdHVyZUZsYWdTdHJpbmcSEQoJZmxhZ19uYW1lGAEgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAIgASgJOlAKE2ZvcndhcmRfbWV0aG9kX25hbWUSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjThgMgASgJUhFmb3J3YXJkTWV0aG9kTmFtZTphChxza2lwX3RlbmFudF91c2VyX2VuZm9yY2VtZW50Eh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY1IYDIAEoCFIZc2tpcFRlbmFudFVzZXJFbmZvcmNlbWVudDpZChhza2lwX3VzZXJfaWRfZW5mb3JjZW1lbnQSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjVhgMgASgIUhVza2lwVXNlcklkRW5mb3JjZW1lbnQ6SQoPZW50ZXJwcmlzZV9vbmx5Eh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY1oYDIAEoCFIOZW50ZXJwcmlzZU9ubHk6hwEKGnJlcXVpcmVkX2ZlYXR1cmVfZmxhZ19ib29sEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY14YDIAMoCzIoLmZvcndhcmRfb3B0aW9ucy5SZXF1aXJlZEZlYXR1cmVGbGFnQm9vbFIXcmVxdWlyZWRGZWF0dXJlRmxhZ0Jvb2w6jQEKHHJlcXVpcmVkX2ZlYXR1cmVfZmxhZ19zdHJpbmcSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjYhgMgAygLMiouZm9yd2FyZF9vcHRpb25zLlJlcXVpcmVkRmVhdHVyZUZsYWdTdHJpbmdSGXJlcXVpcmVkRmVhdHVyZUZsYWdTdHJpbmc6QwoMc2tpcF9jb2RlZ2VuEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY2YYDIAEoCFILc2tpcENvZGVnZW46PwoKYWRtaW5fb25seRIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGNqGAyABKAhSCWFkbWluT25seTpRChNyZXF1aXJlZF9wZXJtaXNzaW9uEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY24YDIAMoCVIScmVxdWlyZWRQZXJtaXNzaW9uYgZwcm90bzM",[nn]);var Ha=k("CihzZXJ2aWNlcy93ZWJfcnBjX3Byb3h5L2ZsZWV0X3Byb3h5LnByb3RvEg13ZWJfcnBjX3Byb3h5IiYKFEZsZWV0U3RyaW5nTGlzdFZhbHVlEg4KBnZhbHVlcxgBIAMoCSLxAQoXRmxlZXRDb25maWd1cmF0aW9uVmFsdWUSCwoDa2V5GAEgASgJEhQKCnRleHRfdmFsdWUYAiABKAlIABJAChFzdHJpbmdfbGlzdF92YWx1ZRgDIAEoCzIjLndlYl9ycGNfcHJveHkuRmxlZXRTdHJpbmdMaXN0VmFsdWVIABIYCg5lbnZpcm9ubWVudF9pZBgEIAEoCUgAEhoKEHNlY3JldF9yZWZlcmVuY2UYBSABKAlIABIZCg9pbnRlZ3JhdGlvbl9rZXkYBiABKAlIABIXCg1ib29sZWFuX3ZhbHVlGAcgASgISABCBwoFdmFsdWUilQIKFUFwcGx5RmxlZXRGbG93UmVxdWVzdBIQCghzcGFjZV9pZBgBIAEoCRIQCghmbG93X2tleRgCIAEoCRITCgt2YXJpYW50X2tleRgDIAEoCRIXCg9jYXRhbG9nX3ZlcnNpb24YBCABKAUSPQoNY29uZmlndXJhdGlvbhgFIAMoCzImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uVmFsdWUSFwoPaWRlbXBvdGVuY3lfa2V5GAYgASgJEjIKC3J1bl9hc19tb2RlGAcgASgOMh0ud2ViX3JwY19wcm94eS5GbGVldFJ1bkFzTW9kZRIeChZzZWxlY3RlZF9hY3Rvcl91c2VyX2lkGAggASgJIjsKFEZsZWV0SW5zdGFsbGVkRXhwZXJ0EhAKCHNsb3Rfa2V5GAEgASgJEhEKCWV4cGVydF9pZBgCIAEoCSLwAQoWQXBwbHlGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSLwoGc3RhdHVzGAIgASgOMh8ud2ViX3JwY19wcm94eS5GbGVldEFwcGx5U3RhdHVzEhEKCWV4cGVydF9pZBgDIAEoCRIZChFpZGVtcG90ZW50X3JlcGxheRgEIAEoCBI+ChFpbnN0YWxsZWRfZXhwZXJ0cxgFIAMoCzIjLndlYl9ycGNfcHJveHkuRmxlZXRJbnN0YWxsZWRFeHBlcnQSHgoWZGlzYWJsZWRfdHJpZ2dlcl9jb3VudBgGIAEoBSJBChNBcm1GbGVldEZsb3dSZXF1ZXN0EhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRIRCgljb25maXJtZWQYAiABKAgidgoUQXJtRmxlZXRGbG93UmVzcG9uc2USFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEg0KBWFybWVkGAIgASgIEhsKE2FybWVkX3RyaWdnZXJfY291bnQYAyABKAUSGQoRaWRlbXBvdGVudF9yZXBsYXkYBCABKAgiSAoaRGVhY3RpdmF0ZUZsZWV0Rmxvd1JlcXVlc3QSFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEhEKCWNvbmZpcm1lZBgCIAEoCCJ0ChtEZWFjdGl2YXRlRmxlZXRGbG93UmVzcG9uc2USFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEiEKGWRlYWN0aXZhdGVkX3RyaWdnZXJfY291bnQYAiABKAUSGQoRaWRlbXBvdGVudF9yZXBsYXkYAyABKAgiRwoZVW5pbnN0YWxsRmxlZXRGbG93UmVxdWVzdBIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSEQoJY29uZmlybWVkGAIgASgIIvUBChpVbmluc3RhbGxGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSHAoUZGVsZXRlZF9leHBlcnRfY291bnQYAiABKAUSHgoWZGVsZXRlZF93b3JrZmxvd19jb3VudBgDIAEoBRIZChFpZGVtcG90ZW50X3JlcGxheRgEIAEoCBJLChNyZW1haW5pbmdfcmVzb3VyY2VzGAUgAygLMi4ud2ViX3JwY19wcm94eS5GbGVldFVuaW5zdGFsbFJlbWFpbmluZ1Jlc291cmNlEhgKEGNsZWFudXBfY29tcGxldGUYBiABKAgiTQofRmxlZXRVbmluc3RhbGxSZW1haW5pbmdSZXNvdXJjZRIVCg1yZXNvdXJjZV90eXBlGAEgASgJEhMKC3Jlc291cmNlX2lkGAIgASgJIvABChlDb25maWd1cmVGbGVldEZsb3dSZXF1ZXN0EhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRI9Cg1jb25maWd1cmF0aW9uGAIgAygLMiYud2ViX3JwY19wcm94eS5GbGVldENvbmZpZ3VyYXRpb25WYWx1ZRIjChtleHBlY3RlZF9jb25maWd1cmF0aW9uX2hhc2gYBSABKAkSPwoJaW5zdGFuY2VzGAMgAygLMiwud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSW5zdGFuY2VJbnB1dBIVCg1oYXNfaW5zdGFuY2VzGAQgASgIIooBCh1GbGVldEluc3RhbGxhYmxlSW5zdGFuY2VJbnB1dBITCgtpbnN0YW5jZV9pZBgBIAEoCRIXCg9pbnN0YWxsYWJsZV9rZXkYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEg8KB2VuYWJsZWQYBCABKAgSFAoMZXh0cmFfcHJvbXB0GAUgASgJIvYBChpDb25maWd1cmVGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSQwoTY29uZmlndXJhdGlvbl9zdGF0ZRgCIAEoDjImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uU3RhdGUSIgoabWlzc2luZ19jb25maWd1cmF0aW9uX2tleXMYAyADKAkSOgoJaW5zdGFuY2VzGAQgAygLMicud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSW5zdGFuY2USGgoSY29uZmlndXJhdGlvbl9oYXNoGAUgASgJIkQKFlJlcGFpckZsZWV0Rmxvd1JlcXVlc3QSFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEhEKCWNvbmZpcm1lZBgCIAEoCCJ4ChdSZXBhaXJGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSHQoVcmVzdG9yZWRfZXhwZXJ0X2NvdW50GAIgASgFEiUKHXJlc3RvcmVkX3dvcmtmbG93X2FjdG9yX2NvdW50GAMgASgFIlcKHEdldEZsZWV0Rmxvd0xpZmVjeWNsZVJlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkSEAoIZmxvd19rZXkYAiABKAkSEwoLdmFyaWFudF9rZXkYAyABKAkitwEKEkZsZWV0TWFuYWdlZEV4cGVydBIQCghzbG90X2tleRgBIAEoCRIRCglleHBlcnRfaWQYAiABKAkSDwoHbWFuYWdlZBgDIAEoCBIVCg1hY3Rvcl91c2VyX2lkGAQgASgJEhgKEGFjdG9yX292ZXJyaWRkZW4YBSABKAgSDAoEbmFtZRgGIAEoCRITCgtpbnN0YW5jZV9pZBgHIAEoCRIXCg9pbnN0YWxsYWJsZV9rZXkYCCABKAkizAYKEkZsZWV0Rmxvd0xpZmVjeWNsZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSEAoIZmxvd19rZXkYAiABKAkSEwoLdmFyaWFudF9rZXkYAyABKAkSLwoGc3RhdHVzGAQgASgOMh8ud2ViX3JwY19wcm94eS5GbGVldEFwcGx5U3RhdHVzEjIKB2V4cGVydHMYBSADKAsyIS53ZWJfcnBjX3Byb3h5LkZsZWV0TWFuYWdlZEV4cGVydBIeChZkaXNhYmxlZF90cmlnZ2VyX2NvdW50GAYgASgFEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKEW1hbmFnZXJfZXhwZXJ0X2lkGAkgASgJEj8KFGFsbG93ZWRfbmV4dF9hY3Rpb25zGAsgAygOMiEud2ViX3JwY19wcm94eS5GbGVldEFsbG93ZWRBY3Rpb24SQwoTY29uZmlndXJhdGlvbl9zdGF0ZRgMIAEoDjImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uU3RhdGUSIgoabWlzc2luZ19jb25maWd1cmF0aW9uX2tleXMYDSADKAkSGAoQcmVwb3NpdG9yeV9zY29wZRgOIAMoCRIXCg90cmlnZ2Vyc19hY3RpdmUYDyABKAgSFQoNYWN0b3JfdXNlcl9pZBgQIAEoCRIyCgtydW5fYXNfbW9kZRgRIAEoDjIdLndlYl9ycGNfcHJveHkuRmxlZXRSdW5Bc01vZGUSGAoQYWN0b3Jfb3ZlcnJpZGRlbhgSIAEoCBIXCg9pZGVtcG90ZW5jeV9rZXkYEyABKAkSMwoLYWN0b3Jfc3RhdGUYFCABKA4yHi53ZWJfcnBjX3Byb3h5LkZsZWV0QWN0b3JTdGF0ZRI6CglpbnN0YW5jZXMYFSADKAsyJy53ZWJfcnBjX3Byb3h5LkZsZWV0SW5zdGFsbGFibGVJbnN0YW5jZRIqCiJ1bmV4cGVjdGVkbHlfZW5hYmxlZF90cmlnZ2VyX2NvdW50GBYgASgFIoUBChhGbGVldEluc3RhbGxhYmxlSW5zdGFuY2USEwoLaW5zdGFuY2VfaWQYASABKAkSFwoPaW5zdGFsbGFibGVfa2V5GAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRIPCgdlbmFibGVkGAQgASgIEhQKDGV4dHJhX3Byb21wdBgFIAEoCSJZCh1HZXRGbGVldEZsb3dMaWZlY3ljbGVSZXNwb25zZRI4Cg1pbnN0YWxsYXRpb25zGAEgAygLMiEud2ViX3JwY19wcm94eS5GbGVldEZsb3dMaWZlY3ljbGUiMQodTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1JlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkiWgoeTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1Jlc3BvbnNlEjgKDWluc3RhbGxhdGlvbnMYASADKAsyIS53ZWJfcnBjX3Byb3h5LkZsZWV0Rmxvd0xpZmVjeWNsZSI/CiRHZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudFJlcXVlc3QSFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJIscCCiVHZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudFJlc3BvbnNlEhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRIXCg9jYXRhbG9nX3ZlcnNpb24YAiABKAUSEAoIZmxvd19rZXkYAyABKAkSEwoLdmFyaWFudF9rZXkYBCABKAkSPQoNY29uZmlndXJhdGlvbhgFIAMoCzImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uVmFsdWUSOgoJaW5zdGFuY2VzGAYgAygLMicud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSW5zdGFuY2USGgoSY29uZmlndXJhdGlvbl9oYXNoGAcgASgJEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIioKFkdldEZsZWV0Q2F0YWxvZ1JlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkizAEKF0dldEZsZWV0Q2F0YWxvZ1Jlc3BvbnNlEj0KDGF2YWlsYWJpbGl0eRgBIAEoDjInLndlYl9ycGNfcHJveHkuRmxlZXRDYXRhbG9nQXZhaWxhYmlsaXR5EhcKD2NhdGFsb2dfdmVyc2lvbhgCIAEoBRInCgVmbG93cxgDIAMoCzIYLndlYl9ycGNfcHJveHkuRmxlZXRGbG93EjAKCmNhdGVnb3JpZXMYBCADKAsyHC53ZWJfcnBjX3Byb3h5LkZsZWV0Q2F0ZWdvcnkiRgoQRmxlZXRSZXF1aXJlbWVudBILCgNrZXkYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIcmVxdWlyZWQYAyABKAgijgEKEUZsZWV0QXZhaWxhYmlsaXR5EjQKBXN0YXRlGAEgASgOMiUud2ViX3JwY19wcm94eS5GbGVldEF2YWlsYWJpbGl0eVN0YXRlEj0KFG1pc3NpbmdfcmVxdWlyZW1lbnRzGAMgAygLMh8ud2ViX3JwY19wcm94eS5GbGVldFJlcXVpcmVtZW50SgQIAhADIlYKDUZsZWV0Q29yZVNsb3QSCwoDa2V5GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCHJlcXVpcmVkGAMgASgIEhEKCWZ1bGZpbGxlZBgEIAEoCCLuAgoMRmxlZXRWYXJpYW50EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjYKDGF2YWlsYWJpbGl0eRgFIAEoCzIgLndlYl9ycGNfcHJveHkuRmxlZXRBdmFpbGFiaWxpdHkSMAoKY29yZV9zbG90cxgGIAMoCzIcLndlYl9ycGNfcHJveHkuRmxlZXRDb3JlU2xvdBI6Cg9hbGxvd2VkX2FjdGlvbnMYByADKA4yIS53ZWJfcnBjX3Byb3h5LkZsZWV0QWxsb3dlZEFjdGlvbhJDChNpbnN0YWxsYXRpb25fc3RhdHVzGAggASgOMiYud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhdGlvblN0YXR1cxIUCgxleHBlcnRfbmFtZXMYCSADKAkSLQoEa2luZBgKIAEoDjIfLndlYl9ycGNfcHJveHkuRmxlZXRWYXJpYW50S2luZCJCChBGbGVldFNldHVwT3B0aW9uEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJImEKE0ZsZWV0U2V0dXBDb25kaXRpb24SCwoDa2V5GAEgASgJEhgKDmJvb2xlYW5fZXF1YWxzGAIgASgISAASFwoNY2hvaWNlX2VxdWFscxgDIAEoCUgAQgoKCGV4cGVjdGVkIqQCCg9GbGVldFNldHVwSW5wdXQSCwoDa2V5GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEjAKBHR5cGUYAyABKA4yIi53ZWJfcnBjX3Byb3h5LkZsZWV0U2V0dXBJbnB1dFR5cGUSEAoIcmVxdWlyZWQYBCABKAgSFQoNZGVmYXVsdF92YWx1ZRgFIAEoCRIwCgdvcHRpb25zGAYgAygLMh8ud2ViX3JwY19wcm94eS5GbGVldFNldHVwT3B0aW9uEjgKDHZpc2libGVfd2hlbhgIIAEoCzIiLndlYl9ycGNfcHJveHkuRmxlZXRTZXR1cENvbmRpdGlvbhIRCgltdWx0aWxpbmUYCSABKAhKBAgHEAhSD2VtcHR5X21lYW5zX2FsbCJAChxGbGVldFBhcnRpY2lwYXRpb25NZXRyaWNQYXJ0EgsKA2tleRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSKcAQoYRmxlZXRQYXJ0aWNpcGF0aW9uTWV0cmljEj4KCW51bWVyYXRvchgBIAEoCzIrLndlYl9ycGNfcHJveHkuRmxlZXRQYXJ0aWNpcGF0aW9uTWV0cmljUGFydBJACgtkZW5vbWluYXRvchgCIAEoCzIrLndlYl9ycGNfcHJveHkuRmxlZXRQYXJ0aWNpcGF0aW9uTWV0cmljUGFydCLoAQoSRmxlZXRQYXJ0aWNpcGF0aW9uEjMKBG1vZGUYASABKA4yJS53ZWJfcnBjX3Byb3h5LkZsZWV0UGFydGljaXBhdGlvbk1vZGUSOQoHY2FkZW5jZRgCIAEoDjIoLndlYl9ycGNfcHJveHkuRmxlZXRQYXJ0aWNpcGF0aW9uQ2FkZW5jZRIpCgZhY3RvcnMYAyADKA4yGS53ZWJfcnBjX3Byb3h5LkZsZWV0QWN0b3ISNwoGbWV0cmljGAQgASgLMicud2ViX3JwY19wcm94eS5GbGVldFBhcnRpY2lwYXRpb25NZXRyaWMiKgoNRmxlZXRDYXRlZ29yeRILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCSKYBAoJRmxlZXRGbG93EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEjYKDGF2YWlsYWJpbGl0eRgHIAEoCzIgLndlYl9ycGNfcHJveHkuRmxlZXRBdmFpbGFiaWxpdHkSMAoKY29yZV9zbG90cxgJIAMoCzIcLndlYl9ycGNfcHJveHkuRmxlZXRDb3JlU2xvdBItCgh2YXJpYW50cxgKIAMoCzIbLndlYl9ycGNfcHJveHkuRmxlZXRWYXJpYW50EjQKDHNldHVwX2lucHV0cxgLIAMoCzIeLndlYl9ycGNfcHJveHkuRmxlZXRTZXR1cElucHV0EjgKDXBhcnRpY2lwYXRpb24YDCABKAsyIS53ZWJfcnBjX3Byb3h5LkZsZWV0UGFydGljaXBhdGlvbhI6Cg9hbGxvd2VkX2FjdGlvbnMYDSADKA4yIS53ZWJfcnBjX3Byb3h5LkZsZWV0QWxsb3dlZEFjdGlvbhJDChNpbnN0YWxsYXRpb25fc3RhdHVzGA4gASgOMiYud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhdGlvblN0YXR1cxIUCgxjYXRlZ29yeV9rZXkYDyABKAkSNQoMaW5zdGFsbGFibGVzGBAgAygLMh8ud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSgQICBAJIqcCChBGbGVldEluc3RhbGxhYmxlEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEj8KC2NhcmRpbmFsaXR5GAQgASgOMioud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlQ2FyZGluYWxpdHkSHQoVc3VwcG9ydHNfZXh0cmFfcHJvbXB0GAUgASgIEhwKFGluc3RhbGxlZF9ieV9kZWZhdWx0GAYgASgIEjQKDHNldHVwX2lucHV0cxgHIAMoCzIeLndlYl9ycGNfcHJveHkuRmxlZXRTZXR1cElucHV0EhQKDHZhcmlhbnRfa2V5cxgIIAMoCRIZChFleHRyYV9pbnB1dF9sYWJlbBgJIAEoCSqpAQoORmxlZXRSdW5Bc01vZGUSIQodRkxFRVRfUlVOX0FTX01PREVfVU5TUEVDSUZJRUQQABIdChlGTEVFVF9SVU5fQVNfTU9ERV9NQU5BR0VEEAESJQohRkxFRVRfUlVOX0FTX01PREVfSU5TVEFMTElOR19VU0VSEAISLgoqRkxFRVRfUlVOX0FTX01PREVfRVhJU1RJTkdfU0VSVklDRV9BQ0NPVU5UEAMqeAoPRmxlZXRBY3RvclN0YXRlEiEKHUZMRUVUX0FDVE9SX1NUQVRFX1VOU1BFQ0lGSUVEEAASHwobRkxFRVRfQUNUT1JfU1RBVEVfQVZBSUxBQkxFEAESIQodRkxFRVRfQUNUT1JfU1RBVEVfVU5BVkFJTEFCTEUQAirJAQoQRmxlZXRBcHBseVN0YXR1cxIiCh5GTEVFVF9BUFBMWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtGTEVFVF9BUFBMWV9TVEFUVVNfQVBQTFlJTkcQARIjCh9GTEVFVF9BUFBMWV9TVEFUVVNfUkVBRFlfVE9fQVJNEAISJwojRkxFRVRfQVBQTFlfU1RBVFVTX0ZBSUxFRF9SRVRSWUFCTEUQAxIcChhGTEVFVF9BUFBMWV9TVEFUVVNfQVJNRUQQBSIECAQQBCrCAQoYRmxlZXRDYXRhbG9nQXZhaWxhYmlsaXR5EioKJkZMRUVUX0NBVEFMT0dfQVZBSUxBQklMSVRZX1VOU1BFQ0lGSUVEEAASKAokRkxFRVRfQ0FUQUxPR19BVkFJTEFCSUxJVFlfQVZBSUxBQkxFEAESJAogRkxFRVRfQ0FUQUxPR19BVkFJTEFCSUxJVFlfU1RBTEUQAhIqCiZGTEVFVF9DQVRBTE9HX0FWQUlMQUJJTElUWV9VTkFWQUlMQUJMRRADKskBChZGbGVldEF2YWlsYWJpbGl0eVN0YXRlEigKJEZMRUVUX0FWQUlMQUJJTElUWV9TVEFURV9VTlNQRUNJRklFRBAAEiYKIkZMRUVUX0FWQUlMQUJJTElUWV9TVEFURV9BVkFJTEFCTEUQARIxCi1GTEVFVF9BVkFJTEFCSUxJVFlfU1RBVEVfQkxPQ0tFRF9SRVFVSVJFTUVOVFMQAhIqCiZGTEVFVF9BVkFJTEFCSUxJVFlfU1RBVEVfTk9UX0FWQUlMQUJMRRADKsoCChNGbGVldFNldHVwSW5wdXRUeXBlEiYKIkZMRUVUX1NFVFVQX0lOUFVUX1RZUEVfVU5TUEVDSUZJRUQQABIfChtGTEVFVF9TRVRVUF9JTlBVVF9UWVBFX1RFWFQQARImCiJGTEVFVF9TRVRVUF9JTlBVVF9UWVBFX1NUUklOR19MSVNUEAISJgoiRkxFRVRfU0VUVVBfSU5QVVRfVFlQRV9FTlZJUk9OTUVOVBADEisKJ0ZMRUVUX1NFVFVQX0lOUFVUX1RZUEVfU0VDUkVUX1JFRkVSRU5DRRAEEiYKIkZMRUVUX1NFVFVQX0lOUFVUX1RZUEVfSU5URUdSQVRJT04QBRIiCh5GTEVFVF9TRVRVUF9JTlBVVF9UWVBFX0JPT0xFQU4QBhIhCh1GTEVFVF9TRVRVUF9JTlBVVF9UWVBFX0NIT0lDRRAHKuYBChZGbGVldFBhcnRpY2lwYXRpb25Nb2RlEigKJEZMRUVUX1BBUlRJQ0lQQVRJT05fTU9ERV9VTlNQRUNJRklFRBAAEigKJEZMRUVUX1BBUlRJQ0lQQVRJT05fTU9ERV9JTlRFUkFDVElWRRABEioKJkZMRUVUX1BBUlRJQ0lQQVRJT05fTU9ERV9IVU1BTl9PTl9MT09QEAISJwojRkxFRVRfUEFSVElDSVBBVElPTl9NT0RFX0FVVE9OT01PVVMQAxIjCh9GTEVFVF9QQVJUSUNJUEFUSU9OX01PREVfSFlCUklEEAQq+AEKGUZsZWV0UGFydGljaXBhdGlvbkNhZGVuY2USKwonRkxFRVRfUEFSVElDSVBBVElPTl9DQURFTkNFX1VOU1BFQ0lGSUVEEAASKQolRkxFRVRfUEFSVElDSVBBVElPTl9DQURFTkNFX09OX0RFTUFORBABEiwKKEZMRUVUX1BBUlRJQ0lQQVRJT05fQ0FERU5DRV9FVkVOVF9EUklWRU4QAhIpCiVGTEVFVF9QQVJUSUNJUEFUSU9OX0NBREVOQ0VfU0NIRURVTEVEEAMSKgomRkxFRVRfUEFSVElDSVBBVElPTl9DQURFTkNFX0NPTlRJTlVPVVMQBCrFAQoKRmxlZXRBY3RvchIbChdGTEVFVF9BQ1RPUl9VTlNQRUNJRklFRBAAEhsKF0ZMRUVUX0FDVE9SX0VOR0lORUVSSU5HEAESFwoTRkxFRVRfQUNUT1JfUFJPRFVDVBACEhoKFkZMRUVUX0FDVE9SX09QRVJBVElPTlMQAxIYChRGTEVFVF9BQ1RPUl9CVVNJTkVTUxAEEhcKE0ZMRUVUX0FDVE9SX1NVUFBPUlQQBRIVChFGTEVFVF9BQ1RPUl9TQUxFUxAGKuQBChJGbGVldEFsbG93ZWRBY3Rpb24SJAogRkxFRVRfQUxMT1dFRF9BQ1RJT05fVU5TUEVDSUZJRUQQABIdChlGTEVFVF9BTExPV0VEX0FDVElPTl9WSUVXEAESIAocRkxFRVRfQUxMT1dFRF9BQ1RJT05fSU5TVEFMTBACEhwKGEZMRUVUX0FMTE9XRURfQUNUSU9OX0FSTRAEEiIKHkZMRUVUX0FMTE9XRURfQUNUSU9OX0NPTkZJR1VSRRAFEh8KG0ZMRUVUX0FMTE9XRURfQUNUSU9OX1JFUEFJUhAGIgQIAxADKlIKEEZsZWV0VmFyaWFudEtpbmQSIgoeRkxFRVRfVkFSSUFOVF9LSU5EX1VOU1BFQ0lGSUVEEAASGgoWRkxFRVRfVkFSSUFOVF9LSU5EX1NDTRABKroBChdGbGVldENvbmZpZ3VyYXRpb25TdGF0ZRIpCiVGTEVFVF9DT05GSUdVUkFUSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASIwofRkxFRVRfQ09ORklHVVJBVElPTl9TVEFURV9SRUFEWRABEigKJEZMRUVUX0NPTkZJR1VSQVRJT05fU1RBVEVfSU5DT01QTEVURRACEiUKIUZMRUVUX0NPTkZJR1VSQVRJT05fU1RBVEVfVU5LTk9XThADKqACChdGbGVldEluc3RhbGxhdGlvblN0YXR1cxIpCiVGTEVFVF9JTlNUQUxMQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASJQohRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19VTktOT1dOEAESKwonRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19OT1RfSU5TVEFMTEVEEAISMQotRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19QQVJUSUFMTFlfSU5TVEFMTEVEEAMSJwojRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19JTlNUQUxMRUQQBBIqCiZGTEVFVF9JTlNUQUxMQVRJT05fU1RBVFVTX05FRURTX1JFUEFJUhAFKt0BChtGbGVldEluc3RhbGxhYmxlQ2FyZGluYWxpdHkSLQopRkxFRVRfSU5TVEFMTEFCTEVfQ0FSRElOQUxJVFlfVU5TUEVDSUZJRUQQABIrCidGTEVFVF9JTlNUQUxMQUJMRV9DQVJESU5BTElUWV9TSU5HTEVUT04QARI0CjBGTEVFVF9JTlNUQUxMQUJMRV9DQVJESU5BTElUWV9PUFRJT05BTF9TSU5HTEVUT04QAhIsCihGTEVFVF9JTlNUQUxMQUJMRV9DQVJESU5BTElUWV9SRVBFQVRBQkxFEAMy2Q4KEUZsZWV0UHJveHlTZXJ2aWNlEqoBCg9HZXRGbGVldENhdGFsb2cSJS53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q2F0YWxvZ1JlcXVlc3QaJi53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q2F0YWxvZ1Jlc3BvbnNlIkiatRglcG9zZWlkb24uRmxlZXRTZXJ2aWNlL0dldEZsZWV0Q2F0YWxvZ7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAESpgEKDkFwcGx5RmxlZXRGbG93EiQud2ViX3JwY19wcm94eS5BcHBseUZsZWV0Rmxvd1JlcXVlc3QaJS53ZWJfcnBjX3Byb3h5LkFwcGx5RmxlZXRGbG93UmVzcG9uc2UiR5q1GCRwb3NlaWRvbi5GbGVldFNlcnZpY2UvQXBwbHlGbGVldEZsb3e6tRgbChdmbGVldF93b3JrZmxvd3NfZW5hYmxlZBABEp4BCgxBcm1GbGVldEZsb3cSIi53ZWJfcnBjX3Byb3h5LkFybUZsZWV0Rmxvd1JlcXVlc3QaIy53ZWJfcnBjX3Byb3h5LkFybUZsZWV0Rmxvd1Jlc3BvbnNlIkWatRgicG9zZWlkb24uRmxlZXRTZXJ2aWNlL0FybUZsZWV0Rmxvd7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAESugEKE0RlYWN0aXZhdGVGbGVldEZsb3cSKS53ZWJfcnBjX3Byb3h5LkRlYWN0aXZhdGVGbGVldEZsb3dSZXF1ZXN0Gioud2ViX3JwY19wcm94eS5EZWFjdGl2YXRlRmxlZXRGbG93UmVzcG9uc2UiTJq1GClwb3NlaWRvbi5GbGVldFNlcnZpY2UvRGVhY3RpdmF0ZUZsZWV0Rmxvd7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAEStgEKElVuaW5zdGFsbEZsZWV0RmxvdxIoLndlYl9ycGNfcHJveHkuVW5pbnN0YWxsRmxlZXRGbG93UmVxdWVzdBopLndlYl9ycGNfcHJveHkuVW5pbnN0YWxsRmxlZXRGbG93UmVzcG9uc2UiS5q1GChwb3NlaWRvbi5GbGVldFNlcnZpY2UvVW5pbnN0YWxsRmxlZXRGbG93urUYGwoXZmxlZXRfd29ya2Zsb3dzX2VuYWJsZWQQARK2AQoSQ29uZmlndXJlRmxlZXRGbG93Eigud2ViX3JwY19wcm94eS5Db25maWd1cmVGbGVldEZsb3dSZXF1ZXN0Gikud2ViX3JwY19wcm94eS5Db25maWd1cmVGbGVldEZsb3dSZXNwb25zZSJLmrUYKHBvc2VpZG9uLkZsZWV0U2VydmljZS9Db25maWd1cmVGbGVldEZsb3e6tRgbChdmbGVldF93b3JrZmxvd3NfZW5hYmxlZBABEqoBCg9SZXBhaXJGbGVldEZsb3cSJS53ZWJfcnBjX3Byb3h5LlJlcGFpckZsZWV0Rmxvd1JlcXVlc3QaJi53ZWJfcnBjX3Byb3h5LlJlcGFpckZsZWV0Rmxvd1Jlc3BvbnNlIkiatRglcG9zZWlkb24uRmxlZXRTZXJ2aWNlL1JlcGFpckZsZWV0Rmxvd7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAESwgEKFUdldEZsZWV0Rmxvd0xpZmVjeWNsZRIrLndlYl9ycGNfcHJveHkuR2V0RmxlZXRGbG93TGlmZWN5Y2xlUmVxdWVzdBosLndlYl9ycGNfcHJveHkuR2V0RmxlZXRGbG93TGlmZWN5Y2xlUmVzcG9uc2UiTpq1GCtwb3NlaWRvbi5GbGVldFNlcnZpY2UvR2V0RmxlZXRGbG93TGlmZWN5Y2xlurUYGwoXZmxlZXRfd29ya2Zsb3dzX2VuYWJsZWQQARLGAQoWTGlzdEZsZWV0SW5zdGFsbGF0aW9ucxIsLndlYl9ycGNfcHJveHkuTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1JlcXVlc3QaLS53ZWJfcnBjX3Byb3h5Lkxpc3RGbGVldEluc3RhbGxhdGlvbnNSZXNwb25zZSJPmrUYLHBvc2VpZG9uLkZsZWV0U2VydmljZS9MaXN0RmxlZXRJbnN0YWxsYXRpb25zurUYGwoXZmxlZXRfd29ya2Zsb3dzX2VuYWJsZWQQARLiAQodR2V0RmxlZXRDb25maWd1cmF0aW9uRG9jdW1lbnQSMy53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q29uZmlndXJhdGlvbkRvY3VtZW50UmVxdWVzdBo0LndlYl9ycGNfcHJveHkuR2V0RmxlZXRDb25maWd1cmF0aW9uRG9jdW1lbnRSZXNwb25zZSJWmrUYM3Bvc2VpZG9uLkZsZWV0U2VydmljZS9HZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudLq1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAFiBnByb3RvMw",[ee,L2]);var H2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MANAGED=1]="MANAGED",e[e.INSTALLING_USER=2]="INSTALLING_USER",e[e.EXISTING_SERVICE_ACCOUNT=3]="EXISTING_SERVICE_ACCOUNT"})(H2||(H2={}));var M2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.UNAVAILABLE=2]="UNAVAILABLE"})(M2||(M2={}));var O2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.APPLYING=1]="APPLYING",e[e.READY_TO_ARM=2]="READY_TO_ARM",e[e.FAILED_RETRYABLE=3]="FAILED_RETRYABLE",e[e.ARMED=5]="ARMED"})(O2||(O2={}));var j2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.STALE=2]="STALE",e[e.UNAVAILABLE=3]="UNAVAILABLE"})(j2||(j2={}));var P2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.BLOCKED_REQUIREMENTS=2]="BLOCKED_REQUIREMENTS",e[e.NOT_AVAILABLE=3]="NOT_AVAILABLE"})(P2||(P2={}));var q2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TEXT=1]="TEXT",e[e.STRING_LIST=2]="STRING_LIST",e[e.ENVIRONMENT=3]="ENVIRONMENT",e[e.SECRET_REFERENCE=4]="SECRET_REFERENCE",e[e.INTEGRATION=5]="INTEGRATION",e[e.BOOLEAN=6]="BOOLEAN",e[e.CHOICE=7]="CHOICE"})(q2||(q2={}));var $2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INTERACTIVE=1]="INTERACTIVE",e[e.HUMAN_ON_LOOP=2]="HUMAN_ON_LOOP",e[e.AUTONOMOUS=3]="AUTONOMOUS",e[e.HYBRID=4]="HYBRID"})($2||($2={}));var e0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ON_DEMAND=1]="ON_DEMAND",e[e.EVENT_DRIVEN=2]="EVENT_DRIVEN",e[e.SCHEDULED=3]="SCHEDULED",e[e.CONTINUOUS=4]="CONTINUOUS"})(e0||(e0={}));var t0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ENGINEERING=1]="ENGINEERING",e[e.PRODUCT=2]="PRODUCT",e[e.OPERATIONS=3]="OPERATIONS",e[e.BUSINESS=4]="BUSINESS",e[e.SUPPORT=5]="SUPPORT",e[e.SALES=6]="SALES"})(t0||(t0={}));var n0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.VIEW=1]="VIEW",e[e.INSTALL=2]="INSTALL",e[e.ARM=4]="ARM",e[e.CONFIGURE=5]="CONFIGURE",e[e.REPAIR=6]="REPAIR"})(n0||(n0={}));var r0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SCM=1]="SCM"})(r0||(r0={}));var o0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.READY=1]="READY",e[e.INCOMPLETE=2]="INCOMPLETE",e[e.UNKNOWN=3]="UNKNOWN"})(o0||(o0={}));var i0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.UNKNOWN=1]="UNKNOWN",e[e.NOT_INSTALLED=2]="NOT_INSTALLED",e[e.PARTIALLY_INSTALLED=3]="PARTIALLY_INSTALLED",e[e.INSTALLED=4]="INSTALLED",e[e.NEEDS_REPAIR=5]="NEEDS_REPAIR"})(i0||(i0={}));var s0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SINGLETON=1]="SINGLETON",e[e.OPTIONAL_SINGLETON=2]="OPTIONAL_SINGLETON",e[e.REPEATABLE=3]="REPEATABLE"})(s0||(s0={}));var go=k("CiNzZXJ2aWNlcy9hcGlfcHJveHkvcHVibGljX2FwaS5wcm90bxIKcHVibGljX2FwaSI1CgpBY3Rpb25JdGVtEg0KBXRpdGxlGAEgASgJEhAKA3VybBgCIAEoCUgAiAEBQgYKBF91cmwiKQoaQWN0aW9uc0dldFVzZXJTdGF0ZVJlcXVlc3QSCwoDa2V5GAEgASgJIkQKG0FjdGlvbnNHZXRVc2VyU3RhdGVSZXNwb25zZRINCgV2YWx1ZRgBIAEoCRIWCg52ZXJzaW9uX251bWJlchgCIAEoAyJoChpBY3Rpb25zU2V0VXNlclN0YXRlUmVxdWVzdBILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkSGwoOdmVyc2lvbl9udW1iZXIYAyABKANIAIgBAUIRCg9fdmVyc2lvbl9udW1iZXIiNQobQWN0aW9uc1NldFVzZXJTdGF0ZVJlc3BvbnNlEhYKDnZlcnNpb25fbnVtYmVyGAEgASgDImIKEkFjdGl2ZVN1YnNjcmlwdGlvbhIsCghlbmRfZGF0ZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoWdXNhZ2VfYmFsYW5jZV9kZXBsZXRlZBgCIAEoCCLhAQoPQWdlbnRDYXBhYmlsaXR5EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSLwoFc2NvcGUYAyABKA4yIC5wdWJsaWNfYXBpLkFnZW50Q2FwYWJpbGl0eVNjb3BlEj8KDG5hdGl2ZV90b29scxgEIAMoCzIpLnB1YmxpY19hcGkuQWdlbnRDYXBhYmlsaXR5VG9vbERlZmluaXRpb24SOQoLbWNwX3NlcnZlcnMYBSADKAsyJC5wdWJsaWNfYXBpLkFnZW50Q2FwYWJpbGl0eU1DUFNlcnZlciJkChhBZ2VudENhcGFiaWxpdHlNQ1BTZXJ2ZXISEwoLc2VydmVyX25hbWUYASABKAkSEgoKc2VydmVyX3VybBgCIAEoCRIfChdyZXF1aXJlZF9jcmVkZW50aWFsX2tleRgDIAEoCSJhChhBZ2VudENhcGFiaWxpdHlSZWZlcmVuY2USFwoPY2FwYWJpbGl0eV9uYW1lGAEgASgJEhUKDWFsbG93ZWRfdG9vbHMYAiADKAkSFQoNYmxvY2tlZF90b29scxgDIAMoCSIyCh1BZ2VudENhcGFiaWxpdHlUb29sRGVmaW5pdGlvbhIRCgl0b29sX25hbWUYASABKAki+gMKC0FnZW50Q29uZmlnEjMKD3dvcmtzcGFjZV9zZXR1cBgBIAEoCzIaLnB1YmxpY19hcGkuV29ya3NwYWNlU2V0dXASMwoOc3RhcnRpbmdfbm9kZXMYAiADKAsyGy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0Tm9kZRIcCg91c2VyX2d1aWRlbGluZXMYAyABKAlIAIgBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgEIAEoCUgBiAEBEhIKBW1vZGVsGAYgASgJSAKIAQESIgoVaXNfc2V0dXBfc2NyaXB0X2FnZW50GAcgASgISAOIAQESMAoLbWNwX3NlcnZlcnMYCCADKAsyGy5wdWJsaWNfYXBpLk1jcFNlcnZlckNvbmZpZxISCgV0aXRsZRgJIAEoCUgEiAEBEjYKDnJlcXVlc3Rfc291cmNlGAogASgOMhkucHVibGljX2FwaS5SZXF1ZXN0U291cmNlSAWIAQESFgoOZGlzYWJsZWRfdG9vbHMYCyADKAlCEgoQX3VzZXJfZ3VpZGVsaW5lc0IXChVfd29ya3NwYWNlX2d1aWRlbGluZXNCCAoGX21vZGVsQhgKFl9pc19zZXR1cF9zY3JpcHRfYWdlbnRCCAoGX3RpdGxlQhEKD19yZXF1ZXN0X3NvdXJjZUoECAUQBiKQAgoSQWdlbnRIaXN0b3J5VXBkYXRlEjAKBHR5cGUYASABKA4yIi5wdWJsaWNfYXBpLkFnZW50SGlzdG9yeVVwZGF0ZVR5cGUSNgoIZXhjaGFuZ2UYAiABKAsyHy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50RXhjaGFuZ2VIAIgBARI4Cg9leGNoYW5nZV91cGRhdGUYAyABKAsyGi5wdWJsaWNfYXBpLkV4Y2hhbmdlVXBkYXRlSAGIAQESKwoFYWdlbnQYBCABKAsyFy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50SAKIAQFCCwoJX2V4Y2hhbmdlQhIKEF9leGNoYW5nZV91cGRhdGVCCAoGX2FnZW50IuwCCg9BZ2VudExpc3RVcGRhdGUSLQoEdHlwZRgBIAEoDjIfLnB1YmxpY19hcGkuQWdlbnRMaXN0VXBkYXRlVHlwZRI0ChB1cGRhdGVfdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgVhZ2VudBgDIAEoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRIAIgBARIdChBkZWxldGVkX2FnZW50X2lkGAQgASgJSAGIAQESKwoKYWxsX2FnZW50cxgFIAMoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnQSFwoKbWF4X2FnZW50cxgGIAEoBUgCiAEBEh4KEW1heF9hY3RpdmVfYWdlbnRzGAcgASgFSAOIAQFCCAoGX2FnZW50QhMKEV9kZWxldGVkX2FnZW50X2lkQg0KC19tYXhfYWdlbnRzQhQKEl9tYXhfYWN0aXZlX2FnZW50cyKiAQoMQWdlbnRQZXJzb25hEgoKAmlkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEiwKBXNjb3BlGAMgASgOMh0ucHVibGljX2FwaS5BZ2VudFBlcnNvbmFTY29wZRJDChVyZXF1aXJlZF9jYXBhYmlsaXRpZXMYBCADKAsyJC5wdWJsaWNfYXBpLkFnZW50Q2FwYWJpbGl0eVJlZmVyZW5jZSJfChlBZ2VudFdvcmtzcGFjZUNoYXRSZXF1ZXN0EkIKD3JlcXVlc3RfZGV0YWlscxgBIAEoCzIpLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRDaGF0UmVxdWVzdERldGFpbHMiQQomQWdlbnRXb3Jrc3BhY2VHZXRMYXN0U2VxdWVuY2VJZFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJIk0KJ0FnZW50V29ya3NwYWNlR2V0TGFzdFNlcXVlbmNlSWRSZXNwb25zZRIiChpsYXN0X3Byb2Nlc3NlZF9zZXF1ZW5jZV9pZBgBIAEoDSIZChdBZ2VudFdvcmtzcGFjZUludGVycnVwdCJeCh9BZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIiChpsYXN0X3Byb2Nlc3NlZF9zZXF1ZW5jZV9pZBgCIAEoDSJVCiBBZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXNwb25zZRIxCgd1cGRhdGVzGAEgAygLMiAucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVVwZGF0ZSJ4CiZBZ2VudFdvcmtzcGFjZVJlcG9ydENoYXRIaXN0b3J5UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSNQoMY2hhdF9oaXN0b3J5GAIgAygLMh8ucHVibGljX2FwaS5SZW1vdGVBZ2VudEV4Y2hhbmdlIikKJ0FnZW50V29ya3NwYWNlUmVwb3J0Q2hhdEhpc3RvcnlSZXNwb25zZSJoCilBZ2VudFdvcmtzcGFjZVJlcG9ydExhc3RTZXF1ZW5jZUlkUmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSIgoabGFzdF9wcm9jZXNzZWRfc2VxdWVuY2VfaWQYAiABKA0iLAoqQWdlbnRXb3Jrc3BhY2VSZXBvcnRMYXN0U2VxdWVuY2VJZFJlc3BvbnNlIocBCiRBZ2VudFdvcmtzcGFjZVJlcG9ydFNldHVwTG9nc1JlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEkYKFndvcmtzcGFjZV9zZXR1cF9zdGF0dXMYAyABKAsyJi5wdWJsaWNfYXBpLlJlbW90ZVdvcmtzcGFjZVNldHVwU3RhdHVzIicKJUFnZW50V29ya3NwYWNlUmVwb3J0U2V0dXBMb2dzUmVzcG9uc2UisQEKIUFnZW50V29ya3NwYWNlUmVwb3J0U3RhdHVzUmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSLQoGc3RhdHVzGAIgASgOMh0ucHVibGljX2FwaS5SZW1vdGVBZ2VudFN0YXR1cxImChloYXNfYWN0aXZlX3NzaF9jb25uZWN0aW9uGAMgASgISACIAQFCHAoaX2hhc19hY3RpdmVfc3NoX2Nvbm5lY3Rpb24iJAoiQWdlbnRXb3Jrc3BhY2VSZXBvcnRTdGF0dXNSZXNwb25zZSJaChtBZ2VudFdvcmtzcGFjZVN0cmVhbVJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEiIKGmxhc3RfcHJvY2Vzc2VkX3NlcXVlbmNlX2lkGAIgASgNIlcKHEFnZW50V29ya3NwYWNlU3RyZWFtUmVzcG9uc2USNwoHdXBkYXRlcxgBIAMoCzImLnB1YmxpY19hcGkuQWdlbnRXb3Jrc3BhY2VTdHJlYW1VcGRhdGUigwIKGkFnZW50V29ya3NwYWNlU3RyZWFtVXBkYXRlEjIKBHR5cGUYASABKA4yJC5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlVXBkYXRlVHlwZRITCgtzZXF1ZW5jZV9pZBgCIAEoDRI7CglpbnRlcnJ1cHQYAyABKAsyIy5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlSW50ZXJydXB0SACIAQESQAoMY2hhdF9yZXF1ZXN0GAQgASgLMiUucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZUNoYXRSZXF1ZXN0SAGIAQFCDAoKX2ludGVycnVwdEIPCg1fY2hhdF9yZXF1ZXN0Iq4BChRBZ2VudFdvcmtzcGFjZVVwZGF0ZRI4CglpbnRlcnJ1cHQYAiABKAsyIy5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlSW50ZXJydXB0SAASPQoMY2hhdF9yZXF1ZXN0GAMgASgLMiUucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZUNoYXRSZXF1ZXN0SAASEwoLc2VxdWVuY2VfaWQYASABKA1CCAoGdXBkYXRlInsKGEFnZ3JlZ2F0ZWRPdXRjb21lTWV0cmljcxIMCgRuYW1lGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRINCgVjb3VudBgDIAEoBBIsCgZ2YWx1ZXMYBCABKAsyHC5wdWJsaWNfYXBpLkFnZ3JlZ2F0ZWRWYWx1ZXMilAEKEEFnZ3JlZ2F0ZWRWYWx1ZXMSCwoDc3VtGAEgASgBEgsKA2F2ZxgCIAEoARILCgNtaW4YAyABKAESCwoDbWF4GAQgASgBEgsKA3AyNRgFIAEoARILCgNwNTAYBiABKAESCwoDcDc1GAcgASgBEgsKA3A5MBgIIAEoARILCgNwOTUYCSABKAESCwoDcDk5GAogASgBIuYBChNBbmFseXRpY3NUYWdTdW1tYXJ5EgsKA2tleRgBIAEoCRIVCg1zZXNzaW9uX2NvdW50GAIgASgEEhkKEW9ic2VydmF0aW9uX2NvdW50GAQgASgEEh4KFmRpc3RpbmN0X3N1YmplY3RfY291bnQYBSABKAQSNAoGdmFsdWVzGAYgAygLMiQucHVibGljX2FwaS5BbmFseXRpY3NUYWdWYWx1ZVN1bW1hcnkSEwoLZGlzcGxheV9rZXkYByABKAkSJQoGc291cmNlGAggASgOMhUucHVibGljX2FwaS5UYWdTb3VyY2UikgEKGEFuYWx5dGljc1RhZ1ZhbHVlU3VtbWFyeRINCgV2YWx1ZRgBIAEoCRIVCg1kaXNwbGF5X3ZhbHVlGAIgASgJEhUKDXNlc3Npb25fY291bnQYAyABKAQSGQoRb2JzZXJ2YXRpb25fY291bnQYBSABKAQSHgoWZGlzdGluY3Rfc3ViamVjdF9jb3VudBgGIAEoBCJbChdBdGxhc3NpYW5Ub29sRXh0cmFJbnB1dBISCgpzZXJ2ZXJfdXJsGAEgASgJEhoKEnBlcnNvbmFsX2FwaV90b2tlbhgCIAEoCRIQCgh1c2VybmFtZRgDIAEoCSIqCgxCYW5uZXJCdXR0b24SDQoFdGl0bGUYASABKAkSCwoDdXJsGAIgASgJItcDChFCYW5uZXJJbmZvcm1hdGlvbhIPCgdtZXNzYWdlGAEgASgJEi0KBmJ1dHRvbhgCIAEoCzIYLnB1YmxpY19hcGkuQmFubmVyQnV0dG9uSACIAQESPQoLYmFubmVyX3R5cGUYAyABKA4yKC5wdWJsaWNfYXBpLkJhbm5lckluZm9ybWF0aW9uLkJhbm5lclR5cGUSRwoNZGlzcGxheV9zdHlsZRgEIAEoDjIwLnB1YmxpY19hcGkuQmFubmVySW5mb3JtYXRpb24uQmFubmVyRGlzcGxheVN0eWxlIoUBCgpCYW5uZXJUeXBlEhcKE0JBTk5FUl9UWVBFX1VOS05PV04QABIMCghVUkxfTElOSxABEhoKFlVTQUdFX0JBTEFOQ0VfREVQTEVURUQQAhIVChFVU0FHRV9CQUxBTkNFX0xPVxADEh0KGVJFUVVJUkVfUEFZTUVOVF9GT1JfVFJJQUwQBCJnChJCYW5uZXJEaXNwbGF5U3R5bGUSIAocQkFOTkVSX0RJU1BMQVlfU1RZTEVfVU5LTk9XThAAEggKBElORk8QARINCglQUk9NT1RJT04QAhILCgdXQVJOSU5HEAMSCQoFQUxFUlQQBEIJCgdfYnV0dG9uIjsKEkJhdGNoVXBsb2FkUmVxdWVzdBIlCgVibG9icxgBIAMoCzIWLnB1YmxpY19hcGkuVXBsb2FkQmxvYiIpChNCYXRjaFVwbG9hZFJlc3BvbnNlEhIKCmJsb2JfbmFtZXMYASADKAkiYQoFQmxvYnMSGgoNY2hlY2twb2ludF9pZBgBIAEoCUgAiAEBEhMKC2FkZGVkX2Jsb2JzGAIgAygJEhUKDWRlbGV0ZWRfYmxvYnMYAyADKAlCEAoOX2NoZWNrcG9pbnRfaWQiigEKEUJvb3RzdHJhcFNldHRpbmdzElMKHXJlcG9zaXRvcnlfYWxsb3dsaXN0X3NldHRpbmdzGAEgASgLMicucHVibGljX2FwaS5SZXBvc2l0b3J5QWxsb3dsaXN0U2V0dGluZ3NIAIgBAUIgCh5fcmVwb3NpdG9yeV9hbGxvd2xpc3Rfc2V0dGluZ3Mi3wEKC0NoYW5nZWRGaWxlEhAKCG9sZF9wYXRoGAEgASgJEhAKCG5ld19wYXRoGAIgASgJEjsKC2NoYW5nZV90eXBlGAMgASgOMiYucHVibGljX2FwaS5DaGFuZ2VkRmlsZS5GaWxlQ2hhbmdlVHlwZRIUCgxvbGRfY29udGVudHMYBCABKAkSFAoMbmV3X2NvbnRlbnRzGAUgASgJIkMKDkZpbGVDaGFuZ2VUeXBlEgkKBUFEREVEEAASCwoHREVMRVRFRBABEgwKCE1PRElGSUVEEAISCwoHUkVOQU1FRBADIpgEChBDaGFuZ2VkRmlsZVN0YXRzEj0KEGFkZGVkX2ZpbGVfc3RhdHMYASABKAsyIy5wdWJsaWNfYXBpLlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEj4KEWJyb2tlbl9maWxlX3N0YXRzGAIgASgLMiMucHVibGljX2FwaS5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxI+ChFjb3BpZWRfZmlsZV9zdGF0cxgDIAEoCzIjLnB1YmxpY19hcGkuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSPwoSZGVsZXRlZF9maWxlX3N0YXRzGAQgASgLMiMucHVibGljX2FwaS5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxJAChNtb2RpZmllZF9maWxlX3N0YXRzGAUgASgLMiMucHVibGljX2FwaS5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxI/ChJyZW5hbWVkX2ZpbGVfc3RhdHMYBiABKAsyIy5wdWJsaWNfYXBpLlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEkAKE3VubWVyZ2VkX2ZpbGVfc3RhdHMYByABKAsyIy5wdWJsaWNfYXBpLlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEj8KEnVua25vd25fZmlsZV9zdGF0cxgIIAEoCzIjLnB1YmxpY19hcGkuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMi2QIKGUNoYXRGZWF0dXJlRGV0ZWN0aW9uRmxhZ3MSIQoQc3VwcG9ydF9tYXJrZG93bhgBIAEoCEICGAFIAIgBARIjChJzdXBwb3J0X3Jhd19vdXRwdXQYAiABKAhCAhgBSAGIAQESJQoYc3VwcG9ydF9yZWxldmFudF9zb3VyY2VzGAMgASgISAKIAQESIwoWc3VwcG9ydF90b29sX3VzZV9zdGFydBgEIAEoCEgDiAEBEiYKGXN1cHBvcnRfcGFyYWxsZWxfdG9vbF91c2UYBSABKAhIBIgBAUITChFfc3VwcG9ydF9tYXJrZG93bkIVChNfc3VwcG9ydF9yYXdfb3V0cHV0QhsKGV9zdXBwb3J0X3JlbGV2YW50X3NvdXJjZXNCGQoXX3N1cHBvcnRfdG9vbF91c2Vfc3RhcnRCHAoaX3N1cHBvcnRfcGFyYWxsZWxfdG9vbF91c2UikAEKDENoYXRGZWVkYmFjaxISCgpyZXF1ZXN0X2lkGAEgASgJEioKBnJhdGluZxgCIAEoDjIaLnB1YmxpY19hcGkuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgDIAEoCRIcCgRtb2RlGAQgASgOMg4uY2hhdC5DaGF0TW9kZRIUCgxyZWFzb25fY29kZXMYBSADKAkiFgoUQ2hhdEZlZWRiYWNrUmVzcG9uc2Ui1QIKGkNoYXRJbnB1dENvbXBsZXRpb25SZXF1ZXN0EhIKBW1vZGVsGAEgASgJSACIAQESDgoGcHJvbXB0GAIgASgJEgwKBHBhdGgYAyABKAkSEwoGc3VmZml4GAQgASgJSAGIAQESIAoFYmxvYnMYBSABKAsyES5wdWJsaWNfYXBpLkJsb2JzEjIKDHJlY2VuY3lfaW5mbxgGIAEoCzIXLnB1YmxpY19hcGkuUmVjZW5jeUluZm9IAogBARIRCgRsYW5nGAcgASgJSAOIAQESGAoLc2VxdWVuY2VfaWQYCCABKA1IBIgBARIuCgtlZGl0X2V2ZW50cxgJIAMoCzIZLnB1YmxpY19hcGkuRmlsZUVkaXRFdmVudEIICgZfbW9kZWxCCQoHX3N1ZmZpeEIPCg1fcmVjZW5jeV9pbmZvQgcKBV9sYW5nQg4KDF9zZXF1ZW5jZV9pZCKpAQodQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb24SEgoKcmVxdWVzdF9pZBgBIAEoCRIVCg1lbWl0X3RpbWVfc2VjGAIgASgDEhYKDmVtaXRfdGltZV9uc2VjGAMgASgFEhgKEHJlc29sdmVfdGltZV9zZWMYBCABKAMSGQoRcmVzb2x2ZV90aW1lX25zZWMYBSABKAUSEAoIYWNjZXB0ZWQYBiABKAgiJwolQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb25SZXNwb25zZSLnAQobQ2hhdElucHV0Q29tcGxldGlvblJlc3BvbnNlEgwKBHRleHQYASABKAkSHAoUdW5rbm93bl9tZW1vcnlfbmFtZXMYAiADKAkSIwobc3VnZ2VzdGVkX3ByZWZpeF9jaGFyX2NvdW50GAMgASgNEiMKG3N1Z2dlc3RlZF9zdWZmaXhfY2hhcl9jb3VudBgEIAEoDRI0ChBjb21wbGV0aW9uX2l0ZW1zGAUgAygLMhoucHVibGljX2FwaS5Db21wbGV0aW9uSXRlbRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgGIAEoCCL5EQoLQ2hhdFJlcXVlc3QSEgoFbW9kZWwYASABKAlIAIgBARIRCgRwYXRoGAIgASgJSAGIAQESEwoGcHJlZml4GAMgASgJSAKIAQESGgoNc2VsZWN0ZWRfY29kZRgEIAEoCUgDiAEBEhMKBnN1ZmZpeBgFIAEoCUgEiAEBEg8KB21lc3NhZ2UYBiABKAkSKgoMY2hhdF9oaXN0b3J5GAcgAygLMhQucHVibGljX2FwaS5FeGNoYW5nZRIWCglibG9iX25hbWUYCCABKAlIBYgBARIZCgxwcmVmaXhfYmVnaW4YCSABKAVIBogBARIcCg9jdXJzb3JfcG9zaXRpb24YCiABKAVIB4gBARIXCgpzdWZmaXhfZW5kGAsgASgFSAiIAQESFgoKYmxvYl9uYW1lcxgMIAMoCUICGAESEQoEbGFuZxgNIAEoCUgJiAEBEhMKC3NlcXVlbmNlX2lkGA4gASgNEiAKBWJsb2JzGA8gASgLMhEucHVibGljX2FwaS5CbG9icxIZChF1c2VyX2d1aWRlZF9ibG9icxgRIAMoCRIbChNleHRlcm5hbF9zb3VyY2VfaWRzGBMgAygJEikKHGVuYWJsZV9wcmVmZXJlbmNlX2NvbGxlY3Rpb24YECABKAhICogBARItCiBjb250ZXh0X2NvZGVfZXhjaGFuZ2VfcmVxdWVzdF9pZBgSIAEoCUgLiAEBEioKHWRpc2FibGVfYXV0b19leHRlcm5hbF9zb3VyY2VzGBQgASgISAyIAQESSwoXZmVhdHVyZV9kZXRlY3Rpb25fZmxhZ3MYFSABKAsyJS5wdWJsaWNfYXBpLkNoYXRGZWF0dXJlRGV0ZWN0aW9uRmxhZ3NIDYgBARIcCg91c2VyX2d1aWRlbGluZXMYFiABKAlIDogBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgXIAEoCUgPiAEBEjQKEHRvb2xfZGVmaW5pdGlvbnMYGCADKAsyGi5wdWJsaWNfYXBpLlRvb2xEZWZpbml0aW9uEioKBW5vZGVzGBkgAygLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGUSHAoEbW9kZRgaIAEoDjIOLmNoYXQuQ2hhdE1vZGUSMgoMcGVyc29uYV90eXBlGBwgASgOMhcucHVibGljX2FwaS5QZXJzb25hVHlwZUgQiAEBEh8KBXJ1bGVzGB0gAygLMhAucHVibGljX2FwaS5SdWxlEhMKBnNpbGVudBgeIAEoCEgRiAEBEjsKFHRoaXJkX3BhcnR5X292ZXJyaWRlGB8gASgLMhguY2hhdC5UaGlyZFBhcnR5T3ZlcnJpZGVIEogBARIcCg9jb252ZXJzYXRpb25faWQYICABKAlIE4gBARIaCg1zeXN0ZW1fcHJvbXB0GCEgASgJSBSIAQESRwoac3lzdGVtX3Byb21wdF9yZXBsYWNlbWVudHMYIiADKAsyIy5wdWJsaWNfYXBpLlN5c3RlbVByb21wdFJlcGxhY2VtZW50EiEKBnNraWxscxgkIAMoCzIRLnB1YmxpY19hcGkuU2tpbGwSHQoQYWdlbnRfcGVyc29uYV9pZBglIAEoCUgViAEBEhQKB3R1cm5faWQYJiABKAlIFogBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGCcgASgJSBeIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYKCABKAlIGIgBARIhChRzeXN0ZW1fcHJvbXB0X2FwcGVuZBgpIAEoCUgZiAEBEjYKEmJyaW5nX3lvdXJfb3duX2tleRgqIAEoCzIVLmNoYXQuQnJpbmdZb3VyT3duS2V5SBqIAQESHAoPc3Vic2NyaXB0aW9uX2lkGCsgASgJSBuIAQESEwoLcGVyc29uYV9pZHMYLCADKAkSGwoOc2VuZGVyX3VzZXJfaWQYLSABKAlIHIgBARIkChdwb3NlaWRvbl9zZW5kZXJfdXNlcl9pZBguIAEoCUgdiAEBEjMKE3Zmc19maWxlX3JlZmVyZW5jZXMYLyADKAsyFi5jaGF0LlZGU0ZpbGVSZWZlcmVuY2USMwoTbWNwX3Rvb2xfcmVmZXJlbmNlcxgwIAMoCzIWLmNoYXQuTUNQVG9vbFJlZmVyZW5jZRIdChByZWFzb25pbmdfZWZmb3J0GDEgASgJSB6IAQFCCAoGX21vZGVsQgcKBV9wYXRoQgkKB19wcmVmaXhCEAoOX3NlbGVjdGVkX2NvZGVCCQoHX3N1ZmZpeEIMCgpfYmxvYl9uYW1lQg8KDV9wcmVmaXhfYmVnaW5CEgoQX2N1cnNvcl9wb3NpdGlvbkINCgtfc3VmZml4X2VuZEIHCgVfbGFuZ0IfCh1fZW5hYmxlX3ByZWZlcmVuY2VfY29sbGVjdGlvbkIjCiFfY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWRCIAoeX2Rpc2FibGVfYXV0b19leHRlcm5hbF9zb3VyY2VzQhoKGF9mZWF0dXJlX2RldGVjdGlvbl9mbGFnc0ISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lc0IPCg1fcGVyc29uYV90eXBlQgkKB19zaWxlbnRCFwoVX3RoaXJkX3BhcnR5X292ZXJyaWRlQhIKEF9jb252ZXJzYXRpb25faWRCEAoOX3N5c3RlbV9wcm9tcHRCEwoRX2FnZW50X3BlcnNvbmFfaWRCCgoIX3R1cm5faWRCGQoXX3BhcmVudF9jb252ZXJzYXRpb25faWRCFwoVX3Jvb3RfY29udmVyc2F0aW9uX2lkQhcKFV9zeXN0ZW1fcHJvbXB0X2FwcGVuZEIVChNfYnJpbmdfeW91cl9vd25fa2V5QhIKEF9zdWJzY3JpcHRpb25faWRCEQoPX3NlbmRlcl91c2VyX2lkQhoKGF9wb3NlaWRvbl9zZW5kZXJfdXNlcl9pZEITChFfcmVhc29uaW5nX2VmZm9ydEoECBsQHEoECCMQJFIJY2FudmFzX2lkIooBChVDaGF0UmVxdWVzdEVkaXRFdmVudHMSNAoLZWRpdF9ldmVudHMYASADKAsyHy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0RmlsZUVkaXQSMAoGc291cmNlGAIgASgOMhsucHVibGljX2FwaS5FZGl0RXZlbnRTb3VyY2VIAIgBAUIJCgdfc291cmNlIoYBCg9DaGF0UmVxdWVzdEZpbGUSEQoJZmlsZV9kYXRhGAEgASgJEhIKCm1lZGlhX3R5cGUYAiABKAkSFgoJZmlsZV9uYW1lGAMgASgJSACIAQESFwoKcGFnZV9jb3VudBgEIAEoBUgBiAEBQgwKCl9maWxlX25hbWVCDQoLX3BhZ2VfY291bnQiuwEKE0NoYXRSZXF1ZXN0RmlsZUVkaXQSDAoEcGF0aBgBIAEoCRIdChBiZWZvcmVfYmxvYl9uYW1lGAIgASgJSACIAQESHAoPYWZ0ZXJfYmxvYl9uYW1lGAMgASgJSAGIAQESMAoFZWRpdHMYBCADKAsyIS5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0U2luZ2xlRWRpdEITChFfYmVmb3JlX2Jsb2JfbmFtZUISChBfYWZ0ZXJfYmxvYl9uYW1lIsQBChNDaGF0UmVxdWVzdElkZVN0YXRlEjoKEXdvcmtzcGFjZV9mb2xkZXJzGAEgAygLMh8ucHVibGljX2FwaS5Xb3Jrc3BhY2VGb2xkZXJJbmZvEiMKG3dvcmtzcGFjZV9mb2xkZXJzX3VuY2hhbmdlZBgCIAEoCBI3ChBjdXJyZW50X3Rlcm1pbmFsGAMgASgLMhgucHVibGljX2FwaS5UZXJtaW5hbEluZm9IAIgBAUITChFfY3VycmVudF90ZXJtaW5hbCJTChBDaGF0UmVxdWVzdEltYWdlEhIKCmltYWdlX2RhdGEYASABKAkSKwoGZm9ybWF0GAIgASgOMhsucHVibGljX2FwaS5JbWFnZUZvcm1hdFR5cGUiowQKD0NoYXRSZXF1ZXN0Tm9kZRIKCgJpZBgBIAEoBRItCgR0eXBlGAIgASgOMh8ucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGVUeXBlEjMKCXRleHRfbm9kZRgDIAEoCzIbLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RUZXh0SACIAQESQAoQdG9vbF9yZXN1bHRfbm9kZRgEIAEoCzIhLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RUb29sUmVzdWx0SAGIAQESNQoKaW1hZ2Vfbm9kZRgFIAEoCzIcLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RJbWFnZUgCiAEBEjwKDmlkZV9zdGF0ZV9ub2RlGAcgASgLMh8ucHVibGljX2FwaS5DaGF0UmVxdWVzdElkZVN0YXRlSAOIAQESQAoQZWRpdF9ldmVudHNfbm9kZRgIIAEoCzIhLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RFZGl0RXZlbnRzSASIAQESMwoJZmlsZV9ub2RlGAogASgLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdEZpbGVIBYgBAUIMCgpfdGV4dF9ub2RlQhMKEV90b29sX3Jlc3VsdF9ub2RlQg0KC19pbWFnZV9ub2RlQhEKD19pZGVfc3RhdGVfbm9kZUITChFfZWRpdF9ldmVudHNfbm9kZUIMCgpfZmlsZV9ub2RlSgQIBhAHSgQICRAKInUKFUNoYXRSZXF1ZXN0U2luZ2xlRWRpdBIZChFiZWZvcmVfbGluZV9zdGFydBgBIAEoDRITCgtiZWZvcmVfdGV4dBgCIAEoCRIYChBhZnRlcl9saW5lX3N0YXJ0GAMgASgNEhIKCmFmdGVyX3RleHQYBCABKAkiIgoPQ2hhdFJlcXVlc3RUZXh0Eg8KB2NvbnRlbnQYASABKAki/QIKFUNoYXRSZXF1ZXN0VG9vbFJlc3VsdBITCgt0b29sX3VzZV9pZBgBIAEoCRIPCgdjb250ZW50GAIgASgJEhAKCGlzX2Vycm9yGAMgASgIEhcKCnJlcXVlc3RfaWQYBCABKAlIAIgBARI4Cg1jb250ZW50X25vZGVzGAUgAygLMiEucHVibGljX2FwaS5Ub29sUmVzdWx0Q29udGVudE5vZGUSGAoLZHVyYXRpb25fbXMYBiABKANIAYgBARIaCg1zdGFydF90aW1lX21zGAcgASgDSAKIAQESQQoIbWV0YWRhdGEYCCADKAsyLy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0VG9vbFJlc3VsdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUINCgtfcmVxdWVzdF9pZEIOCgxfZHVyYXRpb25fbXNCEAoOX3N0YXJ0X3RpbWVfbXMijwMKDENoYXRSZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCBI9ChV3b3Jrc3BhY2VfZmlsZV9jaHVua3MYBCADKAsyHi5wdWJsaWNfYXBpLldvcmtzcGFjZUZpbGVDaHVuaxJNCh1pbmNvcnBvcmF0ZWRfZXh0ZXJuYWxfc291cmNlcxgFIAMoCzImLnB1YmxpY19hcGkuSW5jb3Jwb3JhdGVkRXh0ZXJuYWxTb3VyY2USKQoFbm9kZXMYBiADKAsyGi5wdWJsaWNfYXBpLkNoYXRSZXN1bHROb2RlEjQKC3N0b3BfcmVhc29uGAcgASgOMhoucHVibGljX2FwaS5DaGF0U3RvcFJlYXNvbkgAiAEBEiAKE3N1bW1hcml6ZV9hbmRfcmV0cnkYCCABKAhIAYgBAUIOCgxfc3RvcF9yZWFzb25CFgoUX3N1bW1hcml6ZV9hbmRfcmV0cnkiyQIKGUNoYXRSZXN1bHRCaWxsaW5nTWV0YWRhdGESGwoOdHJhbnNhY3Rpb25faWQYASABKAlIAIgBARIYChBjcmVkaXRzX2NvbnN1bWVkGAIgASgFEhAKCGNvc3RfdXNkGAcgASgJEikKCnVzYWdlX3VuaXQYCCABKA4yFS5wdWJsaWNfYXBpLlVzYWdlVW5pdBIhChRlZmZlY3RpdmVfbW9kZWxfbmFtZRgJIAEoCUgBiAEBQhEKD190cmFuc2FjdGlvbl9pZEIXChVfZWZmZWN0aXZlX21vZGVsX25hbWVKBAgDEARKBAgEEAVKBAgFEAZKBAgGEAdSDGlucHV0X3Rva2Vuc1INb3V0cHV0X3Rva2Vuc1IXY2FjaGVfcmVhZF9pbnB1dF90b2tlbnNSG2NhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyKSBAoOQ2hhdFJlc3VsdE5vZGUSCgoCaWQYASABKAUSLAoEdHlwZRgCIAEoDjIeLnB1YmxpY19hcGkuQ2hhdFJlc3VsdE5vZGVUeXBlEg8KB2NvbnRlbnQYAyABKAkSNAoIdG9vbF91c2UYBCABKAsyHS5wdWJsaWNfYXBpLkNoYXRSZXN1bHRUb29sVXNlSACIAQESNQoIdGhpbmtpbmcYBSABKAsyHi5wdWJsaWNfYXBpLkNoYXRSZXN1bHRUaGlua2luZ0gBiAEBEkQKEGJpbGxpbmdfbWV0YWRhdGEYBiABKAsyJS5wdWJsaWNfYXBpLkNoYXRSZXN1bHRCaWxsaW5nTWV0YWRhdGFIAogBARI5CghtZXRhZGF0YRgHIAEoCzIiLnB1YmxpY19hcGkuQ2hhdFJlc3VsdE5vZGVNZXRhZGF0YUgDiAEBEjoKC3Rva2VuX3VzYWdlGAggASgLMiAucHVibGljX2FwaS5DaGF0UmVzdWx0VG9rZW5Vc2FnZUgEiAEBEhkKDHRpbWVzdGFtcF9tcxgKIAEoBEgFiAEBQgsKCV90b29sX3VzZUILCglfdGhpbmtpbmdCEwoRX2JpbGxpbmdfbWV0YWRhdGFCCwoJX21ldGFkYXRhQg4KDF90b2tlbl91c2FnZUIPCg1fdGltZXN0YW1wX21zSgQICRAKUg1jb250ZXh0X3VzYWdlIqYBChZDaGF0UmVzdWx0Tm9kZU1ldGFkYXRhEhYKCW9wZW5haV9pZBgBIAEoCUgAiAEBEhYKCWdvb2dsZV90cxgCIAEoDEgBiAEBEhUKCHByb3ZpZGVyGAMgASgJSAKIAQESEgoFcGhhc2UYBCABKAlIA4gBAUIMCgpfb3BlbmFpX2lkQgwKCl9nb29nbGVfdHNCCwoJX3Byb3ZpZGVyQggKBl9waGFzZSLaAQoSQ2hhdFJlc3VsdFRoaW5raW5nEhQKB3N1bW1hcnkYASABKAlIAIgBARIeChFlbmNyeXB0ZWRfY29udGVudBgCIAEoCUgBiAEBEhQKB2NvbnRlbnQYAyABKAlIAogBARIpChxvcGVuYWlfcmVzcG9uc2VzX2FwaV9pdGVtX2lkGAQgASgJSAOIAQFCCgoIX3N1bW1hcnlCFAoSX2VuY3J5cHRlZF9jb250ZW50QgoKCF9jb250ZW50Qh8KHV9vcGVuYWlfcmVzcG9uc2VzX2FwaV9pdGVtX2lkIuAFChRDaGF0UmVzdWx0VG9rZW5Vc2FnZRIZCgxpbnB1dF90b2tlbnMYASABKAVIAIgBARIaCg1vdXRwdXRfdG9rZW5zGAIgASgFSAGIAQESJAoXY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMYAyABKAVIAogBARIoChtjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMYBCABKAVIA4gBARIhChRzeXN0ZW1fcHJvbXB0X3Rva2VucxgFIAEoBUgEiAEBEiAKE2NoYXRfaGlzdG9yeV90b2tlbnMYBiABKAVIBYgBARIjChZjdXJyZW50X21lc3NhZ2VfdG9rZW5zGAcgASgFSAaIAQESHwoSbWF4X2NvbnRleHRfdG9rZW5zGAggASgFSAeIAQESJAoXdG9vbF9kZWZpbml0aW9uc190b2tlbnMYCSABKAVICIgBARIfChJ0b29sX3Jlc3VsdF90b2tlbnMYCiABKAVICYgBARImChlhc3Npc3RhbnRfcmVzcG9uc2VfdG9rZW5zGAsgASgFSAqIAQESHgoRbWF4X291dHB1dF90b2tlbnMYDSABKAVIC4gBAUIPCg1faW5wdXRfdG9rZW5zQhAKDl9vdXRwdXRfdG9rZW5zQhoKGF9jYWNoZV9yZWFkX2lucHV0X3Rva2Vuc0IeChxfY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zQhcKFV9zeXN0ZW1fcHJvbXB0X3Rva2Vuc0IWChRfY2hhdF9oaXN0b3J5X3Rva2Vuc0IZChdfY3VycmVudF9tZXNzYWdlX3Rva2Vuc0IVChNfbWF4X2NvbnRleHRfdG9rZW5zQhoKGF90b29sX2RlZmluaXRpb25zX3Rva2Vuc0IVChNfdG9vbF9yZXN1bHRfdG9rZW5zQhwKGl9hc3Npc3RhbnRfcmVzcG9uc2VfdG9rZW5zQhQKEl9tYXhfb3V0cHV0X3Rva2VucyJjChFDaGF0UmVzdWx0VG9vbFVzZRITCgt0b29sX3VzZV9pZBgBIAEoCRIRCgl0b29sX25hbWUYAiABKAkSEgoKaW5wdXRfanNvbhgDIAEoCRISCgppc19wYXJ0aWFsGAQgASgIIlwKFkNoZWNrVG9vbFNhZmV0eVJlcXVlc3QSKQoHdG9vbF9pZBgBIAEoDjIYLnB1YmxpY19hcGkuUmVtb3RlVG9vbElkEhcKD3Rvb2xfaW5wdXRfanNvbhgCIAEoCSIqChdDaGVja1Rvb2xTYWZldHlSZXNwb25zZRIPCgdpc19zYWZlGAEgASgIIjoKFkNoZWNrcG9pbnRCbG9ic1JlcXVlc3QSIAoFYmxvYnMYASABKAsyES5wdWJsaWNfYXBpLkJsb2JzIjQKF0NoZWNrcG9pbnRCbG9ic1Jlc3BvbnNlEhkKEW5ld19jaGVja3BvaW50X2lkGAEgASgJIpACChhDbGllbnRDb21wbGV0aW9uVGltZWxpbmUSEgoKcmVxdWVzdF9pZBgBIAEoCRIgChhpbml0aWFsX3JlcXVlc3RfdGltZV9zZWMYAiABKAMSIQoZaW5pdGlhbF9yZXF1ZXN0X3RpbWVfbnNlYxgDIAEoBRIaChJhcGlfc3RhcnRfdGltZV9zZWMYBCABKAMSGwoTYXBpX3N0YXJ0X3RpbWVfbnNlYxgFIAEoBRIYChBhcGlfZW5kX3RpbWVfc2VjGAYgASgDEhkKEWFwaV9lbmRfdGltZV9uc2VjGAcgASgFEhUKDWVtaXRfdGltZV9zZWMYCCABKAMSFgoOZW1pdF90aW1lX25zZWMYCSABKAUiWgofQ2xpZW50Q29tcGxldGlvblRpbWVsaW5lUmVxdWVzdBI3Cgl0aW1lbGluZXMYASADKAsyJC5wdWJsaWNfYXBpLkNsaWVudENvbXBsZXRpb25UaW1lbGluZSIiCiBDbGllbnRDb21wbGV0aW9uVGltZWxpbmVSZXNwb25zZSI6ChJDbGllbnRNZXRyaWNzRXZlbnQSFQoNY2xpZW50X21ldHJpYxgBIAEoCRINCgV2YWx1ZRgCIAEoBCJHChRDbGllbnRNZXRyaWNzUmVxdWVzdBIvCgdtZXRyaWNzGAEgAygLMh4ucHVibGljX2FwaS5DbGllbnRNZXRyaWNzRXZlbnQiFwoVQ2xpZW50TWV0cmljc1Jlc3BvbnNlIo8BChBDbG91ZEFjY2Vzc0VudHJ5EhYKDnByaW5jaXBhbF90eXBlGAEgASgJEhQKDHByaW5jaXBhbF9pZBgCIAEoCRIMCgRyb2xlGAMgASgJEhIKCmdyYW50ZWRfYnkYBCABKAkSEgoKY3JlYXRlZF9hdBgFIAEoCRIXCg9wcmluY2lwYWxfZW1haWwYBiABKAkihAEKF0Nsb3VkQWNjZXNzR3JhbnRSZXF1ZXN0EhMKC29iamVjdF90eXBlGAEgASgJEhEKCW9iamVjdF9pZBgCIAEoCRIzCglwcmluY2lwYWwYAyABKAsyIC5wdWJsaWNfYXBpLkNsb3VkQWNjZXNzUHJpbmNpcGFsEgwKBHJvbGUYBCABKAkiGgoYQ2xvdWRBY2Nlc3NHcmFudFJlc3BvbnNlIkAKFkNsb3VkQWNjZXNzTGlzdFJlcXVlc3QSEwoLb2JqZWN0X3R5cGUYASABKAkSEQoJb2JqZWN0X2lkGAIgASgJIkgKF0Nsb3VkQWNjZXNzTGlzdFJlc3BvbnNlEi0KB2VudHJpZXMYASADKAsyHC5wdWJsaWNfYXBpLkNsb3VkQWNjZXNzRW50cnkiWQoUQ2xvdWRBY2Nlc3NQcmluY2lwYWwSEQoHdXNlcl9pZBgBIAEoCUgAEg8KBWVtYWlsGAIgASgJSAASEAoGdGVuYW50GAMgASgISABCCwoJcHJpbmNpcGFsIncKGENsb3VkQWNjZXNzUmV2b2tlUmVxdWVzdBITCgtvYmplY3RfdHlwZRgBIAEoCRIRCglvYmplY3RfaWQYAiABKAkSMwoJcHJpbmNpcGFsGAMgASgLMiAucHVibGljX2FwaS5DbG91ZEFjY2Vzc1ByaW5jaXBhbCIbChlDbG91ZEFjY2Vzc1Jldm9rZVJlc3BvbnNlItwECgpDbG91ZEFnZW50EhAKCGFnZW50X2lkGAEgASgJEhIKCmFnZW50X25hbWUYAiABKAkSNgoMY2FwYWJpbGl0aWVzGAMgAygOMiAucHVibGljX2FwaS5DbG91ZEFnZW50Q2FwYWJpbGl0eRIsCgZzdGF0dXMYBCABKA4yHC5wdWJsaWNfYXBpLkNsb3VkQWdlbnRTdGF0dXMSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLd29ya2Zsb3dfaWQYByABKAkSGQoNbWVzc2FnZV9jb3VudBgIIAEoDUICGAESEQoJZXhwZXJ0X2lkGAkgASgJEh0KFWV4ZWN1dGlvbl9lbnZpcm9ubWVudBgKIAEoCRIQCghhcmNoaXZlZBgLIAEoCBIQCghzcGFjZV9pZBgMIAEoCRIWCg5lbnZpcm9ubWVudF9pZBgNIAEoCRIRCglkYWVtb25faWQYDiABKAkSFgoOZGFlbW9uX3Bvb2xfaWQYDyABKAkSEwoLcmVzaWRlbnRfaWQYECABKAkSEQoJdm1fc3RhdHVzGBEgASgJEhgKEHZtX2Vycm9yX21lc3NhZ2UYEiABKAkSPgoQdm1fZXJyb3JfZGV0YWlscxgTIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRBZ2VudFZtRXJyb3JEZXRhaWxzEhcKD3BhcmVudF9hZ2VudF9pZBgUIAEoCSJwChdDbG91ZEFnZW50U2Vzc2lvbkNvbmZpZxI3Cg9hZ2VudF9sb29wX3R5cGUYASABKA4yHi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRMb29wVHlwZRISCgVtb2RlbBgCIAEoCUgAiAEBQggKBl9tb2RlbCJxChhDbG91ZEFnZW50Vm1FcnJvckRldGFpbHMSDwoHc3VtbWFyeRgBIAEoCRIMCgRoaW50GAIgASgJEhEKCXJhd19lcnJvchgDIAEoCRIRCglidWlsZF9sb2cYBCABKAkSEAoIYnVpbGRfaWQYBSABKAkiMgoeQ2xvdWRBZ2VudHNBcmNoaXZlQWdlbnRSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJIjMKH0Nsb3VkQWdlbnRzQXJjaGl2ZUFnZW50UmVzcG9uc2USEAoIYWdlbnRfaWQYASABKAkiNAokQ2xvdWRBZ2VudHNBenVyZURldk9wc1Byb3ZpZGVyUGFyYW1zEgwKBGhvc3QYASABKAkiPAonQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHNSZXF1ZXN0EhEKCWFnZW50X2lkcxgBIAMoCSLJAQooQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHNSZXNwb25zZRJlChJjb3VudHNfYnlfYWdlbnRfaWQYASADKAsySS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQmF0Y2hHZXRNZXNzYWdlQ291bnRzUmVzcG9uc2UuQ291bnRzQnlBZ2VudElkRW50cnkaNgoUQ291bnRzQnlBZ2VudElkRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgNOgI4ASLLAgoXQ2xvdWRBZ2VudHNDb250ZW50QmxvY2sSMAoEdGV4dBgBIAEoCzIgLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUZXh0QmxvY2tIABI3Cgh0b29sX3VzZRgCIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUb29sVXNlQmxvY2tIABI9Cgt0b29sX3Jlc3VsdBgDIAEoCzImLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUb29sUmVzdWx0QmxvY2tIABI4Cgh0aGlua2luZxgEIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUaGlua2luZ0Jsb2NrSAASQwoOZXh0ZXJuYWxfZXZlbnQYBSABKAsyKS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzRXh0ZXJuYWxFdmVudEJsb2NrSABCBwoFYmxvY2sitgIKHUNsb3VkQWdlbnRzQ3JlYXRlQWdlbnRSZXF1ZXN0EhIKCmFnZW50X25hbWUYASABKAkSNgoMY2FwYWJpbGl0aWVzGAIgAygOMiAucHVibGljX2FwaS5DbG91ZEFnZW50Q2FwYWJpbGl0eRIcCg9pbml0aWFsX21lc3NhZ2UYAyABKAlIAIgBARJACg5zZXNzaW9uX2NvbmZpZxgEIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRBZ2VudFNlc3Npb25Db25maWdIAYgBARIcCg9pZGVtcG90ZW5jeV9rZXkYBSABKAlIAogBARIQCghzcGFjZV9pZBgGIAEoCUISChBfaW5pdGlhbF9tZXNzYWdlQhEKD19zZXNzaW9uX2NvbmZpZ0ISChBfaWRlbXBvdGVuY3lfa2V5IkcKHkNsb3VkQWdlbnRzQ3JlYXRlQWdlbnRSZXNwb25zZRIlCgVhZ2VudBgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRBZ2VudCIxCh1DbG91ZEFnZW50c0RlbGV0ZUFnZW50UmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCSJDCh5DbG91ZEFnZW50c0RlbGV0ZUFnZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIQCghhZ2VudF9pZBgCIAEoCSKXAQodQ2xvdWRBZ2VudHNFeHRlcm5hbEV2ZW50QmxvY2sSDgoGc291cmNlGAEgASgJEhIKCmV2ZW50X3R5cGUYAiABKAkSDwoHc3VtbWFyeRgDIAEoCRIPCgdkZXRhaWxzGAQgASgJEhwKD3N1YnNjcmlwdGlvbl9pZBgFIAEoCUgAiAEBQhIKEF9zdWJzY3JpcHRpb25faWQiLgoaQ2xvdWRBZ2VudHNHZXRBZ2VudFJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkiRAobQ2xvdWRBZ2VudHNHZXRBZ2VudFJlc3BvbnNlEiUKBWFnZW50GAEgASgLMhYucHVibGljX2FwaS5DbG91ZEFnZW50IucCCh1DbG91ZEFnZW50c0dldE1lc3NhZ2VzUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRIhChBhZnRlcl9tZXNzYWdlX2lkGAIgASgJQgIYAUgAiAEBEhIKBWxpbWl0GAMgASgNSAGIAQESOAoPYWZ0ZXJfdGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjkKEGJlZm9yZV90aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQESJAoXaW5jbHVkZV9yZXBsYXlfZmlkZWxpdHkYBiABKAhIBIgBAUITChFfYWZ0ZXJfbWVzc2FnZV9pZEIICgZfbGltaXRCEgoQX2FmdGVyX3RpbWVzdGFtcEITChFfYmVmb3JlX3RpbWVzdGFtcEIaChhfaW5jbHVkZV9yZXBsYXlfZmlkZWxpdHkihwQKHkNsb3VkQWdlbnRzR2V0TWVzc2FnZXNSZXNwb25zZRIwCghtZXNzYWdlcxgBIAMoCzIeLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNNZXNzYWdlEhAKCGhhc19uZXh0GAIgASgIEh0KEGZpcnN0X21lc3NhZ2VfaWQYAyABKAlIAIgBARIcCg9sYXN0X21lc3NhZ2VfaWQYBCABKAlIAYgBARIyCgxhZ2VudF9zdGF0dXMYBSABKA4yHC5wdWJsaWNfYXBpLkNsb3VkQWdlbnRTdGF0dXMSPgoQcGVuZGluZ19tZXNzYWdlcxgGIAMoCzIkLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNRdWV1ZWRNZXNzYWdlEhQKDHF1ZXVlX3BhdXNlZBgHIAEoCBIRCgloYXNfbmV3ZXIYCCABKAgSOQoQb2xkZXN0X3RpbWVzdGFtcBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARI5ChBuZXdlc3RfdGltZXN0YW1wGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBQhMKEV9maXJzdF9tZXNzYWdlX2lkQhIKEF9sYXN0X21lc3NhZ2VfaWRCEwoRX29sZGVzdF90aW1lc3RhbXBCEwoRX25ld2VzdF90aW1lc3RhbXAiawojQ2xvdWRBZ2VudHNHZXRNZXNzYWdlc1N0cmVhbVJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkSHQoQYWZ0ZXJfbWVzc2FnZV9pZBgCIAEoCUgAiAEBQhMKEV9hZnRlcl9tZXNzYWdlX2lkItcBCiRDbG91ZEFnZW50c0dldE1lc3NhZ2VzU3RyZWFtUmVzcG9uc2USEAoIYWdlbnRfaWQYASABKAkSMAoIbWVzc2FnZXMYAiADKAsyHi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzTWVzc2FnZRIdChVwZW5kaW5nX21lc3NhZ2VfY291bnQYAyABKA0SHgoRbGF0ZXN0X21lc3NhZ2VfaWQYBCABKAlIAIgBARIWCg5zdHJlYW1fdGltZW91dBgFIAEoCEIUChJfbGF0ZXN0X21lc3NhZ2VfaWQiPgofQ2xvdWRBZ2VudHNHaXRIdWJQcm92aWRlclBhcmFtcxIMCgRob3N0GAEgASgJEg0KBW93bmVyGAIgASgJIi8KH0Nsb3VkQWdlbnRzR2l0TGFiUHJvdmlkZXJQYXJhbXMSDAoEaG9zdBgBIAEoCSK6AgojQ2xvdWRBZ2VudHNIYW5kb2ZmVG9Qb3NlaWRvblJlcXVlc3QSGAoQdGFza19kZXNjcmlwdGlvbhgBIAEoCRIYChBpbml0aWFsX21lc3NhZ2VzGAIgAygJEhYKCWV4cGVydF9pZBgDIAEoCUgAiAEBEhcKCmFnZW50X25hbWUYBCABKAlIAYgBARIVCg10b3VjaGVkX2ZpbGVzGAUgAygJEh8KEndvcmtpbmdfdHJlZV9wYXRjaBgGIAEoCUgCiAEBEiUKGGV4aXN0aW5nX2NvbnZlcnNhdGlvbl9pZBgHIAEoCUgDiAEBQgwKCl9leHBlcnRfaWRCDQoLX2FnZW50X25hbWVCFQoTX3dvcmtpbmdfdHJlZV9wYXRjaEIbChlfZXhpc3RpbmdfY29udmVyc2F0aW9uX2lkIjgKJENsb3VkQWdlbnRzSGFuZG9mZlRvUG9zZWlkb25SZXNwb25zZRIQCghhZ2VudF9pZBgBIAEoCSKAAwocQ2xvdWRBZ2VudHNMaXN0QWdlbnRzUmVxdWVzdBIUCgxzZWFyY2hfcXVlcnkYASABKAkSGAoQaW5jbHVkZV9hcmNoaXZlZBgCIAEoCBIRCglleHBlcnRfaWQYAyABKAkSMQoNY3JlYXRlZF9hZnRlchgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoOY3JlYXRlZF9iZWZvcmUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKDmluY2x1ZGVfc2hhcmVkGAYgASgIEhsKE2luY2x1ZGVfb2xhY19zaGFyZWQYByABKAgSDQoFbGltaXQYCCABKA0SEgoKcGFnZV90b2tlbhgJIAEoCRIQCghzcGFjZV9pZBgKIAEoCRIaChJkZWZhdWx0X3NwYWNlX29ubHkYCyABKAgSHAoPcGFyZW50X2FnZW50X2lkGAwgASgJSACIAQFCEgoQX3BhcmVudF9hZ2VudF9pZCJyCh1DbG91ZEFnZW50c0xpc3RBZ2VudHNSZXNwb25zZRImCgZhZ2VudHMYASADKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQSEAoIaGFzX21vcmUYAiABKAgSFwoPbmV4dF9wYWdlX3Rva2VuGAMgASgJItEBCiNDbG91ZEFnZW50c01jcENyZWRlbnRpYWxSZXF1aXJlbWVudBIWCg5yZXF1aXJlbWVudF9pZBgBIAEoCRIVCg1tY3BfY29uZmlnX2lkGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRIRCglhdXRoX3R5cGUYBCABKAUSDgoGcmVhc29uGAUgASgJEi4KCmV4cGlyZXNfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCnJlcXVlc3RfaWQYByABKAkiVgobQ2xvdWRBZ2VudHNNY3BUb29sUmVmZXJlbmNlEhEKCXNlcnZlcl9pZBgBIAEoCRIWCgl0b29sX25hbWUYAiABKAlIAIgBAUIMCgpfdG9vbF9uYW1lIowCChJDbG91ZEFnZW50c01lc3NhZ2USCgoCaWQYASABKAkSDAoEcm9sZRgCIAEoCRI0Cgdjb250ZW50GAMgAygLMiMucHVibGljX2FwaS5DbG91ZEFnZW50c0NvbnRlbnRCbG9jaxIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI9CghtZXRhZGF0YRgFIAEoCzImLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNNZXNzYWdlTWV0YWRhdGFIAIgBARIZCgxjb21wb3NpdGVfaWQYBiABKAlIAYgBAUILCglfbWV0YWRhdGFCDwoNX2NvbXBvc2l0ZV9pZCLOAQohQ2xvdWRBZ2VudHNNZXNzYWdlQmlsbGluZ01ldGFkYXRhEhYKDnRyYW5zYWN0aW9uX2lkGAEgASgJEhgKEGNyZWRpdHNfY29uc3VtZWQYAiABKAUSEAoIY29zdF91c2QYAyABKAkSKQoKdXNhZ2VfdW5pdBgEIAEoDjIVLnB1YmxpY19hcGkuVXNhZ2VVbml0EiEKFGVmZmVjdGl2ZV9tb2RlbF9uYW1lGAUgASgJSACIAQFCFwoVX2VmZmVjdGl2ZV9tb2RlbF9uYW1lItgFChpDbG91ZEFnZW50c01lc3NhZ2VNZXRhZGF0YRIXCgpyZXF1ZXN0X2lkGAEgASgJSACIAQESGAoLc3RvcF9yZWFzb24YAiABKAlIAYgBARISCgVtb2RlbBgDIAEoCUgCiAEBEjsKC3Rva2VuX3VzYWdlGAQgASgLMiEucHVibGljX2FwaS5DbG91ZEFnZW50c1Rva2VuVXNhZ2VIA4gBARIcCg90dXJuX3JlcXVlc3RfaWQYBSABKAlIBIgBARIXCgppc19wYXJ0aWFsGAYgASgISAWIAQESFQoIaXNfZmluYWwYByABKAhIBogBARIoChtwZXJzaXN0ZWRfdGhyb3VnaF9ldmVudF9zZXEYCCABKANIB4gBARIcCg9zdWJzY3JpcHRpb25faWQYCSABKAlICIgBARIbCg5zZW5kZXJfdXNlcl9pZBgKIAEoCUgJiAEBEkcKEGJpbGxpbmdfbWV0YWRhdGEYCyADKAsyLS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzTWVzc2FnZUJpbGxpbmdNZXRhZGF0YRJEChN2ZnNfZmlsZV9yZWZlcmVuY2VzGAwgAygLMicucHVibGljX2FwaS5DbG91ZEFnZW50c1Zmc0ZpbGVSZWZlcmVuY2USRAoTbWNwX3Rvb2xfcmVmZXJlbmNlcxgNIAMoCzInLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNNY3BUb29sUmVmZXJlbmNlQg0KC19yZXF1ZXN0X2lkQg4KDF9zdG9wX3JlYXNvbkIICgZfbW9kZWxCDgoMX3Rva2VuX3VzYWdlQhIKEF90dXJuX3JlcXVlc3RfaWRCDQoLX2lzX3BhcnRpYWxCCwoJX2lzX2ZpbmFsQh4KHF9wZXJzaXN0ZWRfdGhyb3VnaF9ldmVudF9zZXFCEgoQX3N1YnNjcmlwdGlvbl9pZEIRCg9fc2VuZGVyX3VzZXJfaWQiUAoZQ2xvdWRBZ2VudHNQcm92aWRlclBhcmFtcxIQCghwcm92aWRlchgBIAEoCRIMCgRob3N0GAIgASgJEhMKC3BhdGhfcHJlZml4GAMgASgJIm4KGENsb3VkQWdlbnRzUXVldWVkTWVzc2FnZRIQCghldmVudF9pZBgBIAEoCRIvCgtyZWNlaXZlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHY29udGVudBgDIAEoCSKuAwonQ2xvdWRBZ2VudHNSZWZyZXNoR2l0Q3JlZGVudGlhbHNSZXF1ZXN0Ej0KBmdpdGh1YhgDIAEoCzIrLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNHaXRIdWJQcm92aWRlclBhcmFtc0gAEj0KBmdpdGxhYhgEIAEoCzIrLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNHaXRMYWJQcm92aWRlclBhcmFtc0gAEkgKDGF6dXJlX2Rldm9wcxgFIAEoCzIwLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNBenVyZURldk9wc1Byb3ZpZGVyUGFyYW1zSAASOAoHZ2VuZXJpYxgJIAEoCzIlLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNQcm92aWRlclBhcmFtc0gAEh4KFmNhcGFiaWxpdHlfaW5zdGFuY2VfaWQYASABKAkSEgoKc2tpcF9jYWNoZRgCIAEoCBIQCghhZ2VudF9pZBgGIAEoCRISCgpyZXF1ZXN0X2lkGAcgASgJEhQKDGRhZW1vbl92bV9pZBgIIAEoCUIRCg9wcm92aWRlcl9wYXJhbXMiKgooQ2xvdWRBZ2VudHNSZWZyZXNoR2l0Q3JlZGVudGlhbHNSZXNwb25zZSJDCh1DbG91ZEFnZW50c1JlbmFtZUFnZW50UmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRIQCghuZXdfbmFtZRgCIAEoCSJHCh5DbG91ZEFnZW50c1JlbmFtZUFnZW50UmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQiYQoiQ2xvdWRBZ2VudHNSZXF1ZXN0TWNwU2VydmVyUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRIVCg1tY3BfY29uZmlnX2lkGAIgASgJEhIKCnJlcXVlc3RfaWQYAyABKAkipgEKI0Nsb3VkQWdlbnRzUmVxdWVzdE1jcFNlcnZlclJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRJUChZjcmVkZW50aWFsX3JlcXVpcmVtZW50GAIgASgLMi8ucHVibGljX2FwaS5DbG91ZEFnZW50c01jcENyZWRlbnRpYWxSZXF1aXJlbWVudEgAiAEBQhkKF19jcmVkZW50aWFsX3JlcXVpcmVtZW50InQKHUNsb3VkQWdlbnRzU2VuZE1lc3NhZ2VSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSHAoPaWRlbXBvdGVuY3lfa2V5GAMgASgJSACIAQFCEgoQX2lkZW1wb3RlbmN5X2tleSJrCh5DbG91ZEFnZW50c1NlbmRNZXNzYWdlUmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQSDgoGcXVldWVkGAIgASgIEhIKCnJlcXVlc3RfaWQYAyABKAkijgEKFENsb3VkQWdlbnRzVGV4dEJsb2NrEgwKBHRleHQYASABKAkSFgoJZ29vZ2xlX3RzGAIgASgMSACIAQESFgoJb3BlbmFpX2lkGAMgASgJSAGIAQESEgoFcGhhc2UYBCABKAlIAogBAUIMCgpfZ29vZ2xlX3RzQgwKCl9vcGVuYWlfaWRCCAoGX3BoYXNlIs0BChhDbG91ZEFnZW50c1RoaW5raW5nQmxvY2sSDwoHY29udGVudBgBIAEoCRIUCgdzdW1tYXJ5GAIgASgJSACIAQESHgoRZW5jcnlwdGVkX2NvbnRlbnQYAyABKAlIAYgBARIVCghwcm92aWRlchgEIAEoCUgCiAEBEhYKCW9wZW5haV9pZBgFIAEoCUgDiAEBQgoKCF9zdW1tYXJ5QhQKEl9lbmNyeXB0ZWRfY29udGVudEILCglfcHJvdmlkZXJCDAoKX29wZW5haV9pZCL8AgoVQ2xvdWRBZ2VudHNUb2tlblVzYWdlEhQKDGlucHV0X3Rva2VucxgBIAEoDRIVCg1vdXRwdXRfdG9rZW5zGAIgASgNEh8KF2NhY2hlX3JlYWRfaW5wdXRfdG9rZW5zGAMgASgNEiMKG2NhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucxgEIAEoDRIcChRzeXN0ZW1fcHJvbXB0X3Rva2VucxgFIAEoDRIbChNjaGF0X2hpc3RvcnlfdG9rZW5zGAYgASgNEh4KFmN1cnJlbnRfbWVzc2FnZV90b2tlbnMYByABKA0SGgoSbWF4X2NvbnRleHRfdG9rZW5zGAggASgNEh8KF3Rvb2xfZGVmaW5pdGlvbnNfdG9rZW5zGAkgASgNEhoKEnRvb2xfcmVzdWx0X3Rva2VucxgKIAEoDRIhChlhc3Npc3RhbnRfcmVzcG9uc2VfdG9rZW5zGAsgASgNEhkKEW1heF9vdXRwdXRfdG9rZW5zGAwgASgNImYKGkNsb3VkQWdlbnRzVG9vbFJlc3VsdEJsb2NrEhMKC3Rvb2xfdXNlX2lkGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSFQoIaXNfZXJyb3IYAyABKAhIAIgBAUILCglfaXNfZXJyb3IirAEKF0Nsb3VkQWdlbnRzVG9vbFVzZUJsb2NrEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFaW5wdXQYAyABKAkSFgoJZ29vZ2xlX3RzGAQgASgMSACIAQESFgoJb3BlbmFpX2lkGAUgASgJSAGIAQESEgoFcGhhc2UYBiABKAlIAogBAUIMCgpfZ29vZ2xlX3RzQgwKCl9vcGVuYWlfaWRCCAoGX3BoYXNlIjQKIENsb3VkQWdlbnRzVW5hcmNoaXZlQWdlbnRSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJIjUKIUNsb3VkQWdlbnRzVW5hcmNoaXZlQWdlbnRSZXNwb25zZRIQCghhZ2VudF9pZBgBIAEoCSJoCihDbG91ZEFnZW50c1VwZGF0ZUFnZW50U2Vzc2lvblRhZ3NSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJEgsKA2tleRgCIAEoCRINCgV2YWx1ZRgDIAEoCRIOCgZkZWxldGUYBCABKAgiUgopQ2xvdWRBZ2VudHNVcGRhdGVBZ2VudFNlc3Npb25UYWdzUmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQidgolQ2xvdWRBZ2VudHNVcGRhdGVTZXNzaW9uQ29uZmlnUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRI7Cg5zZXNzaW9uX2NvbmZpZxgCIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRBZ2VudFNlc3Npb25Db25maWciTwomQ2xvdWRBZ2VudHNVcGRhdGVTZXNzaW9uQ29uZmlnUmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQidQobQ2xvdWRBZ2VudHNWZnNGaWxlUmVmZXJlbmNlEg8KB2ZpbGVfaWQYASABKAkSFQoNZmlsZXN5c3RlbV9pZBgCIAEoCRIMCgRwYXRoGAMgASgJEhAKCHNwYWNlX2lkGAQgASgJEg4KBmlzX2RpchgFIAEoCCL5AgoPQ2xvdWREYWVtb25Qb29sEgoKAmlkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRISCgp2aXNpYmlsaXR5GAQgASgFEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgFIAEoCRIcChRjcmVhdGVkX2J5X3VzZXJfbmFtZRgGIAEoCRISCgpjcmVhdGVkX2F0GAcgASgJEhIKCnVwZGF0ZWRfYXQYCCABKAkSGAoQcmVzb3VyY2VfdmVyc2lvbhgJIAEoAxISCgpkZWxldGVkX2F0GAogASgJEiAKGGRhZW1vbl9jb25uZWN0b3JfdXNlcl9pZBgLIAEoCRIQCghzcGFjZV9pZBgMIAEoCRJXChp3b3Jrc3BhY2VfaXNvbGF0aW9uX3BvbGljeRgNIAEoDjIzLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sV29ya3NwYWNlSXNvbGF0aW9uUG9saWN5Il8KHUNsb3VkRGFlbW9uUG9vbENvbm5lY3RvcklucHV0EhEKB3VzZXJfaWQYASABKAlIABIeChRzZXJ2aWNlX2FjY291bnRfbmFtZRgCIAEoCUgAQgsKCWNvbm5lY3RvciLLAQoVQ2xvdWREYWVtb25Qb29sRGFlbW9uEg0KBXZtX2lkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLc2xvdHNfdG90YWwYAyABKAUSFAoMc2xvdHNfaW5fdXNlGAQgASgFEhYKDndvcmtzcGFjZV9wYXRoGAUgASgJEhQKDGNvbm5lY3RlZF9hdBgGIAEoCRIWCg5sYXN0X2hlYXJ0YmVhdBgHIAEoCRIPCgdwb29sX2lkGAggASgJEhMKC2NsaV92ZXJzaW9uGAkgASgJIsIBChVDbG91ZERhZW1vblBvb2xTdGF0dXMSFgoOZGFlbW9uc19vbmxpbmUYASABKAUSEwoLc2xvdHNfdG90YWwYAiABKAUSFAoMc2xvdHNfaW5fdXNlGAMgASgFEhgKEGxhc3RfZGFlbW9uX3NlZW4YBCABKAkSKgodd29ya3RyZWVfY2FwYWJsZV9kYWVtb25fY291bnQYBSABKAVIAIgBAUIgCh5fd29ya3RyZWVfY2FwYWJsZV9kYWVtb25fY291bnQipQUKEENsb3VkRW52aXJvbm1lbnQSEAoIaW1hZ2VfaWQYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhcKD2N1cnJlbnRfdmVyc2lvbhgEIAEoCRISCgZzdGF0dXMYBSABKAVCAhgBEhIKCnZpc2liaWxpdHkYBiABKAUSFgoObW9kYWxfaW1hZ2VfaWQYByABKAkSEgoKY3JlYXRlZF9hdBgIIAEoCRISCgp1cGRhdGVkX2F0GAkgASgJEhgKEHJlc291cmNlX3ZlcnNpb24YCiABKAMSOgoFcmVwb3MYCyADKAsyKy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRDbG9uZVJlcG9zaXRvcnkSRAoVZW52aXJvbm1lbnRfdmFyaWFibGVzGAwgASgLMiUucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50VmFyaWFibGVzEhIKCmJhc2VfaW1hZ2UYDSABKAkSFwoPcmVmcmVzaF9lbmFibGVkGA4gASgIEhAKCHNwYWNlX2lkGA8gASgJEjQKBHRhZ3MYECADKAsyJi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnQuVGFnc0VudHJ5EjwKEGxpZmVjeWNsZV9zdGF0dXMYESABKA4yIi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRTdGF0dXMSGwoTc2FuZGJveF9wcm92aWRlcl9pZBgSIAEoCRI6ChBzYW5kYm94X3Byb3ZpZGVyGBMgASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlchorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJtCh9DbG91ZEVudmlyb25tZW50Q2xvbmVSZXBvc2l0b3J5Eg0KBW93bmVyGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGYnJhbmNoGAMgASgJEgwKBGhvc3QYBCABKAkSDwoHcHJvamVjdBgFIAEoCSKeAwoWQ2xvdWRFbnZpcm9ubWVudENvbmZpZxIUCgxkaXNwbGF5X25hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEgoKdmlzaWJpbGl0eRgDIAEoBRI6CgVyZXBvcxgEIAMoCzIrLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENsb25lUmVwb3NpdG9yeRJEChVlbnZpcm9ubWVudF92YXJpYWJsZXMYBSABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWYXJpYWJsZXMSEgoKYmFzZV9pbWFnZRgGIAEoCRIXCg9yZWZyZXNoX2VuYWJsZWQYByABKAgSEAoIc3BhY2VfaWQYCCABKAkSOgoEdGFncxgJIAMoCzIsLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENvbmZpZy5UYWdzRW50cnkSGwoTc2FuZGJveF9wcm92aWRlcl9pZBgKIAEoCRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK7BAoZQ2xvdWRFbnZpcm9ubWVudE9wZXJhdGlvbhIUCgxvcGVyYXRpb25faWQYASABKAkSQQoOb3BlcmF0aW9uX3R5cGUYAiABKA4yKS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25UeXBlEhYKDmVudmlyb25tZW50X2lkGAMgASgJEjkKBXN0YXRlGAQgASgOMioucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uU3RhdGUSOQoFcGhhc2UYBSABKA4yKi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25QaGFzZRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnN0YXJ0ZWRfYXQYByABKAkSEgoKdXBkYXRlZF9hdBgIIAEoCRIUCgxjb21wbGV0ZWRfYXQYCSABKAkSHQoQc3RhcnRpbmdfdmVyc2lvbhgKIAEoCUgAiAEBEiEKGXN0YXJ0aW5nX3Jlc291cmNlX3ZlcnNpb24YCyABKAMSOwoGcmVzdWx0GA0gASgLMisucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uUmVzdWx0EjkKBWVycm9yGA4gASgLMioucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uRXJyb3JCEwoRX3N0YXJ0aW5nX3ZlcnNpb25KBAgMEA1SEGNhbmNlbF9yZXF1ZXN0ZWQiggEKHkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25FcnJvchI8CgRjb2RlGAEgASgOMi4ucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uRXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSEQoJcmV0cnlhYmxlGAMgASgIImQKH0Nsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25SZXN1bHQSFgoObW9kYWxfaW1hZ2VfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIYChByZXNvdXJjZV92ZXJzaW9uGAMgASgDImoKE0Nsb3VkRW52aXJvbm1lbnRSZWYSFwoNYmFzZV9pbWFnZV9pZBgBIAEoCUgAEhgKDmRhZW1vbl9wb29sX2lkGAIgASgJSAASFgoMZGFlbW9uX3ZtX2lkGAMgASgJSABCCAoGdGFyZ2V0IocFChdDbG91ZEVudmlyb25tZW50U3VtbWFyeRI4Cgtwb29sX3N0YXR1cxgUIAEoCzIhLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sU3RhdHVzSAASOgoIdW5wb29sZWQYFSABKAsyJi5wdWJsaWNfYXBpLkNsb3VkVW5wb29sZWREYWVtb25TdW1tYXJ5SAASCgoCaWQYASABKAkSLgoEa2luZBgCIAEoDjIgLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEtpbmQSFAoMZGlzcGxheV9uYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhIKCnZpc2liaWxpdHkYBSABKAUSEgoKY3JlYXRlZF9hdBgGIAEoCRISCgp1cGRhdGVkX2F0GAcgASgJEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgIIAEoCRIcChRjcmVhdGVkX2J5X3VzZXJfbmFtZRgJIAEoCRIQCghzcGFjZV9pZBgKIAEoCRIXCg9jdXJyZW50X3ZlcnNpb24YCyABKAkSMgoGc3RhdHVzGAwgASgOMiIucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50U3RhdHVzElcKGndvcmtzcGFjZV9pc29sYXRpb25fcG9saWN5GA0gASgOMjMucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2xXb3Jrc3BhY2VJc29sYXRpb25Qb2xpY3kSGwoTc2FuZGJveF9wcm92aWRlcl9pZBgOIAEoCRI6ChBzYW5kYm94X3Byb3ZpZGVyGA8gASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlckIICgZleHRyYXMiNwoYQ2xvdWRFbnZpcm9ubWVudFZhcmlhYmxlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkiVAoZQ2xvdWRFbnZpcm9ubWVudFZhcmlhYmxlcxI3Cgl2YXJpYWJsZXMYASADKAsyJC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWYXJpYWJsZSKzAgoXQ2xvdWRFbnZpcm9ubWVudFZlcnNpb24SEAoIaW1hZ2VfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIVCg1nY3BfaW1hZ2VfdXJsGAMgASgJEhcKD3Vwc3RyZWFtX2RpZ2VzdBgEIAEoCRISCgpjcmVhdGVkX2F0GAUgASgJEhIKBnN0YXR1cxgGIAEoBUICGAESFQoNZXJyb3JfbWVzc2FnZRgHIAEoCRIWCg5tb2RhbF9pbWFnZV9pZBgIIAEoCRIVCg11cGRhdGVfc2NyaXB0GAkgASgJEhkKEWhhc191cGRhdGVfc2NyaXB0GAogASgIEjwKEGxpZmVjeWNsZV9zdGF0dXMYCyABKA4yIi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRTdGF0dXMiqwEKHENsb3VkRW52aXJvbm1lbnRWZXJzaW9uRW50cnkSGAoQcmVzb3VyY2VfdmVyc2lvbhgBIAEoAxIyCgZjb25maWcYAiABKAsyIi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRDb25maWcSEwoLbW9kaWZpZWRfYnkYAyABKAkSEwoLbW9kaWZpZWRfYXQYBCABKAkSEwoLY2hhbmdlX3R5cGUYBSABKAkiPwonQ2xvdWRFbnZpcm9ubWVudHNDYW5jZWxPcGVyYXRpb25SZXF1ZXN0EhQKDG9wZXJhdGlvbl9pZBgBIAEoCSJkCihDbG91ZEVudmlyb25tZW50c0NhbmNlbE9wZXJhdGlvblJlc3BvbnNlEjgKCW9wZXJhdGlvbhgBIAEoCzIlLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudE9wZXJhdGlvbiKFAQonQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVCYXNlSW1hZ2VSZXF1ZXN0EjIKBmNvbmZpZxgBIAEoCzIiLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENvbmZpZxIXCgpiYXNlX2ltYWdlGAIgASgJSACIAQFCDQoLX2Jhc2VfaW1hZ2UiXQooQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVCYXNlSW1hZ2VSZXNwb25zZRIxCgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudCKmAgooQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVEYWVtb25Qb29sUmVxdWVzdBIUCgxkaXNwbGF5X25hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSFwoKdmlzaWJpbGl0eRgDIAEoBUgAiAEBEjwKCWNvbm5lY3RvchgEIAEoCzIpLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sQ29ubmVjdG9ySW5wdXQSEAoIc3BhY2VfaWQYBSABKAkSVwoad29ya3NwYWNlX2lzb2xhdGlvbl9wb2xpY3kYBiABKA4yMy5wdWJsaWNfYXBpLkNsb3VkRGFlbW9uUG9vbFdvcmtzcGFjZUlzb2xhdGlvblBvbGljeUINCgtfdmlzaWJpbGl0eSJWCilDbG91ZEVudmlyb25tZW50c0NyZWF0ZURhZW1vblBvb2xSZXNwb25zZRIpCgRwb29sGAEgASgLMhsucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2wi2gEKLUNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIMCgRzbHVnGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIUCgdlbmFibGVkGAUgASgISACIAQESEQoJc3BhY2VfaWRzGAYgAygJEhcKCmFsbF9zcGFjZXMYByABKAhIAYgBAUIKCghfZW5hYmxlZEINCgtfYWxsX3NwYWNlc0oECAQQBVINcHJvdmlkZXJfdHlwZSJkCi5DbG91ZEVudmlyb25tZW50c0NyZWF0ZVNhbmRib3hQcm92aWRlclJlc3BvbnNlEjIKCHByb3ZpZGVyGAEgASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlciI7CidDbG91ZEVudmlyb25tZW50c0RlbGV0ZUJhc2VJbWFnZVJlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkiKgooQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVCYXNlSW1hZ2VSZXNwb25zZSI2CihDbG91ZEVudmlyb25tZW50c0RlbGV0ZURhZW1vblBvb2xSZXF1ZXN0EgoKAmlkGAEgASgJIisKKUNsb3VkRW52aXJvbm1lbnRzRGVsZXRlRGFlbW9uUG9vbFJlc3BvbnNlIl4KLUNsb3VkRW52aXJvbm1lbnRzRGVsZXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAIgASgDIjAKLkNsb3VkRW52aXJvbm1lbnRzRGVsZXRlU2FuZGJveFByb3ZpZGVyUmVzcG9uc2UihwEKKkNsb3VkRW52aXJvbm1lbnRzRHVwbGljYXRlQmFzZUltYWdlUmVxdWVzdBIXCg9zb3VyY2VfaW1hZ2VfaWQYASABKAkSGAoQbmV3X2Rpc3BsYXlfbmFtZRgCIAEoCRIXCgp2aXNpYmlsaXR5GAMgASgFSACIAQFCDQoLX3Zpc2liaWxpdHkiYAorQ2xvdWRFbnZpcm9ubWVudHNEdXBsaWNhdGVCYXNlSW1hZ2VSZXNwb25zZRIxCgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudCJECipDbG91ZEVudmlyb25tZW50c0dldEFjdGl2ZU9wZXJhdGlvblJlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYASABKAkiZworQ2xvdWRFbnZpcm9ubWVudHNHZXRBY3RpdmVPcGVyYXRpb25SZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24irgEKJkNsb3VkRW52aXJvbm1lbnRzR2V0RW52aXJvbm1lbnRSZXF1ZXN0EhQKCGltYWdlX2lkGAEgASgJQgIYARIcChBpbmNsdWRlX3ZlcnNpb25zGAIgASgIQgIYARIsCgNyZWYYAyABKAsyHy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRSZWYSIgoacmVzb2x2ZV91c2VyX2Rpc3BsYXlfbmFtZXMYBCABKAgihwMKJ0Nsb3VkRW52aXJvbm1lbnRzR2V0RW52aXJvbm1lbnRSZXNwb25zZRIyCgpiYXNlX2ltYWdlGAQgASgLMhwucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50SAASMgoLZGFlbW9uX3Bvb2wYBSABKAsyGy5wdWJsaWNfYXBpLkNsb3VkRGFlbW9uUG9vbEgAEkEKD3VucG9vbGVkX2RhZW1vbhgGIAEoCzImLnB1YmxpY19hcGkuQ2xvdWRVbnBvb2xlZERhZW1vblN1bW1hcnlIABI1CgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEICGAESOQoIdmVyc2lvbnMYAiADKAsyIy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWZXJzaW9uQgIYARI0CgdzdW1tYXJ5GAMgASgLMiMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50U3VtbWFyeUIJCgdkZXRhaWxzIjwKJENsb3VkRW52aXJvbm1lbnRzR2V0T3BlcmF0aW9uUmVxdWVzdBIUCgxvcGVyYXRpb25faWQYASABKAkiYQolQ2xvdWRFbnZpcm9ubWVudHNHZXRPcGVyYXRpb25SZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24idwoqQ2xvdWRFbnZpcm9ubWVudHNHZXRTYW5kYm94UHJvdmlkZXJSZXF1ZXN0EgwKBHNsdWcYASABKAkSFwoPaW5jbHVkZV9kZWxldGVkGAIgASgIEhUKCHNwYWNlX2lkGAMgASgJSACIAQFCCwoJX3NwYWNlX2lkImEKK0Nsb3VkRW52aXJvbm1lbnRzR2V0U2FuZGJveFByb3ZpZGVyUmVzcG9uc2USMgoIcHJvdmlkZXIYASABKAsyIC5wdWJsaWNfYXBpLkNsb3VkU2FuZGJveFByb3ZpZGVyIlAKIkNsb3VkRW52aXJvbm1lbnRzR2V0VmVyc2lvblJlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkSGAoQcmVzb3VyY2VfdmVyc2lvbhgCIAEoAyJgCiNDbG91ZEVudmlyb25tZW50c0dldFZlcnNpb25SZXNwb25zZRI5Cgd2ZXJzaW9uGAEgASgLMigucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50VmVyc2lvbkVudHJ5Il8KK0Nsb3VkRW52aXJvbm1lbnRzTGlzdEJhc2VJbWFnZUJ1aWxkc1JlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkSHgoWaW5jbHVkZV91cGRhdGVfc2NyaXB0cxgCIAEoCCJjCixDbG91ZEVudmlyb25tZW50c0xpc3RCYXNlSW1hZ2VCdWlsZHNSZXNwb25zZRIzCgZidWlsZHMYASADKAsyIy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWZXJzaW9uIkAKLUNsb3VkRW52aXJvbm1lbnRzTGlzdERhZW1vblBvb2xEYWVtb25zUmVxdWVzdBIPCgdwb29sX2lkGAEgASgJImQKLkNsb3VkRW52aXJvbm1lbnRzTGlzdERhZW1vblBvb2xEYWVtb25zUmVzcG9uc2USMgoHZGFlbW9ucxgBIAMoCzIhLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sRGFlbW9uIogDCihDbG91ZEVudmlyb25tZW50c0xpc3RFbnZpcm9ubWVudHNSZXF1ZXN0EhcKD2luY2x1ZGVfZGVsZXRlZBgBIAEoCBIiChpyZXNvbHZlX3VzZXJfZGlzcGxheV9uYW1lcxgCIAEoCBIvCgVraW5kcxgDIAMoDjIgLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEtpbmQSEQoJcGFnZV9zaXplGAQgASgFEhIKCnBhZ2VfdG9rZW4YBSABKAkSOQoIb3JkZXJfYnkYBiABKA4yJy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRMaXN0T3JkZXJCeRIUCgxzZWFyY2hfcXVlcnkYByABKAkSEgoKb3duZWRfb25seRgIIAEoCBI0CgVzY29wZRgJIAEoDjIlLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudExpc3RTY29wZRIQCghzcGFjZV9pZBgKIAEoCRIaChJkZWZhdWx0X3NwYWNlX29ubHkYCyABKAgi1QEKKUNsb3VkRW52aXJvbm1lbnRzTGlzdEVudmlyb25tZW50c1Jlc3BvbnNlEjYKDGVudmlyb25tZW50cxgBIAMoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEICGAESQgoVZW52aXJvbm1lbnRfc3VtbWFyaWVzGAIgAygLMiMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50U3VtbWFyeRIXCg9uZXh0X3BhZ2VfdG9rZW4YAyABKAkSEwoLdG90YWxfY291bnQYBCABKAUiawosQ2xvdWRFbnZpcm9ubWVudHNMaXN0U2FuZGJveFByb3ZpZGVyc1JlcXVlc3QSFwoPaW5jbHVkZV9kZWxldGVkGAEgASgIEhUKCHNwYWNlX2lkGAIgASgJSACIAQFCCwoJX3NwYWNlX2lkImQKLUNsb3VkRW52aXJvbm1lbnRzTGlzdFNhbmRib3hQcm92aWRlcnNSZXNwb25zZRIzCglwcm92aWRlcnMYASADKAsyIC5wdWJsaWNfYXBpLkNsb3VkU2FuZGJveFByb3ZpZGVyIkcKJENsb3VkRW52aXJvbm1lbnRzTGlzdFZlcnNpb25zUmVxdWVzdBIQCghpbWFnZV9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBSJjCiVDbG91ZEVudmlyb25tZW50c0xpc3RWZXJzaW9uc1Jlc3BvbnNlEjoKCHZlcnNpb25zGAEgAygLMigucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50VmVyc2lvbkVudHJ5IvEBCihDbG91ZEVudmlyb25tZW50c1JlYnVpbGRCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEh0KEHByb3Zpc2lvbl9zY3JpcHQYAiABKAlIAIgBARIeChF2bV9zdGFydHVwX3NjcmlwdBgDIAEoCUgBiAEBEhsKDmJhc2VfaW1hZ2VfcmVmGAQgASgJSAKIAQFCEwoRX3Byb3Zpc2lvbl9zY3JpcHRCFAoSX3ZtX3N0YXJ0dXBfc2NyaXB0QhEKD19iYXNlX2ltYWdlX3JlZkoECAUQBlITdXNlX2RlZmF1bHRfc2NyaXB0cyJtCilDbG91ZEVudmlyb25tZW50c1JlYnVpbGRCYXNlSW1hZ2VSZXNwb25zZRIWCg5tb2RhbF9pbWFnZV9pZBgBIAEoCRISCgp1cGRhdGVkX2F0GAMgASgJSgQIAhADUg5hdWdtZW50X2NvbW1pdCJwCihDbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEh8KDmVudmlyb25tZW50X2lkGAIgASgJQgIYAUgAiAEBQhEKD19lbnZpcm9ubWVudF9pZCIrCilDbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXNwb25zZSI8CihDbG91ZEVudmlyb25tZW50c1Jlc3RvcmVCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJIl4KKUNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZUJhc2VJbWFnZVJlc3BvbnNlEjEKC2Vudmlyb25tZW50GAEgASgLMhwucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50IjcKKUNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2xSZXF1ZXN0EgoKAmlkGAEgASgJIlcKKkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2xSZXNwb25zZRIpCgRwb29sGAEgASgLMhsucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2wiXwouQ2xvdWRFbnZpcm9ubWVudHNSZXN0b3JlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAIgASgDImUKL0Nsb3VkRW52aXJvbm1lbnRzUmVzdG9yZVNhbmRib3hQcm92aWRlclJlc3BvbnNlEjIKCHByb3ZpZGVyGAEgASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlciKjAQosQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZUNyZWF0ZVJlcXVlc3QSMgoGY29uZmlnGAEgASgLMiIucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50Q29uZmlnEhcKCmJhc2VfaW1hZ2UYAiABKAlIAIgBARIXCg9pZGVtcG90ZW5jeV9rZXkYAyABKAlCDQoLX2Jhc2VfaW1hZ2UinAEKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VDcmVhdGVSZXNwb25zZRIxCgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudBI4CglvcGVyYXRpb24YAiABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24i+gEKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkUmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSHQoQcHJvdmlzaW9uX3NjcmlwdBgDIAEoCUgAiAEBEh4KEXZtX3N0YXJ0dXBfc2NyaXB0GAQgASgJSAGIAQESGwoOYmFzZV9pbWFnZV9yZWYYBSABKAlIAogBAUITChFfcHJvdmlzaW9uX3NjcmlwdEIUChJfdm1fc3RhcnR1cF9zY3JpcHRCEQoPX2Jhc2VfaW1hZ2VfcmVmImoKLkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkUmVzcG9uc2USOAoJb3BlcmF0aW9uGAEgASgLMiUucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uImAKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWZyZXNoUmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkiagouQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlZnJlc2hSZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24izwEKOUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZXBvc2l0b3J5UmVjb25jaWxlUmVxdWVzdBJDCgZ1cGRhdGUYASABKAsyMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVxdWVzdBIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSJAoYZXhwZWN0ZWRfY3VycmVudF92ZXJzaW9uGAMgASgJQgIYARIOCgZyZXBhaXIYBCABKAgidgo6Q2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlcG9zaXRvcnlSZWNvbmNpbGVSZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24iuwEKNENsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VTbmFwc2hvdFVwZGF0ZVJlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYASABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAIgASgJEg4KBnNjcmlwdBgDIAEoCRIlChhleHBlY3RlZF9jdXJyZW50X3ZlcnNpb24YBCABKAlIAIgBAUIbChlfZXhwZWN0ZWRfY3VycmVudF92ZXJzaW9uInEKNUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VTbmFwc2hvdFVwZGF0ZVJlc3BvbnNlEjgKCW9wZXJhdGlvbhgBIAEoCzIlLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudE9wZXJhdGlvbiLYBQonQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEhkKDGRpc3BsYXlfbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESFwoKdmlzaWJpbGl0eRgEIAEoBUgCiAEBEiYKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YBSABKANIA4gBARI6CgVyZXBvcxgGIAMoCzIrLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENsb25lUmVwb3NpdG9yeRJEChVlbnZpcm9ubWVudF92YXJpYWJsZXMYByABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWYXJpYWJsZXMSEQoJaGFzX3JlcG9zGAggASgIEhcKCmJhc2VfaW1hZ2UYCSABKAlIBIgBARIcCg9yZWZyZXNoX2VuYWJsZWQYCiABKAhIBYgBARIVCghzcGFjZV9pZBgLIAEoCUgGiAEBEksKBHRhZ3MYDCADKAsyPS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVxdWVzdC5UYWdzRW50cnkSEAoIaGFzX3RhZ3MYDSABKAgSIAoTc2FuZGJveF9wcm92aWRlcl9pZBgOIAEoCUgHiAEBGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg8KDV9kaXNwbGF5X25hbWVCDgoMX2Rlc2NyaXB0aW9uQg0KC192aXNpYmlsaXR5QhwKGl9leHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uQg0KC19iYXNlX2ltYWdlQhIKEF9yZWZyZXNoX2VuYWJsZWRCCwoJX3NwYWNlX2lkQhYKFF9zYW5kYm94X3Byb3ZpZGVyX2lkIl0KKENsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVzcG9uc2USMQoLZW52aXJvbm1lbnQYASABKAsyHC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnQi2QMKKENsb3VkRW52aXJvbm1lbnRzVXBkYXRlRGFlbW9uUG9vbFJlcXVlc3QSCgoCaWQYASABKAkSGQoMZGlzcGxheV9uYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARIXCgp2aXNpYmlsaXR5GAQgASgFSAKIAQESXAoad29ya3NwYWNlX2lzb2xhdGlvbl9wb2xpY3kYBSABKA4yMy5wdWJsaWNfYXBpLkNsb3VkRGFlbW9uUG9vbFdvcmtzcGFjZUlzb2xhdGlvblBvbGljeUgDiAEBEjwKCWNvbm5lY3RvchgGIAEoCzIpLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sQ29ubmVjdG9ySW5wdXQSFQoIc3BhY2VfaWQYByABKAlIBIgBARImChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAggASgDSAWIAQFCDwoNX2Rpc3BsYXlfbmFtZUIOCgxfZGVzY3JpcHRpb25CDQoLX3Zpc2liaWxpdHlCHQobX3dvcmtzcGFjZV9pc29sYXRpb25fcG9saWN5QgsKCV9zcGFjZV9pZEIcChpfZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbiJWCilDbG91ZEVudmlyb25tZW50c1VwZGF0ZURhZW1vblBvb2xSZXNwb25zZRIpCgRwb29sGAEgASgLMhsucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2wikQIKLUNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxkaXNwbGF5X25hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhQKB2VuYWJsZWQYBCABKAhIAogBARIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAUgASgDEhEKCXNwYWNlX2lkcxgGIAMoCRIXCgphbGxfc3BhY2VzGAcgASgISAOIAQFCDwoNX2Rpc3BsYXlfbmFtZUIOCgxfZGVzY3JpcHRpb25CCgoIX2VuYWJsZWRCDQoLX2FsbF9zcGFjZXMiZAouQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTYW5kYm94UHJvdmlkZXJSZXNwb25zZRIyCghwcm92aWRlchgBIAEoCzIgLnB1YmxpY19hcGkuQ2xvdWRTYW5kYm94UHJvdmlkZXIipwEKJkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU25hcHNob3RSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEg4KBnNjcmlwdBgCIAEoCRIlChhleHBlY3RlZF9jdXJyZW50X3ZlcnNpb24YAyABKAlIAIgBARIXCg9pZGVtcG90ZW5jeV9rZXkYBCABKAlCGwoZX2V4cGVjdGVkX2N1cnJlbnRfdmVyc2lvbiJSCidDbG91ZEVudmlyb25tZW50c1VwZGF0ZVNuYXBzaG90UmVzcG9uc2USFgoObW9kYWxfaW1hZ2VfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoCSLbAQoKQ2xvdWRFdmVudBIQCghldmVudF9pZBgBIAEoCRIOCgZzb3VyY2UYAiABKAkSEgoKZXZlbnRfdHlwZRgDIAEoCRIUCgxwYXlsb2FkX2pzb24YBCABKAkSLwoLcmVjZWl2ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhEKCXRlbmFudF9pZBgGIAEoCRIPCgd1c2VyX2lkGAcgASgJEhIKCndlYmhvb2tfaWQYCCABKAkSGAoQcGF5bG9hZF9yZWRhY3RlZBgJIAEoCCKbAQocQ2xvdWRFdmVudHNMaXN0RXZlbnRzUmVxdWVzdBINCgVsaW1pdBgBIAEoDRISCgpwYWdlX3Rva2VuGAIgASgJEg4KBnNvdXJjZRgDIAEoCRIWCg5maWx0ZXJfcGF5bG9hZBgEIAEoCRISCgpldmVudF90eXBlGAUgASgJEg0KBXNpbmNlGAYgASgJEg0KBXVudGlsGAcgASgJInUKHUNsb3VkRXZlbnRzTGlzdEV2ZW50c1Jlc3BvbnNlEiYKBmV2ZW50cxgBIAMoCzIWLnB1YmxpY19hcGkuQ2xvdWRFdmVudBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkSEwoLdG90YWxfY291bnQYAyABKAUi8gMKC0Nsb3VkRXhwZXJ0EhEKCWV4cGVydF9pZBgBIAEoCRIrCgVzY29wZRgCIAEoDjIcLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTY29wZRItCgZjb25maWcYAyABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnEg8KB3VzZXJfaWQYBCABKAkSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQcmVzb3VyY2VfdmVyc2lvbhgHIAEoAxIuCgpkZWxldGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5lZmZlY3RpdmVfcm9sZRgJIAEoCRI6Cg1zcGFjZV9zdW1tYXJ5GAsgASgLMiMucHVibGljX2FwaS5DbG91ZEV4cGVydFNwYWNlU3VtbWFyeRIMCgRzbHVnGAwgASgJEkIKEWRlcGVuZGVuY3lfaGVhbHRoGA0gASgLMicucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lIZWFsdGhKBAgKEAtSDXRhZ19zdW1tYXJpZXMiVwoaQ2xvdWRFeHBlcnRDbG9uZVJlcG9zaXRvcnkSDQoFb3duZXIYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZicmFuY2gYAyABKAkSDAoEaG9zdBgEIAEoCSKcBwoRQ2xvdWRFeHBlcnRDb25maWcSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIYChBpbml0aWFsX21lc3NhZ2VzGAMgAygJEkYKFGJ1aWx0aW5fY2FwYWJpbGl0aWVzGAQgAygOMigucHVibGljX2FwaS5DbG91ZEV4cGVydEJ1aWx0aW5DYXBhYmlsaXR5EjsKC3Rvb2xfY29uZmlnGAYgASgLMiEucHVibGljX2FwaS5DbG91ZEV4cGVydFRvb2xDb25maWdIAIgBARJBCg5zZXNzaW9uX2NvbmZpZxgHIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTZXNzaW9uQ29uZmlnSAGIAQESNwoJdm1fY29uZmlnGAggASgLMh8ucHVibGljX2FwaS5DbG91ZEV4cGVydFZNQ29uZmlnSAKIAQESGQoRd29ya2VyX2V4cGVydF9pZHMYCSADKAkSGQoRdXNlcl9pbnN0cnVjdGlvbnMYCiABKAkSHQoQcGxhY2Vob2xkZXJfdGV4dBgQIAEoCUgDiAEBEiIKGnVzZV9hbGxfZXhwZXJ0c19hc193b3JrZXJzGAsgASgIEhYKDm1jcF9jb25maWdfaWRzGAwgAygJEhoKEmhhc19tY3BfY29uZmlnX2lkcxgNIAEoCBITCgZoaWRkZW4YDiABKAhIBIgBARJBCg5yb3V0aW5nX3RhcmdldBgPIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRSb3V0aW5nVGFyZ2V0SAWIAQESNQoEdGFncxgRIAMoCzInLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRDb25maWcuVGFnc0VudHJ5EhAKCGhhc190YWdzGBIgASgIEhgKEGNhcGFiaWxpdHlfbmFtZXMYEyADKAkSKQocdXNlX2FsbF9idWlsdGluX2NhcGFiaWxpdGllcxgUIAEoCEgGiAEBGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg4KDF90b29sX2NvbmZpZ0IRCg9fc2Vzc2lvbl9jb25maWdCDAoKX3ZtX2NvbmZpZ0ITChFfcGxhY2Vob2xkZXJfdGV4dEIJCgdfaGlkZGVuQhEKD19yb3V0aW5nX3RhcmdldEIfCh1fdXNlX2FsbF9idWlsdGluX2NhcGFiaWxpdGllc0oECAUQBiJwChtDbG91ZEV4cGVydERlcGVuZGVuY3lIZWFsdGgSNgoGaXNzdWVzGAEgAygLMiYucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lJc3N1ZRIZChFibG9ja3NfbmV3X2xhdW5jaBgCIAEoCCKzAgoaQ2xvdWRFeHBlcnREZXBlbmRlbmN5SXNzdWUSQwoMcmVsYXRpb25zaGlwGAEgASgOMi0ucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lSZWxhdGlvbnNoaXASNwoGc3RhdHVzGAIgASgOMicucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lTdGF0dXMSGAoQdGFyZ2V0X2V4cGVydF9pZBgDIAEoCRIaChJ0YXJnZXRfZXhwZXJ0X3NsdWcYBCABKAkSGgoSdGFyZ2V0X2V4cGVydF9uYW1lGAUgASgJEkUKDnJlcGFpcl9hY3Rpb25zGAYgAygOMi0ucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lSZXBhaXJBY3Rpb24iPQoeQ2xvdWRFeHBlcnRFbnZpcm9ubWVudFZhcmlhYmxlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkiYAofQ2xvdWRFeHBlcnRFbnZpcm9ubWVudFZhcmlhYmxlcxI9Cgl2YXJpYWJsZXMYASADKAsyKi5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0RW52aXJvbm1lbnRWYXJpYWJsZSJEChtDbG91ZEV4cGVydE1hY2hpbmVSZXNvdXJjZXMSEQoJY3B1X2NvcmVzGAEgASgCEhIKCm1lbW9yeV9taWIYAiABKAUiTwoYQ2xvdWRFeHBlcnRSb3V0aW5nVGFyZ2V0EhYKDGRhZW1vbl92bV9pZBgBIAEoCUgAEhEKB3Bvb2xfaWQYAiABKAlIAEIICgZ0YXJnZXQiigMKGENsb3VkRXhwZXJ0U2Vzc2lvbkNvbmZpZxISCgVtb2RlbBgBIAEoCUgAiAEBEiUKHWluY2x1ZGVfZGVmYXVsdF9zeXN0ZW1fcHJvbXB0GAIgASgIEhUKDXN5c3RlbV9wcm9tcHQYAyABKAkSPAoKdmlzaWJpbGl0eRgEIAEoDjIoLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTZXNzaW9uVmlzaWJpbGl0eRJNCg11c2VyX21ldGFkYXRhGAUgAygLMjYucHVibGljX2FwaS5DbG91ZEV4cGVydFNlc3Npb25Db25maWcuVXNlck1ldGFkYXRhRW50cnkSHAoUYXV0b19jbGVhbnVwX29uX2lkbGUYBiABKAgSHQoQcmVhc29uaW5nX2VmZm9ydBgHIAEoCUgBiAEBGjMKEVVzZXJNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCAoGX21vZGVsQhMKEV9yZWFzb25pbmdfZWZmb3J0IkEKF0Nsb3VkRXhwZXJ0U3BhY2VTdW1tYXJ5EhAKCHNwYWNlX2lkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCSKfAQoVQ2xvdWRFeHBlcnRUb29sQ29uZmlnEhYKCXRvb2xfbmFtZRgBIAEoCUgAiAEBEh0KEHRvb2xfZGVzY3JpcHRpb24YAiABKAlIAYgBARIXCg90aW1lb3V0X3NlY29uZHMYAyABKA0SEwoLYWxsb3dfYXN5bmMYBCABKAhCDAoKX3Rvb2xfbmFtZUITChFfdG9vbF9kZXNjcmlwdGlvbiLJBAoTQ2xvdWRFeHBlcnRWTUNvbmZpZxISCgpiYXNlX2ltYWdlGAEgASgJEhMKC3NuYXBzaG90X2lkGAIgASgJEhEKCWNwdV9jb3JlcxgDIAEoBRISCgptZW1vcnlfbWliGAQgASgFEhcKD3RpbWVvdXRfc2Vjb25kcxgFIAEoBRIcChRpZGxlX3RpbWVvdXRfc2Vjb25kcxgGIAEoBRIfChdpbnN0YWxsX2dpdF9jcmVkZW50aWFscxgHIAEoCBIcChRpbnN0YWxsX3VzZXJfc2VjcmV0cxgIIAEoCBI6CgxpbWFnZV9zb3VyY2UYCSABKA4yJC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Vk1JbWFnZVNvdXJjZRIVCg1iYXNlX2ltYWdlX2lkGAogASgJEjsKC2Nsb25lX3JlcG9zGAsgAygLMiYucHVibGljX2FwaS5DbG91ZEV4cGVydENsb25lUmVwb3NpdG9yeRI/CglyZXNvdXJjZXMYDCABKAsyJy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0TWFjaGluZVJlc291cmNlc0gAiAEBEiIKGmJhc2VfaW1hZ2VfY3VycmVudF92ZXJzaW9uGA0gASgJEk8KFWVudmlyb25tZW50X3ZhcmlhYmxlcxgOIAEoCzIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRFbnZpcm9ubWVudFZhcmlhYmxlc0gBiAEBQgwKCl9yZXNvdXJjZXNCGAoWX2Vudmlyb25tZW50X3ZhcmlhYmxlcyLOAQoXQ2xvdWRFeHBlcnRWZXJzaW9uRW50cnkSGAoQcmVzb3VyY2VfdmVyc2lvbhgBIAEoAxItCgZjb25maWcYAiABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnEisKBXNjb3BlGAMgASgOMhwucHVibGljX2FwaS5DbG91ZEV4cGVydFNjb3BlEhMKC21vZGlmaWVkX2J5GAQgASgJEhMKC21vZGlmaWVkX2F0GAUgASgJEhMKC2NoYW5nZV90eXBlGAYgASgJIo4BChRDbG91ZEV4cGVydFdpdGhVc2FnZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0EjAKDGxhc3RfdXNlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoTd2Vla2x5X2FjdGl2ZV91c2VycxgDIAEoBSKzAwooQ2xvdWRFeHBlcnRzQ3JlYXRlQWdlbnRGcm9tRXhwZXJ0UmVxdWVzdBIRCglleHBlcnRfaWQYASABKAkSFwoKYWdlbnRfbmFtZRgCIAEoCUgAiAEBEiIKFXNlbmRfaW5pdGlhbF9tZXNzYWdlcxgDIAEoCEgBiAEBEiUKGGV4aXN0aW5nX2NvbnZlcnNhdGlvbl9pZBgEIAEoCUgCiAEBEhwKD2luaXRpYWxfbWVzc2FnZRgFIAEoCUgDiAEBEhwKD2lkZW1wb3RlbmN5X2tleRgGIAEoCUgEiAEBEhAKCHNwYWNlX2lkGAcgASgJEkEKDnJvdXRpbmdfdGFyZ2V0GAggASgLMiQucHVibGljX2FwaS5DbG91ZEV4cGVydFJvdXRpbmdUYXJnZXRIBYgBAUINCgtfYWdlbnRfbmFtZUIYChZfc2VuZF9pbml0aWFsX21lc3NhZ2VzQhsKGV9leGlzdGluZ19jb252ZXJzYXRpb25faWRCEgoQX2luaXRpYWxfbWVzc2FnZUISChBfaWRlbXBvdGVuY3lfa2V5QhEKD19yb3V0aW5nX3RhcmdldCJSCilDbG91ZEV4cGVydHNDcmVhdGVBZ2VudEZyb21FeHBlcnRSZXNwb25zZRIlCgVhZ2VudBgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRBZ2VudCL4AQofQ2xvdWRFeHBlcnRzQ3JlYXRlRXhwZXJ0UmVxdWVzdBIrCgVzY29wZRgBIAEoDjIcLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTY29wZRItCgZjb25maWcYAiABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnEhAKCHNwYWNlX2lkGAQgASgJEkIKEWNhcGFiaWxpdHlfc291cmNlGAUgASgOMicucHVibGljX2FwaS5DbG91ZEV4cGVydENhcGFiaWxpdHlTb3VyY2USFAoMZGVzaXJlZF9zbHVnGAYgASgJSgQIAxAEUgd0YWdfaWRzIksKIENsb3VkRXhwZXJ0c0NyZWF0ZUV4cGVydFJlc3BvbnNlEicKBmV4cGVydBgBIAEoCzIXLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnQiNQofQ2xvdWRFeHBlcnRzRGVsZXRlRXhwZXJ0UmVxdWVzdBISCgpleHBlcnRfaWRzGAEgAygJIlkKIENsb3VkRXhwZXJ0c0RlbGV0ZUV4cGVydFJlc3BvbnNlEhoKEmRlbGV0ZWRfZXhwZXJ0X2lkcxgBIAMoCRIZChFmYWlsZWRfZXhwZXJ0X2lkcxgCIAMoCSIxChxDbG91ZEV4cGVydHNHZXRFeHBlcnRSZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCSJICh1DbG91ZEV4cGVydHNHZXRFeHBlcnRSZXNwb25zZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0IkwKHUNsb3VkRXhwZXJ0c0dldFZlcnNpb25SZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCRIYChByZXNvdXJjZV92ZXJzaW9uGAIgASgDIlYKHkNsb3VkRXhwZXJ0c0dldFZlcnNpb25SZXNwb25zZRI0Cgd2ZXJzaW9uGAEgASgLMiMucHVibGljX2FwaS5DbG91ZEV4cGVydFZlcnNpb25FbnRyeSJnCh5DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1JlcXVlc3QSFwoPaW5jbHVkZV9kZWxldGVkGAEgASgIEhAKCHNwYWNlX2lkGAIgASgJEhoKEmRlZmF1bHRfc3BhY2Vfb25seRgDIAEoCCJLCh9DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1Jlc3BvbnNlEigKB2V4cGVydHMYASADKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0InAKJ0Nsb3VkRXhwZXJ0c0xpc3RFeHBlcnRzV2l0aFVzYWdlUmVxdWVzdBIXCg9tYXhfcGVyX3NlY3Rpb24YASABKAUSEAoIc3BhY2VfaWQYAiABKAkSGgoSZGVmYXVsdF9zcGFjZV9vbmx5GAMgASgIIscBCihDbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1dpdGhVc2FnZVJlc3BvbnNlEjcKDXJlY2VudGx5X3VzZWQYASADKAsyIC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0V2l0aFVzYWdlEjEKB3BvcHVsYXIYAiADKAsyIC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0V2l0aFVzYWdlEi8KBW90aGVyGAMgAygLMiAucHVibGljX2FwaS5DbG91ZEV4cGVydFdpdGhVc2FnZSJDCh9DbG91ZEV4cGVydHNMaXN0VmVyc2lvbnNSZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBSJZCiBDbG91ZEV4cGVydHNMaXN0VmVyc2lvbnNSZXNwb25zZRI1Cgh2ZXJzaW9ucxgBIAMoCzIjLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRWZXJzaW9uRW50cnkiNQogQ2xvdWRFeHBlcnRzUmVzdG9yZUV4cGVydFJlcXVlc3QSEQoJZXhwZXJ0X2lkGAEgASgJIkwKIUNsb3VkRXhwZXJ0c1Jlc3RvcmVFeHBlcnRSZXNwb25zZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0IuwCCh9DbG91ZEV4cGVydHNVcGRhdGVFeHBlcnRSZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCRIyCgZjb25maWcYAiABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnSACIAQESJgoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoA0gBiAEBEjAKBXNjb3BlGAQgASgOMhwucHVibGljX2FwaS5DbG91ZEV4cGVydFNjb3BlSAKIAQESFQoIc3BhY2VfaWQYBiABKAlIA4gBARJCChFjYXBhYmlsaXR5X3NvdXJjZRgHIAEoDjInLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRDYXBhYmlsaXR5U291cmNlQgkKB19jb25maWdCHAoaX2V4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb25CCAoGX3Njb3BlQgsKCV9zcGFjZV9pZEoECAUQBlIHdGFnX2lkcyJLCiBDbG91ZEV4cGVydHNVcGRhdGVFeHBlcnRSZXNwb25zZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0In0KCkNsb3VkR3JvdXASEAoIZ3JvdXBfaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRISCgpjcmVhdGVkX2J5GAQgASgJEhIKCmNyZWF0ZWRfYXQYBSABKAkSEgoKdXBkYXRlZF9hdBgGIAEoCSLmAQoQQ2xvdWRHcm91cE1lbWJlchIPCgd1c2VyX2lkGAEgASgJEhAKCGFkZGVkX2F0GAIgASgJEhAKCGFkZGVkX2J5GAMgASgJEg0KBWVtYWlsGAQgASgJEhIKCmdpdmVuX25hbWUYBSABKAkSEwoLZmFtaWx5X25hbWUYBiABKAkSFQoNYWRkZWRfYnlfbmFtZRgHIAEoCRI4Cg5wcmluY2lwYWxfa2luZBgIIAEoDjIgLnB1YmxpY19hcGkuQ2xvdWRHcm91cE1lbWJlcktpbmQSFAoMc2VydmljZV9uYW1lGAkgASgJIlMKGENsb3VkR3JvdXBNZW1iZXJTZWxlY3RvchIQCgZtZW1iZXIYASABKAlIABIZCg9zZXJ2aWNlX2FjY291bnQYAiABKAlIAEIKCghzZWxlY3RvciJ6ChxDbG91ZEdyb3Vwc0FkZE1lbWJlcnNSZXF1ZXN0EhAKCGdyb3VwX2lkGAEgASgJEg8KB21lbWJlcnMYAiADKAkSNwoJc2VsZWN0b3JzGAMgAygLMiQucHVibGljX2FwaS5DbG91ZEdyb3VwTWVtYmVyU2VsZWN0b3IiWAodQ2xvdWRHcm91cHNBZGRNZW1iZXJzUmVzcG9uc2USFgoOYWRkZWRfdXNlcl9pZHMYASADKAkSHwoXYWxyZWFkeV9tZW1iZXJfdXNlcl9pZHMYAiADKAkiPQoYQ2xvdWRHcm91cHNDcmVhdGVSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkiQgoZQ2xvdWRHcm91cHNDcmVhdGVSZXNwb25zZRIlCgVncm91cBgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRHcm91cCIsChhDbG91ZEdyb3Vwc0RlbGV0ZVJlcXVlc3QSEAoIZ3JvdXBfaWQYASABKAkiGwoZQ2xvdWRHcm91cHNEZWxldGVSZXNwb25zZSJYCh1DbG91ZEdyb3Vwc0xpc3RNZW1iZXJzUmVxdWVzdBIQCghncm91cF9pZBgBIAEoCRIRCglwYWdlX3NpemUYAiABKA0SEgoKcGFnZV90b2tlbhgDIAEoCSKTAQoeQ2xvdWRHcm91cHNMaXN0TWVtYmVyc1Jlc3BvbnNlEi0KB21lbWJlcnMYASADKAsyHC5wdWJsaWNfYXBpLkNsb3VkR3JvdXBNZW1iZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEikKIXNlcnZpY2VfYWNjb3VudF9zZWxlY3RvcnNfZW5hYmxlZBgDIAEoCCI/ChZDbG91ZEdyb3Vwc0xpc3RSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoDRISCgpwYWdlX3Rva2VuGAIgASgJIloKF0Nsb3VkR3JvdXBzTGlzdFJlc3BvbnNlEiYKBmdyb3VwcxgBIAMoCzIWLnB1YmxpY19hcGkuQ2xvdWRHcm91cBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkifQofQ2xvdWRHcm91cHNSZW1vdmVNZW1iZXJzUmVxdWVzdBIQCghncm91cF9pZBgBIAEoCRIPCgdtZW1iZXJzGAIgAygJEjcKCXNlbGVjdG9ycxgDIAMoCzIkLnB1YmxpY19hcGkuQ2xvdWRHcm91cE1lbWJlclNlbGVjdG9yIlkKIENsb3VkR3JvdXBzUmVtb3ZlTWVtYmVyc1Jlc3BvbnNlEhgKEHJlbW92ZWRfdXNlcl9pZHMYASADKAkSGwoTbm90X21lbWJlcl91c2VyX2lkcxgCIAMoCSJyChhDbG91ZEdyb3Vwc1VwZGF0ZVJlcXVlc3QSEAoIZ3JvdXBfaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uIkIKGUNsb3VkR3JvdXBzVXBkYXRlUmVzcG9uc2USJQoFZ3JvdXAYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkR3JvdXAiSgovQ2xvdWRJbnRlZ3JhdGlvbnNDYW5jZWxFdmVudFN1YnNjcmlwdGlvblJlcXVlc3QSFwoPc3Vic2NyaXB0aW9uX2lkGAEgASgJIjIKMENsb3VkSW50ZWdyYXRpb25zQ2FuY2VsRXZlbnRTdWJzY3JpcHRpb25SZXNwb25zZSIxCi9DbG91ZEludGVncmF0aW9uc0NoZWNrQXRsYXNzaWFuQXBwU3RhdHVzUmVxdWVzdCJ1CjBDbG91ZEludGVncmF0aW9uc0NoZWNrQXRsYXNzaWFuQXBwU3RhdHVzUmVzcG9uc2USFAoMaXNfaW5zdGFsbGVkGAEgASgIEhEKCXNpdGVfbmFtZRgCIAEoCRIYChBlbmFibGVkX3Byb2R1Y3RzGAMgAygJIi4KLENsb3VkSW50ZWdyYXRpb25zQ2hlY2tHaXRIdWJBcHBTdGF0dXNSZXF1ZXN0IkUKLUNsb3VkSW50ZWdyYXRpb25zQ2hlY2tHaXRIdWJBcHBTdGF0dXNSZXNwb25zZRIUCgxpc19pbnN0YWxsZWQYASABKAgiKwopQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0xpbmVhclN0YXR1c1JlcXVlc3QiQgoqQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0xpbmVhclN0YXR1c1Jlc3BvbnNlEhQKDGlzX2Nvbm5lY3RlZBgBIAEoCCIqCihDbG91ZEludGVncmF0aW9uc0NoZWNrU2xhY2tTdGF0dXNSZXF1ZXN0IkEKKUNsb3VkSW50ZWdyYXRpb25zQ2hlY2tTbGFja1N0YXR1c1Jlc3BvbnNlEhQKDGlzX2Nvbm5lY3RlZBgBIAEoCCKUAQovQ2xvdWRJbnRlZ3JhdGlvbnNDcmVhdGVFdmVudFN1YnNjcmlwdGlvblJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkSDgoGc291cmNlGAIgASgJEhIKCmV2ZW50X3R5cGUYAyABKAkSFgoOZmlsdGVyX3BheWxvYWQYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkiSwowQ2xvdWRJbnRlZ3JhdGlvbnNDcmVhdGVFdmVudFN1YnNjcmlwdGlvblJlc3BvbnNlEhcKD3N1YnNjcmlwdGlvbl9pZBgBIAEoCSLIAQoiQ2xvdWRJbnRlZ3JhdGlvbnNFdmVudFN1YnNjcmlwdGlvbhIXCg9zdWJzY3JpcHRpb25faWQYASABKAkSEAoIYWdlbnRfaWQYAiABKAkSDgoGc291cmNlGAMgASgJEhIKCmV2ZW50X3R5cGUYBCABKAkSFgoOZmlsdGVyX3BheWxvYWQYBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSEgoKY3JlYXRlZF9hdBgHIAEoCRISCgpleHBpcmVzX2F0GAggASgJIjMKMUNsb3VkSW50ZWdyYXRpb25zR2V0QXRsYXNzaWFuQXBwSW5zdGFsbFVybFJlcXVlc3QiSQoyQ2xvdWRJbnRlZ3JhdGlvbnNHZXRBdGxhc3NpYW5BcHBJbnN0YWxsVXJsUmVzcG9uc2USEwoLaW5zdGFsbF91cmwYASABKAkiMAouQ2xvdWRJbnRlZ3JhdGlvbnNHZXRHaXRIdWJBcHBJbnN0YWxsVXJsUmVxdWVzdCJGCi9DbG91ZEludGVncmF0aW9uc0dldEdpdEh1YkFwcEluc3RhbGxVcmxSZXNwb25zZRITCgtpbnN0YWxsX3VybBgBIAEoCSIrCilDbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsUmVxdWVzdCI/CipDbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsUmVzcG9uc2USEQoJb2F1dGhfdXJsGAEgASgJIioKKENsb3VkSW50ZWdyYXRpb25zR2V0U2xhY2tPQXV0aFVybFJlcXVlc3QiPgopQ2xvdWRJbnRlZ3JhdGlvbnNHZXRTbGFja09BdXRoVXJsUmVzcG9uc2USEQoJb2F1dGhfdXJsGAEgASgJIk4KIkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25BY3Rpb24SDAoEa2luZBgBIAEoCRINCgVsYWJlbBgCIAEoCRILCgN1cmwYAyABKAkimAIKJkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25EZWZpbml0aW9uEgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhEKCWNvbm5lY3RlZBgEIAEoCBITCgtzdGF0dXNfa2luZBgFIAEoCRIUCgxzdGF0dXNfbGFiZWwYBiABKAkSPwoHZGV0YWlscxgHIAMoCzIuLnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNJbnRlZ3JhdGlvbkRldGFpbBI/CgdhY3Rpb25zGAggAygLMi4ucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0ludGVncmF0aW9uQWN0aW9uIk8KIkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25EZXRhaWwSCwoDa2V5GAEgASgJEg0KBWxhYmVsGAIgASgJEg0KBXZhbHVlGAMgASgJIkwKJENsb3VkSW50ZWdyYXRpb25zSW52b2tlQWN0aW9uUmVxdWVzdBIWCg5pbnRlZ3JhdGlvbl9pZBgBIAEoCRIMCgRraW5kGAIgASgJIpYBCiVDbG91ZEludGVncmF0aW9uc0ludm9rZUFjdGlvblJlc3BvbnNlEhMKC3VybF90b19vcGVuGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSRwoLaW50ZWdyYXRpb24YAyABKAsyMi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25EZWZpbml0aW9uIkIKLkNsb3VkSW50ZWdyYXRpb25zTGlzdEV2ZW50U3Vic2NyaXB0aW9uc1JlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkieAovQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0RXZlbnRTdWJzY3JpcHRpb25zUmVzcG9uc2USRQoNc3Vic2NyaXB0aW9ucxgBIAMoCzIuLnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNFdmVudFN1YnNjcmlwdGlvbiIeChxDbG91ZEludGVncmF0aW9uc0xpc3RSZXF1ZXN0ImkKHUNsb3VkSW50ZWdyYXRpb25zTGlzdFJlc3BvbnNlEkgKDGludGVncmF0aW9ucxgBIAMoCzIyLnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNJbnRlZ3JhdGlvbkRlZmluaXRpb24iSgopQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0U2xhY2tDaGFubmVsc1JlcXVlc3QSDgoGY3Vyc29yGAEgASgJEg0KBWxpbWl0GAIgASgNIo0BCipDbG91ZEludGVncmF0aW9uc0xpc3RTbGFja0NoYW5uZWxzUmVzcG9uc2USOwoIY2hhbm5lbHMYASADKAsyKS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zU2xhY2tDaGFubmVsEhMKC25leHRfY3Vyc29yGAIgASgJEg0KBWVycm9yGAMgASgJIisKKUNsb3VkSW50ZWdyYXRpb25zUmV2b2tlR2l0aHViT0F1dGhSZXF1ZXN0IiwKKkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlR2l0aHViT0F1dGhSZXNwb25zZSIrCilDbG91ZEludGVncmF0aW9uc1Jldm9rZUxpbmVhck9BdXRoUmVxdWVzdCIsCipDbG91ZEludGVncmF0aW9uc1Jldm9rZUxpbmVhck9BdXRoUmVzcG9uc2UiYAodQ2xvdWRJbnRlZ3JhdGlvbnNTbGFja0NoYW5uZWwSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRISCgppc19wcml2YXRlGAMgASgIEhEKCWlzX21lbWJlchgEIAEoCCLyAQoMQ2xvdWRQcm9qZWN0EhIKCnByb2plY3RfaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpjcmVhdGVkX2J5GAYgASgJEjcKBmFnZW50cxgHIAMoCzInLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0QWdlbnRNZW1iZXJzaGlwIl0KG0Nsb3VkUHJvamVjdEFnZW50TWVtYmVyc2hpcBIQCghhZ2VudF9pZBgBIAEoCRIsCghhZGRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiRAocQ2xvdWRQcm9qZWN0c0FkZEFnZW50UmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEhAKCGFnZW50X2lkGAIgASgJIkoKHUNsb3VkUHJvamVjdHNBZGRBZ2VudFJlc3BvbnNlEikKB3Byb2plY3QYASABKAsyGC5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdCJGCiFDbG91ZFByb2plY3RzQ3JlYXRlUHJvamVjdFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSJPCiJDbG91ZFByb2plY3RzQ3JlYXRlUHJvamVjdFJlc3BvbnNlEikKB3Byb2plY3QYASABKAsyGC5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdCI3CiFDbG91ZFByb2plY3RzRGVsZXRlUHJvamVjdFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCSIkCiJDbG91ZFByb2plY3RzRGVsZXRlUHJvamVjdFJlc3BvbnNlIjQKHkNsb3VkUHJvamVjdHNHZXRQcm9qZWN0UmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJIkwKH0Nsb3VkUHJvamVjdHNHZXRQcm9qZWN0UmVzcG9uc2USKQoHcHJvamVjdBgBIAEoCzIYLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0IiIKIENsb3VkUHJvamVjdHNMaXN0UHJvamVjdHNSZXF1ZXN0Ik8KIUNsb3VkUHJvamVjdHNMaXN0UHJvamVjdHNSZXNwb25zZRIqCghwcm9qZWN0cxgBIAMoCzIYLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0IkcKH0Nsb3VkUHJvamVjdHNSZW1vdmVBZ2VudFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIQCghhZ2VudF9pZBgCIAEoCSJNCiBDbG91ZFByb2plY3RzUmVtb3ZlQWdlbnRSZXNwb25zZRIpCgdwcm9qZWN0GAEgASgLMhgucHVibGljX2FwaS5DbG91ZFByb2plY3QinwQKDUNsb3VkUmVzaWRlbnQSEwoLcmVzaWRlbnRfaWQYASABKAkSLQoFc2NvcGUYAiABKA4yHi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRTY29wZRIvCgZjb25maWcYAyABKAsyHy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRDb25maWcSDwoHdXNlcl9pZBgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChByZXNvdXJjZV92ZXJzaW9uGAcgASgDEhgKEGN1cnJlbnRfYWdlbnRfaWQYCCABKAkSLgoKc3RhcnRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFgoOZWZmZWN0aXZlX3JvbGUYCiABKAkSLgoKZGVsZXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASQAoPcHJlc2VuY2Vfc3RhdHVzGAwgASgLMicucHVibGljX2FwaS5DbG91ZFJlc2lkZW50UHJlc2VuY2VTdGF0dXMSOgoNc3BhY2Vfc3VtbWFyeRgNIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTcGFjZVN1bW1hcnkixAMKE0Nsb3VkUmVzaWRlbnRDb25maWcSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIRCglleHBlcnRfaWQYAyABKAkSHAoPaW5pdGlhbF9tZXNzYWdlGAQgASgJSACIAQESOgoJb3ZlcnJpZGVzGAUgASgLMiIucHVibGljX2FwaS5DbG91ZFJlc2lkZW50T3ZlcnJpZGVzSAGIAQESGwoOcnVuX2FzX3VzZXJfaWQYBiABKAlIAogBARI4CghwcmVzZW5jZRgHIAEoCzIhLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudFByZXNlbmNlSAOIAQESDAoEaWNvbhgIIAEoCRI3CgR0YWdzGAkgAygLMikucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnLlRhZ3NFbnRyeRIQCghoYXNfdGFncxgKIAEoCBorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfaW5pdGlhbF9tZXNzYWdlQgwKCl9vdmVycmlkZXNCEQoPX3J1bl9hc191c2VyX2lkQgsKCV9wcmVzZW5jZSKCAQoYQ2xvdWRSZXNpZGVudEVudlZNQ29uZmlnEhUKDWJhc2VfaW1hZ2VfaWQYASABKAkSQQoJcmVzb3VyY2VzGAIgASgLMikucHVibGljX2FwaS5DbG91ZFJlc2lkZW50TWFjaGluZVJlc291cmNlc0gAiAEBQgwKCl9yZXNvdXJjZXMiRgodQ2xvdWRSZXNpZGVudE1hY2hpbmVSZXNvdXJjZXMSEQoJY3B1X2NvcmVzGAEgASgCEhIKCm1lbW9yeV9taWIYAiABKAUisgEKFkNsb3VkUmVzaWRlbnRPdmVycmlkZXMSOQoJdm1fY29uZmlnGAIgASgLMiQucHVibGljX2FwaS5DbG91ZFJlc2lkZW50RW52Vk1Db25maWdIABIWCgxkYWVtb25fdm1faWQYAyABKAlIABIYCg5kYWVtb25fcG9vbF9pZBgEIAEoCUgAEhIKBW1vZGVsGAEgASgJSAGIAQFCDQoLZW52aXJvbm1lbnRCCAoGX21vZGVsIlMKFUNsb3VkUmVzaWRlbnRQcmVzZW5jZRItCgVzbGFjaxgBIAEoCzIeLnB1YmxpY19hcGkuQ2xvdWRTbGFja1ByZXNlbmNlSgQIAhADUgV0ZWFtcyJfChtDbG91ZFJlc2lkZW50UHJlc2VuY2VTdGF0dXMSMwoFc2xhY2sYASABKAsyJC5wdWJsaWNfYXBpLkNsb3VkU2xhY2tQcmVzZW5jZVN0YXR1c0oECAIQA1IFdGVhbXMinQEKG0Nsb3VkUmVzaWRlbnRTZXNzaW9uU3VtbWFyeRIQCghhZ2VudF9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSLgoKc3RhcnRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItQBChlDbG91ZFJlc2lkZW50VmVyc2lvbkVudHJ5EhgKEHJlc291cmNlX3ZlcnNpb24YASABKAMSLwoGY29uZmlnGAIgASgLMh8ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnEi0KBXNjb3BlGAMgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGUSEwoLbW9kaWZpZWRfYnkYBCABKAkSEwoLbW9kaWZpZWRfYXQYBSABKAkSEwoLY2hhbmdlX3R5cGUYBiABKAkihQEKI0Nsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnRSZXF1ZXN0Ei0KBXNjb3BlGAEgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGUSLwoGY29uZmlnGAIgASgLMh8ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnIlMKJENsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudCJQCiNDbG91ZFJlc2lkZW50c0RlbGV0ZVJlc2lkZW50UmVxdWVzdBIUCgxyZXNpZGVudF9pZHMYASADKAkSEwoLaGFyZF9kZWxldGUYAiABKAgiYQokQ2xvdWRSZXNpZGVudHNEZWxldGVSZXNpZGVudFJlc3BvbnNlEhwKFGRlbGV0ZWRfcmVzaWRlbnRfaWRzGAEgAygJEhsKE2ZhaWxlZF9yZXNpZGVudF9pZHMYAiADKAkiNwogQ2xvdWRSZXNpZGVudHNHZXRSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkiUAohQ2xvdWRSZXNpZGVudHNHZXRSZXNpZGVudFJlc3BvbnNlEisKCHJlc2lkZW50GAEgASgLMhkucHVibGljX2FwaS5DbG91ZFJlc2lkZW50IlAKH0Nsb3VkUmVzaWRlbnRzR2V0VmVyc2lvblJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSGAoQcmVzb3VyY2VfdmVyc2lvbhgCIAEoAyJaCiBDbG91ZFJlc2lkZW50c0dldFZlcnNpb25SZXNwb25zZRI2Cgd2ZXJzaW9uGAEgASgLMiUucHVibGljX2FwaS5DbG91ZFJlc2lkZW50VmVyc2lvbkVudHJ5IqkBCiJDbG91ZFJlc2lkZW50c0xpc3RSZXNpZGVudHNSZXF1ZXN0EjIKBXNjb3BlGAEgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGVIAIgBARIXCg9pbmNsdWRlX2RlbGV0ZWQYAiABKAgSEAoIc3BhY2VfaWQYAyABKAkSGgoSZGVmYXVsdF9zcGFjZV9vbmx5GAQgASgIQggKBl9zY29wZSJTCiNDbG91ZFJlc2lkZW50c0xpc3RSZXNpZGVudHNSZXNwb25zZRIsCglyZXNpZGVudHMYASADKAsyGS5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnQiOAohQ2xvdWRSZXNpZGVudHNMaXN0U2Vzc2lvbnNSZXF1ZXN0EhMKC3Jlc2lkZW50X2lkGAEgASgJIl8KIkNsb3VkUmVzaWRlbnRzTGlzdFNlc3Npb25zUmVzcG9uc2USOQoIc2Vzc2lvbnMYASADKAsyJy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRTZXNzaW9uU3VtbWFyeSJHCiFDbG91ZFJlc2lkZW50c0xpc3RWZXJzaW9uc1JlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSDQoFbGltaXQYAiABKAUiXQoiQ2xvdWRSZXNpZGVudHNMaXN0VmVyc2lvbnNSZXNwb25zZRI3Cgh2ZXJzaW9ucxgBIAMoCzIlLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudFZlcnNpb25FbnRyeSI7CiRDbG91ZFJlc2lkZW50c1Jlc3RvcmVSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkiVAolQ2xvdWRSZXNpZGVudHNSZXN0b3JlUmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudCLNAQosQ2xvdWRSZXNpZGVudHNTZXRSZXNpZGVudFRlbmFudEFjY2Vzc1JlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSLQoFc2NvcGUYAiABKA4yHi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRTY29wZRITCgt0ZW5hbnRfcm9sZRgDIAEoCRImChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAQgASgDSACIAQFCHAoaX2V4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24iXAotQ2xvdWRSZXNpZGVudHNTZXRSZXNpZGVudFRlbmFudEFjY2Vzc1Jlc3BvbnNlEisKCHJlc2lkZW50GAEgASgLMhkucHVibGljX2FwaS5DbG91ZFJlc2lkZW50ImsKIkNsb3VkUmVzaWRlbnRzU3RhcnRSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSHAoPaW5pdGlhbF9tZXNzYWdlGAIgASgJSACIAQFCEgoQX2luaXRpYWxfbWVzc2FnZSJ5CiNDbG91ZFJlc2lkZW50c1N0YXJ0UmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudBIlCgVhZ2VudBgCIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRBZ2VudCI4CiFDbG91ZFJlc2lkZW50c1N0b3BSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkiUQoiQ2xvdWRSZXNpZGVudHNTdG9wUmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudCL/AQojQ2xvdWRSZXNpZGVudHNVcGRhdGVSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSNAoGY29uZmlnGAIgASgLMh8ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnSACIAQESJgoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoA0gBiAEBEjIKBXNjb3BlGAQgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGVIAogBAUIJCgdfY29uZmlnQhwKGl9leHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uQggKBl9zY29wZSJTCiRDbG91ZFJlc2lkZW50c1VwZGF0ZVJlc2lkZW50UmVzcG9uc2USKwoIcmVzaWRlbnQYASABKAsyGS5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnQi2AIKFENsb3VkU2FuZGJveFByb3ZpZGVyEgwKBHNsdWcYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB2VuYWJsZWQYBSABKAgSGgoSY3JlYXRlZF9ieV91c2VyX2lkGAYgASgJEhIKCmNyZWF0ZWRfYXQYByABKAkSEgoKdXBkYXRlZF9hdBgIIAEoCRIYChByZXNvdXJjZV92ZXJzaW9uGAkgASgDEhIKCmRlbGV0ZWRfYXQYCiABKAkSCgoCaWQYCyABKAkSOwoNcHJvdmlkZXJfdHlwZRgMIAEoDjIkLnB1YmxpY19hcGkuQ2xvdWRTYW5kYm94UHJvdmlkZXJUeXBlEhEKCXNwYWNlX2lkcxgNIAMoCRISCgphbGxfc3BhY2VzGA4gASgISgQIBBAFUg5zeXN0ZW1fbWFuYWdlZCKeAQoSQ2xvdWRTbGFja1ByZXNlbmNlEhMKC21lbnRpb25hYmxlGAEgASgIEhgKEHVzZXJncm91cF9oYW5kbGUYAiABKAkSFwoPaG9tZV9jaGFubmVsX2lkGAMgASgJEiQKF2RpcmVjdF9tZXNzYWdlc19lbmFibGVkGAQgASgISACIAQFCGgoYX2RpcmVjdF9tZXNzYWdlc19lbmFibGVkInEKGENsb3VkU2xhY2tQcmVzZW5jZVN0YXR1cxISCgpzdWJ0ZWFtX2lkGAEgASgJEjIKDmxhc3Rfc3luY2VkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVlcnJvchgDIAEoCSLcAQoKQ2xvdWRTcGFjZRIQCghzcGFjZV9pZBgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSFwoPbm9ybWFsaXplZF9uYW1lGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmNyZWF0ZWRfYnkYBiABKAkSGQoRcGlubmVkX2V4cGVydF9pZHMYByADKAkiNQodQ2xvdWRTcGFjZXNDcmVhdGVTcGFjZVJlcXVlc3QSFAoMZGlzcGxheV9uYW1lGAEgASgJIkcKHkNsb3VkU3BhY2VzQ3JlYXRlU3BhY2VSZXNwb25zZRIlCgVzcGFjZRgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRTcGFjZSIxCh1DbG91ZFNwYWNlc0RlbGV0ZVNwYWNlUmVxdWVzdBIQCghzcGFjZV9pZBgBIAEoCSIgCh5DbG91ZFNwYWNlc0RlbGV0ZVNwYWNlUmVzcG9uc2UiLgoaQ2xvdWRTcGFjZXNHZXRTcGFjZVJlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkiRAobQ2xvdWRTcGFjZXNHZXRTcGFjZVJlc3BvbnNlEiUKBXNwYWNlGAEgASgLMhYucHVibGljX2FwaS5DbG91ZFNwYWNlIh4KHENsb3VkU3BhY2VzTGlzdFNwYWNlc1JlcXVlc3QiRwodQ2xvdWRTcGFjZXNMaXN0U3BhY2VzUmVzcG9uc2USJgoGc3BhY2VzGAEgAygLMhYucHVibGljX2FwaS5DbG91ZFNwYWNlIkcKHUNsb3VkU3BhY2VzVXBkYXRlU3BhY2VSZXF1ZXN0EhAKCHNwYWNlX2lkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCSJHCh5DbG91ZFNwYWNlc1VwZGF0ZVNwYWNlUmVzcG9uc2USJQoFc3BhY2UYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkU3BhY2UiWAolQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVxdWVzdBIZChFldmVudF9zb3VyY2VfanNvbhgBIAEoCRIUCgxkZXNpcmVkX3NsdWcYAiABKAkiQwomQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVzcG9uc2USGQoRZXZlbnRfc291cmNlX2pzb24YASABKAkiUQoiQ2xvdWRUcmlnZ2Vyc0NyZWF0ZVdvcmtmbG93UmVxdWVzdBIVCg13b3JrZmxvd19qc29uGAEgASgJEhQKDGRlc2lyZWRfc2x1ZxgCIAEoCSI8CiNDbG91ZFRyaWdnZXJzQ3JlYXRlV29ya2Zsb3dSZXNwb25zZRIVCg13b3JrZmxvd19qc29uGAEgASgJIkIKJkNsb3VkVHJpZ2dlcnNEZWxldGVFdmVudFNvdXJjZXNSZXF1ZXN0EhgKEGV2ZW50X3NvdXJjZV9pZHMYASADKAkifQonQ2xvdWRUcmlnZ2Vyc0RlbGV0ZUV2ZW50U291cmNlc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSIAoYZGVsZXRlZF9ldmVudF9zb3VyY2VfaWRzGAIgAygJEh8KF2ZhaWxlZF9ldmVudF9zb3VyY2VfaWRzGAMgAygJImwKMkNsb3VkVHJpZ2dlcnNEZWxldGVXb3JrZmxvd0V4cGVjdGVkUmVzb3VyY2VWZXJzaW9uEhMKC3dvcmtmbG93X2lkGAEgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAiABKAMingEKIkNsb3VkVHJpZ2dlcnNEZWxldGVXb3JrZmxvd1JlcXVlc3QSFAoMd29ya2Zsb3dfaWRzGAEgAygJEmIKGmV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb25zGAIgAygLMj4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzRGVsZXRlV29ya2Zsb3dFeHBlY3RlZFJlc291cmNlVmVyc2lvbiKRAQojQ2xvdWRUcmlnZ2Vyc0RlbGV0ZVdvcmtmbG93UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIcChRkZWxldGVkX3dvcmtmbG93X2lkcxgCIAMoCRIbChNmYWlsZWRfd29ya2Zsb3dfaWRzGAMgAygJEh4KFm5vdF9mb3VuZF93b3JrZmxvd19pZHMYBCADKAkiPQoiQ2xvdWRUcmlnZ2Vyc0dldEV2ZW50U291cmNlUmVxdWVzdBIXCg9ldmVudF9zb3VyY2VfaWQYASABKAkiQAojQ2xvdWRUcmlnZ2Vyc0dldEV2ZW50U291cmNlUmVzcG9uc2USGQoRZXZlbnRfc291cmNlX2pzb24YASABKAkiNgofQ2xvdWRUcmlnZ2Vyc0dldFdvcmtmbG93UmVxdWVzdBITCgt3b3JrZmxvd19pZBgBIAEoCSI5CiBDbG91ZFRyaWdnZXJzR2V0V29ya2Zsb3dSZXNwb25zZRIVCg13b3JrZmxvd19qc29uGAEgASgJIiYKJENsb3VkVHJpZ2dlcnNMaXN0RXZlbnRTb3VyY2VzUmVxdWVzdCJDCiVDbG91ZFRyaWdnZXJzTGlzdEV2ZW50U291cmNlc1Jlc3BvbnNlEhoKEmV2ZW50X3NvdXJjZXNfanNvbhgBIAEoCSJPCiFDbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93c1JlcXVlc3QSFwoPZXZlbnRfc291cmNlX2lkGAEgASgJEhEKCWV4cGVydF9pZBgCIAEoCSI8CiJDbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93c1Jlc3BvbnNlEhYKDndvcmtmbG93c19qc29uGAEgASgJImUKJUNsb3VkVHJpZ2dlcnNVcGRhdGVFdmVudFNvdXJjZVJlcXVlc3QSGQoRZXZlbnRfc291cmNlX2pzb24YASABKAkSIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgCIAEoAyJDCiZDbG91ZFRyaWdnZXJzVXBkYXRlRXZlbnRTb3VyY2VSZXNwb25zZRIZChFldmVudF9zb3VyY2VfanNvbhgBIAEoCSLDAwoiQ2xvdWRUcmlnZ2Vyc1VwZGF0ZVdvcmtmbG93UmVxdWVzdBITCgt3b3JrZmxvd19pZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESFAoHZW5hYmxlZBgDIAEoCEgBiAEBEiYKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YBCABKANIAogBARIqCh1vdmVycmlkZV9hdXRvX2NsZWFudXBfb25faWRsZRgFIAEoCEgDiAEBEioKHXBlcl9taW51dGVfY3JlYXRlX2FnZW50X2xpbWl0GAYgASgFSASIAQESIQoUaW5pdGlhbF9pbnN0cnVjdGlvbnMYByABKAlIBYgBARIaCg1hY3Rvcl91c2VyX2lkGAggASgJSAaIAQFCBwoFX25hbWVCCgoIX2VuYWJsZWRCHAoaX2V4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb25CIAoeX292ZXJyaWRlX2F1dG9fY2xlYW51cF9vbl9pZGxlQiAKHl9wZXJfbWludXRlX2NyZWF0ZV9hZ2VudF9saW1pdEIXChVfaW5pdGlhbF9pbnN0cnVjdGlvbnNCEAoOX2FjdG9yX3VzZXJfaWQiPAojQ2xvdWRUcmlnZ2Vyc1VwZGF0ZVdvcmtmbG93UmVzcG9uc2USFQoNd29ya2Zsb3dfanNvbhgBIAEoCSKIAgoLQ2xvdWRUdW5uZWwSEQoJdHVubmVsX2lkGAEgASgJEhAKCGFnZW50X2lkGAIgASgJEg0KBXZtX2lkGAMgASgJEhIKCmxvY2FsX2hvc3QYBCABKAkSEgoKbG9jYWxfcG9ydBgFIAEoBRINCgVsYWJlbBgGIAEoCRIpCgRtb2RlGAcgASgOMhsucHVibGljX2FwaS5DbG91ZFR1bm5lbE1vZGUSLQoGc3RhdHVzGAggASgOMh0ucHVibGljX2FwaS5DbG91ZFR1bm5lbFN0YXR1cxIMCgRob3N0GAkgASgJEhIKCmNyZWF0ZWRfYXQYCiABKAkSEgoKZXhwaXJlc19hdBgLIAEoCSI9ChhDbG91ZFR1bm5lbHNDbG9zZVJlcXVlc3QSEQoJdHVubmVsX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJEChlDbG91ZFR1bm5lbHNDbG9zZVJlc3BvbnNlEicKBnR1bm5lbBgBIAEoCzIXLnB1YmxpY19hcGkuQ2xvdWRUdW5uZWwiKwoXQ2xvdWRUdW5uZWxzTGlzdFJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkiRAoYQ2xvdWRUdW5uZWxzTGlzdFJlc3BvbnNlEigKB3R1bm5lbHMYASADKAsyFy5wdWJsaWNfYXBpLkNsb3VkVHVubmVsIoYBChdDbG91ZFR1bm5lbHNPcGVuUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRISCgpsb2NhbF9wb3J0GAIgASgFEhIKCmxvY2FsX2hvc3QYAyABKAkSDQoFbGFiZWwYBCABKAkSFQoIYWN0aXZhdGUYBSABKAhIAIgBAUILCglfYWN0aXZhdGUiQwoYQ2xvdWRUdW5uZWxzT3BlblJlc3BvbnNlEicKBnR1bm5lbBgBIAEoCzIXLnB1YmxpY19hcGkuQ2xvdWRUdW5uZWwisAEKGkNsb3VkVW5wb29sZWREYWVtb25TdW1tYXJ5Eg0KBXZtX2lkGAEgASgJEhYKDndvcmtzcGFjZV9wYXRoGAIgASgJEhIKCm1heF9hZ2VudHMYAyABKAUSGwoTY3VycmVudF9hZ2VudF9jb3VudBgEIAEoBRIUCgxjb25uZWN0ZWRfYXQYBSABKAkSFgoObGFzdF9oZWFydGJlYXQYBiABKAkSDAoEbmFtZRgHIAEoCSJZChpDbG91ZFdlYmhvb2tzQ3JlYXRlUmVxdWVzdBITCgtkZXNjcmlwdGlvbhgBIAEoCRIMCgR0eXBlGAIgASgJEhgKEGNhcHR1cmVkX2hlYWRlcnMYAyADKAkicQobQ2xvdWRXZWJob29rc0NyZWF0ZVJlc3BvbnNlEhQKDHdlYmhvb2tfanNvbhgBIAEoCRILCgN1cmwYAiABKAkSDgoGc2VjcmV0GAMgASgJEh8KF3NldHVwX2luc3RydWN0aW9uc19qc29uGAQgASgJIjEKGkNsb3VkV2ViaG9va3NEZWxldGVSZXF1ZXN0EhMKC3dlYmhvb2tfaWRzGAEgAygJImcKG0Nsb3VkV2ViaG9va3NEZWxldGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhsKE2RlbGV0ZWRfd2ViaG9va19pZHMYAiADKAkSGgoSZmFpbGVkX3dlYmhvb2tfaWRzGAMgAygJIi0KF0Nsb3VkV2ViaG9va3NHZXRSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkiMAoYQ2xvdWRXZWJob29rc0dldFJlc3BvbnNlEhQKDHdlYmhvb2tfanNvbhgBIAEoCSJMCihDbG91ZFdlYmhvb2tzR2V0U2V0dXBJbnN0cnVjdGlvbnNSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkSDAoEdHlwZRgCIAEoCSJMCilDbG91ZFdlYmhvb2tzR2V0U2V0dXBJbnN0cnVjdGlvbnNSZXNwb25zZRIfChdzZXR1cF9pbnN0cnVjdGlvbnNfanNvbhgBIAEoCSIaChhDbG91ZFdlYmhvb2tzTGlzdFJlcXVlc3QiMgoZQ2xvdWRXZWJob29rc0xpc3RSZXNwb25zZRIVCg13ZWJob29rc19qc29uGAEgASgJIkMKHUNsb3VkV2ViaG9va3NTZXRTZWNyZXRSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkSDgoGc2VjcmV0GAIgASgJIjYKHkNsb3VkV2ViaG9va3NTZXRTZWNyZXRSZXNwb25zZRIUCgx3ZWJob29rX2pzb24YASABKAkilQEKGkNsb3VkV2ViaG9va3NVcGRhdGVSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkSGAoLZGVzY3JpcHRpb24YAiABKAlIAIgBARIYChBjYXB0dXJlZF9oZWFkZXJzGAMgAygJEh8KF3VwZGF0ZV9jYXB0dXJlZF9oZWFkZXJzGAQgASgIQg4KDF9kZXNjcmlwdGlvbiIzChtDbG91ZFdlYmhvb2tzVXBkYXRlUmVzcG9uc2USFAoMd2ViaG9va19qc29uGAEgASgJIvsEChtDb2RlYmFzZVJldHJpZXZhbFJhd1JlcXVlc3QSLgoHcXVlcmllcxgBIAMoCzIdLnB1YmxpY19hcGkuUmF3UmV0cmlldmFsUXVlcnkSIAoFYmxvYnMYAiABKAsyES5wdWJsaWNfYXBpLkJsb2JzEhIKCm1heF9jaHVua3MYAyABKAUSGQoRbWF4X291dHB1dF9sZW5ndGgYBCABKAUSGQoRdXNlcl9ndWlkZWRfYmxvYnMYBSADKAkSGwoTZXh0ZXJuYWxfc291cmNlX2lkcxgGIAMoCRIlCh1kaXNhYmxlX2F1dG9fZXh0ZXJuYWxfc291cmNlcxgHIAEoCBIMCgRwYXRoGAggASgJEg4KBnByZWZpeBgJIAEoCRIOCgZzdWZmaXgYCiABKAkSFQoNc2VsZWN0ZWRfY29kZRgLIAEoCRIkCgZkaWFsb2cYDCADKAsyFC5wdWJsaWNfYXBpLkV4Y2hhbmdlEiMKG2luY2x1ZGVfZm9ybWF0dGVkX3JldHJpZXZhbBgNIAEoCBIcChRpbmNsdWRlX2xpbmVfbnVtYmVycxgOIAEoCBIcCg9jb252ZXJzYXRpb25faWQYDyABKAlIAIgBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGBAgASgJSAGIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYESABKAlIAogBARIUCgd0dXJuX2lkGBIgASgJSAOIAQFCEgoQX2NvbnZlcnNhdGlvbl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCCgoIX3R1cm5faWQipAEKHENvZGViYXNlUmV0cmlldmFsUmF3UmVzcG9uc2USLQoGY2h1bmtzGAEgAygLMh0ucHVibGljX2FwaS5SYXdSZXRyaWV2ZWRDaHVuaxIbChNmb3JtYXR0ZWRfcmV0cmlldmFsGAIgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgDIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgEIAEoCCKlBAoYQ29kZWJhc2VSZXRyaWV2YWxSZXF1ZXN0EhsKE2luZm9ybWF0aW9uX3JlcXVlc3QYASABKAkSJAoGZGlhbG9nGAIgAygLMhQucHVibGljX2FwaS5FeGNoYW5nZRIgCgVibG9icxgDIAEoCzIRLnB1YmxpY19hcGkuQmxvYnMSGQoRbWF4X291dHB1dF9sZW5ndGgYBCABKAUSIgoaZGlzYWJsZV9jb2RlYmFzZV9yZXRyaWV2YWwYBSABKAgSHwoXZW5hYmxlX2NvbW1pdF9yZXRyaWV2YWwYBiABKAgSJQodZW5hYmxlX2NvbnZlcnNhdGlvbl9yZXRyaWV2YWwYByABKAgSNgoSYnJpbmdfeW91cl9vd25fa2V5GAggASgLMhUuY2hhdC5CcmluZ1lvdXJPd25LZXlIAIgBARIcCg9jb252ZXJzYXRpb25faWQYCSABKAlIAYgBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGAogASgJSAKIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYCyABKAlIA4gBARIUCgd0dXJuX2lkGAwgASgJSASIAQFCFQoTX2JyaW5nX3lvdXJfb3duX2tleUISChBfY29udmVyc2F0aW9uX2lkQhkKF19wYXJlbnRfY29udmVyc2F0aW9uX2lkQhcKFV9yb290X2NvbnZlcnNhdGlvbl9pZEIKCghfdHVybl9pZCK7BgoZQ29kZWJhc2VSZXRyaWV2YWxSZXNwb25zZRIbChNmb3JtYXR0ZWRfcmV0cmlldmFsGAEgASgJEiUKHWNvZGViYXNlX3JldHJpZXZhbF9lbGFwc2VkX21zGAIgASgFEikKIWNvbnZlcnNhdGlvbl9yZXRyaWV2YWxfZWxhcHNlZF9tcxgDIAEoBRIpCiFjb252ZXJzYXRpb25faW5pdGlhbF9yZXRyaWV2YWxfbXMYBCABKAUSJwofY29udmVyc2F0aW9uX3F1ZXJ5X3Jld3JpdGluZ19tcxgFIAEoBRIqCiJjb252ZXJzYXRpb25fZm9sbG93dXBfcmV0cmlldmFsX21zGAYgASgFEhsKE2Jsb2JfbmFtZV9sb29rdXBfbXMYByABKAUSIQoZY29kZWJhc2VfY2h1bmtzX3JldHJpZXZlZBgIIAEoBRIjChtjb252ZXJzYXRpb25fY2h1bmtzX2luaXRpYWwYCSABKAUSJgoeY29udmVyc2F0aW9uX3F1ZXJpZXNfZ2VuZXJhdGVkGAogASgFEiQKHGNvbnZlcnNhdGlvbl9jaHVua3NfZm9sbG93dXAYCyABKAUSJAocY29udmVyc2F0aW9uX2NodW5rc19jb21iaW5lZBgMIAEoBRIqCiJjb2RlYmFzZV9yZXN1bHRfbGVuX3ByZV90cnVuY2F0aW9uGA0gASgFEhsKE2NvZGViYXNlX3Jlc3VsdF9sZW4YDiABKAUSLgomY29udmVyc2F0aW9uX3Jlc3VsdF9sZW5fcHJlX3RydW5jYXRpb24YDyABKAUSHwoXY29udmVyc2F0aW9uX3Jlc3VsdF9sZW4YECABKAUSGwoTY29tYmluZWRfcmVzdWx0X2xlbhgRIAEoBRIUCgx0b3RhbF9idWRnZXQYEiABKAUSFwoPY29kZWJhc2VfYnVkZ2V0GBMgASgFEhsKE2NvbnZlcnNhdGlvbl9idWRnZXQYFCABKAUSGgoSY29kZWJhc2VfdHJ1bmNhdGVkGBUgASgIEh4KFmNvbnZlcnNhdGlvbl90cnVuY2F0ZWQYFiABKAgSFwoPZmluYWxfdHJ1bmNhdGVkGBcgASgIImIKEkNvbXBsZXRpb25GZWVkYmFjaxISCgpyZXF1ZXN0X2lkGAEgASgJEioKBnJhdGluZxgCIAEoDjIaLnB1YmxpY19hcGkuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgDIAEoCSIcChpDb21wbGV0aW9uRmVlZGJhY2tSZXNwb25zZSKDAQoOQ29tcGxldGlvbkl0ZW0SDAoEdGV4dBgBIAEoCRIWCg5za2lwcGVkX3N1ZmZpeBgCIAEoCRIfChdzdWZmaXhfcmVwbGFjZW1lbnRfdGV4dBgDIAEoCRIZCgxmaWx0ZXJfc2NvcmUYBCABKAJIAIgBAUIPCg1fZmlsdGVyX3Njb3JlIsoGChFDb21wbGV0aW9uUmVxdWVzdBISCgVtb2RlbBgBIAEoCUgAiAEBEg4KBnByb21wdBgCIAEoCRIMCgRwYXRoGAMgASgJEhMKBnN1ZmZpeBgEIAEoCUgBiAEBEhQKCG1lbW9yaWVzGAUgAygJQgIYARISCgV0b3BfaxgGIAEoBUgCiAEBEhIKBXRvcF9wGAcgASgCSAOIAQESGAoLdGVtcGVyYXR1cmUYCCABKAJIBIgBARIXCgptYXhfdG9rZW5zGAkgASgFSAWIAQESEQoEbGFuZxgKIAEoCUgGiAEBEhYKCWJsb2JfbmFtZRgLIAEoCUgHiAEBEhkKDHByZWZpeF9iZWdpbhgMIAEoBUgIiAEBEhwKD2N1cnNvcl9wb3NpdGlvbhgNIAEoBUgJiAEBEhcKCnN1ZmZpeF9lbmQYDiABKAVICogBARIyCgxyZWNlbmN5X2luZm8YDyABKAsyFy5wdWJsaWNfYXBpLlJlY2VuY3lJbmZvSAuIAQESIAoFYmxvYnMYECABKAsyES5wdWJsaWNfYXBpLkJsb2JzEhgKC3NlcXVlbmNlX2lkGBEgASgNSAyIAQESGwoKcHJvYmVfb25seRgSIAEoCEICGAFIDYgBARIdChBmaWx0ZXJfdGhyZXNob2xkGBMgASgCSA6IAQESLgoLZWRpdF9ldmVudHMYFCADKAsyGS5wdWJsaWNfYXBpLkZpbGVFZGl0RXZlbnQSOAoPY29tcGxldGlvbl90eXBlGBUgASgOMhoucHVibGljX2FwaS5Db21wbGV0aW9uVHlwZUgPiAEBQggKBl9tb2RlbEIJCgdfc3VmZml4QggKBl90b3Bfa0IICgZfdG9wX3BCDgoMX3RlbXBlcmF0dXJlQg0KC19tYXhfdG9rZW5zQgcKBV9sYW5nQgwKCl9ibG9iX25hbWVCDwoNX3ByZWZpeF9iZWdpbkISChBfY3Vyc29yX3Bvc2l0aW9uQg0KC19zdWZmaXhfZW5kQg8KDV9yZWNlbmN5X2luZm9CDgoMX3NlcXVlbmNlX2lkQg0KC19wcm9iZV9vbmx5QhMKEV9maWx0ZXJfdGhyZXNob2xkQhIKEF9jb21wbGV0aW9uX3R5cGUipAEKFENvbXBsZXRpb25SZXNvbHV0aW9uEhIKCnJlcXVlc3RfaWQYASABKAkSFQoNZW1pdF90aW1lX3NlYxgCIAEoAxIWCg5lbWl0X3RpbWVfbnNlYxgDIAEoBRIYChByZXNvbHZlX3RpbWVfc2VjGAQgASgDEhkKEXJlc29sdmVfdGltZV9uc2VjGAUgASgFEhQKDGFjY2VwdGVkX2lkeBgGIAEoBSLiAgoSQ29tcGxldGlvblJlc3BvbnNlEgwKBHRleHQYASABKAkSHAoUdW5rbm93bl9tZW1vcnlfbmFtZXMYAiADKAkSIwobc3VnZ2VzdGVkX3ByZWZpeF9jaGFyX2NvdW50GAMgASgNEiMKG3N1Z2dlc3RlZF9zdWZmaXhfY2hhcl9jb3VudBgEIAEoDRImChV1bmtub3duX2NoZWNrcG9pbnRfaWQYBSABKAlCAhgBSACIAQESJgoVY29tcGxldGlvbl90aW1lb3V0X21zGAYgASgNQgIYAUgBiAEBEjQKEGNvbXBsZXRpb25faXRlbXMYByADKAsyGi5wdWJsaWNfYXBpLkNvbXBsZXRpb25JdGVtEhwKFGNoZWNrcG9pbnRfbm90X2ZvdW5kGAggASgIQhgKFl91bmtub3duX2NoZWNrcG9pbnRfaWRCGAoWX2NvbXBsZXRpb25fdGltZW91dF9tcyKjAwoQQ29udmVyc2F0aW9uSW5mbxIXCg9jb252ZXJzYXRpb25faWQYASABKAkSFAoMd29ya3NwYWNlX2lkGAIgASgJEg0KBXRpdGxlGAMgASgJEhEKCWlzX3Bpbm5lZBgEIAEoCBIqCgR0eXBlGAUgASgOMhwucHVibGljX2FwaS5Db252ZXJzYXRpb25UeXBlEjMKCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESMwoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIoChtmb3JrZWRfZnJvbV9jb252ZXJzYXRpb25faWQYCCABKAlIAogBARIkChdmb3JrZWRfZnJvbV9leGNoYW5nZV9pZBgJIAEoCUgDiAEBQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0Qh4KHF9mb3JrZWRfZnJvbV9jb252ZXJzYXRpb25faWRCGgoYX2ZvcmtlZF9mcm9tX2V4Y2hhbmdlX2lkIsQBChZDb3N0QW5hbHl0aWNzRGF0YVBvaW50EjYKCmRhdGVfcmFuZ2UYASABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NEYXRlUmFuZ2USMQoHbWV0cmljcxgCIAEoCzIgLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc01ldHJpY3MSPwoPZ3JvdXBfYnlfdmFsdWVzGAMgASgLMiYucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzR3JvdXBCeVZhbHVlcyJ2ChZDb3N0QW5hbHl0aWNzRGF0ZVJhbmdlEi4KCnN0YXJ0X2RhdGUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI6ChdDb3N0QW5hbHl0aWNzRXhwZXJ0SW5mbxIRCglleHBlcnRfaWQYASABKAkSDAoEbmFtZRgCIAEoCSJ7ChRDb3N0QW5hbHl0aWNzRmlsdGVycxIQCgh1c2VyX2lkcxgBIAMoCRIdChVwcm9kdWN0X2Rpc3BsYXlfbmFtZXMYAiADKAkSHgoWcmVzb3VyY2VfZGlzcGxheV9uYW1lcxgDIAMoCRISCgpleHBlcnRfaWRzGAQgAygJIvwCChpDb3N0QW5hbHl0aWNzR3JvdXBCeVZhbHVlcxIaChJtb2RlbF9kaXNwbGF5X25hbWUYASABKAkSHQoVYWN0aXZpdHlfZGlzcGxheV9uYW1lGAIgASgJEjQKCXVzZXJfaW5mbxgDIAEoCzIhLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1VzZXJJbmZvEjgKC2J5b2tfc3RhdHVzGAQgASgOMiMucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzQnlva1N0YXR1cxIdChVyZXNvdXJjZV9kaXNwbGF5X25hbWUYBSABKAkSHAoUcHJvZHVjdF9kaXNwbGF5X25hbWUYBiABKAkSPAoNcmVzb3VyY2VfdHlwZRgHIAEoDjIlLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1Jlc291cmNlVHlwZRI4CgtleHBlcnRfaW5mbxgIIAEoCzIjLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0V4cGVydEluZm8imQIKFENvc3RBbmFseXRpY3NNZXRyaWNzEhkKEWJpbGxlZF9hbW91bnRfdXNkGAEgASgJEiMKG2VzdGltYXRlZF9jdXN0b21lcl9jb3N0X3VzZBgCIAEoCRIVCg1iYXNlX2Nvc3RfdXNkGAMgASgJEhUKDXN1cmNoYXJnZV91c2QYBCABKAkSFAoMaW5wdXRfdG9rZW5zGAUgASgEEhUKDW91dHB1dF90b2tlbnMYBiABKAQSGQoRY2FjaGVfcmVhZF90b2tlbnMYByABKAQSGgoSY2FjaGVfd3JpdGVfdG9rZW5zGAggASgEEhgKEGNyZWRpdHNfY29uc3VtZWQYCSABKAkSFQoNc2Vzc2lvbl9jb3VudBgKIAEoBCJyChZDb3N0QW5hbHl0aWNzVGFnRmlsdGVyEgsKA2tleRgBIAEoCRIOCgZ2YWx1ZXMYAiADKAkSOwoLZmlsdGVyX3R5cGUYAyABKA4yJi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NUYWdGaWx0ZXJUeXBlInUKFUNvc3RBbmFseXRpY3NVc2VySW5mbxIPCgd1c2VyX2lkGAEgASgJEjQKCXVzZXJfdHlwZRgCIAEoDjIhLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1VzZXJUeXBlEhUKDWVtYWlsX29yX25hbWUYAyABKAkiyAEKGENvc3RBbmFseXRpY3NWMkRhdGFQb2ludBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEjEKB21ldHJpY3MYAiABKAsyIC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NNZXRyaWNzEkEKD2dyb3VwX2J5X3ZhbHVlcxgDIAEoCzIoLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1YyR3JvdXBCeVZhbHVlcyJRChZDb3N0QW5hbHl0aWNzVjJGaWx0ZXJzEjcKC3RhZ19maWx0ZXJzGAEgAygLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzVGFnRmlsdGVyIqICChxDb3N0QW5hbHl0aWNzVjJHcm91cEJ5VmFsdWVzEkAKBHRhZ3MYASADKAsyMi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkdyb3VwQnlWYWx1ZXMuVGFnc0VudHJ5EloKEnRhZ19kaXNwbGF5X3ZhbHVlcxgCIAMoCzI+LnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1YyR3JvdXBCeVZhbHVlcy5UYWdEaXNwbGF5VmFsdWVzRW50cnkaKwoJVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaNwoVVGFnRGlzcGxheVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEikwEKF0NvdW50Q2hhdEhpc3RvcnlSZXF1ZXN0EhgKEGNvbnZlcnNhdGlvbl9pZHMYASADKAkSGwoOZXhjbHVkZV9zaWxlbnQYAiABKAhIAIgBARIbCg5leGNsdWRlX2ZhaWxlZBgDIAEoCEgBiAEBQhEKD19leGNsdWRlX3NpbGVudEIRCg9fZXhjbHVkZV9mYWlsZWQiUAoYQ291bnRDaGF0SGlzdG9yeVJlc3BvbnNlEjQKB3Jlc3VsdHMYASADKAsyIy5wdWJsaWNfYXBpLkNvdW50Q29udmVyc2F0aW9uUmVzdWx0Il4KF0NvdW50Q29udmVyc2F0aW9uUmVzdWx0Eg8KBWNvdW50GAIgASgFSAASDwoFZXJyb3IYAyABKAlIABIXCg9jb252ZXJzYXRpb25faWQYASABKAlCCAoGcmVzdWx0Ir0CChlDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0EhQKDHdvcmtzcGFjZV9pZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIRCglpc19waW5uZWQYAyABKAgSKgoEdHlwZRgEIAEoDjIcLnB1YmxpY19hcGkuQ29udmVyc2F0aW9uVHlwZRIcCg9jb252ZXJzYXRpb25faWQYBSABKAlIAIgBARIoChtmb3JrZWRfZnJvbV9jb252ZXJzYXRpb25faWQYBiABKAlIAYgBARIkChdmb3JrZWRfZnJvbV9leGNoYW5nZV9pZBgHIAEoCUgCiAEBQhIKEF9jb252ZXJzYXRpb25faWRCHgocX2ZvcmtlZF9mcm9tX2NvbnZlcnNhdGlvbl9pZEIaChhfZm9ya2VkX2Zyb21fZXhjaGFuZ2VfaWQiNQoaQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2USFwoPY29udmVyc2F0aW9uX2lkGAEgASgJIogBChhDcmVhdGVQdWxsUmVxdWVzdFJlcXVlc3QSJAoEcmVwbxgBIAEoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbxINCgV0aXRsZRgCIAEoCRIMCgRib2R5GAMgASgJEgwKBGhlYWQYBCABKAkSDAoEYmFzZRgFIAEoCRINCgVkcmFmdBgGIAEoCCJQChlDcmVhdGVQdWxsUmVxdWVzdFJlc3BvbnNlEjMKDHB1bGxfcmVxdWVzdBgBIAEoCzIdLnB1YmxpY19hcGkuR2l0aHViUHVsbFJlcXVlc3QiqgMKGENyZWF0ZVJlbW90ZUFnZW50UmVxdWVzdBI+Cg93b3Jrc3BhY2Vfc2V0dXAYASABKAsyJS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50V29ya3NwYWNlU2V0dXASSgoXaW5pdGlhbF9yZXF1ZXN0X2RldGFpbHMYAiABKAsyKS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50Q2hhdFJlcXVlc3REZXRhaWxzEhIKBW1vZGVsGAMgASgJSACIAQESGQoMc2V0dXBfc2NyaXB0GAQgASgJSAGIAQESEgoFdG9rZW4YBSABKAlIAogBARIiChVpc19zZXR1cF9zY3JpcHRfYWdlbnQYBiABKAhIA4gBARISCgV0aXRsZRgHIAEoCUgEiAEBEhcKCmltYWdlX25hbWUYCCABKAlIBYgBARIWCg5kaXNhYmxlZF90b29scxgJIAMoCUIICgZfbW9kZWxCDwoNX3NldHVwX3NjcmlwdEIICgZfdG9rZW5CGAoWX2lzX3NldHVwX3NjcmlwdF9hZ2VudEIICgZfdGl0bGVCDQoLX2ltYWdlX25hbWUiYwoZQ3JlYXRlUmVtb3RlQWdlbnRSZXNwb25zZRIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSLQoGc3RhdHVzGAIgASgOMh0ucHVibGljX2FwaS5SZW1vdGVBZ2VudFN0YXR1cyJPChRDcmVhdGVUcmlnZ2VyUmVxdWVzdBI3Cg1jb25maWd1cmF0aW9uGAEgASgLMiAucHVibGljX2FwaS5UcmlnZ2VyQ29uZmlndXJhdGlvbiI9ChVDcmVhdGVUcmlnZ2VyUmVzcG9uc2USJAoHdHJpZ2dlchgBIAEoCzITLnB1YmxpY19hcGkuVHJpZ2dlciIsChZDcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAlKBAgCEAMiLwoXQ3JlYXRlV29ya3NwYWNlUmVzcG9uc2USFAoMd29ya3NwYWNlX2lkGAEgASgJIjIKEUNyZWRpdERldGFpbHNJbmZvEg0KBWxhYmVsGAEgASgJEg4KBmFtb3VudBgCIAEoASKOAQoRQ3JlZGl0RGlzcGxheUluZm8SHwoXdXNhZ2VfdW5pdF9kaXNwbGF5X25hbWUYASABKAkSGQoRcGxhbl9kaXNwbGF5X25hbWUYAiABKAkSMgoGYmFubmVyGAMgASgLMh0ucHVibGljX2FwaS5CYW5uZXJJbmZvcm1hdGlvbkgAiAEBQgkKB19iYW5uZXIiMwoYRGVsZXRlUmVtb3RlQWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIbChlEZWxldGVSZW1vdGVBZ2VudFJlc3BvbnNlIkMKGURlbGV0ZVRlbmFudFNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAIgASgJIi0KGkRlbGV0ZVRlbmFudFNlY3JldFJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAgiKgoURGVsZXRlVHJpZ2dlclJlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCSIXChVEZWxldGVUcmlnZ2VyUmVzcG9uc2UifAoXRGVsZXRlVXNlclNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAIgASgJEiYKBXNjb3BlGAMgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRIRCglzZWNyZXRfaWQYBCABKAkiKwoYRGVsZXRlVXNlclNlY3JldFJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAgidQoWRGlmZkV4cGxhbmF0aW9uU2VjdGlvbhINCgV0aXRsZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRI3CghzZWN0aW9ucxgDIAMoCzIlLnB1YmxpY19hcGkuRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbiKbAQoZRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbhINCgV0aXRsZRgBIAEoCRJGCgxkZXNjcmlwdGlvbnMYAiADKAsyMC5wdWJsaWNfYXBpLkRpZmZFeHBsYW5hdGlvblN1YlNlY3Rpb25EZXNjcmlwdGlvbhInCglkaWZmX3R5cGUYAyABKA4yFC5wdWJsaWNfYXBpLkRpZmZUeXBlInsKJERpZmZFeHBsYW5hdGlvblN1YlNlY3Rpb25EZXNjcmlwdGlvbhIMCgRwYXRoGAEgASgJEgwKBHRleHQYAiABKAkSIAoFcmFuZ2UYAyABKAsyES5wdWJsaWNfYXBpLlJhbmdlEhUKDXNlbGVjdGVkX2NvZGUYBCABKAkiUAoURGlzbWlzc0VudGl0eVJlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCRIRCgllbnRpdHlfaWQYAiABKAkSEQoJZGlzbWlzc2VkGAMgASgIIhcKFURpc21pc3NFbnRpdHlSZXNwb25zZSJ0ChhEcm9wcGVkU2hhcmVkU2VydmVyT3B0SW4SEQoJc2VydmVyX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCRIZChFvcHRfaW5fZ2VuZXJhdGlvbhgDIAEoAxIaChJjdXJyZW50X2dlbmVyYXRpb24YBCABKAMidAoPRWRpdEZpbGVSZXF1ZXN0EhEKCWZpbGVfcGF0aBgBIAEoCRIUCgxlZGl0X3N1bW1hcnkYAiABKAkSIQoZZGV0YWlsZWRfZWRpdF9kZXNjcmlwdGlvbhgDIAEoCRIVCg1maWxlX2NvbnRlbnRzGAQgASgJIkQKEEVkaXRGaWxlUmVzcG9uc2USHgoWbW9kaWZpZWRfZmlsZV9jb250ZW50cxgBIAEoCRIQCghpc19lcnJvchgCIAEoCCKNAwoLRWRpdFJlcXVlc3QSEgoFbW9kZWwYASABKAlIAIgBARIOCgZwcmVmaXgYAiABKAkSFQoNc2VsZWN0ZWRfdGV4dBgDIAEoCRIOCgZzdWZmaXgYBCABKAkSFgoKYmxvYl9uYW1lcxgFIAMoCUICGAESEQoEcGF0aBgGIAEoCUgBiAEBEhMKC2luc3RydWN0aW9uGAcgASgJEhEKBGxhbmcYCCABKAlIAogBARIWCglibG9iX25hbWUYCSABKAlIA4gBARIZCgxwcmVmaXhfYmVnaW4YCiABKAVIBIgBARIXCgpzdWZmaXhfZW5kGAsgASgFSAWIAQESGAoLc2VxdWVuY2VfaWQYDCABKA1IBogBARIgCgVibG9icxgNIAEoCzIRLnB1YmxpY19hcGkuQmxvYnNCCAoGX21vZGVsQgcKBV9wYXRoQgcKBV9sYW5nQgwKCl9ibG9iX25hbWVCDwoNX3ByZWZpeF9iZWdpbkINCgtfc3VmZml4X2VuZEIOCgxfc2VxdWVuY2VfaWQipAIKDkVkaXRSZXNvbHV0aW9uEhcKC2NsaWVudF9uYW1lGAEgASgJQgIYARISCgpyZXF1ZXN0X2lkGAIgASgJEhUKDWVtaXRfdGltZV9zZWMYAyABKAMSFgoOZW1pdF90aW1lX25zZWMYBCABKAUSGAoQcmVzb2x2ZV90aW1lX3NlYxgFIAEoAxIZChFyZXNvbHZlX3RpbWVfbnNlYxgGIAEoBRITCgtpc19hY2NlcHRlZBgHIAEoCBIbCg5hbm5vdGF0ZWRfdGV4dBgIIAEoCUgAiAEBEiIKFWFubm90YXRlZF9pbnN0cnVjdGlvbhgJIAEoCUgBiAEBQhEKD19hbm5vdGF0ZWRfdGV4dEIYChZfYW5ub3RhdGVkX2luc3RydWN0aW9uIlYKDEVkaXRSZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCCIYChZFbnRlcnByaXNlU3Vic2NyaXB0aW9uIo0CCghFeGNoYW5nZRIXCg9yZXF1ZXN0X21lc3NhZ2UYASABKAkSGgoNcmVzcG9uc2VfdGV4dBgCIAEoCUgAiAEBEhcKCnJlcXVlc3RfaWQYAyABKAlIAYgBARIyCg1yZXF1ZXN0X25vZGVzGAQgAygLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGUSMgoOcmVzcG9uc2Vfbm9kZXMYBSADKAsyGi5wdWJsaWNfYXBpLkNoYXRSZXN1bHROb2RlEhkKDGNvbXBvc2l0ZV9pZBgGIAEoCUgCiAEBQhAKDl9yZXNwb25zZV90ZXh0Qg0KC19yZXF1ZXN0X2lkQg8KDV9jb21wb3NpdGVfaWQi0QEKDkV4Y2hhbmdlVXBkYXRlEhcKCnJlcXVlc3RfaWQYASABKAlIAIgBARITCgtzZXF1ZW5jZV9pZBgCIAEoDRIVCg1hcHBlbmRlZF90ZXh0GAMgASgJEjIKDmFwcGVuZGVkX25vZGVzGAQgAygLMhoucHVibGljX2FwaS5DaGF0UmVzdWx0Tm9kZRI3ChZhcHBlbmRlZF9jaGFuZ2VkX2ZpbGVzGAUgAygLMhcucHVibGljX2FwaS5DaGFuZ2VkRmlsZUINCgtfcmVxdWVzdF9pZCKJAgoZRXhlY3V0ZU1hbnVhbEFnZW50UmVxdWVzdBIRCgllbnRpdHlfaWQYASABKAkSPQoSZ2l0aHViX2VudGl0eV90eXBlGAIgASgOMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlUeXBlSACIAQESPQoSbGluZWFyX2VudGl0eV90eXBlGAMgASgOMhwucHVibGljX2FwaS5MaW5lYXJFbnRpdHlUeXBlSAGIAQESLQoMYWdlbnRfY29uZmlnGAQgASgLMhcucHVibGljX2FwaS5BZ2VudENvbmZpZ0IVChNfZ2l0aHViX2VudGl0eV90eXBlQhUKE19saW5lYXJfZW50aXR5X3R5cGUihgEKGkV4ZWN1dGVNYW51YWxBZ2VudFJlc3BvbnNlEhQKDGV4ZWN1dGlvbl9pZBgBIAEoCRIcCg9yZW1vdGVfYWdlbnRfaWQYAiABKAlIAIgBARIUCgdtZXNzYWdlGAMgASgJSAGIAQFCEgoQX3JlbW90ZV9hZ2VudF9pZEIKCghfbWVzc2FnZSJyCh1FeGVjdXRlVHJpZ2dlck1hbnVhbGx5UmVxdWVzdBISCgp0cmlnZ2VyX2lkGAEgASgJEhEKCWVudGl0eV9pZBgCIAEoCRIZCgxleHRyYV9wcm9tcHQYAyABKAlIAIgBAUIPCg1fZXh0cmFfcHJvbXB0IooBCh5FeGVjdXRlVHJpZ2dlck1hbnVhbGx5UmVzcG9uc2USFAoMZXhlY3V0aW9uX2lkGAEgASgJEhwKD3JlbW90ZV9hZ2VudF9pZBgCIAEoCUgAiAEBEhQKB21lc3NhZ2UYAyABKAlIAYgBAUISChBfcmVtb3RlX2FnZW50X2lkQgoKCF9tZXNzYWdlIm4KDkV4dGVybmFsU291cmNlEgoKAmlkGAEgASgJEgwKBG5hbWUYBCABKAkSDQoFdGl0bGUYAiABKAkSMwoLc291cmNlX3R5cGUYAyABKA4yHi5wdWJsaWNfYXBpLkV4dGVybmFsU291cmNlVHlwZSL7BQoORmVhdHVyZUNvbnRyb2wSPQoNZmVhdHVyZV90eXBlcxgBIAMoDjImLnB1YmxpY19hcGkuRmVhdHVyZUNvbnRyb2wuRmVhdHVyZVR5cGUSNgoFc3RhdGUYAiABKA4yJy5wdWJsaWNfYXBpLkZlYXR1cmVDb250cm9sLkZlYXR1cmVTdGF0ZRJJCg9kaXNhYmxlZF9yZWFzb24YAyABKA4yMC5wdWJsaWNfYXBpLkZlYXR1cmVDb250cm9sLkZlYXR1cmVEaXNhYmxlZFJlYXNvbhIsCghlbmRfZGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOwoMZGlzcGxheV9pbmZvGAUgASgLMiUucHVibGljX2FwaS5GZWF0dXJlQ29udHJvbERpc3BsYXlJbmZvIuoBCgtGZWF0dXJlVHlwZRILCgdVTktOT1dOEAASEAoMQUxMX0ZFQVRVUkVTEAESCAoEQ0hBVBACEgkKBUFHRU5UEAMSEAoMUkVNT1RFX0FHRU5UEAQSDQoJQ0xJX0FHRU5UEAUSDwoLT1JJRU5UQVRJT04QBxIPCgtDT0RFX1JFVklFVxAJEiIKHkNIQVRfU1RSRUFNX0NSRURJVF9DT05TVU1QVElPThAVEhIKDkNPTlRFWFRfRU5HSU5FEBYSDAoIUE9TRUlET04QGRISCg5JTkRFWElOR19JTkZSQRAcIgQIBhAGIgQICBAIIjwKDEZlYXR1cmVTdGF0ZRIRCg1TVEFURV9VTktOT1dOEAASCwoHRU5BQkxFRBABEgwKCERJU0FCTEVEEAIikAEKFUZlYXR1cmVEaXNhYmxlZFJlYXNvbhISCg5SRUFTT05fVU5LTk9XThAAEhkKFUlOQUNUSVZFX1NVQlNDUklQVElPThABEhoKFlVTQUdFX0JBTEFOQ0VfREVQTEVURUQQAhIYChROT1RfSU5DTFVERURfSU5fUExBThADEhIKDlFVT1RBX0VYQ0VFREVEEAQiUAoZRmVhdHVyZUNvbnRyb2xEaXNwbGF5SW5mbxItCgZiYW5uZXIYAiABKAsyHS5wdWJsaWNfYXBpLkJhbm5lckluZm9ybWF0aW9uSgQIARACIkkKEUZlYXR1cmVHYXRpbmdJbmZvEjQKEGZlYXR1cmVfY29udHJvbHMYASADKAsyGi5wdWJsaWNfYXBpLkZlYXR1cmVDb250cm9sIl4KCEZpbGVFZGl0EhQKDGJlZm9yZV9zdGFydBgBIAEoDRITCgtiZWZvcmVfdGV4dBgCIAEoCRITCgthZnRlcl9zdGFydBgDIAEoDRISCgphZnRlcl90ZXh0GAQgASgJInUKDUZpbGVFZGl0RXZlbnQSDAoEcGF0aBgBIAEoCRIYChBiZWZvcmVfYmxvYl9uYW1lGAIgASgJEhcKD2FmdGVyX2Jsb2JfbmFtZRgDIAEoCRIjCgVlZGl0cxgEIAMoCzIULnB1YmxpY19hcGkuRmlsZUVkaXQiTAoSRmluZE1pc3NpbmdSZXF1ZXN0EhIKBW1vZGVsGAEgASgJSACIAQESGAoQbWVtX29iamVjdF9uYW1lcxgCIAMoCUIICgZfbW9kZWwiUgoTRmluZE1pc3NpbmdSZXNwb25zZRIcChR1bmtub3duX21lbW9yeV9uYW1lcxgCIAMoCRIdChVub25pbmRleGVkX2Jsb2JfbmFtZXMYAyADKAki0wEKHEdlbmVyYXRlQ29tbWl0TWVzc2FnZVJlcXVlc3QSPQoSY2hhbmdlZF9maWxlX3N0YXRzGAEgASgLMhwucHVibGljX2FwaS5DaGFuZ2VkRmlsZVN0YXRzSACIAQESEQoEZGlmZhgCIAEoCUgBiAEBEiAKGHJlbGV2YW50X2NvbW1pdF9tZXNzYWdlcxgDIAMoCRIfChdleGFtcGxlX2NvbW1pdF9tZXNzYWdlcxgEIAMoCUIVChNfY2hhbmdlZF9maWxlX3N0YXRzQgcKBV9kaWZmIi0KHUdlbmVyYXRlQ29tbWl0TWVzc2FnZVJlc3BvbnNlEgwKBHRleHQYASABKAkiJAoWR2V0QWdlbnRQZXJzb25hUmVxdWVzdBIKCgJpZBgBIAEoCSJKChdHZXRBZ2VudFBlcnNvbmFSZXNwb25zZRIvCg1hZ2VudF9wZXJzb25hGAEgASgLMhgucHVibGljX2FwaS5BZ2VudFBlcnNvbmEiGgoYR2V0QmlsbGluZ1N1bW1hcnlSZXF1ZXN0IvkBChlHZXRCaWxsaW5nU3VtbWFyeVJlc3BvbnNlEhEKCXBsYW5fbmFtZRgBIAEoCRIYChBhbW91bnRfcmVtYWluaW5nGAIgASgJEiEKGWFtb3VudF9pbmNsdWRlZF9wZXJfY3ljbGUYAyABKAkSKQoKdXNhZ2VfdW5pdBgEIAEoDjIVLnB1YmxpY19hcGkuVXNhZ2VVbml0EiIKGmJpbGxpbmdfY3ljbGVfZW5kX2RhdGVfaXNvGAUgASgJEjIKBmJhbm5lchgGIAEoCzIdLnB1YmxpY19hcGkuQmFubmVySW5mb3JtYXRpb25IAIgBAUIJCgdfYmFubmVyIkcKFkdldENvbnZlcnNhdGlvblJlcXVlc3QSFAoMd29ya3NwYWNlX2lkGAEgASgJEhcKD2NvbnZlcnNhdGlvbl9pZBgCIAEoCSJNChdHZXRDb252ZXJzYXRpb25SZXNwb25zZRIyCgxjb252ZXJzYXRpb24YASABKAsyHC5wdWJsaWNfYXBpLkNvbnZlcnNhdGlvbkluZm8iowIKF0dldENvc3RBbmFseXRpY3NSZXF1ZXN0EjYKCmRhdGVfcmFuZ2UYASABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NEYXRlUmFuZ2USNwoNZ3JvdXBfYnlfa2V5cxgCIAMoDjIgLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0dyb3VwQnkSPQoLZ3JhbnVsYXJpdHkYAyABKA4yKC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NUaW1lR3JhbnVsYXJpdHkSEQoJcGFnZV9zaXplGAQgASgNEhIKCnBhZ2VfdG9rZW4YBSABKAkSMQoHZmlsdGVycxgGIAEoCzIgLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0ZpbHRlcnMibAoYR2V0Q29zdEFuYWx5dGljc1Jlc3BvbnNlEjcKC2RhdGFfcG9pbnRzGAEgAygLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0YVBvaW50EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKJAgoZR2V0Q29zdEFuYWx5dGljc1YyUmVxdWVzdBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEj0KC2dyYW51bGFyaXR5GAIgASgOMigucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzVGltZUdyYW51bGFyaXR5EhkKEXRhZ19ncm91cF9ieV9rZXlzGAMgAygJEjMKB2ZpbHRlcnMYBCABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkZpbHRlcnMSEQoJcGFnZV9zaXplGAUgASgNEhIKCnBhZ2VfdG9rZW4YBiABKAkicAoaR2V0Q29zdEFuYWx5dGljc1YyUmVzcG9uc2USOQoLZGF0YV9wb2ludHMYASADKAsyJC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkRhdGFQb2ludBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiFgoUR2V0Q3JlZGl0SW5mb1JlcXVlc3QiyQMKFUdldENyZWRpdEluZm9SZXNwb25zZRIdChV1c2FnZV91bml0c19yZW1haW5pbmcYASABKAESMwondXNhZ2VfdW5pdHNfdG90YWxfY3VycmVudF9iaWxsaW5nX2N5Y2xlGAIgASgBQgIYARIoChx1c2FnZV91bml0c190b3RhbF9hZGRpdGlvbmFsGAMgASgBQgIYARIdChVpc19jcmVkaXRfYmFsYW5jZV9sb3cYBCABKAgSMwoMZGlzcGxheV9pbmZvGAUgASgLMh0ucHVibGljX2FwaS5DcmVkaXREaXNwbGF5SW5mbxIwCgxyZWZyZXNoZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KJmluY2x1ZGVkX3VzYWdlX3VuaXRzX3Blcl9iaWxsaW5nX2N5Y2xlGAcgASgBEioKImN1cnJlbnRfYmlsbGluZ19jeWNsZV9lbmRfZGF0ZV9pc28YCCABKAkSNQoOY3JlZGl0X2RldGFpbHMYCSADKAsyHS5wdWJsaWNfYXBpLkNyZWRpdERldGFpbHNJbmZvEhkKEXVzYWdlX3VuaXRzX3RvdGFsGAogASgBIvMCChdHZXRFbnRpdHlEZXRhaWxzUmVxdWVzdBIRCgllbnRpdHlfaWQYASABKAkSLQoMZXZlbnRfc291cmNlGAIgASgOMhcucHVibGljX2FwaS5FdmVudFNvdXJjZRI9ChJnaXRodWJfZW50aXR5X3R5cGUYAyABKA4yHC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVR5cGVIAIgBARI9ChJsaW5lYXJfZW50aXR5X3R5cGUYBCABKA4yHC5wdWJsaWNfYXBpLkxpbmVhckVudGl0eVR5cGVIAYgBARIXCgpyZXBvc2l0b3J5GAUgASgJSAKIAQESJQoYaW5jbHVkZV9yZWxhdGVkX2VudGl0aWVzGAYgASgISAOIAQFCFQoTX2dpdGh1Yl9lbnRpdHlfdHlwZUIVChNfbGluZWFyX2VudGl0eV90eXBlQg0KC19yZXBvc2l0b3J5QhsKGV9pbmNsdWRlX3JlbGF0ZWRfZW50aXRpZXMi5wEKGEdldEVudGl0eURldGFpbHNSZXNwb25zZRI0Cg1naXRodWJfZW50aXR5GAEgASgLMhgucHVibGljX2FwaS5HaXRIdWJFbnRpdHlIAIgBARI0Cg1saW5lYXJfZW50aXR5GAIgASgLMhgucHVibGljX2FwaS5MaW5lYXJFbnRpdHlIAYgBARINCgVmb3VuZBgDIAEoCBIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSAKIAQFCEAoOX2dpdGh1Yl9lbnRpdHlCEAoOX2xpbmVhcl9lbnRpdHlCEAoOX2Vycm9yX21lc3NhZ2UiPAoUR2V0R2l0aHViUmVwb1JlcXVlc3QSJAoEcmVwbxgBIAEoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbyI9ChVHZXRHaXRodWJSZXBvUmVzcG9uc2USJAoEcmVwbxgBIAEoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbyI0CiFHZXRJbXBsaWNpdEV4dGVybmFsU291cmNlc1JlcXVlc3QSDwoHbWVzc2FnZRgBIAEoCSJRCiJHZXRJbXBsaWNpdEV4dGVybmFsU291cmNlc1Jlc3BvbnNlEisKB3NvdXJjZXMYASADKAsyGi5wdWJsaWNfYXBpLkV4dGVybmFsU291cmNlIjsKJEdldExhdGVzdEluZGV4ZWRDb21taXRCbG9ic2V0UmVxdWVzdBITCgtjb21taXRfc2hhcxgBIAMoCSKSAQolR2V0TGF0ZXN0SW5kZXhlZENvbW1pdEJsb2JzZXRSZXNwb25zZRISCgpjb21taXRfc2hhGAEgASgJEjUKCmZpbGVfaW5mb3MYAiADKAsyIS5wdWJsaWNfYXBpLkluZGV4ZWRDb21taXRGaWxlSW5mbxIeChZiYXNlbGluZV9jaGVja3BvaW50X2lkGAMgASgJIuQCChpHZXRNYXRjaGluZ0VudGl0aWVzUmVxdWVzdBIXCgp0cmlnZ2VyX2lkGAEgASgJSACIAQESNgoKY29uZGl0aW9ucxgCIAEoCzIdLnB1YmxpY19hcGkuVHJpZ2dlckNvbmRpdGlvbnNIAYgBARItCgxldmVudF9zb3VyY2UYAyABKA4yFy5wdWJsaWNfYXBpLkV2ZW50U291cmNlEhIKBWxpbWl0GAQgASgNSAKIAQESEwoGb2Zmc2V0GAUgASgNSAOIAQESEgoFc2luY2UYBiABKAlIBIgBARISCgV1bnRpbBgHIAEoCUgFiAEBEhsKDnNob3dfZGlzbWlzc2VkGAggASgISAaIAQFCDQoLX3RyaWdnZXJfaWRCDQoLX2NvbmRpdGlvbnNCCAoGX2xpbWl0QgkKB19vZmZzZXRCCAoGX3NpbmNlQggKBl91bnRpbEIRCg9fc2hvd19kaXNtaXNzZWQi1wIKG0dldE1hdGNoaW5nRW50aXRpZXNSZXNwb25zZRIxCg9naXRodWJfZW50aXRpZXMYASADKAsyGC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eRIxCg9saW5lYXJfZW50aXRpZXMYAiADKAsyGC5wdWJsaWNfYXBpLkxpbmVhckVudGl0eRITCgt0b3RhbF9jb3VudBgDIAEoDRIQCghoYXNfbW9yZRgEIAEoCBIeChFxdWVyeV9leHBsYW5hdGlvbhgFIAEoCUgAiAEBEiMKFnRvdGFsX2VudGl0aWVzX2NoZWNrZWQYBiABKA1IAYgBARI1ChFzY2hlZHVsZV9lbnRpdGllcxgHIAMoCzIaLnB1YmxpY19hcGkuU2NoZWR1bGVFbnRpdHlCFAoSX3F1ZXJ5X2V4cGxhbmF0aW9uQhkKF190b3RhbF9lbnRpdGllc19jaGVja2VkIjQKHEdldE1jcENhdGFsb2dNZXRhZGF0YVJlcXVlc3QSFAoMcHJvZHVjdF90eXBlGAEgASgFIlUKHUdldE1jcENhdGFsb2dNZXRhZGF0YVJlc3BvbnNlEjQKB2VudHJpZXMYASADKAsyIy5wdWJsaWNfYXBpLk1jcENhdGFsb2dNZXRhZGF0YUVudHJ5IlcKF0dldE1jcENvbmZpZ0J5SWRSZXF1ZXN0EhEKCWNvbmZpZ19pZBgBIAEoCRIpCgVzY29wZRgCIAEoDjIaLnB1YmxpY19hcGkuTWNwQ29uZmlnU2NvcGUiQQoYR2V0TWNwQ29uZmlnQnlJZFJlc3BvbnNlEiUKBmNvbmZpZxgBIAEoCzIVLnB1YmxpY19hcGkuTWNwQ29uZmlnIlUKE0dldE1jcFNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIcCg9hY3RpdmVfc3BhY2VfaWQYAiABKAlIAIgBAUISChBfYWN0aXZlX3NwYWNlX2lkIj0KFEdldE1jcFNlY3JldFJlc3BvbnNlEiUKBnNlY3JldBgBIAEoCzIVLnB1YmxpY19hcGkuTWNwU2VjcmV0Ik4KGkdldE1jcFRlbmFudENvbmZpZ3NSZXF1ZXN0EjAKDHByb2R1Y3RfdHlwZRgBIAEoDjIaLnB1YmxpY19hcGkuTWNwUHJvZHVjdFR5cGUiSQobR2V0TWNwVGVuYW50Q29uZmlnc1Jlc3BvbnNlEioKC21jcF9jb25maWdzGAEgAygLMhUucHVibGljX2FwaS5NY3BDb25maWciHQobR2V0TWNwVGVuYW50U2V0dGluZ3NSZXF1ZXN0IlsKHEdldE1jcFRlbmFudFNldHRpbmdzUmVzcG9uc2USKgoLbWNwX2NvbmZpZ3MYASADKAsyFS5wdWJsaWNfYXBpLk1jcENvbmZpZxIPCgd2ZXJzaW9uGAIgASgJIkwKGEdldE1jcFVzZXJDb25maWdzUmVxdWVzdBIwCgxwcm9kdWN0X3R5cGUYASABKA4yGi5wdWJsaWNfYXBpLk1jcFByb2R1Y3RUeXBlIokDChlHZXRNY3BVc2VyQ29uZmlnc1Jlc3BvbnNlEioKC21jcF9jb25maWdzGAEgAygLMhUucHVibGljX2FwaS5NY3BDb25maWcSIQoZZW5hYmxlZF9zaGFyZWRfc2VydmVyX2lkcxgCIAMoCRJnChpzZXJ2ZXJfcHJvZHVjdF9wcmVmZXJlbmNlcxgDIAMoCzJDLnB1YmxpY19hcGkuR2V0TWNwVXNlckNvbmZpZ3NSZXNwb25zZS5TZXJ2ZXJQcm9kdWN0UHJlZmVyZW5jZXNFbnRyeRJLCh1kcm9wcGVkX3NoYXJlZF9zZXJ2ZXJfb3B0X2lucxgEIAMoCzIkLnB1YmxpY19hcGkuRHJvcHBlZFNoYXJlZFNlcnZlck9wdEluGmcKHVNlcnZlclByb2R1Y3RQcmVmZXJlbmNlc0VudHJ5EgsKA2tleRgBIAEoCRI1CgV2YWx1ZRgCIAEoCzImLnB1YmxpY19hcGkuTWNwU2VydmVyUHJvZHVjdFByZWZlcmVuY2U6AjgBIhsKGUdldE1jcFVzZXJTZXR0aW5nc1JlcXVlc3QiWQoaR2V0TWNwVXNlclNldHRpbmdzUmVzcG9uc2USKgoLbWNwX2NvbmZpZ3MYASADKAsyFS5wdWJsaWNfYXBpLk1jcENvbmZpZxIPCgd2ZXJzaW9uGAIgASgJIhIKEEdldE1vZGVsc1JlcXVlc3Qin9sBChFHZXRNb2RlbHNSZXNwb25zZRIaCg1kZWZhdWx0X21vZGVsGAEgASgJSACIAQESIQoGbW9kZWxzGAIgAygLMhEucHVibGljX2FwaS5Nb2RlbBInCglsYW5ndWFnZXMYAyADKAsyFC5wdWJsaWNfYXBpLkxhbmd1YWdlEkYKDWZlYXR1cmVfZmxhZ3MYBCABKAsyKi5wdWJsaWNfYXBpLkdldE1vZGVsc1Jlc3BvbnNlLkZlYXR1cmVGbGFnc0gBiAEBEjkKCXVzZXJfdGllchgFIAEoDjImLnB1YmxpY19hcGkuR2V0TW9kZWxzUmVzcG9uc2UuVXNlclRpZXISNQoEdXNlchgGIAEoCzIiLnB1YmxpY19hcGkuR2V0TW9kZWxzUmVzcG9uc2UuVXNlckgCiAEBEj4KEmJvb3RzdHJhcF9zZXR0aW5ncxgHIAEoCzIdLnB1YmxpY19hcGkuQm9vdHN0cmFwU2V0dGluZ3NIA4gBARrC1QEKDEZlYXR1cmVGbGFncxIiChFlbmFibGVfY29kZV9lZGl0cxgBIAEoCEICGAFIAIgBARIYCgtlbmFibGVfY2hhdBgFIAEoCEgBiAEBEigKG2VuYWJsZV93b3Jrc3BhY2VfbWFuYWdlcl91aRgGIAEoCEgCiAEBEiEKFGVuYWJsZV9pbnRlbGxpal9jaGF0GAcgASgISAOIAQESLwoiZW5hYmxlX3dvcmtzcGFjZV9tYW5hZ2VyX3VpX2xhdW5jaBgIIAEoCEgEiAEBEiMKFmFkZGl0aW9uYWxfY2hhdF9tb2RlbHMYCSABKAlIBYgBARImChlpbnRlbGxpal9jaGF0X21pbl92ZXJzaW9uGAogASgJSAaIAQESKAobdnNjb2RlX2ZseXdoZWVsX21pbl92ZXJzaW9uGAwgASgJSAeIAQESOAordnNjb2RlX2V4dGVybmFsX3NvdXJjZXNfaW5fY2hhdF9taW5fdmVyc2lvbhgNIAEoCUgIiAEBEiAKE2VuYWJsZV9pbnN0cnVjdGlvbnMYDiABKAhICYgBARIfChJlbmFibGVfc21hcnRfcGFzdGUYDyABKAhICogBARIrCh5lbmFibGVfc21hcnRfcGFzdGVfbWluX3ZlcnNpb24YESABKAlIC4gBARImChllbmFibGVfdmlld190ZXh0X2RvY3VtZW50GBIgASgISAyIAQESIAoTY2hlY2twb2ludF9ibG9ic192MhgTIAEoCEgNiAEBEiMKFmVuYWJsZV9kYXRhX2NvbGxlY3Rpb24YFCABKAhIDogBARIhChRzbWFsbF9zeW5jX3RocmVzaG9sZBgVIAEoA0gPiAEBEh8KEmJpZ19zeW5jX3RocmVzaG9sZBgWIAEoA0gQiAEBEiMKFmJ5cGFzc19sYW5ndWFnZV9maWx0ZXIYFyABKAhIEYgBARIdChBlbmFibGVfaGluZHNpZ2h0GBggASgISBKIAQESIgoVbWF4X3VwbG9hZF9zaXplX2J5dGVzGBkgASgDSBOIAQESMgolaW50ZWxsaWpfZm9yY2VfY29tcGxldGlvbl9taW5fdmVyc2lvbhgaIAEoCUgUiAEBEjAKH2VuYWJsZV9leHRlcm5hbF9zb3VyY2VzX2luX2NoYXQYGyABKAhCAhgBSBWIAQESJQoYbWF4X3RyYWNrYWJsZV9maWxlX2NvdW50GBwgASgDSBaIAQESOAorbWF4X3RyYWNrYWJsZV9maWxlX2NvdW50X3dpdGhvdXRfcGVybWlzc2lvbhgdIAEoA0gXiAEBEjcKKm1pbl91cGxvYWRlZF9wZXJjZW50YWdlX3dpdGhvdXRfcGVybWlzc2lvbhgeIAEoA0gYiAEBEjQKJ3ZzY29kZV9jaGF0X2hpbnRfZGVjb3JhdGlvbl9taW5fdmVyc2lvbhgfIAEoCUgZiAEBEi8KImVuYWJsZV9jb21wbGV0aW9uX2ZpbGVfZWRpdF9ldmVudHMYISABKAhIGogBARInChp2c2NvZGVfc291cmNlc19taW5fdmVyc2lvbhgiIAEoCUgbiAEBEiYKGXZzY29kZV9lbmFibGVfY3B1X3Byb2ZpbGUYIyABKAhIHIgBARIpChx2ZXJpZnlfZm9sZGVyX2lzX3NvdXJjZV9yZXBvGCQgASgISB2IAQESLAofcmVmdXNlX3RvX3N5bmNfaG9tZV9kaXJlY3RvcmllcxglIAEoCEgeiAEBEjYKKWVuYWJsZV9maWxlX2xpbWl0c19mb3Jfc3luY2luZ19wZXJtaXNzaW9uGCYgASgISB+IAQESJQoYdnNjb2RlX3NoYXJlX21pbl92ZXJzaW9uGCcgASgJSCCIAQESJwoaaW50ZWxsaWpfc2hhcmVfbWluX3ZlcnNpb24YKCABKAlIIYgBARIiChVlbmFibGVfc3VtbWFyeV90aXRsZXMYKSABKAhIIogBARIpChxlbmFibGVfY2hhdF9tZXJtYWlkX2RpYWdyYW1zGCogASgISCOIAQESKAobc21hcnRfcGFzdGVfcHJlY29tcHV0ZV9tb2RlGCsgASgJSCSIAQESMAojdnNjb2RlX25ld190aHJlYWRzX21lbnVfbWluX3ZlcnNpb24YLCABKAlIJYgBARIyCiVpbnRlbGxpal9uZXdfdGhyZWFkc19tZW51X21pbl92ZXJzaW9uGC0gASgJSCaIAQESMAojdnNjb2RlX2VkaXRhYmxlX2hpc3RvcnlfbWluX3ZlcnNpb24YLiABKAlIJ4gBARIiChVpbnRlbGxpal9zaG93X3N1bW1hcnkYLyABKAhIKIgBARIeChFlbmFibGVfZ3VpZGVsaW5lcxgwIAEoCEgpiAEBEjwKL3ZzY29kZV9lbmFibGVfY2hhdF9tZXJtYWlkX2RpYWdyYW1zX21pbl92ZXJzaW9uGDEgASgJSCqIAQESJgoZdnNjb2RlX2RlcHJlY2F0ZWRfdmVyc2lvbhgyIAEoCUgriAEBEigKG2ludGVsbGlqX2RlcHJlY2F0ZWRfdmVyc2lvbhgzIAEoCUgsiAEBEj4KMXZzY29kZV91c2VfY2hlY2twb2ludF9tYW5hZ2VyX2NvbnRleHRfbWluX3ZlcnNpb24YNCABKAlILYgBARI3Cip2c2NvZGVfdmFsaWRhdGVfY2hlY2twb2ludF9tYW5hZ2VyX2NvbnRleHQYNSABKAhILogBARItCiBpbnRlbGxpal9zbWFydF9wYXN0ZV9taW5fdmVyc2lvbhg3IAEoCUgviAEBEj4KMXZzY29kZV9kZXNpZ25fc3lzdGVtX3JpY2hfdGV4dF9lZGl0b3JfbWluX3ZlcnNpb24YOiABKAlIMIgBARIwCiNhbGxvd19jbGllbnRfZmVhdHVyZV9mbGFnX292ZXJyaWRlcxg7IAEoCEgxiAEBEi8KInZzY29kZV9jaGF0X3dpdGhfdG9vbHNfbWluX3ZlcnNpb24YPCABKAlIMogBARIxCiRpbnRlbGxpal9jaGF0X3dpdGhfdG9vbHNfbWluX3ZlcnNpb24YPSABKAlIM4gBARIvCiJ2c2NvZGVfY2hhdF9tdWx0aW1vZGFsX21pbl92ZXJzaW9uGD4gASgJSDSIAQESMQokaW50ZWxsaWpfY2hhdF9tdWx0aW1vZGFsX21pbl92ZXJzaW9uGD8gASgJSDWIAQESPgoxaW50ZWxsaWpfZW5hYmxlX2NoYXRfbWVybWFpZF9kaWFncmFtc19taW5fdmVyc2lvbhhAIAEoCUg2iAEBEioKHXZzY29kZV9hZ2VudF9tb2RlX21pbl92ZXJzaW9uGEEgASgJSDeIAQESLAofaW50ZWxsaWpfYWdlbnRfbW9kZV9taW5fdmVyc2lvbhhCIAEoCUg4iAEBEiYKGWludGVsbGlqX2Jsb2NrZWRfdmVyc2lvbnMYQyABKAlIOYgBARJACjNpbnRlbGxpal9kZXNpZ25fc3lzdGVtX3JpY2hfdGV4dF9lZGl0b3JfbWluX3ZlcnNpb24YRCABKAlIOogBARIyCiVpbnRlbGxpal9zeW5jaW5nX3Byb2dyZXNzX21pbl92ZXJzaW9uGEUgASgJSDuIAQESJAoXZWxvX21vZGVsX2NvbmZpZ3VyYXRpb24YRyABKAlIPIgBARIjChZ2c2NvZGVfYWdlbnRfZWRpdF90b29sGEkgASgJSD2IAQESOQosaW50ZWxsaWpfYXNrX2Zvcl9zeW5jX3Blcm1pc3Npb25fbWluX3ZlcnNpb24YSiABKAlIPogBARIxCiR2c2NvZGVfYmFja2dyb3VuZF9hZ2VudHNfbWluX3ZlcnNpb24YSyABKAlIP4gBARIzCiZpbnRlbGxpal9iYWNrZ3JvdW5kX2FnZW50c19taW5fdmVyc2lvbhhMIAEoCUhAiAEBEikKHHVzZXJfZ3VpZGVsaW5lc19sZW5ndGhfbGltaXQYTSABKANIQYgBARIuCiF3b3Jrc3BhY2VfZ3VpZGVsaW5lc19sZW5ndGhfbGltaXQYTiABKANIQogBARI0Cid2c2NvZGVfcmljaF9jaGVja3BvaW50X2luZm9fbWluX3ZlcnNpb24YTyABKAlIQ4gBARIsCh9pbnRlbGxpal9lbmFibGVfdXNlcl9ndWlkZWxpbmVzGFIgASgISESIAQESMQokaW50ZWxsaWpfZW5hYmxlX3dvcmtzcGFjZV9ndWlkZWxpbmVzGFMgASgISEWIAQESMQokdnNjb2RlX2FnZW50X21vZGVfbWluX3N0YWJsZV92ZXJzaW9uGFQgASgJSEaIAQESOgotaW50ZWxsaWpfdmlydHVhbGl6ZWRfbWVzc2FnZV9saXN0X21pbl92ZXJzaW9uGFYgASgJSEeIAQESPQowdnNjb2RlX2NoYXRfc3RhYmxlX3ByZWZpeF90cnVuY2F0aW9uX21pbl92ZXJzaW9uGFcgASgJSEiIAQESKgodYWdlbnRfZWRpdF90b29sX21pbl92aWV3X3NpemUYWCABKANISYgBARIxCiRpbnRlbGxpal91c2VyX2d1aWRlbGluZXNfaW5fc2V0dGluZ3MYWSABKAhISogBARIoChthZ2VudF9lZGl0X3Rvb2xfc2NoZW1hX3R5cGUYWiABKAlIS4gBARIsCh92c2NvZGVfZGlyZWN0X2FwcGx5X21pbl92ZXJzaW9uGFsgASgJSEyIAQESLQogdnNjb2RlX3BlcnNvbmFsaXRpZXNfbWluX3ZlcnNpb24YXCABKAlITYgBARI3CiphZ2VudF9zYXZlX2ZpbGVfdG9vbF9pbnN0cnVjdGlvbnNfcmVtaW5kZXIYXiABKAhITogBARI6Ci1yZW1vdGVfYWdlbnRfY2hhdF9oaXN0b3J5X3BvbGxpbmdfaW50ZXJ2YWxfbXMYXyABKANIT4gBARIyCiVyZW1vdGVfYWdlbnRfbGlzdF9wb2xsaW5nX2ludGVydmFsX21zGGAgASgDSFCIAQESPwoyaW50ZWxsaWpfcHJlZmVyZW5jZV9jb2xsZWN0aW9uX2FsbG93ZWRfbWluX3ZlcnNpb24YYiABKAlIUYgBARIvCiJpbnRlbGxpal9lbmFibGVfaG9tZXNwdW5fZ2l0aWdub3JlGGMgASgISFKIAQESNwoqdnNjb2RlX2dlbmVyYXRlX2NvbW1pdF9tZXNzYWdlX21pbl92ZXJzaW9uGGQgASgJSFOIAQESGQoMZW5hYmxlX3J1bGVzGGUgASgISFSIAQESMgolYWdlbnRfZWRpdF90b29sX2VuYWJsZV9mdXp6eV9tYXRjaGluZxhnIAEoCEhViAEBEjgKK2FnZW50X2VkaXRfdG9vbF9mdXp6eV9tYXRjaF9zdWNjZXNzX21lc3NhZ2UYaCABKAlIVogBARIxCiRhZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWF4X2RpZmYYaSABKANIV4gBARI3CiphZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWF4X2RpZmZfcmF0aW8YaiABKAFIWIgBARJLCj5hZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWluX2FsbF9tYXRjaF9zdHJlYWtfYmV0d2Vlbl9kaWZmcxhrIAEoA0hZiAEBEiMKFmVuYWJsZV9wcm9tcHRfZW5oYW5jZXIYbCABKAhIWogBARItCiBpbnRlbGxpal9wcm9tcHRfZW5oYW5jZXJfZW5hYmxlZBhvIAEoCEhbiAEBEjIKJWFnZW50X2VkaXRfdG9vbF9pbnN0cnVjdGlvbnNfcmVtaW5kZXIYcCABKAhIXIgBARIjChZpbnRlbGxpal9lbmFibGVfc2VudHJ5GHEgASgISF2IAQESMQokaW50ZWxsaWpfd2Vidmlld19lcnJvcl9zYW1wbGluZ19yYXRlGHIgASgBSF6IAQESMAojaW50ZWxsaWpfcGx1Z2luX2Vycm9yX3NhbXBsaW5nX3JhdGUYcyABKAFIX4gBARIxCiRpbnRlbGxpal93ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGUYdCABKAFIYIgBARIwCiNpbnRlbGxpal9wbHVnaW5fdHJhY2Vfc2FtcGxpbmdfcmF0ZRh1IAEoAUhhiAEBEikKHG9wZW5fZmlsZV9tYW5hZ2VyX3YyX2VuYWJsZWQYdiABKAhIYogBARI7Ci5pbnRlbGxpal9lbmFibGVfd2Vidmlld19wZXJmb3JtYW5jZV9tb25pdG9yaW5nGHcgASgISGOIAQESKQocdnNjb2RlX3Rhc2tfbGlzdF9taW5fdmVyc2lvbhh4IAEoCUhkiAEBEjAKI2FnZW50X2VkaXRfdG9vbF9zaG93X3Jlc3VsdF9zbmlwcGV0GHkgASgISGWIAQESMgolaW50ZWxsaWpfZWR0X2ZyZWV6ZV9kZXRlY3Rpb25fZW5hYmxlZBh6IAEoCEhmiAEBEiAKE2NsaWVudF9hbm5vdW5jZW1lbnQYeyABKAlIZ4gBARIwCiN2c2NvZGVfcmVtb3RlX2FnZW50X3NzaF9taW5fdmVyc2lvbhh8IAEoCUhoiAEBEiYKGWFnZW50X2VkaXRfdG9vbF9tYXhfbGluZXMYfSABKANIaYgBARIkChdncmVwX3NlYXJjaF90b29sX2VuYWJsZRh+IAEoCEhqiAEBEisKHmdyZXBfc2VhcmNoX3Rvb2xfdGltZWxpbWl0X3NlYxh/IAEoA0hriAEBEjEKI2dyZXBfc2VhcmNoX3Rvb2xfb3V0cHV0X2NoYXJzX2xpbWl0GIABIAEoA0hsiAEBEjAKImdyZXBfc2VhcmNoX3Rvb2xfbnVtX2NvbnRleHRfbGluZXMYgQEgASgDSG2IAQESJAoWZW5hYmxlX2FnZW50X2F1dG9fbW9kZRiCASABKAhIbogBARI0CiZhZ2VudF9yZXBvcnRfc3RyZWFtZWRfY2hhdF9ldmVyeV9jaHVuaxiDASABKANIb4gBARI2CihhZ2VudF9tYXhfdG90YWxfY2hhbmdlZF9maWxlc19zaXplX2J5dGVzGIQBIAEoA0hwiAEBEjMKJWFnZW50X21heF9jaGFuZ2VkX2ZpbGVzX3NraXBwZWRfcGF0aHMYhQEgASgDSHGIAQESMgokYWdlbnRfaWRsZV9zdGF0dXNfdXBkYXRlX2ludGVydmFsX21zGIYBIAEoA0hyiAEBEiIKFGFnZW50X21heF9pdGVyYXRpb25zGIcBIAEoA0hziAEBEjQKJmFnZW50X3NzaF9jb25uZWN0aW9uX2NoZWNrX2ludGVydmFsX21zGIgBIAEoA0h0iAEBEjgKKmFnZW50X3NzaF9jb25uZWN0aW9uX2NoZWNrX2xvZ19pbnRlcnZhbF9tcxiJASABKANIdYgBARIlChdiZWFjaGhlYWRfZW5hYmxlX3NlbnRyeRiKASABKAhIdogBARIrCh1iZWFjaGhlYWRfZXJyb3Jfc2FtcGxpbmdfcmF0ZRiLASABKAFId4gBARIrCh1iZWFjaGhlYWRfdHJhY2Vfc2FtcGxpbmdfcmF0ZRiMASABKAFIeIgBARI3Cil2c2NvZGVfc3VwcG9ydF90b29sX3VzZV9zdGFydF9taW5fdmVyc2lvbhiNASABKAlIeYgBARIpChtoaXN0b3J5X3N1bW1hcnlfbWluX3ZlcnNpb24YjwEgASgJSHqIAQESKwoZaGlzdG9yeV9zdW1tYXJ5X21heF9jaGFycxiQASABKANCAhgBSHuIAQESLQobaGlzdG9yeV9zdW1tYXJ5X2xvd2VyX2NoYXJzGJEBIAEoA0ICGAFIfIgBARIlChdlbmFibGVfbmV3X3RocmVhZHNfbGlzdBiSASABKAhIfYgBARIkChZoaXN0b3J5X3N1bW1hcnlfcHJvbXB0GJMBIAEoCUh+iAEBEjAKImVuYWJsZV91bnRydW5jYXRlZF9jb250ZW50X3N0b3JhZ2UYlAEgASgISH+IAQESMAohbWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0GJUBIAEoA0iAAYgBARIlChZlbmFibGVfY29tbWl0X2luZGV4aW5nGJcBIAEoCEiBAYgBARIjChRtYXhfY29tbWl0c190b19pbmRleBiYASABKANIggGIAQESLQoeaW50ZWxsaWpfdGFza19saXN0X21pbl92ZXJzaW9uGJkBIAEoCUiDAYgBARImChdlbmFibGVfZXhjaGFuZ2Vfc3RvcmFnZRiaASABKAhIhAGIAQESKQoacmV0cnlfY2hhdF9zdHJlYW1fdGltZW91dHMYmwEgASgISIUBiAEBEiwKHWVuYWJsZV90b29sX3VzZV9zdGF0ZV9zdG9yYWdlGJwBIAEoCEiGAYgBARItCh5yZW1vdGVfYWdlbnRfY3VycmVudF93b3Jrc3BhY2UYnQEgASgISIcBiAEBEiUKFmhpc3Rvcnlfc3VtbWFyeV9wYXJhbXMYnwEgASgJSIgBiAEBEiAKEWVuYWJsZV9hZ2VudF90YWJzGKABIAEoCEiJAYgBARIgChFlbmFibGVfc3dhcm1fbW9kZRihASABKAhIigGIAQESLgofYmVhY2hoZWFkX2VuYWJsZV9zdWJfYWdlbnRfdG9vbBiiASABKAhIiwGIAQESIwoUZW5hYmxlX2dyb3VwZWRfdG9vbHMYowEgASgISIwBiAEBEjsKLHJlbW90ZV9hZ2VudHNfcmVzdW1lX2hpbnRfYXZhaWxhYmxlX3R0bF9kYXlzGKQBIAEoA0iNAYgBARIkChVlbmFibGVfcGFyYWxsZWxfdG9vbHMYpQEgASgISI4BiAEBEiAKEWNsaWVudF9kZXByZWNhdGVkGKYBIAEoCEiPAYgBARItCh5lbmFibGVfdmlld2VkX2NvbnRlbnRfdHJhY2tpbmcYpwEgASgISJABiAEBEjMKJHZpZXdlZF9jb250ZW50X2Nsb3NlX3JhbmdlX3RocmVzaG9sZBioASABKANIkQGIAQESNQomdmlld2VkX2NvbnRlbnRfZGlzY3JldGVfanVtcF90aHJlc2hvbGQYqQEgASgDSJIBiAEBEi4KH3ZpZXdlZF9jb250ZW50X21pbl9ldmVudF9hZ2VfbXMYqgEgASgDSJMBiAEBEi4KH3ZpZXdlZF9jb250ZW50X21heF9ldmVudF9hZ2VfbXMYqwEgASgDSJQBiAEBEicKGGVuYWJsZV9uYXRpdmVfcmVtb3RlX21jcBisASABKAhIlQGIAQESLwogbm90aWZpY2F0aW9uX3BvbGxpbmdfaW50ZXJ2YWxfbXMYrQEgASgDSJYBiAEBEicKGGVuYWJsZV9hZ2VudF9naXRfdHJhY2tlchiuASABKAhIlwGIAQESLgofdHJ1bmNhdGlvbl9mb290ZXJfYWRkaXRpb25fdGV4dBivASABKAlImAGIAQESHAoNZW5hYmxlX3NlbnRyeRiwASABKAhImQGIAQESKgobd2Vidmlld19lcnJvcl9zYW1wbGluZ19yYXRlGLEBIAEoAUiaAYgBARIqCht3ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGUYsgEgASgBSJsBiAEBEiUKFmFnZW50X3ZpZXdfdG9vbF9wYXJhbXMYswEgASgJSJwBiAEBEicKGHZzY29kZV90ZXJtaW5hbF9zdHJhdGVneRi0ASABKAlInQGIAQESHwoQYWdlbnRfY2hhdF9tb2RlbBi1ASABKAlIngGIAQESMQoiY2xvdWRfYWdlbnRfZGVmYXVsdF9tb2RlbF9vdmVycmlkZRi1AiABKAlInwGIAQESIgoTbW9kZWxfaW5mb19yZWdpc3RyeRi2ASABKAlIoAGIAQESQQoybWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0X2FmdGVyX3RydW5jYXRpb24YtwEgASgDSKEBiAEBEjQKJWVuYWJsZV9ub3RpZmljYXRpb25zX3NlcnZpY2VfaW50ZWxsaWoYuAEgASgISKIBiAEBEiIKE2VuYWJsZV9sdWNpZGVfaWNvbnMYuQEgASgISKMBiAEBEi8KIGVuYWJsZV9lbmhhbmNlZF9kZWh5ZHJhdGlvbl9tb2RlGLwBIAEoCEikAYgBARI3Cih2c2NvZGVfc2hvd190aGlua2luZ19zdW1tYXJ5X21pbl92ZXJzaW9uGL0BIAEoCUilAYgBARI5CippbnRlbGxpal9zaG93X3RoaW5raW5nX3N1bW1hcnlfbWluX3ZlcnNpb24YvgEgASgJSKYBiAEBEjIKI2ludGVsbGlqX2VuYWJsZV9maWxlX2ludGFrZV9zZXJ2aWNlGMABIAEoCEinAYgBARI6CitpbnRlbGxpal9lbmFibGVfc2VnbWVudF9hbmFseXRpY3NfcmVwb3J0aW5nGMEBIAEoCEioAYgBARIgChFjbGlfZW5hYmxlX3NlbnRyeRjCASABKAhIqQGIAQESJgoXY2xpX2Vycm9yX3NhbXBsaW5nX3JhdGUYwwEgASgBSKoBiAEBEiYKF2NsaV90cmFjZV9zYW1wbGluZ19yYXRlGMQBIAEoAUirAYgBARIxCiJjbGlfY2hhdF9zdHJlYW1fcmV0cnlfaGFyZF9zdG9wX21zGMUBIAEoA0isAYgBARIjChRjbGlfZW5hYmxlX2FuYWx5dGljcxjHASABKAhIrQGIAQESJgoXY2xpX2FuYWx5dGljc193cml0ZV9rZXkYyAEgASgJSK4BiAEBEioKG3BhcnRuZXJfbWNwX2xhdW5jaF8yMDI1MDkxNhjJASABKAhIrwGIAQESIQoSY2xpX3BhcmFsbGVsX3Rvb2xzGMoBIAEoCEiwAYgBARIpChplbmFibGVfYnVsa19kZWxldGVfdGhyZWFkcxjLASABKAhIsQGIAQESMwokZW5hYmxlX2ludGVyc2VjdGlvbl9vYnNlcnZlcl9tYW5hZ2VyGMwBIAEoCEiyAYgBARIzCiRlbmFibGVfdGVuYW50X2xldmVsX3Rvb2xfcGVybWlzc2lvbnMYzQEgASgISLMBiAEBEjIKI3dlYnZpZXdfcmVwbGF5c19zZXNzaW9uX3NhbXBsZV9yYXRlGM4BIAEoAUi0AYgBARIzCiR3ZWJ2aWV3X3JlcGxheXNfb25fZXJyb3Jfc2FtcGxlX3JhdGUYzwEgASgBSLUBiAEBEjAKIXZzY29kZV9wbHVnaW5fZXJyb3Jfc2FtcGxpbmdfcmF0ZRjQASABKAFItgGIAQESMAohdnNjb2RlX3BsdWdpbl90cmFjZV9zYW1wbGluZ19yYXRlGNEBIAEoAUi3AYgBARIpChplbmFibGVfY3JlZGl0c19pbl9zZXR0aW5ncxjSASABKAhIuAGIAQESLwogZW5hYmxlX2NyZWRpdF9iYW5uZXJfaW5fc2V0dGluZ3MY0wEgASgISLkBiAEBEjIKI2VuYWJsZV9jaGF0X2lucHV0X2lubGluZV9jb21wbGV0aW9uGNQBIAEoCEi6AYgBARIqChtjbGlfZW5hYmxlX2FjY291bnRfY29tbWFuZHMY1QEgASgISLsBiAEBEiMKFGVuYWJsZV9vbmJvYXJkaW5nX3YyGNYBIAEoCEi8AYgBARInChhjbGlfZW5hYmxlX21lc3NhZ2VfcXVldWUY1wEgASgISL0BiAEBEisKHGVuYWJsZV9ncnBjX3RvX2lkZV9tZXNzYWdpbmcY2AEgASgISL4BiAEBEjgKKWNsaV9lbmFibGVfYXN5bmNfd29ya3NwYWNlX2luaXRpYWxpemF0aW9uGNkBIAEoCEi/AYgBARIpChptYXhfbGluZV9sZW5ndGhfY2hhcmFjdGVycxjaASABKAVIwAGIAQESNgonZW5hYmxlX2NyZWRpdHNfY29uc3VtZWRfaW5fdHVybl9zdW1tYXJ5GNsBIAEoCEjBAYgBARIzCiRnaXRodWJfaW50ZWdyYXRpb25fbm90aWZpY2F0aW9uX2pzb24Y3AEgASgJSMIBiAEBEjAKIWVuYWJsZV9kZWVwX2xpbmtfY2hhdF93aXRoX3Byb21wdBjeASABKAhIwwGIAQESKwocZW5hYmxlX2NvbW1pdF9zZXNzaW9uX2V2ZW50cxjfASABKAhIxAGIAQESLwogdXNlX2ludGFrZV9zZXJ2aWNlX2Zvcl9maWxlX3dhbGsY4AEgASgISMUBiAEBEiYKF2VuYWJsZV9hcHBseV9wYXRjaF90b29sGOEBIAEoCEjGAYgBARIxCiJjdXN0b21lcl91aV9zZWNyZXRfbWFuYWdlcl9lbmFibGVkGOIBIAEoCEjHAYgBARIqChtjaGF0X2lucHV0X2NvbXBsZXRpb25fbW9kZWwY4wEgASgJSMgBiAEBEj4KL3ZzY29kZV9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0GOQBIAEoBUjJAYgBARJACjFpbnRlbGxpal9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0GOUBIAEoBUjKAYgBARI7CixjbGlfcHJvbXB0X2VuaGFuY2VyX25ld19lbmRwb2ludF9yb2xsb3V0X3BjdBjmASABKAVIywGIAQESMwokY2xpX2VuYWJsZV93b3JrZXJfdGhyZWFkX3BhdGhfZmlsdGVyGOgBIAEoCEjMAYgBARI6CithcGlfcHJveHlfY2xpX25vbl9pbnRlcmFjdGl2ZV9tb2RlX2Rpc2FibGVkGOsBIAEoCEjNAYgBARIoChllbmFibGVfc2V0dGluZ3NfaG9tZV9wYWdlGOwBIAEoCEjOAYgBARIjChRjbGlfZW5hYmxlX2Jhc2hfbW9kZRjtASABKAhIzwGIAQESLwogZW5hYmxlX2NvZGVfcmV2aWV3X3NsYXNoX2NvbW1hbmQY7gEgASgISNABiAEBEhsKDGVuYWJsZV9ob29rcxjvASABKAhI0QGIAQESKAoZZW5hYmxlX2hpZXJhcmNoaWNhbF9ydWxlcxjwASABKAhI0gGIAQESLgofY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZRjxASABKAhI0wGIAQESJAoVZW5hYmxlX2RlYnVnX2ZlYXR1cmVzGPIBIAEoCEjUAYgBARIoChllbmFibGVfcGx1Z2luX21hcmtldHBsYWNlGPMBIAEoCEjVAYgBARJECjViZWFjaGhlYWRfZmlsZXN5c3RlbV9jaGFuZ2VfdHJhY2tlcl9tYXhfZ2l0X3Byb2Nlc3Nlcxj1ASABKAVI1gGIAQESKwocY2xpX2VuYWJsZV93b3Jrc3BhY2VfY29tbWFuZBj2ASABKAhI1wGIAQESJQoWcHVibGljX2JldGFfb3B0X2luX2FsbBj3ASABKAhI2AGIAQESOgorcHVibGljX2JldGFfY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZRj4ASABKAhI2QGIAQESJgoXZW5hYmxlX3B1YmxpY19iZXRhX3BhZ2UY+QEgASgISNoBiAEBEjEKImVuYWJsZV93b3Jrc3BhY2VfY29udmVyc2F0aW9uX3N5bmMY+gEgASgISNsBiAEBEhwKDWVuYWJsZV9za2lsbHMY/AEgASgISNwBiAEBEisKHHJlcG9zaXRvcnlfYWxsb3dsaXN0X2VuYWJsZWQY/QEgASgISN0BiAEBEisKHGNsaV9uZXdfZmVhdHVyZV9hbm5vdW5jZW1lbnQY/wEgASgJSN4BiAEBEiUKFmVuYWJsZV9jdXN0b21fY29tbWFuZHMYgAIgASgISN8BiAEBEiYKF2NsaV9lbmFibGVfY2xvdWRfYWdlbnRzGIECIAEoCEjgAYgBARI+Ci9lbmFibGVfd29ya3NwYWNlX2NvbnZlcnNhdGlvbl9jaGF0X2hpc3Rvcnlfc3luYxiCAiABKAhI4QGIAQESMQoicHVibGljX2JldGFfZW5hYmxlX2N1c3RvbV9jb21tYW5kcxiEAiABKAhI4gGIAQESIwoUZW5hYmxlX21lc3NhZ2VfcXVldWUYhQIgASgISOMBiAEBEicKGGVuYWJsZV9zaGFyZWRfZ3VpZGVsaW5lcxiGAiABKAhI5AGIAQESQgozdnNjb2RlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbl9wb2xsaW5nX2ludGVydmFsGIcCIAEoA0jlAYgBARJECjVpbnRlbGxpal91cGRhdGVfdmVyc2lvbl9ub3RpZmljYXRpb25fcG9sbGluZ19pbnRlcnZhbBiIAiABKANI5gGIAQESIQoSY2xpX2VuYWJsZV9wZXJzb25hGIkCIAEoCEjnAYgBARI3CihjbGlfZW5hYmxlX2xhdW5jaF9wcm9jZXNzX2V2ZW50X2xpc3RlbmVyGIoCIAEoCEjoAYgBARI4Cil2c2NvZGVfZW5hYmxlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbhiLAiABKAhI6QGIAQESIwoUY2xpX2VuYWJsZV9wbGFuX21vZGUYjAIgASgISOoBiAEBEi8KIGNvbGRfc3RhcnRfZ2l0X3NoYV9pbmRleF9lbmFibGVkGI0CIAEoCEjrAYgBARI6CitpbnRlbGxpal9lbmFibGVfdXBkYXRlX3ZlcnNpb25fbm90aWZpY2F0aW9uGI4CIAEoCEjsAYgBARIqChtlbmFibGVfcmVhZF9wcm9jZXNzX3RyYWNrZXIYkAIgASgISO0BiAEBEiwKHXJlYWRfcHJvY2Vzc19tYXhfd2FpdF9zZWNvbmRzGJECIAEoA0juAYgBARIzCiRyZWFkX3Byb2Nlc3Nfc3R1Y2tfcG9sbGluZ190aHJlc2hvbGQYkgIgASgDSO8BiAEBEiEKEmVuYWJsZV9jb21wbGV0aW9ucxiTAiABKAhI8AGIAQESHwoQZW5hYmxlX3N1YmFnZW50cxiUAiABKAhI8QGIAQESJwoYY2xpX2FsbG93X3Rvb2xfb3ZlcnJpZGVzGJUCIAEoCEjyAYgBARInChhjbGlfZW5hYmxlX2NvbnRleHRfdXNhZ2UYlgIgASgISPMBiAEBEiwKHWVuYWJsZV9jb252ZXJzYXRpb25fcmV0cmlldmFsGJcCIAEoCEj0AYgBARIlChZjbGlfZW5hYmxlX2RpZmZfdmlld2VyGJgCIAEoCEj1AYgBARItCh5pbnRlbGxpal9zaWRlY2FyX2VuYWJsZV9zZW50cnkYmQIgASgISPYBiAEBEjMKJGludGVsbGlqX3NpZGVjYXJfZXJyb3Jfc2FtcGxpbmdfcmF0ZRiaAiABKAFI9wGIAQESMwokaW50ZWxsaWpfc2lkZWNhcl90cmFjZV9zYW1wbGluZ19yYXRlGJsCIAEoAUj4AYgBARIoChljbGlfZW5hYmxlX2FzeW5jX2luZGV4aW5nGJwCIAEoCEj5AYgBARIoChlwdWJsaWNfYmV0YV9lbmFibGVfc2tpbGxzGJ0CIAEoCEj6AYgBARIvCiBwdWJsaWNfYmV0YV9lbmFibGVfbWVzc2FnZV9xdWV1ZRieAiABKAhI+wGIAQESKwoccHVibGljX2JldGFfZW5hYmxlX3N1YmFnZW50cxifAiABKAhI/AGIAQESJgoXY2xpX2VuYWJsZV9zaG93X2NyZWRpdHMYoAIgASgISP0BiAEBEicKGGlkZV9lbmFibGVfYXNrX3VzZXJfdG9vbBihAiABKAhI/gGIAQESKwocZW5hYmxlX2NoYXRfaGlzdG9yeV9yZWNvdmVyeRiiAiABKAhI/wGIAQESMQoiaW50ZWxsaWpfc3RhdGVfcG9sbGluZ19pbnRlcnZhbF9tcxijAiABKANIgAKIAQESLwogdnNjb2RlX3N0YXRlX3BvbGxpbmdfaW50ZXJ2YWxfbXMYpAIgASgDSIECiAEBEikKGmNsaV9kZWZhdWx0X3Bvc2VpZG9uX2FnZW50GKUCIAEoCEiCAogBARIpChpjbGlfZW5hYmxlX3Nlc3Npb25fYW5hbHl6ZRimAiABKAhIgwKIAQESHwoQZW5hYmxlX2ZpZ21hX21jcBinAiABKAhIhAKIAQESJgoXZW5hYmxlX2h5YnJpZF9yZXRyaWV2YWwYqAIgASgISIUCiAEBEisKHGNvbnZlcnNhdGlvbl9yZXJhbmtpbmdfbW9kZWwYqQIgASgJSIYCiAEBEjcKKGJlYWNoaGVhZF9lbmFibGVfcGFyYWxsZWxfdG9vbF9leGVjdXRpb24YqgIgASgISIcCiAEBEioKG2VuYWJsZV9jb250ZXh0X3dpbmRvd191c2FnZRirAiABKAhIiAKIAQESLAodZW5hYmxlX3BsdWdpbl9tYXJrZXRwbGFjZV9pZGUYrAIgASgISIkCiAEBEhoKC2VuYWJsZV9ieW9rGK0CIAEoCEiKAogBARIqChdwb3NlaWRvbl9kYWVtb25fZW5hYmxlZBiuAiABKAhCAhgBSIsCiAEBEikKGmVuYWJsZV9jb250ZXh0X3VzYWdlX21vZGFsGK8CIAEoCEiMAogBARIpChp0b29sX3NlYXJjaF9zdW1tYXJ5X3Byb21wdBiyAiABKAlIjQKIAQESKwocdG9vbF9zZWFyY2hfZmluZF90b29sX3Byb21wdBizAiABKAlIjgKIAQESJwoYY2xpX2VuYWJsZV9zZXNzaW9uX3N0YXRzGLQCIAEoCEiPAogBARImChdlbmFibGVfbWlkX3N0cmVhbV9yZXRyeRi2AiABKAhIkAKIAQESHQoOY2xpX2VuYWJsZV9idHcYtwIgASgISJECiAEBEicKGGNsaV9lbmFibGVfY29udGV4dF9zdGF0cxi4AiABKAhIkgKIAQESKgobZW5hYmxlX2lkZV9oYW5kb2ZmX3RvX2Nsb3VkGLkCIAEoCEiTAogBARIzCiRjbGlfZW5hYmxlX2Nsb3VkX2FnZW50X2Fza191c2VyX3Rvb2wYugIgASgISJQCiAEBEiIKE3VzZV9hY3BfY29tcGxldGlvbnMYuwIgASgISJUCiAEBEiwKHWVuYWJsZV9jb2RlYmFzZV9yZXRyaWV2YWxfcmF3GLwCIAEoCEiWAogBARIeCg93ZWJ2aWV3X3VzZV9hY3AYvQIgASgISJcCiAEBEioKG2NsaV9lbmFibGVfaGFuZG9mZl90b19jbG91ZBi+AiABKAhImAKIAQESLQoec3ViYWdlbnRzX3Zpc2liaWxpdHlfb3ZlcnJpZGVzGL8CIAEoCUiZAogBARIzCiRjbGlfZW5hYmxlX2NvbGxhcHNlX2xvbmdfcGFzdGVkX3RleHQYwAIgASgISJoCiAEBEiQKFW1heF90b29sX291dHB1dF9ieXRlcxjBAiABKAVImwKIAQESJwoYY2xpX2NvbXBhY3RfdG9vbF9zdXJmYWNlGMICIAEoCEicAogBARImChdjb3Ntb3NfZW5hYmxlX3Jlc2lkZW50cxjDAiABKAhInQKIAQESJwoYY29zbW9zX3Jlc2lkZW50X3ByZXNlbmNlGMsCIAEoCEieAogBARI2CidjbGlfcmVjb3JkX3N1bW1hcml6YXRpb25zX2FuZF9zdWJhZ2VudHMYxAIgASgISJ8CiAEBEioKG2Nvc21vc19tb3JlX2N1c3RvbV93ZWJob29rcxjFAiABKAhIoAKIAQESMQoiY2xpX3VzZV9zdHJlYW1pbmdfdmZzX2ZpbGVfY29udGVudBjGAiABKAhIoQKIAQESIgoTY2xpX3R1bm5lbF9jb21tYW5kcxjHAiABKAhIogKIAQESLQoeY2xpX3Bvc2VpZG9uX2FuYWx5dGljc19lbmFibGVkGMgCIAEoCEijAogBARIuCh9jbGlfZGFlbW9uX3Bvb2xfYWNjZXNzX2NvbW1hbmRzGMkCIAEoCEikAogBARIwCiFjb3Ntb3NfbXVsdGlfcmVwb19jb250ZXh0X2VuYWJsZWQYygIgASgISKUCiAEBEi4KH2Nvc21vc19uZXN0ZWRfYWdlbnRzX21kX2VuYWJsZWQY0wIgASgISKYCiAEBEigKGXZmc19kdXJhYmxlX2ZpbGVfaWRlbnRpdHkYzAIgASgISKcCiAEBEiQKFWlkZV9leHRlbnNpb25fcmV0aXJlZBjNAiABKAhIqAKIAQESMQoiY2xpX2VuYWJsZV92ZnNfY29tbWVudHNfcHJvamVjdGlvbhjOAiABKAhIqQKIAQESNQomY2xpX3NsZWVwX3Jlc3VtZV93YXRjaGRvZ190aHJlc2hvbGRfbXMYzwIgASgDSKoCiAEBEiMKFHZmc19leHRlbmRlZF9zaGFyaW5nGNACIAEoCEirAogBARItCh5jbGlfZGFlbW9uX2F1dG9fdXBkYXRlX2VuYWJsZWQY0QIgASgISKwCiAEBEiEKEmlkZV9taWdyYXRpb25fbW9kZRjSAiABKAhIrQKIAQESLQoeaWRlX21pZ3JhdGlvbl9hbmFseXNpc19lbmFibGVkGNQCIAEoCEiuAogBARIrChxpZGVfbWlncmF0aW9uX2FuYWx5c2lzX21vZGVsGNUCIAEoCUivAogBARIvCiBjbGlfZW52aXJvbm1lbnRfc25hcHNob3RfdXBkYXRlcxjWAiABKAhIsAKIAQESNgonY29zbW9zX2NsaV9iYWNrZ3JvdW5kX3N1YmFnZW50c19lbmFibGVkGNcCIAEoCEixAogBARInChhjbGlfc2VjcmV0X29sYWNfY29tbWFuZHMY2AIgASgISLICiAEBEiMKFGNsaV9kZXNrdG9wX2NvbW1hbmRzGNkCIAEoCEizAogBARIuCh9jbGlfZW5hYmxlX3NwYWNlX3Bpbm5lZF9leHBlcnRzGNoCIAEoCEi0AogBARI2CiNwb3NlaWRvbl9wcmVmZXRjaF92ZnNfYmVmb3JlX2F1Z2dpZRjbAiABKAhCAhgBSLUCiAEBEiAKEWNvbXBhY3Rpb25fY29uZmlnGNwCIAEoCUi2AogBARJACjFwb3NlaWRvbl9pbWFnZXNfYXN5bmNfZW52aXJvbm1lbnRfcmVidWlsZF9lbmFibGVkGN0CIAEoCEi3AogBARInChhjbGlfdmZzX2JhbGFuY2VkX3N0cmVhbXMY3gIgASgISLgCiAEBEkAKMXBvc2VpZG9uX2ltYWdlc19hc3luY19lbnZpcm9ubWVudF9yZWZyZXNoX2VuYWJsZWQY3wIgASgISLkCiAEBEk0KPnBvc2VpZG9uX2ltYWdlc19hc3luY19lbnZpcm9ubWVudF9yZXBvc2l0b3J5X3JlY29uY2lsZV9lbmFibGVkGOACIAEoCEi6AogBARIgChFjbGlfc3luY19mcmVlX3ZmcxjhAiABKAhIuwKIAQESPwowcG9zZWlkb25faW1hZ2VzX2FzeW5jX2Vudmlyb25tZW50X3VwZGF0ZV9lbmFibGVkGOICIAEoCEi8AogBARIoChljb3Ntb3NfYXVnZ2llX2Vhcmx5X3N0YXJ0GOMCIAEoCEi9AogBARI6Citjb3Ntb3NfZW52aXJvbm1lbnRfcnVudGltZV9zZWxlY3Rvcl9lbmFibGVkGOQCIAEoCEi+AogBARImChdjb3Ntb3NfbWNwX2FnZW50X2F0dGFjaBjlAiABKAhIvwKIAQESJgoXY2xpX3N0YXJ0dXBfYmFubmVyX3RleHQY5gIgASgJSMACiAEBEikKGnBvc2VpZG9uX3Zmc19tYXhfZmlsZV9zaXplGOcCIAEoA0jBAogBARI3CihlbmFibGVfY29kZWJhc2VfcmV0cmlldmFsX3Rvb2xfYXVnZ2llX3YyGOgCIAEoCEjCAogBARIyCiNjb3Ntb3NfYXVnZ2llX2VuYWJsZV9jb250ZXh0X2VuZ2luZRjpAiABKAhIwwKIAQFCFAoSX2VuYWJsZV9jb2RlX2VkaXRzQg4KDF9lbmFibGVfY2hhdEIeChxfZW5hYmxlX3dvcmtzcGFjZV9tYW5hZ2VyX3VpQhcKFV9lbmFibGVfaW50ZWxsaWpfY2hhdEIlCiNfZW5hYmxlX3dvcmtzcGFjZV9tYW5hZ2VyX3VpX2xhdW5jaEIZChdfYWRkaXRpb25hbF9jaGF0X21vZGVsc0IcChpfaW50ZWxsaWpfY2hhdF9taW5fdmVyc2lvbkIeChxfdnNjb2RlX2ZseXdoZWVsX21pbl92ZXJzaW9uQi4KLF92c2NvZGVfZXh0ZXJuYWxfc291cmNlc19pbl9jaGF0X21pbl92ZXJzaW9uQhYKFF9lbmFibGVfaW5zdHJ1Y3Rpb25zQhUKE19lbmFibGVfc21hcnRfcGFzdGVCIQofX2VuYWJsZV9zbWFydF9wYXN0ZV9taW5fdmVyc2lvbkIcChpfZW5hYmxlX3ZpZXdfdGV4dF9kb2N1bWVudEIWChRfY2hlY2twb2ludF9ibG9ic192MkIZChdfZW5hYmxlX2RhdGFfY29sbGVjdGlvbkIXChVfc21hbGxfc3luY190aHJlc2hvbGRCFQoTX2JpZ19zeW5jX3RocmVzaG9sZEIZChdfYnlwYXNzX2xhbmd1YWdlX2ZpbHRlckITChFfZW5hYmxlX2hpbmRzaWdodEIYChZfbWF4X3VwbG9hZF9zaXplX2J5dGVzQigKJl9pbnRlbGxpal9mb3JjZV9jb21wbGV0aW9uX21pbl92ZXJzaW9uQiIKIF9lbmFibGVfZXh0ZXJuYWxfc291cmNlc19pbl9jaGF0QhsKGV9tYXhfdHJhY2thYmxlX2ZpbGVfY291bnRCLgosX21heF90cmFja2FibGVfZmlsZV9jb3VudF93aXRob3V0X3Blcm1pc3Npb25CLQorX21pbl91cGxvYWRlZF9wZXJjZW50YWdlX3dpdGhvdXRfcGVybWlzc2lvbkIqCihfdnNjb2RlX2NoYXRfaGludF9kZWNvcmF0aW9uX21pbl92ZXJzaW9uQiUKI19lbmFibGVfY29tcGxldGlvbl9maWxlX2VkaXRfZXZlbnRzQh0KG192c2NvZGVfc291cmNlc19taW5fdmVyc2lvbkIcChpfdnNjb2RlX2VuYWJsZV9jcHVfcHJvZmlsZUIfCh1fdmVyaWZ5X2ZvbGRlcl9pc19zb3VyY2VfcmVwb0IiCiBfcmVmdXNlX3RvX3N5bmNfaG9tZV9kaXJlY3Rvcmllc0IsCipfZW5hYmxlX2ZpbGVfbGltaXRzX2Zvcl9zeW5jaW5nX3Blcm1pc3Npb25CGwoZX3ZzY29kZV9zaGFyZV9taW5fdmVyc2lvbkIdChtfaW50ZWxsaWpfc2hhcmVfbWluX3ZlcnNpb25CGAoWX2VuYWJsZV9zdW1tYXJ5X3RpdGxlc0IfCh1fZW5hYmxlX2NoYXRfbWVybWFpZF9kaWFncmFtc0IeChxfc21hcnRfcGFzdGVfcHJlY29tcHV0ZV9tb2RlQiYKJF92c2NvZGVfbmV3X3RocmVhZHNfbWVudV9taW5fdmVyc2lvbkIoCiZfaW50ZWxsaWpfbmV3X3RocmVhZHNfbWVudV9taW5fdmVyc2lvbkImCiRfdnNjb2RlX2VkaXRhYmxlX2hpc3RvcnlfbWluX3ZlcnNpb25CGAoWX2ludGVsbGlqX3Nob3dfc3VtbWFyeUIUChJfZW5hYmxlX2d1aWRlbGluZXNCMgowX3ZzY29kZV9lbmFibGVfY2hhdF9tZXJtYWlkX2RpYWdyYW1zX21pbl92ZXJzaW9uQhwKGl92c2NvZGVfZGVwcmVjYXRlZF92ZXJzaW9uQh4KHF9pbnRlbGxpal9kZXByZWNhdGVkX3ZlcnNpb25CNAoyX3ZzY29kZV91c2VfY2hlY2twb2ludF9tYW5hZ2VyX2NvbnRleHRfbWluX3ZlcnNpb25CLQorX3ZzY29kZV92YWxpZGF0ZV9jaGVja3BvaW50X21hbmFnZXJfY29udGV4dEIjCiFfaW50ZWxsaWpfc21hcnRfcGFzdGVfbWluX3ZlcnNpb25CNAoyX3ZzY29kZV9kZXNpZ25fc3lzdGVtX3JpY2hfdGV4dF9lZGl0b3JfbWluX3ZlcnNpb25CJgokX2FsbG93X2NsaWVudF9mZWF0dXJlX2ZsYWdfb3ZlcnJpZGVzQiUKI192c2NvZGVfY2hhdF93aXRoX3Rvb2xzX21pbl92ZXJzaW9uQicKJV9pbnRlbGxpal9jaGF0X3dpdGhfdG9vbHNfbWluX3ZlcnNpb25CJQojX3ZzY29kZV9jaGF0X211bHRpbW9kYWxfbWluX3ZlcnNpb25CJwolX2ludGVsbGlqX2NoYXRfbXVsdGltb2RhbF9taW5fdmVyc2lvbkI0CjJfaW50ZWxsaWpfZW5hYmxlX2NoYXRfbWVybWFpZF9kaWFncmFtc19taW5fdmVyc2lvbkIgCh5fdnNjb2RlX2FnZW50X21vZGVfbWluX3ZlcnNpb25CIgogX2ludGVsbGlqX2FnZW50X21vZGVfbWluX3ZlcnNpb25CHAoaX2ludGVsbGlqX2Jsb2NrZWRfdmVyc2lvbnNCNgo0X2ludGVsbGlqX2Rlc2lnbl9zeXN0ZW1fcmljaF90ZXh0X2VkaXRvcl9taW5fdmVyc2lvbkIoCiZfaW50ZWxsaWpfc3luY2luZ19wcm9ncmVzc19taW5fdmVyc2lvbkIaChhfZWxvX21vZGVsX2NvbmZpZ3VyYXRpb25CGQoXX3ZzY29kZV9hZ2VudF9lZGl0X3Rvb2xCLwotX2ludGVsbGlqX2Fza19mb3Jfc3luY19wZXJtaXNzaW9uX21pbl92ZXJzaW9uQicKJV92c2NvZGVfYmFja2dyb3VuZF9hZ2VudHNfbWluX3ZlcnNpb25CKQonX2ludGVsbGlqX2JhY2tncm91bmRfYWdlbnRzX21pbl92ZXJzaW9uQh8KHV91c2VyX2d1aWRlbGluZXNfbGVuZ3RoX2xpbWl0QiQKIl93b3Jrc3BhY2VfZ3VpZGVsaW5lc19sZW5ndGhfbGltaXRCKgooX3ZzY29kZV9yaWNoX2NoZWNrcG9pbnRfaW5mb19taW5fdmVyc2lvbkIiCiBfaW50ZWxsaWpfZW5hYmxlX3VzZXJfZ3VpZGVsaW5lc0InCiVfaW50ZWxsaWpfZW5hYmxlX3dvcmtzcGFjZV9ndWlkZWxpbmVzQicKJV92c2NvZGVfYWdlbnRfbW9kZV9taW5fc3RhYmxlX3ZlcnNpb25CMAouX2ludGVsbGlqX3ZpcnR1YWxpemVkX21lc3NhZ2VfbGlzdF9taW5fdmVyc2lvbkIzCjFfdnNjb2RlX2NoYXRfc3RhYmxlX3ByZWZpeF90cnVuY2F0aW9uX21pbl92ZXJzaW9uQiAKHl9hZ2VudF9lZGl0X3Rvb2xfbWluX3ZpZXdfc2l6ZUInCiVfaW50ZWxsaWpfdXNlcl9ndWlkZWxpbmVzX2luX3NldHRpbmdzQh4KHF9hZ2VudF9lZGl0X3Rvb2xfc2NoZW1hX3R5cGVCIgogX3ZzY29kZV9kaXJlY3RfYXBwbHlfbWluX3ZlcnNpb25CIwohX3ZzY29kZV9wZXJzb25hbGl0aWVzX21pbl92ZXJzaW9uQi0KK19hZ2VudF9zYXZlX2ZpbGVfdG9vbF9pbnN0cnVjdGlvbnNfcmVtaW5kZXJCMAouX3JlbW90ZV9hZ2VudF9jaGF0X2hpc3RvcnlfcG9sbGluZ19pbnRlcnZhbF9tc0IoCiZfcmVtb3RlX2FnZW50X2xpc3RfcG9sbGluZ19pbnRlcnZhbF9tc0I1CjNfaW50ZWxsaWpfcHJlZmVyZW5jZV9jb2xsZWN0aW9uX2FsbG93ZWRfbWluX3ZlcnNpb25CJQojX2ludGVsbGlqX2VuYWJsZV9ob21lc3B1bl9naXRpZ25vcmVCLQorX3ZzY29kZV9nZW5lcmF0ZV9jb21taXRfbWVzc2FnZV9taW5fdmVyc2lvbkIPCg1fZW5hYmxlX3J1bGVzQigKJl9hZ2VudF9lZGl0X3Rvb2xfZW5hYmxlX2Z1enp5X21hdGNoaW5nQi4KLF9hZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfc3VjY2Vzc19tZXNzYWdlQicKJV9hZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWF4X2RpZmZCLQorX2FnZW50X2VkaXRfdG9vbF9mdXp6eV9tYXRjaF9tYXhfZGlmZl9yYXRpb0JBCj9fYWdlbnRfZWRpdF90b29sX2Z1enp5X21hdGNoX21pbl9hbGxfbWF0Y2hfc3RyZWFrX2JldHdlZW5fZGlmZnNCGQoXX2VuYWJsZV9wcm9tcHRfZW5oYW5jZXJCIwohX2ludGVsbGlqX3Byb21wdF9lbmhhbmNlcl9lbmFibGVkQigKJl9hZ2VudF9lZGl0X3Rvb2xfaW5zdHJ1Y3Rpb25zX3JlbWluZGVyQhkKF19pbnRlbGxpal9lbmFibGVfc2VudHJ5QicKJV9pbnRlbGxpal93ZWJ2aWV3X2Vycm9yX3NhbXBsaW5nX3JhdGVCJgokX2ludGVsbGlqX3BsdWdpbl9lcnJvcl9zYW1wbGluZ19yYXRlQicKJV9pbnRlbGxpal93ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGVCJgokX2ludGVsbGlqX3BsdWdpbl90cmFjZV9zYW1wbGluZ19yYXRlQh8KHV9vcGVuX2ZpbGVfbWFuYWdlcl92Ml9lbmFibGVkQjEKL19pbnRlbGxpal9lbmFibGVfd2Vidmlld19wZXJmb3JtYW5jZV9tb25pdG9yaW5nQh8KHV92c2NvZGVfdGFza19saXN0X21pbl92ZXJzaW9uQiYKJF9hZ2VudF9lZGl0X3Rvb2xfc2hvd19yZXN1bHRfc25pcHBldEIoCiZfaW50ZWxsaWpfZWR0X2ZyZWV6ZV9kZXRlY3Rpb25fZW5hYmxlZEIWChRfY2xpZW50X2Fubm91bmNlbWVudEImCiRfdnNjb2RlX3JlbW90ZV9hZ2VudF9zc2hfbWluX3ZlcnNpb25CHAoaX2FnZW50X2VkaXRfdG9vbF9tYXhfbGluZXNCGgoYX2dyZXBfc2VhcmNoX3Rvb2xfZW5hYmxlQiEKH19ncmVwX3NlYXJjaF90b29sX3RpbWVsaW1pdF9zZWNCJgokX2dyZXBfc2VhcmNoX3Rvb2xfb3V0cHV0X2NoYXJzX2xpbWl0QiUKI19ncmVwX3NlYXJjaF90b29sX251bV9jb250ZXh0X2xpbmVzQhkKF19lbmFibGVfYWdlbnRfYXV0b19tb2RlQikKJ19hZ2VudF9yZXBvcnRfc3RyZWFtZWRfY2hhdF9ldmVyeV9jaHVua0IrCilfYWdlbnRfbWF4X3RvdGFsX2NoYW5nZWRfZmlsZXNfc2l6ZV9ieXRlc0IoCiZfYWdlbnRfbWF4X2NoYW5nZWRfZmlsZXNfc2tpcHBlZF9wYXRoc0InCiVfYWdlbnRfaWRsZV9zdGF0dXNfdXBkYXRlX2ludGVydmFsX21zQhcKFV9hZ2VudF9tYXhfaXRlcmF0aW9uc0IpCidfYWdlbnRfc3NoX2Nvbm5lY3Rpb25fY2hlY2tfaW50ZXJ2YWxfbXNCLQorX2FnZW50X3NzaF9jb25uZWN0aW9uX2NoZWNrX2xvZ19pbnRlcnZhbF9tc0IaChhfYmVhY2hoZWFkX2VuYWJsZV9zZW50cnlCIAoeX2JlYWNoaGVhZF9lcnJvcl9zYW1wbGluZ19yYXRlQiAKHl9iZWFjaGhlYWRfdHJhY2Vfc2FtcGxpbmdfcmF0ZUIsCipfdnNjb2RlX3N1cHBvcnRfdG9vbF91c2Vfc3RhcnRfbWluX3ZlcnNpb25CHgocX2hpc3Rvcnlfc3VtbWFyeV9taW5fdmVyc2lvbkIcChpfaGlzdG9yeV9zdW1tYXJ5X21heF9jaGFyc0IeChxfaGlzdG9yeV9zdW1tYXJ5X2xvd2VyX2NoYXJzQhoKGF9lbmFibGVfbmV3X3RocmVhZHNfbGlzdEIZChdfaGlzdG9yeV9zdW1tYXJ5X3Byb21wdEIlCiNfZW5hYmxlX3VudHJ1bmNhdGVkX2NvbnRlbnRfc3RvcmFnZUIkCiJfbWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0QhkKF19lbmFibGVfY29tbWl0X2luZGV4aW5nQhcKFV9tYXhfY29tbWl0c190b19pbmRleEIhCh9faW50ZWxsaWpfdGFza19saXN0X21pbl92ZXJzaW9uQhoKGF9lbmFibGVfZXhjaGFuZ2Vfc3RvcmFnZUIdChtfcmV0cnlfY2hhdF9zdHJlYW1fdGltZW91dHNCIAoeX2VuYWJsZV90b29sX3VzZV9zdGF0ZV9zdG9yYWdlQiEKH19yZW1vdGVfYWdlbnRfY3VycmVudF93b3Jrc3BhY2VCGQoXX2hpc3Rvcnlfc3VtbWFyeV9wYXJhbXNCFAoSX2VuYWJsZV9hZ2VudF90YWJzQhQKEl9lbmFibGVfc3dhcm1fbW9kZUIiCiBfYmVhY2hoZWFkX2VuYWJsZV9zdWJfYWdlbnRfdG9vbEIXChVfZW5hYmxlX2dyb3VwZWRfdG9vbHNCLwotX3JlbW90ZV9hZ2VudHNfcmVzdW1lX2hpbnRfYXZhaWxhYmxlX3R0bF9kYXlzQhgKFl9lbmFibGVfcGFyYWxsZWxfdG9vbHNCFAoSX2NsaWVudF9kZXByZWNhdGVkQiEKH19lbmFibGVfdmlld2VkX2NvbnRlbnRfdHJhY2tpbmdCJwolX3ZpZXdlZF9jb250ZW50X2Nsb3NlX3JhbmdlX3RocmVzaG9sZEIpCidfdmlld2VkX2NvbnRlbnRfZGlzY3JldGVfanVtcF90aHJlc2hvbGRCIgogX3ZpZXdlZF9jb250ZW50X21pbl9ldmVudF9hZ2VfbXNCIgogX3ZpZXdlZF9jb250ZW50X21heF9ldmVudF9hZ2VfbXNCGwoZX2VuYWJsZV9uYXRpdmVfcmVtb3RlX21jcEIjCiFfbm90aWZpY2F0aW9uX3BvbGxpbmdfaW50ZXJ2YWxfbXNCGwoZX2VuYWJsZV9hZ2VudF9naXRfdHJhY2tlckIiCiBfdHJ1bmNhdGlvbl9mb290ZXJfYWRkaXRpb25fdGV4dEIQCg5fZW5hYmxlX3NlbnRyeUIeChxfd2Vidmlld19lcnJvcl9zYW1wbGluZ19yYXRlQh4KHF93ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGVCGQoXX2FnZW50X3ZpZXdfdG9vbF9wYXJhbXNCGwoZX3ZzY29kZV90ZXJtaW5hbF9zdHJhdGVneUITChFfYWdlbnRfY2hhdF9tb2RlbEIlCiNfY2xvdWRfYWdlbnRfZGVmYXVsdF9tb2RlbF9vdmVycmlkZUIWChRfbW9kZWxfaW5mb19yZWdpc3RyeUI1CjNfbWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0X2FmdGVyX3RydW5jYXRpb25CKAomX2VuYWJsZV9ub3RpZmljYXRpb25zX3NlcnZpY2VfaW50ZWxsaWpCFgoUX2VuYWJsZV9sdWNpZGVfaWNvbnNCIwohX2VuYWJsZV9lbmhhbmNlZF9kZWh5ZHJhdGlvbl9tb2RlQisKKV92c2NvZGVfc2hvd190aGlua2luZ19zdW1tYXJ5X21pbl92ZXJzaW9uQi0KK19pbnRlbGxpal9zaG93X3RoaW5raW5nX3N1bW1hcnlfbWluX3ZlcnNpb25CJgokX2ludGVsbGlqX2VuYWJsZV9maWxlX2ludGFrZV9zZXJ2aWNlQi4KLF9pbnRlbGxpal9lbmFibGVfc2VnbWVudF9hbmFseXRpY3NfcmVwb3J0aW5nQhQKEl9jbGlfZW5hYmxlX3NlbnRyeUIaChhfY2xpX2Vycm9yX3NhbXBsaW5nX3JhdGVCGgoYX2NsaV90cmFjZV9zYW1wbGluZ19yYXRlQiUKI19jbGlfY2hhdF9zdHJlYW1fcmV0cnlfaGFyZF9zdG9wX21zQhcKFV9jbGlfZW5hYmxlX2FuYWx5dGljc0IaChhfY2xpX2FuYWx5dGljc193cml0ZV9rZXlCHgocX3BhcnRuZXJfbWNwX2xhdW5jaF8yMDI1MDkxNkIVChNfY2xpX3BhcmFsbGVsX3Rvb2xzQh0KG19lbmFibGVfYnVsa19kZWxldGVfdGhyZWFkc0InCiVfZW5hYmxlX2ludGVyc2VjdGlvbl9vYnNlcnZlcl9tYW5hZ2VyQicKJV9lbmFibGVfdGVuYW50X2xldmVsX3Rvb2xfcGVybWlzc2lvbnNCJgokX3dlYnZpZXdfcmVwbGF5c19zZXNzaW9uX3NhbXBsZV9yYXRlQicKJV93ZWJ2aWV3X3JlcGxheXNfb25fZXJyb3Jfc2FtcGxlX3JhdGVCJAoiX3ZzY29kZV9wbHVnaW5fZXJyb3Jfc2FtcGxpbmdfcmF0ZUIkCiJfdnNjb2RlX3BsdWdpbl90cmFjZV9zYW1wbGluZ19yYXRlQh0KG19lbmFibGVfY3JlZGl0c19pbl9zZXR0aW5nc0IjCiFfZW5hYmxlX2NyZWRpdF9iYW5uZXJfaW5fc2V0dGluZ3NCJgokX2VuYWJsZV9jaGF0X2lucHV0X2lubGluZV9jb21wbGV0aW9uQh4KHF9jbGlfZW5hYmxlX2FjY291bnRfY29tbWFuZHNCFwoVX2VuYWJsZV9vbmJvYXJkaW5nX3YyQhsKGV9jbGlfZW5hYmxlX21lc3NhZ2VfcXVldWVCHwodX2VuYWJsZV9ncnBjX3RvX2lkZV9tZXNzYWdpbmdCLAoqX2NsaV9lbmFibGVfYXN5bmNfd29ya3NwYWNlX2luaXRpYWxpemF0aW9uQh0KG19tYXhfbGluZV9sZW5ndGhfY2hhcmFjdGVyc0IqCihfZW5hYmxlX2NyZWRpdHNfY29uc3VtZWRfaW5fdHVybl9zdW1tYXJ5QicKJV9naXRodWJfaW50ZWdyYXRpb25fbm90aWZpY2F0aW9uX2pzb25CJAoiX2VuYWJsZV9kZWVwX2xpbmtfY2hhdF93aXRoX3Byb21wdEIfCh1fZW5hYmxlX2NvbW1pdF9zZXNzaW9uX2V2ZW50c0IjCiFfdXNlX2ludGFrZV9zZXJ2aWNlX2Zvcl9maWxlX3dhbGtCGgoYX2VuYWJsZV9hcHBseV9wYXRjaF90b29sQiUKI19jdXN0b21lcl91aV9zZWNyZXRfbWFuYWdlcl9lbmFibGVkQh4KHF9jaGF0X2lucHV0X2NvbXBsZXRpb25fbW9kZWxCMgowX3ZzY29kZV9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0QjQKMl9pbnRlbGxpal9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0Qi8KLV9jbGlfcHJvbXB0X2VuaGFuY2VyX25ld19lbmRwb2ludF9yb2xsb3V0X3BjdEInCiVfY2xpX2VuYWJsZV93b3JrZXJfdGhyZWFkX3BhdGhfZmlsdGVyQi4KLF9hcGlfcHJveHlfY2xpX25vbl9pbnRlcmFjdGl2ZV9tb2RlX2Rpc2FibGVkQhwKGl9lbmFibGVfc2V0dGluZ3NfaG9tZV9wYWdlQhcKFV9jbGlfZW5hYmxlX2Jhc2hfbW9kZUIjCiFfZW5hYmxlX2NvZGVfcmV2aWV3X3NsYXNoX2NvbW1hbmRCDwoNX2VuYWJsZV9ob29rc0IcChpfZW5hYmxlX2hpZXJhcmNoaWNhbF9ydWxlc0IiCiBfY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZUIYChZfZW5hYmxlX2RlYnVnX2ZlYXR1cmVzQhwKGl9lbmFibGVfcGx1Z2luX21hcmtldHBsYWNlQjgKNl9iZWFjaGhlYWRfZmlsZXN5c3RlbV9jaGFuZ2VfdHJhY2tlcl9tYXhfZ2l0X3Byb2Nlc3Nlc0IfCh1fY2xpX2VuYWJsZV93b3Jrc3BhY2VfY29tbWFuZEIZChdfcHVibGljX2JldGFfb3B0X2luX2FsbEIuCixfcHVibGljX2JldGFfY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZUIaChhfZW5hYmxlX3B1YmxpY19iZXRhX3BhZ2VCJQojX2VuYWJsZV93b3Jrc3BhY2VfY29udmVyc2F0aW9uX3N5bmNCEAoOX2VuYWJsZV9za2lsbHNCHwodX3JlcG9zaXRvcnlfYWxsb3dsaXN0X2VuYWJsZWRCHwodX2NsaV9uZXdfZmVhdHVyZV9hbm5vdW5jZW1lbnRCGQoXX2VuYWJsZV9jdXN0b21fY29tbWFuZHNCGgoYX2NsaV9lbmFibGVfY2xvdWRfYWdlbnRzQjIKMF9lbmFibGVfd29ya3NwYWNlX2NvbnZlcnNhdGlvbl9jaGF0X2hpc3Rvcnlfc3luY0IlCiNfcHVibGljX2JldGFfZW5hYmxlX2N1c3RvbV9jb21tYW5kc0IXChVfZW5hYmxlX21lc3NhZ2VfcXVldWVCGwoZX2VuYWJsZV9zaGFyZWRfZ3VpZGVsaW5lc0I2CjRfdnNjb2RlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbl9wb2xsaW5nX2ludGVydmFsQjgKNl9pbnRlbGxpal91cGRhdGVfdmVyc2lvbl9ub3RpZmljYXRpb25fcG9sbGluZ19pbnRlcnZhbEIVChNfY2xpX2VuYWJsZV9wZXJzb25hQisKKV9jbGlfZW5hYmxlX2xhdW5jaF9wcm9jZXNzX2V2ZW50X2xpc3RlbmVyQiwKKl92c2NvZGVfZW5hYmxlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbkIXChVfY2xpX2VuYWJsZV9wbGFuX21vZGVCIwohX2NvbGRfc3RhcnRfZ2l0X3NoYV9pbmRleF9lbmFibGVkQi4KLF9pbnRlbGxpal9lbmFibGVfdXBkYXRlX3ZlcnNpb25fbm90aWZpY2F0aW9uQh4KHF9lbmFibGVfcmVhZF9wcm9jZXNzX3RyYWNrZXJCIAoeX3JlYWRfcHJvY2Vzc19tYXhfd2FpdF9zZWNvbmRzQicKJV9yZWFkX3Byb2Nlc3Nfc3R1Y2tfcG9sbGluZ190aHJlc2hvbGRCFQoTX2VuYWJsZV9jb21wbGV0aW9uc0ITChFfZW5hYmxlX3N1YmFnZW50c0IbChlfY2xpX2FsbG93X3Rvb2xfb3ZlcnJpZGVzQhsKGV9jbGlfZW5hYmxlX2NvbnRleHRfdXNhZ2VCIAoeX2VuYWJsZV9jb252ZXJzYXRpb25fcmV0cmlldmFsQhkKF19jbGlfZW5hYmxlX2RpZmZfdmlld2VyQiEKH19pbnRlbGxpal9zaWRlY2FyX2VuYWJsZV9zZW50cnlCJwolX2ludGVsbGlqX3NpZGVjYXJfZXJyb3Jfc2FtcGxpbmdfcmF0ZUInCiVfaW50ZWxsaWpfc2lkZWNhcl90cmFjZV9zYW1wbGluZ19yYXRlQhwKGl9jbGlfZW5hYmxlX2FzeW5jX2luZGV4aW5nQhwKGl9wdWJsaWNfYmV0YV9lbmFibGVfc2tpbGxzQiMKIV9wdWJsaWNfYmV0YV9lbmFibGVfbWVzc2FnZV9xdWV1ZUIfCh1fcHVibGljX2JldGFfZW5hYmxlX3N1YmFnZW50c0IaChhfY2xpX2VuYWJsZV9zaG93X2NyZWRpdHNCGwoZX2lkZV9lbmFibGVfYXNrX3VzZXJfdG9vbEIfCh1fZW5hYmxlX2NoYXRfaGlzdG9yeV9yZWNvdmVyeUIlCiNfaW50ZWxsaWpfc3RhdGVfcG9sbGluZ19pbnRlcnZhbF9tc0IjCiFfdnNjb2RlX3N0YXRlX3BvbGxpbmdfaW50ZXJ2YWxfbXNCHQobX2NsaV9kZWZhdWx0X3Bvc2VpZG9uX2FnZW50Qh0KG19jbGlfZW5hYmxlX3Nlc3Npb25fYW5hbHl6ZUITChFfZW5hYmxlX2ZpZ21hX21jcEIaChhfZW5hYmxlX2h5YnJpZF9yZXRyaWV2YWxCHwodX2NvbnZlcnNhdGlvbl9yZXJhbmtpbmdfbW9kZWxCKwopX2JlYWNoaGVhZF9lbmFibGVfcGFyYWxsZWxfdG9vbF9leGVjdXRpb25CHgocX2VuYWJsZV9jb250ZXh0X3dpbmRvd191c2FnZUIgCh5fZW5hYmxlX3BsdWdpbl9tYXJrZXRwbGFjZV9pZGVCDgoMX2VuYWJsZV9ieW9rQhoKGF9wb3NlaWRvbl9kYWVtb25fZW5hYmxlZEIdChtfZW5hYmxlX2NvbnRleHRfdXNhZ2VfbW9kYWxCHQobX3Rvb2xfc2VhcmNoX3N1bW1hcnlfcHJvbXB0Qh8KHV90b29sX3NlYXJjaF9maW5kX3Rvb2xfcHJvbXB0QhsKGV9jbGlfZW5hYmxlX3Nlc3Npb25fc3RhdHNCGgoYX2VuYWJsZV9taWRfc3RyZWFtX3JldHJ5QhEKD19jbGlfZW5hYmxlX2J0d0IbChlfY2xpX2VuYWJsZV9jb250ZXh0X3N0YXRzQh4KHF9lbmFibGVfaWRlX2hhbmRvZmZfdG9fY2xvdWRCJwolX2NsaV9lbmFibGVfY2xvdWRfYWdlbnRfYXNrX3VzZXJfdG9vbEIWChRfdXNlX2FjcF9jb21wbGV0aW9uc0IgCh5fZW5hYmxlX2NvZGViYXNlX3JldHJpZXZhbF9yYXdCEgoQX3dlYnZpZXdfdXNlX2FjcEIeChxfY2xpX2VuYWJsZV9oYW5kb2ZmX3RvX2Nsb3VkQiEKH19zdWJhZ2VudHNfdmlzaWJpbGl0eV9vdmVycmlkZXNCJwolX2NsaV9lbmFibGVfY29sbGFwc2VfbG9uZ19wYXN0ZWRfdGV4dEIYChZfbWF4X3Rvb2xfb3V0cHV0X2J5dGVzQhsKGV9jbGlfY29tcGFjdF90b29sX3N1cmZhY2VCGgoYX2Nvc21vc19lbmFibGVfcmVzaWRlbnRzQhsKGV9jb3Ntb3NfcmVzaWRlbnRfcHJlc2VuY2VCKgooX2NsaV9yZWNvcmRfc3VtbWFyaXphdGlvbnNfYW5kX3N1YmFnZW50c0IeChxfY29zbW9zX21vcmVfY3VzdG9tX3dlYmhvb2tzQiUKI19jbGlfdXNlX3N0cmVhbWluZ192ZnNfZmlsZV9jb250ZW50QhYKFF9jbGlfdHVubmVsX2NvbW1hbmRzQiEKH19jbGlfcG9zZWlkb25fYW5hbHl0aWNzX2VuYWJsZWRCIgogX2NsaV9kYWVtb25fcG9vbF9hY2Nlc3NfY29tbWFuZHNCJAoiX2Nvc21vc19tdWx0aV9yZXBvX2NvbnRleHRfZW5hYmxlZEIiCiBfY29zbW9zX25lc3RlZF9hZ2VudHNfbWRfZW5hYmxlZEIcChpfdmZzX2R1cmFibGVfZmlsZV9pZGVudGl0eUIYChZfaWRlX2V4dGVuc2lvbl9yZXRpcmVkQiUKI19jbGlfZW5hYmxlX3Zmc19jb21tZW50c19wcm9qZWN0aW9uQikKJ19jbGlfc2xlZXBfcmVzdW1lX3dhdGNoZG9nX3RocmVzaG9sZF9tc0IXChVfdmZzX2V4dGVuZGVkX3NoYXJpbmdCIQofX2NsaV9kYWVtb25fYXV0b191cGRhdGVfZW5hYmxlZEIVChNfaWRlX21pZ3JhdGlvbl9tb2RlQiEKH19pZGVfbWlncmF0aW9uX2FuYWx5c2lzX2VuYWJsZWRCHwodX2lkZV9taWdyYXRpb25fYW5hbHlzaXNfbW9kZWxCIwohX2NsaV9lbnZpcm9ubWVudF9zbmFwc2hvdF91cGRhdGVzQioKKF9jb3Ntb3NfY2xpX2JhY2tncm91bmRfc3ViYWdlbnRzX2VuYWJsZWRCGwoZX2NsaV9zZWNyZXRfb2xhY19jb21tYW5kc0IXChVfY2xpX2Rlc2t0b3BfY29tbWFuZHNCIgogX2NsaV9lbmFibGVfc3BhY2VfcGlubmVkX2V4cGVydHNCJgokX3Bvc2VpZG9uX3ByZWZldGNoX3Zmc19iZWZvcmVfYXVnZ2llQhQKEl9jb21wYWN0aW9uX2NvbmZpZ0I0CjJfcG9zZWlkb25faW1hZ2VzX2FzeW5jX2Vudmlyb25tZW50X3JlYnVpbGRfZW5hYmxlZEIbChlfY2xpX3Zmc19iYWxhbmNlZF9zdHJlYW1zQjQKMl9wb3NlaWRvbl9pbWFnZXNfYXN5bmNfZW52aXJvbm1lbnRfcmVmcmVzaF9lbmFibGVkQkEKP19wb3NlaWRvbl9pbWFnZXNfYXN5bmNfZW52aXJvbm1lbnRfcmVwb3NpdG9yeV9yZWNvbmNpbGVfZW5hYmxlZEIUChJfY2xpX3N5bmNfZnJlZV92ZnNCMwoxX3Bvc2VpZG9uX2ltYWdlc19hc3luY19lbnZpcm9ubWVudF91cGRhdGVfZW5hYmxlZEIcChpfY29zbW9zX2F1Z2dpZV9lYXJseV9zdGFydEIuCixfY29zbW9zX2Vudmlyb25tZW50X3J1bnRpbWVfc2VsZWN0b3JfZW5hYmxlZEIaChhfY29zbW9zX21jcF9hZ2VudF9hdHRhY2hCGgoYX2NsaV9zdGFydHVwX2Jhbm5lcl90ZXh0Qh0KG19wb3NlaWRvbl92ZnNfbWF4X2ZpbGVfc2l6ZUIrCilfZW5hYmxlX2NvZGViYXNlX3JldHJpZXZhbF90b29sX2F1Z2dpZV92MkImCiRfY29zbW9zX2F1Z2dpZV9lbmFibGVfY29udGV4dF9lbmdpbmVKBAgCEANKBAgDEARKBAgEEAVKBgiPAhCQAkoECAsQDEoECBAQEUoECCAQIUoECDYQN0oECDgQOUoECDkQOkoECEYQR0oECEgQSUoECFAQUUoECFEQUkoECFUQVkoECF0QXkoECGEQYkoECGYQZ0oECG0QbkoECG4Qb0oGCI4BEI8BSgYIlgEQlwFKBgieARCfAUoGCLoBELsBSgYIuwEQvAFKBgi/ARDAAUoGCMYBEMcBSgYI3QEQ3gFKBgjnARDoAUoGCOkBEOoBSgYI6gEQ6wFKBgj0ARD1AUoGCPsBEPwBSgYIgwIQhAJKBgiwAhCxAkoGCLECELICUhx2c2NvZGVfbmV4dF9lZGl0X21pbl92ZXJzaW9uUhVuZXh0X2VkaXRfZGVib3VuY2VfbXNSKGludGVsbGlqX2NvbXBsZXRpb25zX2hpc3RvcnlfbWluX3ZlcnNpb25SIHZzY29kZV9uZXh0X2VkaXRfdXgxX21heF92ZXJzaW9uUiB2c2NvZGVfbmV4dF9lZGl0X3V4Ml9tYXhfdmVyc2lvblIpdnNjb2RlX25leHRfZWRpdF9ib3R0b21fcGFuZWxfbWluX3ZlcnNpb25SK3ZzY29kZV92aXJ0dWFsaXplZF9tZXNzYWdlX2xpc3RfbWluX3ZlcnNpb25SFWVuYWJsZV9tb2RlbF9yZWdpc3RyeVIObW9kZWxfcmVnaXN0cnlSFGZyYXVkX3NpZ25fZW5kcG9pbnRzUjhnaXRodWJfaW50ZWdyYXRpb25fbm90aWZpY2F0aW9uX29uX2ZpcnN0X21lc3NhZ2VfZW5hYmxlZFInaXNfb25ib2FyZGluZ19mZWF0dXJlX2hpZ2hsaWdodF9lbmFibGVkUi52c2NvZGVfZ2VuZXJhdGVfY29udmVyc2F0aW9uX3RpdGxlX3JvbGxvdXRfcGN0UjBpbnRlbGxpal9nZW5lcmF0ZV9jb252ZXJzYXRpb25fdGl0bGVfcm9sbG91dF9wY3RSHHZzY29kZV9hdXRvX2luZGV4X3Blcm1pc3Npb25SFWVuYWJsZV9jb250ZXh0X2NhbnZhc1IXZW5hYmxlX21jcF9yZWdpc3RyeV9jbGlSGWVuYWJsZV9tY3BfcmVnaXN0cnlfY2xvdWQaxAEKBFVzZXISCgoCaWQYASABKAkSEgoFZW1haWwYAiABKAlIAIgBARIWCgl0ZW5hbnRfaWQYAyABKAlIAYgBARIYCgt0ZW5hbnRfbmFtZRgEIAEoCUgCiAEBEjMKCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQFCCAoGX2VtYWlsQgwKCl90ZW5hbnRfaWRCDgoMX3RlbmFudF9uYW1lQg0KC19jcmVhdGVkX2F0IlcKCFVzZXJUaWVyEgsKB1VOS05PV04QABISCg5DT01NVU5JVFlfVElFUhABEhUKEVBST0ZFU1NJT05BTF9USUVSEAISEwoPRU5URVJQUklTRV9USUVSEANCEAoOX2RlZmF1bHRfbW9kZWxCEAoOX2ZlYXR1cmVfZmxhZ3NCBwoFX3VzZXJCFQoTX2Jvb3RzdHJhcF9zZXR0aW5ncyLUAgoaR2V0T3V0Y29tZUFuYWx5dGljc1JlcXVlc3QSNgoKZGF0ZV9yYW5nZRgBIAEoCzIiLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0RhdGVSYW5nZRIZChF0YWdfZ3JvdXBfYnlfa2V5cxgCIAMoCRI0CgdmaWx0ZXJzGAMgASgLMiMucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzRmlsdGVycxIcChRpbmNsdWRlX2Nvc3RfbWV0cmljcxgEIAEoCBI9CgtncmFudWxhcml0eRgFIAEoDjIoLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1RpbWVHcmFudWxhcml0eRIdChVkaXNhYmxlX2dyb3VwX2J5X25hbWUYBiABKAgSMQoOb3V0Y29tZV9vcmlnaW4YByABKA4yGS5wdWJsaWNfYXBpLk91dGNvbWVPcmlnaW4iWQobR2V0T3V0Y29tZUFuYWx5dGljc1Jlc3BvbnNlEjoKC2RhdGFfcG9pbnRzGAEgAygLMiUucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzRGF0YVBvaW50IiIKIEdldFBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXF1ZXN0IkIKIUdldFBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXNwb25zZRIdChVkZWZhdWx0X2Jhc2VfaW1hZ2VfaWQYASABKAkiIAoeR2V0UG9zZWlkb25Vc2VyU2V0dGluZ3NSZXF1ZXN0In4KH0dldFBvc2VpZG9uVXNlclNldHRpbmdzUmVzcG9uc2USHgoWZGVmYXVsdF9lbnZpcm9ubWVudF9pZBgBIAEoCRI1CgxwaW5uZWRfb3JkZXIYAyADKAsyHy5wdWJsaWNfYXBpLlBvc2VpZG9uUGlubmVkRW50cnlKBAgCEAMihQEKIEdldFJlbW90ZUFnZW50Q2hhdEhpc3RvcnlSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIiChpsYXN0X3Byb2Nlc3NlZF9zZXF1ZW5jZV9pZBgCIAEoDRIWCglwZWVrX29ubHkYAyABKAhIAIgBAUIMCgpfcGVla19vbmx5ItEBCiFHZXRSZW1vdGVBZ2VudENoYXRIaXN0b3J5UmVzcG9uc2USNQoMY2hhdF9oaXN0b3J5GAIgAygLMh8ucHVibGljX2FwaS5SZW1vdGVBZ2VudEV4Y2hhbmdlEhwKD3Nlc3Npb25fc3VtbWFyeRgDIAEoCUgAiAEBEjIKDHJlbW90ZV9hZ2VudBgEIAEoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRIAYgBAUISChBfc2Vzc2lvbl9zdW1tYXJ5Qg8KDV9yZW1vdGVfYWdlbnQihwEKIkdldFJlbW90ZUFnZW50SGlzdG9yeVN0cmVhbVJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEiIKGmxhc3RfcHJvY2Vzc2VkX3NlcXVlbmNlX2lkGAIgASgNEhYKCXBlZWtfb25seRgDIAEoCEgAiAEBQgwKCl9wZWVrX29ubHkiVgojR2V0UmVtb3RlQWdlbnRIaXN0b3J5U3RyZWFtUmVzcG9uc2USLwoHdXBkYXRlcxgBIAMoCzIeLnB1YmxpY19hcGkuQWdlbnRIaXN0b3J5VXBkYXRlIuEBChpHZXRTZXNzaW9uQW5hbHl0aWNzUmVxdWVzdBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEjQKB2ZpbHRlcnMYAiABKAsyIy5wdWJsaWNfYXBpLk91dGNvbWVBbmFseXRpY3NGaWx0ZXJzEhwKFGluY2x1ZGVfY29zdF9tZXRyaWNzGAMgASgIEhEKCXBhZ2Vfc2l6ZRgEIAEoDRISCgpwYWdlX3Rva2VuGAUgASgJEhAKCGFnZW50X2lkGAYgASgJIqgBChtHZXRTZXNzaW9uQW5hbHl0aWNzUmVzcG9uc2USMwoIc2Vzc2lvbnMYASADKAsyIS5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uU3VtbWFyeRI7CgxvYnNlcnZhdGlvbnMYAiADKAsyJS5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uT2JzZXJ2YXRpb24SFwoPbmV4dF9wYWdlX3Rva2VuGAMgASgJIioKFkdldFNlc3Npb25Vc2FnZVJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkijwEKF0dldFNlc3Npb25Vc2FnZVJlc3BvbnNlEjcKFXVzYWdlX2N1cnJlbnRfc2Vzc2lvbhgBIAEoCzIYLnB1YmxpY19hcGkuU2Vzc2lvblVzYWdlEjsKGXVzYWdlX3dpdGhfY2hpbGRfc2Vzc2lvbnMYAiABKAsyGC5wdWJsaWNfYXBpLlNlc3Npb25Vc2FnZSIeChxHZXRTdWJzY3JpcHRpb25CYW5uZXJSZXF1ZXN0Ik4KHUdldFN1YnNjcmlwdGlvbkJhbm5lclJlc3BvbnNlEi0KBmJhbm5lchgBIAEoCzIdLnB1YmxpY19hcGkuQmFubmVySW5mb3JtYXRpb24iHAoaR2V0U3Vic2NyaXB0aW9uSW5mb1JlcXVlc3QisQIKG0dldFN1YnNjcmlwdGlvbkluZm9SZXNwb25zZRI8CgplbnRlcnByaXNlGAEgASgLMiIucHVibGljX2FwaS5FbnRlcnByaXNlU3Vic2NyaXB0aW9uQgIYAUgAEkEKE2FjdGl2ZV9zdWJzY3JpcHRpb24YAiABKAsyHi5wdWJsaWNfYXBpLkFjdGl2ZVN1YnNjcmlwdGlvbkICGAFIABJFChVpbmFjdGl2ZV9zdWJzY3JpcHRpb24YAyABKAsyIC5wdWJsaWNfYXBpLkluYWN0aXZlU3Vic2NyaXB0aW9uQgIYAUgAEjoKE2ZlYXR1cmVfZ2F0aW5nX2luZm8YBCABKAsyHS5wdWJsaWNfYXBpLkZlYXR1cmVHYXRpbmdJbmZvQg4KDHN1YnNjcmlwdGlvbiJaChZHZXRUZW5hbnRTZWNyZXRSZXF1ZXN0EgwKBG5hbWUYASABKAkSHwoOaW5jbHVkZV92YWx1ZXMYAiABKAhCAhgBSACIAQFCEQoPX2luY2x1ZGVfdmFsdWVzIkMKF0dldFRlbmFudFNlY3JldFJlc3BvbnNlEigKBnNlY3JldBgBIAEoCzIYLnB1YmxpY19hcGkuVGVuYW50U2VjcmV0IigKF0dldFRlbmFudFNlY3JldHNSZXF1ZXN0Eg0KBW5hbWVzGAEgAygJIkUKGEdldFRlbmFudFNlY3JldHNSZXNwb25zZRIpCgdzZWNyZXRzGAEgAygLMhgucHVibGljX2FwaS5UZW5hbnRTZWNyZXQiIQofR2V0VGVuYW50VG9vbFBlcm1pc3Npb25zUmVxdWVzdCJqCiBHZXRUZW5hbnRUb29sUGVybWlzc2lvbnNSZXNwb25zZRJGChl0b29sX3Blcm1pc3Npb25zX3NldHRpbmdzGAEgASgLMiMucHVibGljX2FwaS5Ub29sUGVybWlzc2lvbnNTZXR0aW5ncyJvChtHZXRUcmlnZ2VyRXhlY3V0aW9uc1JlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCRISCgVsaW1pdBgCIAEoDUgAiAEBEhMKBm9mZnNldBgDIAEoDUgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0ImUKHEdldFRyaWdnZXJFeGVjdXRpb25zUmVzcG9uc2USMAoKZXhlY3V0aW9ucxgBIAMoCzIcLnB1YmxpY19hcGkuVHJpZ2dlckV4ZWN1dGlvbhITCgt0b3RhbF9jb3VudBgCIAEoDSKTAQoUR2V0VXNlclNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRImCgVzY29wZRgCIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSHwoOaW5jbHVkZV92YWx1ZXMYAyABKAhCAhgBSACIAQESEQoJc2VjcmV0X2lkGAQgASgJQhEKD19pbmNsdWRlX3ZhbHVlcyI/ChVHZXRVc2VyU2VjcmV0UmVzcG9uc2USJgoGc2VjcmV0GAEgASgLMhYucHVibGljX2FwaS5Vc2VyU2VjcmV0Ik4KFUdldFVzZXJTZWNyZXRzUmVxdWVzdBINCgVuYW1lcxgBIAMoCRImCgVzY29wZRgCIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUiQQoWR2V0VXNlclNlY3JldHNSZXNwb25zZRInCgdzZWNyZXRzGAEgAygLMhYucHVibGljX2FwaS5Vc2VyU2VjcmV0IkQKD0dpdERpZmZGaWxlSW5mbxIZChFjb250ZW50X2Jsb2JfbmFtZRgBIAEoCRIWCg5maWxlX2Jsb2JfbmFtZRgCIAEoCSKXAQoOR2l0SHViQ2hlY2tSdW4SCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEgoKY29uY2x1c2lvbhgEIAEoCRISCgpzdGFydGVkX2F0GAUgASgJEhQKDGNvbXBsZXRlZF9hdBgGIAEoCRILCgN1cmwYByABKAkSEAoIaHRtbF91cmwYCCABKAkidgoQR2l0SHViQ2hlY2tTdWl0ZRIQCghhcHBfbmFtZRgBIAEoCRISCgpjb25jbHVzaW9uGAIgASgJEhIKCmNyZWF0ZWRfYXQYAyABKAkSEAoIaHRtbF91cmwYBCABKAkSFgoOY2hlY2tfcnVuc191cmwYBSABKAki3wIKDEdpdEh1YkVudGl0eRIKCgJpZBgBIAEoCRIqCgR0eXBlGAIgASgOMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlUeXBlEjYKCnJlcG9zaXRvcnkYAyABKAsyIi5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVJlcG9zaXRvcnkSEQoJdGltZXN0YW1wGAQgASgJEj4KDHB1bGxfcmVxdWVzdBgFIAEoCzIjLnB1YmxpY19hcGkuR2l0SHViUHVsbFJlcXVlc3RFbnRpdHlIAIgBARI+Cgx3b3JrZmxvd19ydW4YBiABKAsyIy5wdWJsaWNfYXBpLkdpdEh1YldvcmtmbG93UnVuRW50aXR5SAGIAQESGQoMaXNfZGlzbWlzc2VkGAcgASgISAKIAQFCDwoNX3B1bGxfcmVxdWVzdEIPCg1fd29ya2Zsb3dfcnVuQg8KDV9pc19kaXNtaXNzZWQigwEKFkdpdEh1YkVudGl0eVJlcG9zaXRvcnkSDQoFb3duZXIYASABKAkSDAoEbmFtZRgCIAEoCRIRCglmdWxsX25hbWUYAyABKAkSEAoIaHRtbF91cmwYBCABKAkSFgoOZGVmYXVsdF9icmFuY2gYBSABKAkSDwoHcHJpdmF0ZRgGIAEoCCJTChBHaXRIdWJFbnRpdHlVc2VyEg0KBWxvZ2luGAEgASgJEhIKCmF2YXRhcl91cmwYAiABKAkSEAoIaHRtbF91cmwYAyABKAkSCgoCaWQYBCABKAMisgEKEkdpdEh1Yklzc3VlQ29tbWVudBIKCgJpZBgBIAEoAxIsCgZhdXRob3IYAiABKAsyHC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVVzZXISDAoEYm9keRgDIAEoCRISCgpjcmVhdGVkX2F0GAQgASgJEhIKCnVwZGF0ZWRfYXQYBSABKAkSEAoIaHRtbF91cmwYBiABKAkSGgoSYXV0aG9yX2Fzc29jaWF0aW9uGAcgASgJIsAIChdHaXRIdWJQdWxsUmVxdWVzdEVudGl0eRIOCgZudW1iZXIYASABKAUSDQoFdGl0bGUYAiABKAkSDAoEYm9keRgDIAEoCRINCgVzdGF0ZRgEIAEoCRIQCghodG1sX3VybBgFIAEoCRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnVwZGF0ZWRfYXQYByABKAkSFgoJbWVyZ2VkX2F0GAggASgJSACIAQESFgoJY2xvc2VkX2F0GAkgASgJSAGIAQESKgoEdXNlchgKIAEoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchIvCglhc3NpZ25lZXMYCyADKAsyHC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVVzZXISOQoTcmVxdWVzdGVkX3Jldmlld2VycxgMIAMoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchIQCghoZWFkX3JlZhgNIAEoCRIQCghiYXNlX3JlZhgOIAEoCRIQCghoZWFkX3NoYRgPIAEoCRIQCghiYXNlX3NoYRgQIAEoCRIOCgZtZXJnZWQYESABKAgSDQoFZHJhZnQYEiABKAgSDgoGbGFiZWxzGBMgAygJEhAKCGNvbW1lbnRzGBQgASgFEg8KB2NvbW1pdHMYFSABKAUSEQoJYWRkaXRpb25zGBYgASgFEhEKCWRlbGV0aW9ucxgXIAEoBRIVCg1jaGFuZ2VkX2ZpbGVzGBggASgFEhYKCW1lcmdlYWJsZRgZIAEoCEgCiAEBEhcKD21lcmdlYWJsZV9zdGF0ZRgaIAEoCRIyCgxjaGVja19zdWl0ZXMYGyADKAsyHC5wdWJsaWNfYXBpLkdpdEh1YkNoZWNrU3VpdGUSKgoIc3RhdHVzZXMYHCADKAsyGC5wdWJsaWNfYXBpLkdpdEh1YlN0YXR1cxI4Cg9yZXZpZXdfY29tbWVudHMYHSADKAsyHy5wdWJsaWNfYXBpLkdpdEh1YlJldmlld0NvbW1lbnQSNgoOaXNzdWVfY29tbWVudHMYHiADKAsyHi5wdWJsaWNfYXBpLkdpdEh1Yklzc3VlQ29tbWVudBIuCgpjaGVja19ydW5zGB8gAygLMhoucHVibGljX2FwaS5HaXRIdWJDaGVja1J1bhI+Cg9yZXF1aXJlZF9jaGVja3MYICABKAsyIC5wdWJsaWNfYXBpLkdpdEh1YlJlcXVpcmVkQ2hlY2tzSAOIAQESNAoNd29ya2Zsb3dfcnVucxghIAMoCzIdLnB1YmxpY19hcGkuR2l0SHViV29ya2Zsb3dSdW4SKQoHcmV2aWV3cxgiIAMoCzIYLnB1YmxpY19hcGkuR2l0SHViUmV2aWV3QgwKCl9tZXJnZWRfYXRCDAoKX2Nsb3NlZF9hdEIMCgpfbWVyZ2VhYmxlQhIKEF9yZXF1aXJlZF9jaGVja3MisQMKIkdpdEh1YlB1bGxSZXF1ZXN0VHJpZ2dlckNvbmRpdGlvbnMSFwoKcmVwb3NpdG9yeRgBIAEoCUgAiAEBEhMKBmF1dGhvchgCIAEoCUgBiAEBEhUKCGFzc2lnbmVlGAMgASgJSAKIAQESFQoIcmV2aWV3ZXIYBCABKAlIA4gBARIOCgZsYWJlbHMYBSADKAkSGgoOYWN0aXZpdHlfdHlwZXMYBiADKAlCAhgBEhIKBWRyYWZ0GAcgASgISASIAQESGwoOdGl0bGVfY29udGFpbnMYCCABKAlIBYgBARIYCgtiYXNlX2JyYW5jaBgJIAEoCUgGiAEBEhgKC2hlYWRfYnJhbmNoGAogASgJSAeIAQESEgoFZXZlbnQYCyABKAlICIgBARIPCgdhY3Rpb25zGAwgAygJQg0KC19yZXBvc2l0b3J5QgkKB19hdXRob3JCCwoJX2Fzc2lnbmVlQgsKCV9yZXZpZXdlckIICgZfZHJhZnRCEQoPX3RpdGxlX2NvbnRhaW5zQg4KDF9iYXNlX2JyYW5jaEIOCgxfaGVhZF9icmFuY2hCCAoGX2V2ZW50IrYBCg9HaXRIdWJSZWFjdGlvbnMSEAoIcGx1c19vbmUYASABKAUSEQoJbWludXNfb25lGAIgASgFEhAKCGNvbmZ1c2VkGAMgASgFEgwKBGV5ZXMYBCABKAUSDQoFaGVhcnQYBSABKAUSDgoGaG9vcmF5GAYgASgFEg0KBWxhdWdoGAcgASgFEg4KBnJvY2tldBgIIAEoBRITCgt0b3RhbF9jb3VudBgJIAEoBRILCgN1cmwYCiABKAkieAoUR2l0SHViUmVxdWlyZWRDaGVja3MSGQoRcmVxdWlyZWRfY29udGV4dHMYASADKAkSGQoRZW5mb3JjZW1lbnRfbGV2ZWwYAiABKAkSEwoLc3RyaWN0X21vZGUYAyABKAgSFQoNdGFyZ2V0X2JyYW5jaBgEIAEoCSKgAQoMR2l0SHViUmV2aWV3EgoKAmlkGAEgASgDEiwKBmF1dGhvchgCIAEoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchIMCgRib2R5GAMgASgJEg0KBXN0YXRlGAQgASgJEhQKDHN1Ym1pdHRlZF9hdBgFIAEoCRIRCgljb21taXRfaWQYBiABKAkSEAoIaHRtbF91cmwYByABKAkimQUKE0dpdEh1YlJldmlld0NvbW1lbnQSLAoGYXV0aG9yGAEgASgLMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlVc2VyEgwKBGJvZHkYAiABKAkSEgoKY3JlYXRlZF9hdBgDIAEoCRIQCghodG1sX3VybBgEIAEoCRIYCgtsaW5lX251bWJlchgFIAEoBUgAiAEBEhEKBHBhdGgYBiABKAlIAYgBARIWCglkaWZmX2h1bmsYByABKAlIAogBARIVCghwb3NpdGlvbhgIIAEoBUgDiAEBEhYKCWNvbW1pdF9pZBgJIAEoCUgEiAEBEhcKCnN0YXJ0X2xpbmUYCiABKAVIBYgBARIRCgRzaWRlGAsgASgJSAaIAQESCgoCaWQYDCABKAMSEgoKdXBkYXRlZF9hdBgNIAEoCRIuCglyZWFjdGlvbnMYDiABKAsyGy5wdWJsaWNfYXBpLkdpdEh1YlJlYWN0aW9ucxIeChZwdWxsX3JlcXVlc3RfcmV2aWV3X2lkGA8gASgDEhsKDmluX3JlcGx5X3RvX2lkGBAgASgDSAeIAQESCwoDdXJsGBEgASgJEhoKEm9yaWdpbmFsX2NvbW1pdF9pZBgSIAEoCRIaCg1vcmlnaW5hbF9saW5lGBMgASgFSAiIAQESGQoRb3JpZ2luYWxfcG9zaXRpb24YFCABKAUSFAoMc3ViamVjdF90eXBlGBUgASgJQg4KDF9saW5lX251bWJlckIHCgVfcGF0aEIMCgpfZGlmZl9odW5rQgsKCV9wb3NpdGlvbkIMCgpfY29tbWl0X2lkQg0KC19zdGFydF9saW5lQgcKBV9zaWRlQhEKD19pbl9yZXBseV90b19pZEIQCg5fb3JpZ2luYWxfbGluZSKTAQoMR2l0SHViU3RhdHVzEg8KB2NvbnRleHQYASABKAkSDQoFc3RhdGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSFwoKdGFyZ2V0X3VybBgEIAEoCUgAiAEBEhIKCmNyZWF0ZWRfYXQYBSABKAkSEgoKdXBkYXRlZF9hdBgGIAEoCUINCgtfdGFyZ2V0X3VybCIpChRHaXRIdWJUb29sRXh0cmFJbnB1dBIRCglhcGlfdG9rZW4YASABKAkihAIKF0dpdEh1YlRyaWdnZXJDb25kaXRpb25zEjEKC2VudGl0eV90eXBlGAEgASgOMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlUeXBlEkkKDHB1bGxfcmVxdWVzdBgCIAEoCzIuLnB1YmxpY19hcGkuR2l0SHViUHVsbFJlcXVlc3RUcmlnZ2VyQ29uZGl0aW9uc0gAiAEBEkkKDHdvcmtmbG93X3J1bhgDIAEoCzIuLnB1YmxpY19hcGkuR2l0SHViV29ya2Zsb3dSdW5UcmlnZ2VyQ29uZGl0aW9uc0gBiAEBQg8KDV9wdWxsX3JlcXVlc3RCDwoNX3dvcmtmbG93X3J1biK+AQoRR2l0SHViV29ya2Zsb3dSdW4SCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIMCgRwYXRoGAMgASgJEg4KBnN0YXR1cxgEIAEoCRISCgpjb25jbHVzaW9uGAUgASgJEhIKCmNyZWF0ZWRfYXQYBiABKAkSEgoKdXBkYXRlZF9hdBgHIAEoCRILCgN1cmwYCCABKAkSEAoIaHRtbF91cmwYCSABKAkSFgoOY2hlY2tfc3VpdGVfaWQYCiABKAMi6gMKF0dpdEh1YldvcmtmbG93UnVuRW50aXR5EgoKAmlkGAEgASgDEgwKBG5hbWUYAiABKAkSFQoNZGlzcGxheV90aXRsZRgDIAEoCRISCgpydW5fbnVtYmVyGAQgASgFEg0KBWV2ZW50GAUgASgJEg4KBnN0YXR1cxgGIAEoCRIXCgpjb25jbHVzaW9uGAcgASgJSACIAQESEwoLd29ya2Zsb3dfaWQYCCABKAkSFQoNd29ya2Zsb3dfbmFtZRgJIAEoCRIQCghodG1sX3VybBgKIAEoCRISCgpjcmVhdGVkX2F0GAsgASgJEhIKCnVwZGF0ZWRfYXQYDCABKAkSGwoOcnVuX3N0YXJ0ZWRfYXQYDSABKAlIAYgBARIrCgVhY3RvchgOIAEoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchI2ChB0cmlnZ2VyaW5nX2FjdG9yGA8gASgLMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlVc2VyEhMKC2hlYWRfYnJhbmNoGBAgASgJEhAKCGhlYWRfc2hhGBEgASgJEgwKBHBhdGgYEiABKAkSEwoLcnVuX2F0dGVtcHQYEyABKAVCDQoLX2NvbmNsdXNpb25CEQoPX3J1bl9zdGFydGVkX2F0IucCCiJHaXRIdWJXb3JrZmxvd1J1blRyaWdnZXJDb25kaXRpb25zEhcKCnJlcG9zaXRvcnkYASABKAlIAIgBARISCgVhY3RvchgCIAEoCUgBiAEBEh0KEHRyaWdnZXJpbmdfYWN0b3IYAyABKAlIAogBARIRCgl3b3JrZmxvd3MYBCADKAkSEgoFZXZlbnQYBSABKAlIA4gBARITCgZzdGF0dXMYBiABKAlIBIgBARIXCgpjb25jbHVzaW9uGAcgASgJSAWIAQESEwoGYnJhbmNoGAggASgJSAaIAQESGwoOdGl0bGVfY29udGFpbnMYCSABKAlIB4gBAUINCgtfcmVwb3NpdG9yeUIICgZfYWN0b3JCEwoRX3RyaWdnZXJpbmdfYWN0b3JCCAoGX2V2ZW50QgkKB19zdGF0dXNCDQoLX2NvbmNsdXNpb25CCQoHX2JyYW5jaEIRCg9fdGl0bGVfY29udGFpbnMiXwoMR2l0aHViQnJhbmNoEgwKBG5hbWUYASABKAkSLgoGY29tbWl0GAIgASgLMh4ucHVibGljX2FwaS5HaXRodWJCcmFuY2hDb21taXQSEQoJcHJvdGVjdGVkGAMgASgIIi4KEkdpdGh1YkJyYW5jaENvbW1pdBILCgNzaGEYASABKAkSCwoDdXJsGAIgASgJIlgKD0dpdGh1YkNvbW1pdFJlZhIWCg5yZXBvc2l0b3J5X3VybBgBIAEoCRIPCgdnaXRfcmVmGAIgASgJEhIKBXBhdGNoGAMgASgJSACIAQFCCAoGX3BhdGNoIpwDChFHaXRodWJQdWxsUmVxdWVzdBIOCgZudW1iZXIYASABKAUSDQoFdGl0bGUYAiABKAkSDAoEYm9keRgDIAEoCRINCgVzdGF0ZRgEIAEoCRIQCghodG1sX3VybBgFIAEoCRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnVwZGF0ZWRfYXQYByABKAkSEQoJbWVyZ2VkX2F0GAggASgJEhEKCWNsb3NlZF9hdBgJIAEoCRIkCgR1c2VyGAogASgLMhYucHVibGljX2FwaS5HaXRodWJVc2VyEhAKCGhlYWRfcmVmGAsgASgJEhAKCGJhc2VfcmVmGAwgASgJEhAKCGhlYWRfc2hhGA0gASgJEhAKCGJhc2Vfc2hhGA4gASgJEg4KBm1lcmdlZBgPIAEoCBINCgVkcmFmdBgQIAEoCBIQCghjb21tZW50cxgRIAEoBRIPCgdjb21taXRzGBIgASgFEhEKCWFkZGl0aW9ucxgTIAEoBRIRCglkZWxldGlvbnMYFCABKAUSFQoNY2hhbmdlZF9maWxlcxgVIAEoBSKPAQoaR2l0aHViUHVsbFJlcXVlc3RGaWxlRW50cnkSEAoIZmlsZW5hbWUYASABKAkSDgoGc3RhdHVzGAIgASgJEhEKCWFkZGl0aW9ucxgDIAEoBRIRCglkZWxldGlvbnMYBCABKAUSCwoDc2hhGAUgASgJEhIKBXBhdGNoGAYgASgJSACIAQFCCAoGX3BhdGNoIiUKCUdpdGh1YlJlZhILCgN1cmwYASABKAkSCwoDcmVmGAIgASgJIs0BCgpHaXRodWJSZXBvEg0KBW93bmVyGAEgASgJEgwKBG5hbWUYAiABKAkSFQoIaHRtbF91cmwYAyABKAlIAIgBARIXCgpjcmVhdGVkX2F0GAQgASgJSAGIAQESFwoKdXBkYXRlZF9hdBgFIAEoCUgCiAEBEhsKDmRlZmF1bHRfYnJhbmNoGAYgASgJSAOIAQFCCwoJX2h0bWxfdXJsQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0QhEKD19kZWZhdWx0X2JyYW5jaCJBCgpHaXRodWJVc2VyEg0KBWxvZ2luGAEgASgJEhIKCmF2YXRhcl91cmwYAiABKAkSEAoIaHRtbF91cmwYAyABKAkiFgoUSW5hY3RpdmVTdWJzY3JpcHRpb24iTQoaSW5jb3Jwb3JhdGVkRXh0ZXJuYWxTb3VyY2USEwoLc291cmNlX25hbWUYASABKAkSEQoEbGluaxgCIAEoCUgAiAEBQgcKBV9saW5rIj0KFUluZGV4ZWRDb21taXRGaWxlSW5mbxIRCglmaWxlX3BhdGgYASABKAkSEQoJYmxvYl9uYW1lGAIgASgJIjwKEUluZGV4ZWRDb21taXRJbmZvEhIKCmNvbW1pdF9zaGEYASABKAkSEwoLY29tbWl0X3RpbWUYAiABKAkiYgoYSW5zZXJ0Q2hhdEhpc3RvcnlSZXF1ZXN0EhcKD2NvbnZlcnNhdGlvbl9pZBgBIAEoCRItCglleGNoYW5nZXMYAiADKAsyGi5jaGF0LkV4Y2hhbmdlV2l0aE1ldGFkYXRhIsEBChlJbnNlcnRDaGF0SGlzdG9yeVJlc3BvbnNlEjwKB2VudHJpZXMYASADKAsyKy5wdWJsaWNfYXBpLkluc2VydENoYXRIaXN0b3J5UmVzcG9uc2UuRW50cnkaZgoFRW50cnkSDQoFaW5kZXgYASABKAMSIgoGc3RhdHVzGAIgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMSGQoMY29tcG9zaXRlX2lkGAMgASgJSACIAQFCDwoNX2NvbXBvc2l0ZV9pZCKABgoSSW5zdHJ1Y3Rpb25SZXF1ZXN0EhIKBW1vZGVsGAEgASgJSACIAQESDgoGcHJlZml4GAIgASgJEhUKDXNlbGVjdGVkX3RleHQYAyABKAkSDgoGc3VmZml4GAQgASgJEhEKBHBhdGgYBSABKAlIAYgBARITCgtpbnN0cnVjdGlvbhgGIAEoCRIRCgRsYW5nGAcgASgJSAKIAQESFgoJYmxvYl9uYW1lGAggASgJSAOIAQESGQoMcHJlZml4X2JlZ2luGAkgASgFSASIAQESFwoKc3VmZml4X2VuZBgKIAEoBUgFiAEBEhgKC3NlcXVlbmNlX2lkGAsgASgNSAaIAQESIAoFYmxvYnMYDCABKAsyES5wdWJsaWNfYXBpLkJsb2JzEioKDGNoYXRfaGlzdG9yeRgNIAMoCzIULnB1YmxpY19hcGkuRXhjaGFuZ2USFwoKY29kZV9ibG9jaxgOIAEoCUgHiAEBEh0KEHRhcmdldF9maWxlX3BhdGgYDyABKAlICIgBARIgChN0YXJnZXRfZmlsZV9jb250ZW50GBAgASgJSAmIAQESLQogY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWQYESABKAlICogBARIcCg91c2VyX2d1aWRlbGluZXMYEiABKAlIC4gBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgTIAEoCUgMiAEBQggKBl9tb2RlbEIHCgVfcGF0aEIHCgVfbGFuZ0IMCgpfYmxvYl9uYW1lQg8KDV9wcmVmaXhfYmVnaW5CDQoLX3N1ZmZpeF9lbmRCDgoMX3NlcXVlbmNlX2lkQg0KC19jb2RlX2Jsb2NrQhMKEV90YXJnZXRfZmlsZV9wYXRoQhYKFF90YXJnZXRfZmlsZV9jb250ZW50QiMKIV9jb250ZXh0X2NvZGVfZXhjaGFuZ2VfcmVxdWVzdF9pZEISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lcyKLAwoTSW5zdHJ1Y3Rpb25SZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCBIdChByZXBsYWNlbWVudF90ZXh0GAQgASgJSACIAQESIwoWcmVwbGFjZW1lbnRfc3RhcnRfbGluZRgFIAEoDUgBiAEBEiEKFHJlcGxhY2VtZW50X2VuZF9saW5lGAYgASgNSAKIAQESIQoUcmVwbGFjZW1lbnRfb2xkX3RleHQYByABKAlIA4gBARIkChdyZXBsYWNlbWVudF9zZXF1ZW5jZV9pZBgIIAEoDUgEiAEBQhMKEV9yZXBsYWNlbWVudF90ZXh0QhkKF19yZXBsYWNlbWVudF9zdGFydF9saW5lQhcKFV9yZXBsYWNlbWVudF9lbmRfbGluZUIXChVfcmVwbGFjZW1lbnRfb2xkX3RleHRCGgoYX3JlcGxhY2VtZW50X3NlcXVlbmNlX2lkIjYKG0ludGVycnVwdFJlbW90ZUFnZW50UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiTQocSW50ZXJydXB0UmVtb3RlQWdlbnRSZXNwb25zZRItCgZzdGF0dXMYASABKA4yHS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50U3RhdHVzIh8KHUlzVXNlckdpdGh1YkNvbmZpZ3VyZWRSZXF1ZXN0IocBCh5Jc1VzZXJHaXRodWJDb25maWd1cmVkUmVzcG9uc2USFQoNaXNfY29uZmlndXJlZBgBIAEoCBIRCglvYXV0aF91cmwYAiABKAkSIwobY29uZmlndXJlZF9idXRfbmVlZHNfdXBkYXRlGAMgASgIEhYKDnVwZGF0ZWRfc2NvcGVzGAQgASgJIioKDEtleVZhbHVlUGFpchILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiQQoITGFuZ3VhZ2USDAoEbmFtZRgBIAEoCRITCgt2c2NvZGVfbmFtZRgCIAEoCRISCgpleHRlbnNpb25zGAMgAygJIsIBCgxMaW5lYXJFbnRpdHkSCgoCaWQYASABKAkSKgoEdHlwZRgCIAEoDjIcLnB1YmxpY19hcGkuTGluZWFyRW50aXR5VHlwZRIRCgl0aW1lc3RhbXAYAyABKAkSMQoFaXNzdWUYBCABKAsyHS5wdWJsaWNfYXBpLkxpbmVhcklzc3VlRW50aXR5SACIAQESGQoMaXNfZGlzbWlzc2VkGAUgASgISAGIAQFCCAoGX2lzc3VlQg8KDV9pc19kaXNtaXNzZWQidQoRTGluZWFyRW50aXR5TGFiZWwSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhIKBWNvbG9yGAQgASgJSAGIAQFCDgoMX2Rlc2NyaXB0aW9uQggKBl9jb2xvciKCAQoTTGluZWFyRW50aXR5UHJvamVjdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFc3RhdGUYBCABKAkSEAoDdXJsGAUgASgJSAGIAQFCDgoMX2Rlc2NyaXB0aW9uQgYKBF91cmwiYwoQTGluZWFyRW50aXR5VGVhbRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiJ5ChBMaW5lYXJFbnRpdHlVc2VyEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEg0KBWVtYWlsGAQgASgJEhcKCmF2YXRhcl91cmwYBSABKAlIAIgBAUINCgtfYXZhdGFyX3VybCKLAQoZTGluZWFyRW50aXR5V29ya2Zsb3dTdGF0ZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHR5cGUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARISCgVjb2xvchgFIAEoCUgBiAEBQg4KDF9kZXNjcmlwdGlvbkIICgZfY29sb3Ii7wUKEUxpbmVhcklzc3VlRW50aXR5EgoKAmlkGAEgASgJEhIKCmlkZW50aWZpZXIYAiABKAkSDQoFdGl0bGUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIQCghwcmlvcml0eRgFIAEoBRILCgN1cmwYBiABKAkSEgoKY3JlYXRlZF9hdBgHIAEoCRISCgp1cGRhdGVkX2F0GAggASgJEhcKCnN0YXJ0ZWRfYXQYCSABKAlIAYgBARIZCgxjb21wbGV0ZWRfYXQYCiABKAlIAogBARIYCgtjYW5jZWxlZF9hdBgLIAEoCUgDiAEBEhUKCGR1ZV9kYXRlGAwgASgJSASIAQESFQoIZXN0aW1hdGUYDSABKAFIBYgBARItCgdjcmVhdG9yGA4gASgLMhwucHVibGljX2FwaS5MaW5lYXJFbnRpdHlVc2VyEjMKCGFzc2lnbmVlGA8gASgLMhwucHVibGljX2FwaS5MaW5lYXJFbnRpdHlVc2VySAaIAQESKgoEdGVhbRgQIAEoCzIcLnB1YmxpY19hcGkuTGluZWFyRW50aXR5VGVhbRI0CgVzdGF0ZRgRIAEoCzIlLnB1YmxpY19hcGkuTGluZWFyRW50aXR5V29ya2Zsb3dTdGF0ZRI1Cgdwcm9qZWN0GBIgASgLMh8ucHVibGljX2FwaS5MaW5lYXJFbnRpdHlQcm9qZWN0SAeIAQESLQoGbGFiZWxzGBMgAygLMh0ucHVibGljX2FwaS5MaW5lYXJFbnRpdHlMYWJlbBIVCg1jb21tZW50X2NvdW50GBQgASgFEhgKEHN1YnNjcmliZXJfY291bnQYFSABKAVCDgoMX2Rlc2NyaXB0aW9uQg0KC19zdGFydGVkX2F0Qg8KDV9jb21wbGV0ZWRfYXRCDgoMX2NhbmNlbGVkX2F0QgsKCV9kdWVfZGF0ZUILCglfZXN0aW1hdGVCCwoJX2Fzc2lnbmVlQgoKCF9wcm9qZWN0IosDChxMaW5lYXJJc3N1ZVRyaWdnZXJDb25kaXRpb25zEhEKBHRlYW0YASABKAlIAIgBARIUCgdjcmVhdG9yGAIgASgJSAGIAQESFQoIYXNzaWduZWUYAyABKAlIAogBARIOCgZzdGF0ZXMYBCADKAkSEwoLc3RhdGVfdHlwZXMYBSADKAkSEgoKcHJpb3JpdGllcxgGIAMoBRIOCgZsYWJlbHMYByADKAkSFAoHcHJvamVjdBgIIAEoCUgDiAEBEhYKDmFjdGl2aXR5X3R5cGVzGAkgAygJEhsKDnRpdGxlX2NvbnRhaW5zGAogASgJSASIAQESGQoMbWluX2VzdGltYXRlGAsgASgBSAWIAQESGQoMbWF4X2VzdGltYXRlGAwgASgBSAaIAQFCBwoFX3RlYW1CCgoIX2NyZWF0b3JCCwoJX2Fzc2lnbmVlQgoKCF9wcm9qZWN0QhEKD190aXRsZV9jb250YWluc0IPCg1fbWluX2VzdGltYXRlQg8KDV9tYXhfZXN0aW1hdGUiKQoUTGluZWFyVG9vbEV4dHJhSW5wdXQSEQoJYXBpX3Rva2VuGAEgASgJIpQBChdMaW5lYXJUcmlnZ2VyQ29uZGl0aW9ucxIxCgtlbnRpdHlfdHlwZRgBIAEoDjIcLnB1YmxpY19hcGkuTGluZWFyRW50aXR5VHlwZRI8CgVpc3N1ZRgCIAEoCzIoLnB1YmxpY19hcGkuTGluZWFySXNzdWVUcmlnZ2VyQ29uZGl0aW9uc0gAiAEBQggKBl9pc3N1ZSIeChxMaXN0QWdlbnRDYXBhYmlsaXRpZXNSZXF1ZXN0IlgKHUxpc3RBZ2VudENhcGFiaWxpdGllc1Jlc3BvbnNlEjcKEmFnZW50X2NhcGFiaWxpdGllcxgBIAMoCzIbLnB1YmxpY19hcGkuQWdlbnRDYXBhYmlsaXR5IhoKGExpc3RBZ2VudFBlcnNvbmFzUmVxdWVzdCJNChlMaXN0QWdlbnRQZXJzb25hc1Jlc3BvbnNlEjAKDmFnZW50X3BlcnNvbmFzGAEgAygLMhgucHVibGljX2FwaS5BZ2VudFBlcnNvbmEi7QIKFkxpc3RDaGF0SGlzdG9yeVJlcXVlc3QSFwoPY29udmVyc2F0aW9uX2lkGAEgASgJEjgKD3N0YXJ0X3RpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI2Cg1lbmRfdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhsKDmV4Y2x1ZGVfc2lsZW50GAQgASgISAKIAQESEgoFbGltaXQYBSABKAVIA4gBARIuCiFleGNsdWRlX3JldHJpZWRfc3RvcHBlZF9leGNoYW5nZXMYBiABKAhIBIgBAUISChBfc3RhcnRfdGltZXN0YW1wQhAKDl9lbmRfdGltZXN0YW1wQhEKD19leGNsdWRlX3NpbGVudEIICgZfbGltaXRCJAoiX2V4Y2x1ZGVfcmV0cmllZF9zdG9wcGVkX2V4Y2hhbmdlcyI/ChdMaXN0Q2hhdEhpc3RvcnlSZXNwb25zZRIkCgxjaGF0X2hpc3RvcnkYASADKAsyDi5jaGF0LkV4Y2hhbmdlIjAKGExpc3RDb252ZXJzYXRpb25zUmVxdWVzdBIUCgx3b3Jrc3BhY2VfaWQYASABKAkiUAoZTGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZRIzCg1jb252ZXJzYXRpb25zGAEgAygLMhwucHVibGljX2FwaS5Db252ZXJzYXRpb25JbmZvIiAKHkxpc3RFeHRlcm5hbFNvdXJjZVR5cGVzUmVxdWVzdCJXCh9MaXN0RXh0ZXJuYWxTb3VyY2VUeXBlc1Jlc3BvbnNlEjQKDHNvdXJjZV90eXBlcxgBIAMoDjIeLnB1YmxpY19hcGkuRXh0ZXJuYWxTb3VyY2VUeXBlImEKHUxpc3RHaXRodWJSZXBvQnJhbmNoZXNSZXF1ZXN0EiQKBHJlcG8YASABKAsyFi5wdWJsaWNfYXBpLkdpdGh1YlJlcG8SEQoEcGFnZRgCIAEoBUgAiAEBQgcKBV9wYWdlInYKHkxpc3RHaXRodWJSZXBvQnJhbmNoZXNSZXNwb25zZRIqCghicmFuY2hlcxgBIAMoCzIYLnB1YmxpY19hcGkuR2l0aHViQnJhbmNoEhUKDWhhc19uZXh0X3BhZ2UYAiABKAgSEQoJbmV4dF9wYWdlGAMgASgFIkgKKkxpc3RHaXRodWJSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyUmVxdWVzdBIRCgRwYWdlGAEgASgFSACIAQFCBwoFX3BhZ2UifgorTGlzdEdpdGh1YlJlcG9zRm9yQXV0aGVudGljYXRlZFVzZXJSZXNwb25zZRIlCgVyZXBvcxgBIAMoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbxIVCg1oYXNfbmV4dF9wYWdlGAIgASgIEhEKCW5leHRfcGFnZRgDIAEoBSJKCh1MaXN0R2l0aHViU2V0dXBTY3JpcHRzUmVxdWVzdBIpCgpnaXRodWJfcmVmGAEgASgLMhUucHVibGljX2FwaS5HaXRodWJSZWYiNgoeTGlzdEdpdGh1YlNldHVwU2NyaXB0c1Jlc3BvbnNlEhQKDHNjcmlwdF9wYXRocxgBIAMoCSKuAgobTGlzdFB1bGxSZXF1ZXN0RmlsZXNSZXF1ZXN0EhIKCnJlcG9zaXRvcnkYASABKAkSEQoJcHJfbnVtYmVyGAIgASgFEhEKBHBhZ2UYAyABKAVIAIgBARIVCghwZXJfcGFnZRgEIAEoBUgBiAEBEhoKDWluY2x1ZGVfcGF0Y2gYBSABKAhIAogBARIcCg9tYXhfcGF0Y2hfYnl0ZXMYBiABKAVIA4gBARIoChtpbmNsdWRlX3RvdGFsX2NoYW5nZWRfZmlsZXMYByABKAhIBIgBAUIHCgVfcGFnZUILCglfcGVyX3BhZ2VCEAoOX2luY2x1ZGVfcGF0Y2hCEgoQX21heF9wYXRjaF9ieXRlc0IeChxfaW5jbHVkZV90b3RhbF9jaGFuZ2VkX2ZpbGVzIscBChxMaXN0UHVsbFJlcXVlc3RGaWxlc1Jlc3BvbnNlEjUKBWZpbGVzGAEgAygLMiYucHVibGljX2FwaS5HaXRodWJQdWxsUmVxdWVzdEZpbGVFbnRyeRIQCghoYXNfbW9yZRgCIAEoCBIWCgluZXh0X3BhZ2UYAyABKAVIAIgBARIgChN0b3RhbF9jaGFuZ2VkX2ZpbGVzGAQgASgFSAGIAQFCDAoKX25leHRfcGFnZUIWChRfdG90YWxfY2hhbmdlZF9maWxlcyIZChdMaXN0UmVtb3RlQWdlbnRzUmVxdWVzdCKHAQoYTGlzdFJlbW90ZUFnZW50c1Jlc3BvbnNlEi4KDXJlbW90ZV9hZ2VudHMYASADKAsyFy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50EhkKEW1heF9yZW1vdGVfYWdlbnRzGAIgASgFEiAKGG1heF9hY3RpdmVfcmVtb3RlX2FnZW50cxgDIAEoBSJ5Ch1MaXN0UmVtb3RlQWdlbnRzU3RyZWFtUmVxdWVzdBI+ChVsYXN0X3VwZGF0ZV90aW1lc3RhbXAYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCGAoWX2xhc3RfdXBkYXRlX3RpbWVzdGFtcCJOCh5MaXN0UmVtb3RlQWdlbnRzU3RyZWFtUmVzcG9uc2USLAoHdXBkYXRlcxgBIAMoCzIbLnB1YmxpY19hcGkuQWdlbnRMaXN0VXBkYXRlImIKFkxpc3RSZW1vdGVUb29sc1JlcXVlc3QSNwoMdG9vbF9pZF9saXN0GAEgASgLMhwucHVibGljX2FwaS5SZW1vdGVUb29sSWRMaXN0SACIAQFCDwoNX3Rvb2xfaWRfbGlzdCJUChdMaXN0UmVtb3RlVG9vbHNSZXNwb25zZRI5CgV0b29scxgBIAMoCzIqLnB1YmxpY19hcGkuTGlzdFJlbW90ZVRvb2xzUmVzcG9uc2VNZXNzYWdlIogCCh5MaXN0UmVtb3RlVG9vbHNSZXNwb25zZU1lc3NhZ2USMwoPdG9vbF9kZWZpbml0aW9uGAEgASgLMhoucHVibGljX2FwaS5Ub29sRGVmaW5pdGlvbhIwCg5yZW1vdGVfdG9vbF9pZBgCIAEoDjIYLnB1YmxpY19hcGkuUmVtb3RlVG9vbElkEj8KE2F2YWlsYWJpbGl0eV9zdGF0dXMYAyABKA4yIi5wdWJsaWNfYXBpLlRvb2xBdmFpbGFiaWxpdHlTdGF0dXMSKwoLdG9vbF9zYWZldHkYBCABKA4yFi5wdWJsaWNfYXBpLlRvb2xTYWZldHkSEQoJb2F1dGhfdXJsGAUgASgJIqUCCg9MaXN0VGFnc1JlcXVlc3QSLgoIdGFnX3R5cGUYASABKA4yHC5wdWJsaWNfYXBpLkFuYWx5dGljc1RhZ1R5cGUSNgoKZGF0ZV9yYW5nZRgCIAEoCzIiLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0RhdGVSYW5nZRI4Cgxjb3N0X2ZpbHRlcnMYAyABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkZpbHRlcnMSPAoPb3V0Y29tZV9maWx0ZXJzGAQgASgLMiMucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzRmlsdGVycxIWCg5pbmNsdWRlX3ZhbHVlcxgFIAEoCBIaChJtYXhfdmFsdWVzX3Blcl90YWcYBiABKA0iQQoQTGlzdFRhZ3NSZXNwb25zZRItCgR0YWdzGAEgAygLMh8ucHVibGljX2FwaS5BbmFseXRpY3NUYWdTdW1tYXJ5Ip8BChhMaXN0VGVuYW50U2VjcmV0c1JlcXVlc3QSFAoMbmFtZV9wYXR0ZXJuGAEgASgJEioKC3RhZ19maWx0ZXJzGAIgAygLMhUucHVibGljX2FwaS5UYWdGaWx0ZXISGgoOaW5jbHVkZV92YWx1ZXMYAyABKAhCAhgBEhEKCXBhZ2Vfc2l6ZRgEIAEoBRISCgpwYWdlX3Rva2VuGAUgASgJInQKGUxpc3RUZW5hbnRTZWNyZXRzUmVzcG9uc2USKQoHc2VjcmV0cxgBIAMoCzIYLnB1YmxpY19hcGkuVGVuYW50U2VjcmV0EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCRITCgt0b3RhbF9jb3VudBgDIAEoBSIVChNMaXN0VHJpZ2dlcnNSZXF1ZXN0Ij0KFExpc3RUcmlnZ2Vyc1Jlc3BvbnNlEiUKCHRyaWdnZXJzGAEgAygLMhMucHVibGljX2FwaS5UcmlnZ2VyIukBChZMaXN0VXNlclNlY3JldHNSZXF1ZXN0EhQKDG5hbWVfcGF0dGVybhgBIAEoCRIqCgt0YWdfZmlsdGVycxgCIAMoCzIVLnB1YmxpY19hcGkuVGFnRmlsdGVyEhoKDmluY2x1ZGVfdmFsdWVzGAMgASgIQgIYARIRCglwYWdlX3NpemUYBCABKAUSEgoKcGFnZV90b2tlbhgFIAEoCRImCgVzY29wZRgGIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSFQoIc3BhY2VfaWQYByABKAlIAIgBAUILCglfc3BhY2VfaWQiyAEKF0xpc3RVc2VyU2VjcmV0c1Jlc3BvbnNlEicKB3NlY3JldHMYASADKAsyFi5wdWJsaWNfYXBpLlVzZXJTZWNyZXQSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEhMKC3RvdGFsX2NvdW50GAMgASgFEigKIHNlY3JldF9zY29wZWRfcmVzb2x1dGlvbl9lbmFibGVkGAQgASgIEiwKJHNlY3JldF9tdWx0aV9zcGFjZV90YXJnZXRpbmdfZW5hYmxlZBgFIAEoCCIXChVMaXN0V29ya3NwYWNlc1JlcXVlc3QiRwoWTGlzdFdvcmtzcGFjZXNSZXNwb25zZRItCgp3b3Jrc3BhY2VzGAEgAygLMhkucHVibGljX2FwaS5Xb3Jrc3BhY2VJbmZvIm4KHU1hcmtOb3RpZmljYXRpb25Bc1JlYWRSZXF1ZXN0EhcKD25vdGlmaWNhdGlvbl9pZBgBIAEoCRIeChFhY3Rpb25faXRlbV90aXRsZRgCIAEoCUgAiAEBQhQKEl9hY3Rpb25faXRlbV90aXRsZSIgCh5NYXJrTm90aWZpY2F0aW9uQXNSZWFkUmVzcG9uc2UijAEKF01jcENhdGFsb2dNZXRhZGF0YUVudHJ5EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEQoJYXV0aF90eXBlGAQgASgJEi8KBXN0YXRlGAUgASgOMiAucHVibGljX2FwaS5NY3BDYXRhbG9nRW50cnlTdGF0ZSLmAQoJTWNwQ29uZmlnEgoKAmlkGAEgASgJEjAKBmNvbmZpZxgCIAEoCzIgLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRNY3BDb25maWcSNAoQZW5hYmxlZF9wcm9kdWN0cxgDIAMoDjIaLnB1YmxpY19hcGkuTWNwUHJvZHVjdFR5cGUSHQoVaGFzX29hdXRoX2NyZWRlbnRpYWxzGAQgASgIEhUKCHNwYWNlX2lkGAUgASgJSACIAQESFQoIYWRkZWRfYnkYBiABKAlIAYgBAUILCglfc3BhY2VfaWRCCwoJX2FkZGVkX2J5Iq8BCglNY3BTZWNyZXQSDQoFdmFsdWUYASABKAkSLQoEdGFncxgCIAMoCzIfLnB1YmxpY19hcGkuTWNwU2VjcmV0LlRhZ3NFbnRyeRIPCgd2ZXJzaW9uGAMgASgJEiYKBXNjb3BlGAQgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKAAwoPTWNwU2VydmVyQ29uZmlnEhQKB2NvbW1hbmQYASABKAlIAIgBARIMCgRhcmdzGAIgAygJEhcKCnRpbWVvdXRfbXMYAyABKAVIAYgBARIxCgNlbnYYBCADKAsyJC5wdWJsaWNfYXBpLk1jcFNlcnZlckNvbmZpZy5FbnZFbnRyeRIkChd1c2Vfc2hlbGxfaW50ZXJwb2xhdGlvbhgFIAEoCEgCiAEBEhEKBG5hbWUYBiABKAlIA4gBARIVCghkaXNhYmxlZBgHIAEoCEgEiAEBEhEKBHR5cGUYCCABKAlIBYgBARIQCgN1cmwYCSABKAlIBogBARoqCghFbnZFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgoKCF9jb21tYW5kQg0KC190aW1lb3V0X21zQhoKGF91c2Vfc2hlbGxfaW50ZXJwb2xhdGlvbkIHCgVfbmFtZUILCglfZGlzYWJsZWRCBwoFX3R5cGVCBgoEX3VybCJSChpNY3BTZXJ2ZXJQcm9kdWN0UHJlZmVyZW5jZRI0ChBlbmFibGVkX3Byb2R1Y3RzGAEgAygOMhoucHVibGljX2FwaS5NY3BQcm9kdWN0VHlwZSJjCg9NZW1vcml6ZVJlcXVlc3QSEQoFbW9kZWwYASABKAlCAhgBEgkKAXQYAiABKAkSDAoEcGF0aBgDIAEoCRIWCglibG9iX25hbWUYBCABKAlIAIgBAUIMCgpfYmxvYl9uYW1lIisKEE1lbW9yaXplUmVzcG9uc2USFwoPbWVtX29iamVjdF9uYW1lGAEgASgJIqIBCh1NaWdyYXRlVXNlclNlY3JldFNjb3BlUmVxdWVzdBIMCgRuYW1lGAEgASgJEi0KDHNvdXJjZV9zY29wZRgCIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSLQoMdGFyZ2V0X3Njb3BlGAMgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRIVCg1kZWxldGVfc291cmNlGAQgASgIImAKHk1pZ3JhdGVVc2VyU2VjcmV0U2NvcGVSZXNwb25zZRImCgZzZWNyZXQYASABKAsyFi5wdWJsaWNfYXBpLlVzZXJTZWNyZXQSFgoOc291cmNlX2RlbGV0ZWQYAiABKAgi1AEKBU1vZGVsEiMKG3N1Z2dlc3RlZF9wcmVmaXhfY2hhcl9jb3VudBgBIAEoDRIjChtzdWdnZXN0ZWRfc3VmZml4X2NoYXJfY291bnQYAiABKA0SHwoXbWF4X21lbW9yaXplX3NpemVfYnl0ZXMYAyABKA0SDAoEbmFtZRgFIAEoCRIaCg1pbnRlcm5hbF9uYW1lGAYgASgJSACIAQESEgoKaXNfZGVmYXVsdBgHIAEoCEIQCg5faW50ZXJuYWxfbmFtZUoECAQQBUoECAoQC0oECAsQDCLPAQoMTm90aWZpY2F0aW9uEiwKBWxldmVsGAEgASgOMh0ucHVibGljX2FwaS5Ob3RpZmljYXRpb25MZXZlbBIPCgdtZXNzYWdlGAIgASgJEiwKDGFjdGlvbl9pdGVtcxgDIAMoCzIWLnB1YmxpY19hcGkuQWN0aW9uSXRlbRIXCg9ub3RpZmljYXRpb25faWQYBiABKAkSOQoMZGlzcGxheV90eXBlGAcgASgOMiMucHVibGljX2FwaS5Ob3RpZmljYXRpb25EaXNwbGF5VHlwZSIpChROb3Rpb25Ub29sRXh0cmFJbnB1dBIRCglhcGlfdG9rZW4YASABKAkiXQoWT25ib2FyZGluZ1Nlc3Npb25FdmVudBIWCg5ldmVudF90aW1lX3NlYxgBIAEoAxIXCg9ldmVudF90aW1lX25zZWMYAiABKAUSEgoKZXZlbnRfbmFtZRgDIAEoCSJRChtPbmJvYXJkaW5nU2Vzc2lvbkV2ZW50QmF0Y2gSMgoGZXZlbnRzGAEgAygLMiIucHVibGljX2FwaS5PbmJvYXJkaW5nU2Vzc2lvbkV2ZW50IiAKHk9uYm9hcmRpbmdTZXNzaW9uRXZlbnRSZXNwb25zZSL/AQoZT3V0Y29tZUFuYWx5dGljc0RhdGFQb2ludBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEjMKD291dGNvbWVfbWV0cmljcxgCIAEoCzIaLnB1YmxpY19hcGkuT3V0Y29tZU1ldHJpY3MSQgoPZ3JvdXBfYnlfdmFsdWVzGAMgASgLMikucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzR3JvdXBCeVZhbHVlcxIxCgdtZXRyaWNzGAQgASgLMiAucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzTWV0cmljcyJkChdPdXRjb21lQW5hbHl0aWNzRmlsdGVycxINCgVuYW1lcxgBIAMoCRI6Cgt0YWdfZmlsdGVycxgCIAMoCzIlLnB1YmxpY19hcGkuT3V0Y29tZUFuYWx5dGljc1RhZ0ZpbHRlciLJAgodT3V0Y29tZUFuYWx5dGljc0dyb3VwQnlWYWx1ZXMSDAoEbmFtZRgBIAEoCRJBCgR0YWdzGAIgAygLMjMucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzR3JvdXBCeVZhbHVlcy5UYWdzRW50cnkSWwoSdGFnX2Rpc3BsYXlfdmFsdWVzGAMgAygLMj8ucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzR3JvdXBCeVZhbHVlcy5UYWdEaXNwbGF5VmFsdWVzRW50cnkSFAoMZGlzcGxheV9uYW1lGAQgASgJGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjcKFVRhZ0Rpc3BsYXlWYWx1ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBInUKGU91dGNvbWVBbmFseXRpY3NUYWdGaWx0ZXISCwoDa2V5GAEgASgJEg4KBnZhbHVlcxgCIAMoCRI7CgtmaWx0ZXJfdHlwZRgDIAEoDjImLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1RhZ0ZpbHRlclR5cGUiggEKDk91dGNvbWVNZXRyaWNzEhkKEW9ic2VydmF0aW9uX2NvdW50GAEgASgEEh4KFmRpc3RpbmN0X3N1YmplY3RfY291bnQYAiABKAQSNQoHbWV0cmljcxgDIAMoCzIkLnB1YmxpY19hcGkuQWdncmVnYXRlZE91dGNvbWVNZXRyaWNzIpUEChlPdXRjb21lU2Vzc2lvbk9ic2VydmF0aW9uEhAKCGV2ZW50X2lkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHc3ViamVjdBgDIAEoCRIUCgxzdWJqZWN0X3R5cGUYBCABKAkSDgoGc291cmNlGAUgASgJEi8KC29ic2VydmVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCgl0YWdzX2pzb24YByABKAkSUAoOZWZmZWN0aXZlX3RhZ3MYCSADKAsyOC5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uT2JzZXJ2YXRpb24uRWZmZWN0aXZlVGFnc0VudHJ5EmoKHGVmZmVjdGl2ZV90YWdfZGlzcGxheV92YWx1ZXMYCiADKAsyRC5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uT2JzZXJ2YXRpb24uRWZmZWN0aXZlVGFnRGlzcGxheVZhbHVlc0VudHJ5EhUKDW1ldGFkYXRhX2pzb24YCyABKAkaNAoSRWZmZWN0aXZlVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaQAoeRWZmZWN0aXZlVGFnRGlzcGxheVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgIEAlSCnZhbHVlX2pzb24iyQQKFU91dGNvbWVTZXNzaW9uU3VtbWFyeRI1ChFmaXJzdF9vYnNlcnZlZF9hdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQbGFzdF9vYnNlcnZlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoRb2JzZXJ2YXRpb25fY291bnQYAyABKAQSHgoWZGlzdGluY3Rfc3ViamVjdF9jb3VudBgEIAEoBBIVCg1vdXRjb21lX25hbWVzGAUgAygJEkwKDmVmZmVjdGl2ZV90YWdzGAYgAygLMjQucHVibGljX2FwaS5PdXRjb21lU2Vzc2lvblN1bW1hcnkuRWZmZWN0aXZlVGFnc0VudHJ5EjEKB21ldHJpY3MYByABKAsyIC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NNZXRyaWNzEmYKHGVmZmVjdGl2ZV90YWdfZGlzcGxheV92YWx1ZXMYCCADKAsyQC5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uU3VtbWFyeS5FZmZlY3RpdmVUYWdEaXNwbGF5VmFsdWVzRW50cnkSEAoIYWdlbnRfaWQYCSABKAkaNAoSRWZmZWN0aXZlVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaQAoeRWZmZWN0aXZlVGFnRGlzcGxheVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEibwoSUGVyRmlsZUNoYW5nZVN0YXRzEhEKCWZpbGVfcGF0aBgBIAEoCRIXCg9pbnNlcnRpb25fY291bnQYAiABKAUSFgoOZGVsZXRpb25fY291bnQYAyABKAUSFQoNb2xkX2ZpbGVfcGF0aBgEIAEoCSK9AQoXUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSGgoSY2hhbmdlZF9maWxlX2NvdW50GAEgASgFEkIKGnBlcl9maWxlX2NoYW5nZV9zdGF0c19oZWFkGAIgAygLMh4ucHVibGljX2FwaS5QZXJGaWxlQ2hhbmdlU3RhdHMSQgoacGVyX2ZpbGVfY2hhbmdlX3N0YXRzX3RhaWwYAyADKAsyHi5wdWJsaWNfYXBpLlBlckZpbGVDaGFuZ2VTdGF0cyIvChlQaW5Qb3NlaWRvblNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkiHAoaUGluUG9zZWlkb25TZXNzaW9uUmVzcG9uc2UiPQoTUG9zZWlkb25QaW5uZWRFbnRyeRISCgpzZXNzaW9uX2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkiogEKEFByZWZlcmVuY2VTYW1wbGUSEwoLcmVxdWVzdF9pZHMYASADKAkSOAoGc2NvcmVzGAIgAygLMigucHVibGljX2FwaS5QcmVmZXJlbmNlU2FtcGxlLlNjb3Jlc0VudHJ5EhAKCGZlZWRiYWNrGAMgASgJGi0KC1Njb3Jlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEiGgoYUHJlZmVyZW5jZVNhbXBsZVJlc3BvbnNlIl0KFVByb2Nlc3NXZWJob29rUmVxdWVzdBISCgp3ZWJob29rX2lkGAEgASgJEg8KB2hlYWRlcnMYAiABKAkSDAoEYm9keRgDIAEoCRIRCglzb3VyY2VfaXAYBCABKAkiKQoWUHJvY2Vzc1dlYmhvb2tSZXNwb25zZRIPCgdtZXNzYWdlGAEgASgJIiMKBVJhbmdlEg0KBXN0YXJ0GAEgASgFEgsKA2VuZBgCIAEoBSJjChFSYXdSZXRyaWV2YWxRdWVyeRITCgtkZXNjcmlwdGlvbhgBIAEoCRIMCgRwYXRoGAIgASgJEhcKD2NvbnRhaW5zX3N0cmluZxgDIAEoCRISCgptYXhfY2h1bmtzGAQgASgFIoYCChFSYXdSZXRyaWV2ZWRDaHVuaxIMCgR0ZXh0GAEgASgJEgwKBHBhdGgYAiABKAkSEgoKY2hhcl9zdGFydBgDIAEoBRIQCghjaGFyX2VuZBgEIAEoBRISCgpsaW5lX3N0YXJ0GAUgASgFEhcKD2xlbmd0aF9pbl9saW5lcxgGIAEoBRIRCglibG9iX25hbWUYByABKAkSDQoFc2NvcmUYCCABKAISDgoGb3JpZ2luGAkgASgJEhYKDm1hdGNoZWRfc3RyaW5nGAogASgJEhoKEmV4dGVybmFsX3NvdXJjZV9pZBgLIAEoCRIcChRleHRlcm5hbF9zb3VyY2VfbmFtZRgMIAEoCSJeChxSZWFkR2l0aHViU2V0dXBTY3JpcHRSZXF1ZXN0EikKCmdpdGh1Yl9yZWYYASABKAsyFS5wdWJsaWNfYXBpLkdpdGh1YlJlZhITCgtzY3JpcHRfcGF0aBgCIAEoCSIwCh1SZWFkR2l0aHViU2V0dXBTY3JpcHRSZXNwb25zZRIPCgdjb250ZW50GAEgASgJIhoKGFJlYWROb3RpZmljYXRpb25zUmVxdWVzdCJMChlSZWFkTm90aWZpY2F0aW9uc1Jlc3BvbnNlEi8KDW5vdGlmaWNhdGlvbnMYASADKAsyGC5wdWJsaWNfYXBpLk5vdGlmaWNhdGlvbiLrAQoLUmVjZW5jeUluZm8SNQoRdGFiX3N3aXRjaF9ldmVudHMYASADKAsyGi5wdWJsaWNfYXBpLlRhYlN3aXRjaEV2ZW50EjcKEmdpdF9kaWZmX2ZpbGVfaW5mbxgCIAMoCzIbLnB1YmxpY19hcGkuR2l0RGlmZkZpbGVJbmZvEjMKDnJlY2VudF9jaGFuZ2VzGAMgAygLMhsucHVibGljX2FwaS5SZXBsYWNlbWVudFRleHQSNwoPdmlld2VkX2NvbnRlbnRzGAQgAygLMh4ucHVibGljX2FwaS5WaWV3ZWRDb250ZW50RXZlbnQicQokUmVjb3JkUG9zZWlkb25BbmFseXRpY3NFdmVudHNSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJEjcKBmV2ZW50cxgCIAMoCzInLnJlcXVlc3RfaW5zaWdodC5Qb3NlaWRvbkFuYWx5dGljc0V2ZW50IicKJVJlY29yZFBvc2VpZG9uQW5hbHl0aWNzRXZlbnRzUmVzcG9uc2UiSwoaUmVjb3JkUmVxdWVzdEV2ZW50c1JlcXVlc3QSLQoGZXZlbnRzGAEgAygLMh0ucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RFdmVudCIdChtSZWNvcmRSZXF1ZXN0RXZlbnRzUmVzcG9uc2UiSwoaUmVjb3JkU2Vzc2lvbkV2ZW50c1JlcXVlc3QSLQoGZXZlbnRzGAEgAygLMh0ucmVxdWVzdF9pbnNpZ2h0LlNlc3Npb25FdmVudCIdChtSZWNvcmRTZXNzaW9uRXZlbnRzUmVzcG9uc2UidgojUmVnaXN0ZXJJbmRleGVkQ29tbWl0QmxvYnNldFJlcXVlc3QSLQoGY29tbWl0GAEgASgLMh0ucHVibGljX2FwaS5JbmRleGVkQ29tbWl0SW5mbxIgCgVibG9icxgCIAEoCzIRLnB1YmxpY19hcGkuQmxvYnMiNwokUmVnaXN0ZXJJbmRleGVkQ29tbWl0QmxvYnNldFJlc3BvbnNlEg8KB2NyZWF0ZWQYASABKAgi6AQKC1JlbW90ZUFnZW50EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRI+Cg93b3Jrc3BhY2Vfc2V0dXAYAiABKAsyJS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50V29ya3NwYWNlU2V0dXASLQoGc3RhdHVzGAMgASgOMh0ucHVibGljX2FwaS5SZW1vdGVBZ2VudFN0YXR1cxIuCgpzdGFydGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXNzaW9uX3N1bW1hcnkYBiABKAkSFgoOdHVybl9zdW1tYXJpZXMYByADKAkSOQoKc3NoX2NvbmZpZxgIIAEoCzIgLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRTU0hDb25maWdIAIgBARIiChVpc19zZXR1cF9zY3JpcHRfYWdlbnQYCSABKAhIAYgBARIYCgtoYXNfdXBkYXRlcxgKIAEoCEgCiAEBEkAKEHdvcmtzcGFjZV9zdGF0dXMYCyABKA4yJi5wdWJsaWNfYXBpLlJlbW90ZUFnZW50V29ya3NwYWNlU3RhdHVzEi4KCmV4cGlyZXNfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKBXRpdGxlGA0gASgJSAOIAQFCDQoLX3NzaF9jb25maWdCGAoWX2lzX3NldHVwX3NjcmlwdF9hZ2VudEIOCgxfaGFzX3VwZGF0ZXNCCAoGX3RpdGxlIksKG1JlbW90ZUFnZW50QWRkU1NIS2V5UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSEwoLcHVibGljX2tleXMYAiADKAkiVAocUmVtb3RlQWdlbnRBZGRTU0hLZXlSZXNwb25zZRI0Cgpzc2hfY29uZmlnGAEgASgLMiAucHVibGljX2FwaS5SZW1vdGVBZ2VudFNTSENvbmZpZyJ1ChZSZW1vdGVBZ2VudENoYXRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRJCCg9yZXF1ZXN0X2RldGFpbHMYAiABKAsyKS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50Q2hhdFJlcXVlc3REZXRhaWxzIp0CCh1SZW1vdGVBZ2VudENoYXRSZXF1ZXN0RGV0YWlscxIyCg1yZXF1ZXN0X25vZGVzGAEgAygLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGUSHAoPdXNlcl9ndWlkZWxpbmVzGAIgASgJSACIAQESIQoUd29ya3NwYWNlX2d1aWRlbGluZXMYAyABKAlIAYgBARIVCghtb2RlbF9pZBgFIAEoCUgCiAEBEjAKC21jcF9zZXJ2ZXJzGAYgAygLMhsucHVibGljX2FwaS5NY3BTZXJ2ZXJDb25maWdCEgoQX3VzZXJfZ3VpZGVsaW5lc0IXChVfd29ya3NwYWNlX2d1aWRlbGluZXNCCwoJX21vZGVsX2lkSgQIBBAFIhkKF1JlbW90ZUFnZW50Q2hhdFJlc3BvbnNlIsgCChNSZW1vdGVBZ2VudEV4Y2hhbmdlEiYKCGV4Y2hhbmdlGAEgASgLMhQucHVibGljX2FwaS5FeGNoYW5nZRIuCg1jaGFuZ2VkX2ZpbGVzGAIgAygLMhcucHVibGljX2FwaS5DaGFuZ2VkRmlsZRITCgtzZXF1ZW5jZV9pZBgDIAEoDRIZCgx0dXJuX3N1bW1hcnkYBCABKAlIAIgBARIvCgtmaW5pc2hlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHQoVY2hhbmdlZF9maWxlc19za2lwcGVkGAYgAygJEigKG2NoYW5nZWRfZmlsZXNfc2tpcHBlZF9jb3VudBgHIAEoDUgBiAEBQg8KDV90dXJuX3N1bW1hcnlCHgocX2NoYW5nZWRfZmlsZXNfc2tpcHBlZF9jb3VudCJwCiFSZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeVJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEhkKEXN0YXJ0X3NlcXVlbmNlX2lkGAIgASgNEhcKD2VuZF9zZXF1ZW5jZV9pZBgDIAEoDSJjCiJSZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeVJlc3BvbnNlEj0KEWRpZmZfZGVzY3JpcHRpb25zGAEgAygLMiIucHVibGljX2FwaS5EaWZmRXhwbGFuYXRpb25TZWN0aW9uIpcEChRSZW1vdGVBZ2VudE1jcENvbmZpZxIUCgdjb21tYW5kGAEgASgJSACIAQESDAoEYXJncxgCIAMoCRIXCgp0aW1lb3V0X21zGAMgASgFSAGIAQESNgoDZW52GAQgAygLMikucHVibGljX2FwaS5SZW1vdGVBZ2VudE1jcENvbmZpZy5FbnZFbnRyeRIkChd1c2Vfc2hlbGxfaW50ZXJwb2xhdGlvbhgFIAEoCEgCiAEBEhEKBG5hbWUYBiABKAlIA4gBARIVCghkaXNhYmxlZBgHIAEoCEgEiAEBEhEKBHR5cGUYCCABKAlIBYgBARIQCgN1cmwYCSABKAlIBogBARIvCglhdXRoX3R5cGUYCiABKA4yFy5wdWJsaWNfYXBpLk1jcEF1dGhUeXBlSAeIAQESFQoIaWNvbl91cmwYCyABKAlICIgBARIYCgtkZXNjcmlwdGlvbhgMIAEoCUgJiAEBGioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCgoIX2NvbW1hbmRCDQoLX3RpbWVvdXRfbXNCGgoYX3VzZV9zaGVsbF9pbnRlcnBvbGF0aW9uQgcKBV9uYW1lQgsKCV9kaXNhYmxlZEIHCgVfdHlwZUIGCgRfdXJsQgwKCl9hdXRoX3R5cGVCCwoJX2ljb25fdXJsQg4KDF9kZXNjcmlwdGlvbiIyChdSZW1vdGVBZ2VudFBhdXNlUmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiGgoYUmVtb3RlQWdlbnRQYXVzZVJlc3BvbnNlInUKHFJlbW90ZUFnZW50UmVzdW1lSGludFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEjwKC2hpbnRfcmVhc29uGAIgASgOMicucHVibGljX2FwaS5SZW1vdGVBZ2VudFJlc3VtZUhpbnRSZWFzb24iNwodUmVtb3RlQWdlbnRSZXN1bWVIaW50UmVzcG9uc2USFgoOcmVzdW1lX3N0YXJ0ZWQYASABKAgiMwoYUmVtb3RlQWdlbnRSZXN1bWVSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIbChlSZW1vdGVBZ2VudFJlc3VtZVJlc3BvbnNlInYKFFJlbW90ZUFnZW50U1NIQ29uZmlnEhMKC3B1YmxpY19rZXlzGAEgAygJEhAKCGhvc3RuYW1lGAIgASgJEjcKEnNzaF9jb25maWdfb3B0aW9ucxgDIAMoCzIbLnB1YmxpY19hcGkuU1NIQ29uZmlnT3B0aW9uIrwBCh9SZW1vdGVBZ2VudFdvcmtzcGFjZUxvZ3NSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIgChNsYXN0X3Byb2Nlc3NlZF9zdGVwGAIgASgNSACIAQESJwoabGFzdF9wcm9jZXNzZWRfc2VxdWVuY2VfaWQYAyABKA1IAYgBAUIWChRfbGFzdF9wcm9jZXNzZWRfc3RlcEIdChtfbGFzdF9wcm9jZXNzZWRfc2VxdWVuY2VfaWQigwEKIFJlbW90ZUFnZW50V29ya3NwYWNlTG9nc1Jlc3BvbnNlEhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRJGChZ3b3Jrc3BhY2Vfc2V0dXBfc3RhdHVzGAMgASgLMiYucHVibGljX2FwaS5SZW1vdGVXb3Jrc3BhY2VTZXR1cFN0YXR1cyLjAQoZUmVtb3RlQWdlbnRXb3Jrc3BhY2VTZXR1cBI4ChFnaXRodWJfY29tbWl0X3JlZhgBIAEoCzIbLnB1YmxpY19hcGkuR2l0aHViQ29tbWl0UmVmSAASSAoKZ2l0X2NvbmZpZxgCIAMoCzI0LnB1YmxpY19hcGkuUmVtb3RlQWdlbnRXb3Jrc3BhY2VTZXR1cC5HaXRDb25maWdFbnRyeRowCg5HaXRDb25maWdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQhAKDnN0YXJ0aW5nX2ZpbGVzIj4KEFJlbW90ZVRvb2xJZExpc3QSKgoIdG9vbF9pZHMYASADKA4yGC5wdWJsaWNfYXBpLlJlbW90ZVRvb2xJZCJRChpSZW1vdGVXb3Jrc3BhY2VTZXR1cFN0YXR1cxIzCgVzdGVwcxgBIAMoCzIkLnB1YmxpY19hcGkuUmVtb3RlV29ya3NwYWNlU2V0dXBTdGVwIqgBChhSZW1vdGVXb3Jrc3BhY2VTZXR1cFN0ZXASGAoQc3RlcF9kZXNjcmlwdGlvbhgBIAEoCRIMCgRsb2dzGAIgASgJEjoKBnN0YXR1cxgDIAEoDjIqLnB1YmxpY19hcGkuUmVtb3RlV29ya3NwYWNlU2V0dXBTdGVwU3RhdHVzEhMKC3NlcXVlbmNlX2lkGAQgASgNEhMKC3N0ZXBfbnVtYmVyGAUgASgNIksKHFJlbW92ZU1jcFRlbmFudENvbmZpZ1JlcXVlc3QSEQoJY29uZmlnX2lkGAEgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAiABKAkiQQodUmVtb3ZlTWNwVGVuYW50Q29uZmlnUmVzcG9uc2USDwoHcmVtb3ZlZBgBIAEoCBIPCgd2ZXJzaW9uGAIgASgJIkkKGlJlbW92ZU1jcFVzZXJDb25maWdSZXF1ZXN0EhEKCWNvbmZpZ19pZBgBIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAIgASgJIj8KG1JlbW92ZU1jcFVzZXJDb25maWdSZXNwb25zZRIPCgdyZW1vdmVkGAEgASgIEg8KB3ZlcnNpb24YAiABKAkiPgoXUmVuYW1lVXNlclNlY3JldFJlcXVlc3QSEQoJc2VjcmV0X2lkGAEgASgJEhAKCG5ld19uYW1lGAIgASgJIkIKGFJlbmFtZVVzZXJTZWNyZXRSZXNwb25zZRImCgZzZWNyZXQYASABKAsyFi5wdWJsaWNfYXBpLlVzZXJTZWNyZXQihQIKD1JlcGxhY2VtZW50VGV4dBIRCglibG9iX25hbWUYASABKAkSDAoEcGF0aBgCIAEoCRISCgpjaGFyX3N0YXJ0GAMgASgNEhAKCGNoYXJfZW5kGAQgASgNEhgKEHJlcGxhY2VtZW50X3RleHQYBSABKAkSFwoPcHJlc2VudF9pbl9ibG9iGAYgASgIEh8KEmV4cGVjdGVkX2Jsb2JfbmFtZRgHIAEoCUgAiAEBEjIKCXRpbWVzdGFtcBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBAUIVChNfZXhwZWN0ZWRfYmxvYl9uYW1lQgwKCl90aW1lc3RhbXAirQEKElJlcG9ydEVycm9yUmVxdWVzdBIgChNvcmlnaW5hbF9yZXF1ZXN0X2lkGAEgASgJSACIAQESGQoRc2FuaXRpemVkX21lc3NhZ2UYAiABKAkSEwoLc3RhY2tfdHJhY2UYAyABKAkSLQoLZGlhZ25vc3RpY3MYBCADKAsyGC5wdWJsaWNfYXBpLktleVZhbHVlUGFpckIWChRfb3JpZ2luYWxfcmVxdWVzdF9pZCIVChNSZXBvcnRFcnJvclJlc3BvbnNlIqUBChpSZXBvcnRGZWF0dXJlVmVjdG9yUmVxdWVzdBJRCg5mZWF0dXJlX3ZlY3RvchgBIAMoCzI5LnB1YmxpY19hcGkuUmVwb3J0RmVhdHVyZVZlY3RvclJlcXVlc3QuRmVhdHVyZVZlY3RvckVudHJ5GjQKEkZlYXR1cmVWZWN0b3JFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAk6AjgBIh0KG1JlcG9ydEZlYXR1cmVWZWN0b3JSZXNwb25zZSJMChtSZXBvc2l0b3J5QWxsb3dsaXN0U2V0dGluZ3MSFwoPcmVwb3NpdG9yeV91cmxzGAEgAygJEhQKDGlzX2RlbnlfbGlzdBgCIAEoCCJ5ChJSZXNvbHZlQ29tcGxldGlvbnMSHAoLY2xpZW50X25hbWUYASABKAlCAhgBSACIAQESNQoLcmVzb2x1dGlvbnMYAiADKAsyIC5wdWJsaWNfYXBpLkNvbXBsZXRpb25SZXNvbHV0aW9uQg4KDF9jbGllbnRfbmFtZSIVChNSZXNvbHZlRWRpdFJlc3BvbnNlIiAKHlJldm9rZUN1cnJlbnRVc2VyVG9rZW5zUmVxdWVzdCI5Ch9SZXZva2VDdXJyZW50VXNlclRva2Vuc1Jlc3BvbnNlEhYKDnRva2Vuc19kZWxldGVkGAEgASgFIkQKF1Jldm9rZVRvb2xBY2Nlc3NSZXF1ZXN0EikKB3Rvb2xfaWQYASABKA4yGC5wdWJsaWNfYXBpLlJlbW90ZVRvb2xJZCJOChhSZXZva2VUb29sQWNjZXNzUmVzcG9uc2USMgoGc3RhdHVzGAEgASgOMiIucHVibGljX2FwaS5SZXZva2VUb29sQWNjZXNzU3RhdHVzInMKBFJ1bGUSIgoEdHlwZRgBIAEoDjIULnB1YmxpY19hcGkuUnVsZVR5cGUSDAoEcGF0aBgCIAEoCRIPCgdjb250ZW50GAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIrYDChRSdW5SZW1vdGVUb29sUmVxdWVzdBJJChphdGxhc3NpYW5fdG9vbF9leHRyYV9pbnB1dBgEIAEoCzIjLnB1YmxpY19hcGkuQXRsYXNzaWFuVG9vbEV4dHJhSW5wdXRIABJDChdub3Rpb25fdG9vbF9leHRyYV9pbnB1dBgFIAEoCzIgLnB1YmxpY19hcGkuTm90aW9uVG9vbEV4dHJhSW5wdXRIABJDChdsaW5lYXJfdG9vbF9leHRyYV9pbnB1dBgGIAEoCzIgLnB1YmxpY19hcGkuTGluZWFyVG9vbEV4dHJhSW5wdXRIABJDChdnaXRodWJfdG9vbF9leHRyYV9pbnB1dBgHIAEoCzIgLnB1YmxpY19hcGkuR2l0SHViVG9vbEV4dHJhSW5wdXRIABIVCgl0b29sX25hbWUYASABKAlCAhgBEhcKD3Rvb2xfaW5wdXRfanNvbhgCIAEoCRIuCgd0b29sX2lkGAMgASgOMhgucHVibGljX2FwaS5SZW1vdGVUb29sSWRIAYgBAUISChBleHRyYV90b29sX2lucHV0QgoKCF90b29sX2lkSgQICBAJIsMCChVSdW5SZW1vdGVUb29sUmVzcG9uc2USEwoLdG9vbF9vdXRwdXQYASABKAkSGwoTdG9vbF9yZXN1bHRfbWVzc2FnZRgCIAEoCRIUCghpc19lcnJvchgDIAEoCEICGAESNAoGc3RhdHVzGAQgASgOMiQucHVibGljX2FwaS5SZW1vdGVUb29sUmVzcG9uc2VTdGF0dXMSIwoWY29tcHJlc3NlZF9mdWxsX291dHB1dBgFIAEoCUgAiAEBEh0KEGZ1bGxfb3V0cHV0X3NpemUYBiABKANIAYgBARI4Cg1jb250ZW50X25vZGVzGAcgAygLMiEucHVibGljX2FwaS5Ub29sUmVzdWx0Q29udGVudE5vZGVCGQoXX2NvbXByZXNzZWRfZnVsbF9vdXRwdXRCEwoRX2Z1bGxfb3V0cHV0X3NpemUiLQoPU1NIQ29uZmlnT3B0aW9uEgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCSJdCg9TYXZlQ2hhdFJlcXVlc3QSFwoPY29udmVyc2F0aW9uX2lkGAEgASgJEiIKBGNoYXQYAiADKAsyFC5wdWJsaWNfYXBpLkV4Y2hhbmdlEg0KBXRpdGxlGAMgASgJIi0KEFNhdmVDaGF0UmVzcG9uc2USDAoEdXVpZBgBIAEoCRILCgN1cmwYAiABKAkiqAEKDlNjaGVkdWxlRW50aXR5EgoKAmlkGAEgASgJEiwKBHR5cGUYAiABKA4yHi5wdWJsaWNfYXBpLlNjaGVkdWxlRW50aXR5VHlwZRIRCgl0aW1lc3RhbXAYAyABKAkSOwoJZXhlY3V0aW9uGAQgASgLMiMucHVibGljX2FwaS5TY2hlZHVsZUV4ZWN1dGlvbkVudGl0eUgAiAEBQgwKCl9leGVjdXRpb24i3gEKF1NjaGVkdWxlRXhlY3V0aW9uRW50aXR5EhIKCnRyaWdnZXJfaWQYASABKAkSFwoPY3Jvbl9leHByZXNzaW9uGAIgASgJEhYKDmV4ZWN1dGlvbl90aW1lGAMgASgJEhUKCHRpbWV6b25lGAQgASgJSACIAQESFwoKc3RhcnRfZGF0ZRgFIAEoCUgBiAEBEhUKCGVuZF9kYXRlGAYgASgJSAKIAQESDgoGc3RhdHVzGAcgASgJQgsKCV90aW1lem9uZUINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGUihgIKGVNjaGVkdWxlVHJpZ2dlckNvbmRpdGlvbnMSFwoPY3Jvbl9leHByZXNzaW9uGAEgASgJEhUKCHRpbWV6b25lGAIgASgJSACIAQESMwoKc3RhcnRfZGF0ZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIxCghlbmRfZGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIYCgtkZXNjcmlwdGlvbhgFIAEoCUgDiAEBQgsKCV90aW1lem9uZUINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGVCDgoMX2Rlc2NyaXB0aW9uIh4KDFNjcmlwdFBvbGljeRIOCgZzY3JpcHQYASABKAkiYwocU2VhcmNoRXh0ZXJuYWxTb3VyY2VzUmVxdWVzdBINCgVxdWVyeRgBIAEoCRI0Cgxzb3VyY2VfdHlwZXMYAiADKA4yHi5wdWJsaWNfYXBpLkV4dGVybmFsU291cmNlVHlwZSJMCh1TZWFyY2hFeHRlcm5hbFNvdXJjZXNSZXNwb25zZRIrCgdzb3VyY2VzGAEgAygLMhoucHVibGljX2FwaS5FeHRlcm5hbFNvdXJjZSJECgxTZXNzaW9uVXNhZ2USNAoLdG90YWxfdXNhZ2UYASABKAsyHy5wdWJsaWNfYXBpLlNlc3Npb25Vc2FnZU1ldHJpY3MiuAEKE1Nlc3Npb25Vc2FnZU1ldHJpY3MSIwobZXN0aW1hdGVkX2N1c3RvbWVyX2Nvc3RfdXNkGAEgASgJEhgKEGNyZWRpdHNfY29uc3VtZWQYAiABKAkSFAoMaW5wdXRfdG9rZW5zGAMgASgEEhUKDW91dHB1dF90b2tlbnMYBCABKAQSGQoRY2FjaGVfcmVhZF90b2tlbnMYBSABKAQSGgoSY2FjaGVfd3JpdGVfdG9rZW5zGAYgASgEIiAKEFNpbXBsZVBlcm1pc3Npb24SDAoEdHlwZRgBIAEoCSI8CgVTa2lsbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCGxvY2F0aW9uGAMgASgJIuACChRTbWFydFBhc3RlUmVzb2x1dGlvbhISCgpyZXF1ZXN0X2lkGAEgASgJEhoKEmlzX2FjY2VwdGVkX2NodW5rcxgCIAMoCBIVCg1pc19hY2NlcHRfYWxsGAMgASgIEhUKDWlzX3JlamVjdF9hbGwYBCABKAgSIAoYaW5pdGlhbF9yZXF1ZXN0X3RpbWVfc2VjGAUgASgDEiEKGWluaXRpYWxfcmVxdWVzdF90aW1lX25zZWMYBiABKAUSHgoWc3RyZWFtX2ZpbmlzaF90aW1lX3NlYxgHIAEoAxIfChdzdHJlYW1fZmluaXNoX3RpbWVfbnNlYxgIIAEoBRIWCg5hcHBseV90aW1lX3NlYxgJIAEoAxIXCg9hcHBseV90aW1lX25zZWMYCiABKAUSGAoQcmVzb2x2ZV90aW1lX3NlYxgLIAEoAxIZChFyZXNvbHZlX3RpbWVfbnNlYxgMIAEoBSIeChxTbWFydFBhc3RlUmVzb2x1dGlvblJlc3BvbnNlIjoKF1N5c3RlbVByb21wdFJlcGxhY2VtZW50Eg4KBnNlYXJjaBgBIAEoCRIPCgdyZXBsYWNlGAIgASgJIjYKDlRhYlN3aXRjaEV2ZW50EgwKBHBhdGgYASABKAkSFgoOZmlsZV9ibG9iX25hbWUYAiABKAkiSwoJVGFnRmlsdGVyEgsKA2tleRgBIAEoCRIOCgZ2YWx1ZXMYAiADKAkSEQoJbWF0Y2hfYW55GAMgASgIEg4KBmludmVydBgEIAEoCCLlAgoMVGVuYW50U2VjcmV0EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSMAoEdGFncxgDIAMoCzIiLnB1YmxpY19hcGkuVGVuYW50U2VjcmV0LlRhZ3NFbnRyeRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtkZXNjcmlwdGlvbhgGIAEoCRIPCgd2ZXJzaW9uGAcgASgJEhgKEHZhbHVlX3NpemVfYnl0ZXMYCCABKAUSEgoKY3JlYXRlZF9ieRgJIAEoCRIRCglzZWNyZXRfaWQYCiABKAkSEgoKb2xhY19yZWFkeRgLIAEoCBorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJGCgxUZXJtaW5hbEluZm8SEwoLdGVybWluYWxfaWQYASABKA0SIQoZY3VycmVudF93b3JraW5nX2RpcmVjdG9yeRgCIAEoCSJGChlUZXN0VG9vbENvbm5lY3Rpb25SZXF1ZXN0EikKB3Rvb2xfaWQYASABKA4yGC5wdWJsaWNfYXBpLlJlbW90ZVRvb2xJZCJSChpUZXN0VG9vbENvbm5lY3Rpb25SZXNwb25zZRI0CgZzdGF0dXMYASABKA4yJC5wdWJsaWNfYXBpLlRlc3RUb29sQ29ubmVjdGlvblN0YXR1cyJOCg5Ub29sRGVmaW5pdGlvbhIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhkKEWlucHV0X3NjaGVtYV9qc29uGAMgASgJIocCChJUb29sUGVybWlzc2lvblJ1bGUSOQoRc2ltcGxlX3Blcm1pc3Npb24YAiABKAsyHC5wdWJsaWNfYXBpLlNpbXBsZVBlcm1pc3Npb25IABIzCg53ZWJob29rX3BvbGljeRgDIAEoCzIZLnB1YmxpY19hcGkuV2ViaG9va1BvbGljeUgAEjEKDXNjcmlwdF9wb2xpY3kYBCABKAsyGC5wdWJsaWNfYXBpLlNjcmlwdFBvbGljeUgAEhEKCXRvb2xfbmFtZRgBIAEoCRISCgpldmVudF90eXBlGAUgASgJEhkKEXNoZWxsX2lucHV0X3JlZ2V4GAYgASgJQgwKCnBlcm1pc3Npb24iSAoXVG9vbFBlcm1pc3Npb25zU2V0dGluZ3MSLQoFcnVsZXMYASADKAsyHi5wdWJsaWNfYXBpLlRvb2xQZXJtaXNzaW9uUnVsZSLEAQoVVG9vbFJlc3VsdENvbnRlbnROb2RlEjMKBHR5cGUYASABKA4yJS5wdWJsaWNfYXBpLlRvb2xSZXN1bHRDb250ZW50Tm9kZVR5cGUSGQoMdGV4dF9jb250ZW50GAIgASgJSACIAQESOAoNaW1hZ2VfY29udGVudBgDIAEoCzIcLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RJbWFnZUgBiAEBQg8KDV90ZXh0X2NvbnRlbnRCEAoOX2ltYWdlX2NvbnRlbnQi3wIKB1RyaWdnZXISEgoKdHJpZ2dlcl9pZBgBIAEoCRI3Cg1jb25maWd1cmF0aW9uGAIgASgLMiAucHVibGljX2FwaS5UcmlnZ2VyQ29uZmlndXJhdGlvbhIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9leGVjdXRpb25fY291bnQYBSABKA0SOgoRbGFzdF9leGVjdXRpb25fYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESIgoVbGFzdF9leGVjdXRpb25fc3RhdHVzGAcgASgJSAGIAQFCFAoSX2xhc3RfZXhlY3V0aW9uX2F0QhgKFl9sYXN0X2V4ZWN1dGlvbl9zdGF0dXMimAIKEVRyaWdnZXJDb25kaXRpb25zEi4KBHR5cGUYASABKA4yIC5wdWJsaWNfYXBpLlRyaWdnZXJDb25kaXRpb25UeXBlEjgKBmdpdGh1YhgCIAEoCzIjLnB1YmxpY19hcGkuR2l0SHViVHJpZ2dlckNvbmRpdGlvbnNIAIgBARI4CgZsaW5lYXIYAyABKAsyIy5wdWJsaWNfYXBpLkxpbmVhclRyaWdnZXJDb25kaXRpb25zSAGIAQESPAoIc2NoZWR1bGUYBCABKAsyJS5wdWJsaWNfYXBpLlNjaGVkdWxlVHJpZ2dlckNvbmRpdGlvbnNIAogBAUIJCgdfZ2l0aHViQgkKB19saW5lYXJCCwoJX3NjaGVkdWxlIocDChRUcmlnZ2VyQ29uZmlndXJhdGlvbhIMCgRuYW1lGAEgASgJEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQESLQoMZXZlbnRfc291cmNlGAMgASgOMhcucHVibGljX2FwaS5FdmVudFNvdXJjZRIxCgpjb25kaXRpb25zGAQgASgLMh0ucHVibGljX2FwaS5UcmlnZ2VyQ29uZGl0aW9ucxItCgxhZ2VudF9jb25maWcYBSABKAsyFy5wdWJsaWNfYXBpLkFnZW50Q29uZmlnEhQKB2VuYWJsZWQYBiABKAhIAYgBARIYCgt0ZW1wbGF0ZV9pZBgHIAEoCUgCiAEBEhoKDXRlbXBsYXRlX25hbWUYCCABKAlIA4gBARIaCg10ZW1wbGF0ZV9qc29uGAkgASgJSASIAQFCDgoMX2Rlc2NyaXB0aW9uQgoKCF9lbmFibGVkQg4KDF90ZW1wbGF0ZV9pZEIQCg5fdGVtcGxhdGVfbmFtZUIQCg5fdGVtcGxhdGVfanNvbiLUAgoQVHJpZ2dlckV4ZWN1dGlvbhIUCgxleGVjdXRpb25faWQYASABKAkSEgoKdHJpZ2dlcl9pZBgCIAEoCRIQCghldmVudF9pZBgDIAEoCRIcCg9yZW1vdGVfYWdlbnRfaWQYBCABKAlIAIgBARIuCgpzdGFydGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgxjb21wbGV0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgHIAEoCUgCiAEBEhoKDWV2ZW50X3BheWxvYWQYCCABKAlIA4gBAUISChBfcmVtb3RlX2FnZW50X2lkQg8KDV9jb21wbGV0ZWRfYXRCEAoOX2Vycm9yX21lc3NhZ2VCEAoOX2V2ZW50X3BheWxvYWQiMQobVW5waW5Qb3NlaWRvblNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkiHgocVW5waW5Qb3NlaWRvblNlc3Npb25SZXNwb25zZSKOAQoZVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdBIUCgx3b3Jrc3BhY2VfaWQYASABKAkSFwoPY29udmVyc2F0aW9uX2lkGAIgASgJEhIKBXRpdGxlGAMgASgJSACIAQESFgoJaXNfcGlubmVkGAQgASgISAGIAQFCCAoGX3RpdGxlQgwKCl9pc19waW5uZWQiUAoaVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2USMgoMY29udmVyc2F0aW9uGAEgASgLMhwucHVibGljX2FwaS5Db252ZXJzYXRpb25JbmZvIkQKI1VwZGF0ZVBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXF1ZXN0Eh0KFWRlZmF1bHRfYmFzZV9pbWFnZV9pZBgBIAEoCSImCiRVcGRhdGVQb3NlaWRvblRlbmFudFNldHRpbmdzUmVzcG9uc2UiQwohVXBkYXRlUG9zZWlkb25Vc2VyU2V0dGluZ3NSZXF1ZXN0Eh4KFmRlZmF1bHRfZW52aXJvbm1lbnRfaWQYASABKAkiJAoiVXBkYXRlUG9zZWlkb25Vc2VyU2V0dGluZ3NSZXNwb25zZSJZChhVcGRhdGVSZW1vdGVBZ2VudFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEhYKCW5ld190aXRsZRgCIAEoCUgAiAEBQgwKCl9uZXdfdGl0bGUiQwoZVXBkYXRlUmVtb3RlQWdlbnRSZXNwb25zZRImCgVhZ2VudBgBIAEoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnQiYwoUVXBkYXRlVHJpZ2dlclJlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCRI3Cg1jb25maWd1cmF0aW9uGAIgASgLMiAucHVibGljX2FwaS5UcmlnZ2VyQ29uZmlndXJhdGlvbiI9ChVVcGRhdGVUcmlnZ2VyUmVzcG9uc2USJAoHdHJpZ2dlchgBIAEoCzITLnB1YmxpY19hcGkuVHJpZ2dlciI8ChZVcGRhdGVXb3Jrc3BhY2VSZXF1ZXN0EhQKDHdvcmtzcGFjZV9pZBgBIAEoCRIMCgRuYW1lGAIgASgJIkcKF1VwZGF0ZVdvcmtzcGFjZVJlc3BvbnNlEiwKCXdvcmtzcGFjZRgBIAEoCzIZLnB1YmxpY19hcGkuV29ya3NwYWNlSW5mbyJRCgpVcGxvYWRCbG9iEg8KB2NvbnRlbnQYASABKAkSDAoEcGF0aBgCIAEoCRIWCglibG9iX25hbWUYAyABKAlIAIgBAUIMCgpfYmxvYl9uYW1lIl8KHFVwc2VydE1jcFRlbmFudENvbmZpZ1JlcXVlc3QSJQoGY29uZmlnGAEgASgLMhUucHVibGljX2FwaS5NY3BDb25maWcSGAoQZXhwZWN0ZWRfdmVyc2lvbhgCIAEoCSJBCh1VcHNlcnRNY3BUZW5hbnRDb25maWdSZXNwb25zZRIPCgdjcmVhdGVkGAEgASgIEg8KB3ZlcnNpb24YAiABKAkiXQoaVXBzZXJ0TWNwVXNlckNvbmZpZ1JlcXVlc3QSJQoGY29uZmlnGAEgASgLMhUucHVibGljX2FwaS5NY3BDb25maWcSGAoQZXhwZWN0ZWRfdmVyc2lvbhgCIAEoCSI/ChtVcHNlcnRNY3BVc2VyQ29uZmlnUmVzcG9uc2USDwoHY3JlYXRlZBgBIAEoCBIPCgd2ZXJzaW9uGAIgASgJIvEBChlVcHNlcnRUZW5hbnRTZWNyZXRSZXF1ZXN0EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSPQoEdGFncxgDIAMoCzIvLnB1YmxpY19hcGkuVXBzZXJ0VGVuYW50U2VjcmV0UmVxdWVzdC5UYWdzRW50cnkSEwoLZGVzY3JpcHRpb24YBCABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgFIAEoCRIcChRtYXhfdmFsdWVfc2l6ZV9ieXRlcxgGIAEoBRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJGChpVcHNlcnRUZW5hbnRTZWNyZXRSZXNwb25zZRIoCgZzZWNyZXQYASABKAsyGC5wdWJsaWNfYXBpLlRlbmFudFNlY3JldCKiBAoXVXBzZXJ0VXNlclNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCRI7CgR0YWdzGAMgAygLMi0ucHVibGljX2FwaS5VcHNlcnRVc2VyU2VjcmV0UmVxdWVzdC5UYWdzRW50cnkSEwoLZGVzY3JpcHRpb24YBCABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgFIAEoCRIcChRtYXhfdmFsdWVfc2l6ZV9ieXRlcxgGIAEoBRImCgVzY29wZRgHIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSFQoIc3BhY2VfaWQYCCABKAlIAIgBARI7Cg1hcHBsaWNhYmlsaXR5GAkgASgOMh8ucHVibGljX2FwaS5TZWNyZXRBcHBsaWNhYmlsaXR5SAGIAQESEQoJc3BhY2VfaWRzGAogAygJEhIKCmFsbF9zcGFjZXMYCyABKAgSFQoNdXBkYXRlX3NwYWNlcxgMIAEoCBIRCglzZWNyZXRfaWQYDSABKAkSEwoLdXBkYXRlX3RhZ3MYDiABKAgSGgoSdXBkYXRlX2Rlc2NyaXB0aW9uGA8gASgIEhYKDnByZXNlcnZlX3ZhbHVlGBAgASgIGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgsKCV9zcGFjZV9pZEIQCg5fYXBwbGljYWJpbGl0eSJCChhVcHNlcnRVc2VyU2VjcmV0UmVzcG9uc2USJgoGc2VjcmV0GAEgASgLMhYucHVibGljX2FwaS5Vc2VyU2VjcmV0IvgDCgpVc2VyU2VjcmV0EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSLgoEdGFncxgDIAMoCzIgLnB1YmxpY19hcGkuVXNlclNlY3JldC5UYWdzRW50cnkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLZGVzY3JpcHRpb24YBiABKAkSDwoHdmVyc2lvbhgHIAEoCRIYChB2YWx1ZV9zaXplX2J5dGVzGAggASgFEiYKBXNjb3BlGAkgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRIVCghzcGFjZV9pZBgKIAEoCUgAiAEBEhEKCXNlY3JldF9pZBgLIAEoCRISCgpvbGFjX3JlYWR5GAwgASgIEjYKDWFwcGxpY2FiaWxpdHkYDSABKA4yHy5wdWJsaWNfYXBpLlNlY3JldEFwcGxpY2FiaWxpdHkSEQoJc3BhY2VfaWRzGA4gAygJEhIKCmFsbF9zcGFjZXMYDyABKAgaKwoJVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCwoJX3NwYWNlX2lkIs4BChJWaWV3ZWRDb250ZW50RXZlbnQSDAoEcGF0aBgBIAEoCRIWCg5maWxlX2Jsb2JfbmFtZRgCIAEoCRIXCg92aXNpYmxlX2NvbnRlbnQYAyABKAkSEgoKbGluZV9zdGFydBgEIAEoDRIQCghsaW5lX2VuZBgFIAEoDRISCgpjaGFyX3N0YXJ0GAYgASgNEhAKCGNoYXJfZW5kGAcgASgNEi0KCXRpbWVzdGFtcBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiJAoNV2ViaG9va1BvbGljeRITCgt3ZWJob29rX3VybBgBIAEoCSJNChJXb3Jrc3BhY2VGaWxlQ2h1bmsSEgoKY2hhcl9zdGFydBgBIAEoBRIQCghjaGFyX2VuZBgCIAEoBRIRCglibG9iX25hbWUYAyABKAkiQwoTV29ya3NwYWNlRm9sZGVySW5mbxIXCg9yZXBvc2l0b3J5X3Jvb3QYASABKAkSEwoLZm9sZGVyX3Jvb3QYAiABKAkiwQEKDVdvcmtzcGFjZUluZm8SFAoMd29ya3NwYWNlX2lkGAEgASgJEgwKBG5hbWUYAiABKAkSMwoKY3JlYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIzCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0SgQIBRAGIooCCg5Xb3Jrc3BhY2VTZXR1cBIrCgpnaXRodWJfcmVmGAEgASgLMhUucHVibGljX2FwaS5HaXRodWJSZWZIABISCgVwYXRjaBgCIAEoCUgBiAEBEhkKDHNldHVwX3NjcmlwdBgDIAEoCUgCiAEBEj0KCmdpdF9jb25maWcYBCADKAsyKS5wdWJsaWNfYXBpLldvcmtzcGFjZVNldHVwLkdpdENvbmZpZ0VudHJ5GjAKDkdpdENvbmZpZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCEAoOc3RhcnRpbmdfZmlsZXNCCAoGX3BhdGNoQg8KDV9zZXR1cF9zY3JpcHQqXAoUQWdlbnRDYXBhYmlsaXR5U2NvcGUSIQodQUdFTlRfQ0FQQUJJTElUWV9TQ09QRV9HTE9CQUwQABIhCh1BR0VOVF9DQVBBQklMSVRZX1NDT1BFX1RFTkFOVBABKqIBChZBZ2VudEhpc3RvcnlVcGRhdGVUeXBlEikKJUFHRU5UX0hJU1RPUllfVVBEQVRFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZBR0VOVF9ISVNUT1JZX0VYQ0hBTkdFEAESIQodQUdFTlRfSElTVE9SWV9FWENIQU5HRV9VUERBVEUQAhIeChpBR0VOVF9ISVNUT1JZX0FHRU5UX1NUQVRVUxADKrABChNBZ2VudExpc3RVcGRhdGVUeXBlEiYKIkFHRU5UX0xJU1RfVVBEQVRFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZBR0VOVF9MSVNUX0FHRU5UX0FEREVEEAESHAoYQUdFTlRfTElTVF9BR0VOVF9VUERBVEVEEAISHAoYQUdFTlRfTElTVF9BR0VOVF9ERUxFVEVEEAMSGQoVQUdFTlRfTElTVF9BTExfQUdFTlRTEAQqcQoRQWdlbnRQZXJzb25hU2NvcGUSHgoaQUdFTlRfUEVSU09OQV9TQ09QRV9HTE9CQUwQABIeChpBR0VOVF9QRVJTT05BX1NDT1BFX1RFTkFOVBABEhwKGEFHRU5UX1BFUlNPTkFfU0NPUEVfVVNFUhACKpYBChhBZ2VudFdvcmtzcGFjZVVwZGF0ZVR5cGUSKwonQUdFTlRfV09SS1NQQUNFX1VQREFURV9UWVBFX1VOU1BFQ0lGSUVEEAASJAogQUdFTlRfV09SS1NQQUNFX1VQREFURV9JTlRFUlJVUFQQARInCiNBR0VOVF9XT1JLU1BBQ0VfVVBEQVRFX0NIQVRfUkVRVUVTVBACKm8KEEFuYWx5dGljc1RhZ1R5cGUSHgoaQU5BTFlUSUNTX1RBR19UWVBFX1VOS05PV04QABIbChdBTkFMWVRJQ1NfVEFHX1RZUEVfQ09TVBABEh4KGkFOQUxZVElDU19UQUdfVFlQRV9PVVRDT01FEAIqvQEKE0NoYXRSZXF1ZXN0Tm9kZVR5cGUSCAoEVEVYVBAAEg8KC1RPT0xfUkVTVUxUEAESCQoFSU1BR0UQAhIMCghJTUFHRV9JRBADEg0KCUlERV9TVEFURRAEEg8KC0VESVRfRVZFTlRTEAUSEgoOQ0hFQ0tQT0lOVF9SRUYQBhISCg5DSEFUX05PREVfRklMRRAIEhUKEUNIQVRfTk9ERV9GSUxFX0lEEAkSEwoPSElTVE9SWV9TVU1NQVJZEAoq6wEKEkNoYXRSZXN1bHROb2RlVHlwZRIQCgxSQVdfUkVTUE9OU0UQABIXChNTVUdHRVNURURfUVVFU1RJT05TEAESFgoSTUFJTl9URVhUX0ZJTklTSEVEEAISGQoVV09SS1NQQUNFX0ZJTEVfQ0hVTktTEAMSFAoQUkVMRVZBTlRfU09VUkNFUxAEEgwKCFRPT0xfVVNFEAUSEgoOVE9PTF9VU0VfU1RBUlQQBxIMCghUSElOS0lORxAIEhQKEEJJTExJTkdfTUVUQURBVEEQCRIPCgtUT0tFTl9VU0FHRRAKIgQIBhAGIgQICxALKq4BCg5DaGF0U3RvcFJlYXNvbhIWChJSRUFTT05fVU5TUEVDSUZJRUQQABIMCghFTkRfVFVSThABEg4KCk1BWF9UT0tFTlMQAhIWChJUT09MX1VTRV9SRVFVRVNURUQQAxIKCgZTQUZFVFkQBBIOCgpSRUNJVEFUSU9OEAUSGwoXTUFMRk9STUVEX0ZVTkNUSU9OX0NBTEwQBhIVChFTVE9QX1JFQVNPTl9FUlJPUhAHKsoBChRDbG91ZEFnZW50Q2FwYWJpbGl0eRIiCh5DTE9VRF9BR0VOVF9DQVBBQklMSVRZX1VOS05PV04QABIlCiFDTE9VRF9BR0VOVF9DQVBBQklMSVRZX1dFQl9BQ0NFU1MQARIeChpDTE9VRF9BR0VOVF9DQVBBQklMSVRZX01DUBACEiQKIENMT1VEX0FHRU5UX0NBUEFCSUxJVFlfQ0xJX1RPT0xTEAQSIQodQ0xPVURfQUdFTlRfQ0FQQUJJTElUWV9HSVRIVUIQBSp+ChJDbG91ZEFnZW50TG9vcFR5cGUSJQohQ0xPVURfQUdFTlRfTE9PUF9UWVBFX1VOU1BFQ0lGSUVEEAASHwobQ0xPVURfQUdFTlRfTE9PUF9UWVBFX1NBTFNBEAESIAocQ0xPVURfQUdFTlRfTE9PUF9UWVBFX0FVR0dJRRACKoICChBDbG91ZEFnZW50U3RhdHVzEh4KGkNMT1VEX0FHRU5UX1NUQVRVU19VTktOT1dOEAASGwoXQ0xPVURfQUdFTlRfU1RBVFVTX0lETEUQARIhCh1DTE9VRF9BR0VOVF9TVEFUVVNfUFJPQ0VTU0lORxACEiEKHUNMT1VEX0FHRU5UX1NUQVRVU19URVJNSU5BVEVEEAMSIAocQ0xPVURfQUdFTlRfU1RBVFVTX0NPTVBMRVRFRBAEEh8KG0NMT1VEX0FHRU5UX1NUQVRVU19TVEFSVElORxAFEigKJENMT1VEX0FHRU5UX1NUQVRVU19XQUlUSU5HX0ZPUl9JTlBVVBAGKucBCidDbG91ZERhZW1vblBvb2xXb3Jrc3BhY2VJc29sYXRpb25Qb2xpY3kSPAo4Q0xPVURfREFFTU9OX1BPT0xfV09SS1NQQUNFX0lTT0xBVElPTl9QT0xJQ1lfVU5TUEVDSUZJRUQQABI/CjtDTE9VRF9EQUVNT05fUE9PTF9XT1JLU1BBQ0VfSVNPTEFUSU9OX1BPTElDWV9GT1JDRV9JU09MQVRFRBABEj0KOUNMT1VEX0RBRU1PTl9QT09MX1dPUktTUEFDRV9JU09MQVRJT05fUE9MSUNZX0ZPUkNFX1NIQVJFRBACKrkBChRDbG91ZEVudmlyb25tZW50S2luZBImCiJDTE9VRF9FTlZJUk9OTUVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASJQohQ0xPVURfRU5WSVJPTk1FTlRfS0lORF9CQVNFX0lNQUdFEAESJgoiQ0xPVURfRU5WSVJPTk1FTlRfS0lORF9EQUVNT05fUE9PTBACEioKJkNMT1VEX0VOVklST05NRU5UX0tJTkRfVU5QT09MRURfREFFTU9OEAMqlgUKG0Nsb3VkRW52aXJvbm1lbnRMaXN0T3JkZXJCeRIvCitDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX1VOU1BFQ0lGSUVEEAASLAooQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9OQU1FX0FTQxABEi0KKUNMT1VEX0VOVklST05NRU5UX0xJU1RfT1JERVJfQllfTkFNRV9ERVNDEAISMgouQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9DUkVBVEVEX0JZX0FTQxADEjMKL0NMT1VEX0VOVklST05NRU5UX0xJU1RfT1JERVJfQllfQ1JFQVRFRF9CWV9ERVNDEAQSLAooQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9TSVpFX0FTQxAFEi0KKUNMT1VEX0VOVklST05NRU5UX0xJU1RfT1JERVJfQllfU0laRV9ERVNDEAYSLQopQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9SRVBPU19BU0MQBxIuCipDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX1JFUE9TX0RFU0MQCBIvCitDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX1VQREFURURfQVNDEAkSMAosQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9VUERBVEVEX0RFU0MQChIvCitDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX0NSRUFURURfQVNDEAsSMAosQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9DUkVBVEVEX0RFU0MQDCqdAQoZQ2xvdWRFbnZpcm9ubWVudExpc3RTY29wZRIsCihDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX1NDT1BFX1VOU1BFQ0lGSUVEEAASKQolQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9TQ09QRV9QRVJTT05BTBABEicKI0NMT1VEX0VOVklST05NRU5UX0xJU1RfU0NPUEVfU0hBUkVEEAIq+wMKIkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25FcnJvckNvZGUSNgoyQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX0VSUk9SX0NPREVfVU5TUEVDSUZJRUQQABI3CjNDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9CVUlMRF9GQUlMRUQQARJACjxDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9FWEVDVVRJT05fSU5URVJSVVBURUQQAhIzCi9DTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9JTlRFUk5BTBADEjsKN0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9FUlJPUl9DT0RFX1ZFUlNJT05fQ09ORkxJQ1QQBBI5CjVDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9SRUZSRVNIX0ZBSUxFRBAFEjsKN0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9FUlJPUl9DT0RFX1JFQ09OQ0lMRV9GQUlMRUQQBhI4CjRDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9VUERBVEVfRkFJTEVEEAcq9wIKHkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25QaGFzZRIxCi1DTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fUEhBU0VfVU5TUEVDSUZJRUQQABIsCihDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fUEhBU0VfUVVFVUVEEAESLworQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1BIQVNFX1BSRVBBUklORxACEi4KKkNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9QSEFTRV9CVUlMRElORxADEi8KK0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9QSEFTRV9QUk9NT1RJTkcQBBIuCipDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fUEhBU0VfVVBEQVRJTkcQBiIECAUQBSosQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1BIQVNFX1JFRlJFU0hJTkcq+AIKHkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25TdGF0ZRIxCi1DTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fU1RBVEVfVU5TUEVDSUZJRUQQABItCilDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fU1RBVEVfUEVORElORxABEi0KKUNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9TVEFURV9SVU5OSU5HEAISNgoyQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1NUQVRFX0NBTkNFTF9SRVFVRVNURUQQAxIvCitDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fU1RBVEVfU1VDQ0VFREVEEAQSLAooQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1NUQVRFX0ZBSUxFRBAFEi4KKkNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9TVEFURV9DQU5DRUxFRBAGKtcCCh1DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uVHlwZRIwCixDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEjcKM0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9UWVBFX0JBU0VfSU1BR0VfUkVCVUlMRBABEjUKMUNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9UWVBFX0JBU0VfSU1BR0VfQlVJTEQQAhIsCihDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fVFlQRV9SRUZSRVNIEAMSOQo1Q0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1RZUEVfUkVQT1NJVE9SWV9SRUNPTkNJTEUQBBIrCidDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fVFlQRV9VUERBVEUQBSqDAgoWQ2xvdWRFbnZpcm9ubWVudFN0YXR1cxIoCiRDTE9VRF9FTlZJUk9OTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIjCh9DTE9VRF9FTlZJUk9OTUVOVF9TVEFUVVNfQUNUSVZFEAESJQohQ0xPVURfRU5WSVJPTk1FTlRfU1RBVFVTX0JVSUxESU5HEAISIwofQ0xPVURfRU5WSVJPTk1FTlRfU1RBVFVTX0ZBSUxFRBADEicKI0NMT1VEX0VOVklST05NRU5UX1NUQVRVU19ERVBSRUNBVEVEEAQSJQohQ0xPVURfRU5WSVJPTk1FTlRfU1RBVFVTX0RFTEVUSU5HEAUq6AkKHENsb3VkRXhwZXJ0QnVpbHRpbkNhcGFiaWxpdHkSKwonQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9VTktOT1dOEAASLgoqQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9XRUJfQUNDRVNTEAESLQopQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9DTElfVE9PTFMQBBIqCiZDTE9VRF9FWFBFUlRfQlVJTFRJTl9DQVBBQklMSVRZX0dJVEhVQhAHEioKJkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfTElORUFSEAgSKAokQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9FQ0hPEAkSKQolQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9TTEFDSxALEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0lUSFVCX0FQUBAMEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfTElORUFSX0FQUBANEjIKLkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQ1VTVE9NX1dFQkhPT0sQExIqCiZDTE9VRF9FWFBFUlRfQlVJTFRJTl9DQVBBQklMSVRZX0dJVExBQhAUEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0lUTEFCX0FQUBAVEigKJENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfSklSQRAXEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQ09ORkxVRU5DRRAYEiwKKENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfSklSQV9BUFAQGRIyCi5DTE9VRF9FWFBFUlRfQlVJTFRJTl9DQVBBQklMSVRZX0NPTkZMVUVOQ0VfQVBQEBoSKQolQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9URUFNUxAbEjAKLENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQVpVUkVfREVWT1BTEBwSNAowQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9BWlVSRV9ERVZPUFNfQVBQEB0iBAgCEAIiBAgDEAMiBAgFEAUiBAgGEAYiBAgKEAoiBAgOEA4iBAgPEA8iBAgQEBAiBAgREBEiBAgSEBIiBAgWEBYqLkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0NQX01PTklUT1JJTkcqK0NMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0NQX0xPR0dJTkcqJ0NMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfS1VCRUNUTCopQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9QQUdFUkRVVFkqKENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfRU5HX0lORk8qM0NMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQ0xPVURfQUdFTlRfQ09OVFJPTCqwAQobQ2xvdWRFeHBlcnRDYXBhYmlsaXR5U291cmNlEi4KKkNMT1VEX0VYUEVSVF9DQVBBQklMSVRZX1NPVVJDRV9VTlNQRUNJRklFRBAAEjcKM0NMT1VEX0VYUEVSVF9DQVBBQklMSVRZX1NPVVJDRV9CVUlMVElOX0NBUEFCSUxJVElFUxABEigKJENMT1VEX0VYUEVSVF9DQVBBQklMSVRZX1NPVVJDRV9OQU1FUxACKpMBCiFDbG91ZEV4cGVydERlcGVuZGVuY3lSZWxhdGlvbnNoaXASNAowQ0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfUkVMQVRJT05TSElQX1VOU1BFQ0lGSUVEEAASOAo0Q0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfUkVMQVRJT05TSElQX1JFUVVJUkVEX1dPUktFUhABKtEBCiFDbG91ZEV4cGVydERlcGVuZGVuY3lSZXBhaXJBY3Rpb24SNQoxQ0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfUkVQQUlSX0FDVElPTl9VTlNQRUNJRklFRBAAEjgKNENMT1VEX0VYUEVSVF9ERVBFTkRFTkNZX1JFUEFJUl9BQ1RJT05fUkVTVE9SRV9UQVJHRVQQARI7CjdDTE9VRF9FWFBFUlRfREVQRU5ERU5DWV9SRVBBSVJfQUNUSU9OX0VESVRfREVQRU5ERU5DSUVTEAIq1gEKG0Nsb3VkRXhwZXJ0RGVwZW5kZW5jeVN0YXR1cxIuCipDTE9VRF9FWFBFUlRfREVQRU5ERU5DWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIqCiZDTE9VRF9FWFBFUlRfREVQRU5ERU5DWV9TVEFUVVNfTUlTU0lORxABEioKJkNMT1VEX0VYUEVSVF9ERVBFTkRFTkNZX1NUQVRVU19ERUxFVEVEEAISLworQ0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfU1RBVFVTX0lOQUNDRVNTSUJMRRADKm4KEENsb3VkRXhwZXJ0U2NvcGUSHgoaQ0xPVURfRVhQRVJUX1NDT1BFX1VOS05PV04QABIdChlDTE9VRF9FWFBFUlRfU0NPUEVfVEVOQU5UEAESGwoXQ0xPVURfRVhQRVJUX1NDT1BFX1VTRVIQAiqoAQocQ2xvdWRFeHBlcnRTZXNzaW9uVmlzaWJpbGl0eRIvCitDTE9VRF9FWFBFUlRfU0VTU0lPTl9WSVNJQklMSVRZX1VOU1BFQ0lGSUVEEAASKgomQ0xPVURfRVhQRVJUX1NFU1NJT05fVklTSUJJTElUWV9TSEFSRUQQARIrCidDTE9VRF9FWFBFUlRfU0VTU0lPTl9WSVNJQklMSVRZX1BSSVZBVEUQAiqpAQoYQ2xvdWRFeHBlcnRWTUltYWdlU291cmNlEiwKKENMT1VEX0VYUEVSVF9WTV9JTUFHRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABInCiNDTE9VRF9FWFBFUlRfVk1fSU1BR0VfU09VUkNFX1BVQkxJQxABEjYKMkNMT1VEX0VYUEVSVF9WTV9JTUFHRV9TT1VSQ0VfR0NQX0FSVElGQUNUX1JFR0lTVFJZEAIqjwEKFENsb3VkR3JvdXBNZW1iZXJLaW5kEicKI0NMT1VEX0dST1VQX01FTUJFUl9LSU5EX1VOU1BFQ0lGSUVEEAASIQodQ0xPVURfR1JPVVBfTUVNQkVSX0tJTkRfSFVNQU4QARIrCidDTE9VRF9HUk9VUF9NRU1CRVJfS0lORF9TRVJWSUNFX0FDQ09VTlQQAip2ChJDbG91ZFJlc2lkZW50U2NvcGUSIAocQ0xPVURfUkVTSURFTlRfU0NPUEVfVU5LTk9XThAAEh8KG0NMT1VEX1JFU0lERU5UX1NDT1BFX1RFTkFOVBABEh0KGUNMT1VEX1JFU0lERU5UX1NDT1BFX1VTRVIQAiqlAQoYQ2xvdWRTYW5kYm94UHJvdmlkZXJUeXBlEisKJ0NMT1VEX1NBTkRCT1hfUFJPVklERVJfVFlQRV9VTlNQRUNJRklFRBAAEi4KKkNMT1VEX1NBTkRCT1hfUFJPVklERVJfVFlQRV9TWVNURU1fTUFOQUdFRBABEiwKKENMT1VEX1NBTkRCT1hfUFJPVklERVJfVFlQRV9VU0VSX01BTkFHRUQQAip2Cg9DbG91ZFR1bm5lbE1vZGUSIQodQ0xPVURfVFVOTkVMX01PREVfVU5TUEVDSUZJRUQQABIhCh1DTE9VRF9UVU5ORUxfTU9ERV9XRUJfUFJFVklFVxABEh0KGUNMT1VEX1RVTk5FTF9NT0RFX0RJU1BMQVkQAiqgAgoRQ2xvdWRUdW5uZWxTdGF0dXMSIwofQ0xPVURfVFVOTkVMX1NUQVRVU19VTlNQRUNJRklFRBAAEh8KG0NMT1VEX1RVTk5FTF9TVEFUVVNfUEVORElORxABEh4KGkNMT1VEX1RVTk5FTF9TVEFUVVNfQUNUSVZFEAISJAogQ0xPVURfVFVOTkVMX1NUQVRVU19ESVNDT05ORUNURUQQAxIfChtDTE9VRF9UVU5ORUxfU1RBVFVTX1JFVk9LRUQQBBIfChtDTE9VRF9UVU5ORUxfU1RBVFVTX0VYUElSRUQQBRIeChpDTE9VRF9UVU5ORUxfU1RBVFVTX0NMT1NFRBAGEh0KGUNMT1VEX1RVTk5FTF9TVEFUVVNfRVJST1IQByprCg5Db21wbGV0aW9uVHlwZRIfChtDT01QTEVUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIYChRDT01QTEVUSU9OX1RZUEVfQ09ERRABEh4KGkNPTVBMRVRJT05fVFlQRV9DSEFUX0lOUFVUEAIqbgoQQ29udmVyc2F0aW9uVHlwZRIhCh1DT05WRVJTQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEhoKFkNPTlZFUlNBVElPTl9UWVBFX0NIQVQQARIbChdDT05WRVJTQVRJT05fVFlQRV9BR0VOVBACKo8BChdDb3N0QW5hbHl0aWNzQnlva1N0YXR1cxImCiJDT1NUX0FOQUxZVElDU19CWU9LX1NUQVRVU19VTktOT1dOEAASJwojQ09TVF9BTkFMWVRJQ1NfQllPS19TVEFUVVNfTk9OX0JZT0sQARIjCh9DT1NUX0FOQUxZVElDU19CWU9LX1NUQVRVU19CWU9LEAIqgQIKFENvc3RBbmFseXRpY3NHcm91cEJ5EiMKH0NPU1RfQU5BTFlUSUNTX0dST1VQX0JZX1VOS05PV04QABIgChxDT1NUX0FOQUxZVElDU19HUk9VUF9CWV9VU0VSEAISJwojQ09TVF9BTkFMWVRJQ1NfR1JPVVBfQllfQllPS19TVEFUVVMQBBIkCiBDT1NUX0FOQUxZVElDU19HUk9VUF9CWV9SRVNPVVJDRRAFEiMKH0NPU1RfQU5BTFlUSUNTX0dST1VQX0JZX1BST0RVQ1QQBhIiCh5DT1NUX0FOQUxZVElDU19HUk9VUF9CWV9FWFBFUlQQByIECAEQASIECAMQAyqXAQoZQ29zdEFuYWx5dGljc1Jlc291cmNlVHlwZRIoCiRDT1NUX0FOQUxZVElDU19SRVNPVVJDRV9UWVBFX1VOS05PV04QABImCiJDT1NUX0FOQUxZVElDU19SRVNPVVJDRV9UWVBFX01PREVMEAESKAokQ09TVF9BTkFMWVRJQ1NfUkVTT1VSQ0VfVFlQRV9DT01QVVRFEAIqpwEKGkNvc3RBbmFseXRpY3NUYWdGaWx0ZXJUeXBlEikKJUNPU1RfQU5BTFlUSUNTX1RBR19GSUxURVJfVFlQRV9WQUxVRVMQABIsCihDT1NUX0FOQUxZVElDU19UQUdfRklMVEVSX1RZUEVfQU5ZX1ZBTFVFEAESMAosQ09TVF9BTkFMWVRJQ1NfVEFHX0ZJTFRFUl9UWVBFX01JU1NJTkdfVkFMVUUQAirJAQocQ29zdEFuYWx5dGljc1RpbWVHcmFudWxhcml0eRIrCidDT1NUX0FOQUxZVElDU19USU1FX0dSQU5VTEFSSVRZX1VOS05PV04QABIpCiVDT1NUX0FOQUxZVElDU19USU1FX0dSQU5VTEFSSVRZX1RPVEFMEAESJwojQ09TVF9BTkFMWVRJQ1NfVElNRV9HUkFOVUxBUklUWV9EQVkQAhIoCiRDT1NUX0FOQUxZVElDU19USU1FX0dSQU5VTEFSSVRZX1dFRUsQAyqwAQoVQ29zdEFuYWx5dGljc1VzZXJUeXBlEiQKIENPU1RfQU5BTFlUSUNTX1VTRVJfVFlQRV9VTktOT1dOEAASIQodQ09TVF9BTkFMWVRJQ1NfVVNFUl9UWVBFX1VTRVIQARIsCihDT1NUX0FOQUxZVElDU19VU0VSX1RZUEVfU0VSVklDRV9BQ0NPVU5UEAISIAocQ09TVF9BTkFMWVRJQ1NfVVNFUl9UWVBFX0JPVBADKu0BCghEaWZmVHlwZRIZChVESUZGX1RZUEVfVU5TUEVDSUZJRUQQABIRCg1ESUZGX1RZUEVfRklYEAESFQoRRElGRl9UWVBFX0ZFQVRVUkUQAhIWChJESUZGX1RZUEVfUkVGQUNUT1IQAxIbChdESUZGX1RZUEVfRE9DVU1FTlRBVElPThAEEhMKD0RJRkZfVFlQRV9TVFlMRRAFEhIKDkRJRkZfVFlQRV9URVNUEAYSEwoPRElGRl9UWVBFX0NIT1JFEAcSFAoQRElGRl9UWVBFX1JFVkVSVBAIEhMKD0RJRkZfVFlQRV9PVEhFUhAJKmwKD0VkaXRFdmVudFNvdXJjZRIbChdFRElUX1NPVVJDRV9VTlNQRUNJRklFRBAAEhkKFUVESVRfU09VUkNFX1VTRVJfRURJVBABEiEKHUVESVRfU09VUkNFX0NIRUNLUE9JTlRfUkVWRVJUEAIqmAEKC0V2ZW50U291cmNlEhwKGEVWRU5UX1NPVVJDRV9VTlNQRUNJRklFRBAAEhcKE0VWRU5UX1NPVVJDRV9HSVRIVUIQARIXChNFVkVOVF9TT1VSQ0VfTElORUFSEAISGQoVRVZFTlRfU09VUkNFX1NDSEVEVUxFEAMSHgoaRVZFTlRfU09VUkNFX1NDSEVEVUxFX1RFTVAQBCo/ChJFeHRlcm5hbFNvdXJjZVR5cGUSEgoOVU5LTk9XTl9TT1VSQ0UQABIVChFET0NVTUVOVEFUSU9OX1NFVBABKjcKDkZlZWRiYWNrUmF0aW5nEgkKBVVOU0VUEAASDAoIUE9TSVRJVkUQARIMCghORUdBVElWRRACKoABChBHaXRIdWJFbnRpdHlUeXBlEiIKHkdJVEhVQl9FTlRJVFlfVFlQRV9VTlNQRUNJRklFRBAAEiMKH0dJVEhVQl9FTlRJVFlfVFlQRV9QVUxMX1JFUVVFU1QQARIjCh9HSVRIVUJfRU5USVRZX1RZUEVfV09SS0ZMT1dfUlVOEAIqVQoPSW1hZ2VGb3JtYXRUeXBlEhwKGElNQUdFX0ZPUk1BVF9VTlNQRUNJRklFRBAAEgcKA1BORxABEggKBEpQRUcQAhIHCgNHSUYQAxIICgRXRUJQEAQqVAoQTGluZWFyRW50aXR5VHlwZRIiCh5MSU5FQVJfRU5USVRZX1RZUEVfVU5TUEVDSUZJRUQQABIcChhMSU5FQVJfRU5USVRZX1RZUEVfSVNTVUUQASp4CgtNY3BBdXRoVHlwZRIdChlNQ1BfQVVUSF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSTUNQX0FVVEhfVFlQRV9OT05FEAESFwoTTUNQX0FVVEhfVFlQRV9PQVVUSBACEhkKFU1DUF9BVVRIX1RZUEVfQVBJX0tFWRADKpMBChRNY3BDYXRhbG9nRW50cnlTdGF0ZRInCiNNQ1BfQ0FUQUxPR19FTlRSWV9TVEFURV9VTlNQRUNJRklFRBAAEiUKIU1DUF9DQVRBTE9HX0VOVFJZX1NUQVRFX0FWQUlMQUJMRRABEisKJ01DUF9DQVRBTE9HX0VOVFJZX1NUQVRFX09QVF9JTl9SRVFVSVJFRBACKmoKDk1jcENvbmZpZ1Njb3BlEiAKHE1DUF9DT05GSUdfU0NPUEVfVU5TUEVDSUZJRUQQABIZChVNQ1BfQ09ORklHX1NDT1BFX1VTRVIQARIbChdNQ1BfQ09ORklHX1NDT1BFX1RFTkFOVBACKm4KDk1jcFByb2R1Y3RUeXBlEiAKHE1DUF9QUk9EVUNUX1RZUEVfVU5TUEVDSUZJRUQQABIYChRNQ1BfUFJPRFVDVF9UWVBFX0NMSRABEiAKHE1DUF9QUk9EVUNUX1RZUEVfQ0xPVURfQUdFTlQQAipoChdOb3RpZmljYXRpb25EaXNwbGF5VHlwZRIcChhESVNQTEFZX1RZUEVfVU5TUEVDSUZJRUQQABIWChJESVNQTEFZX1RZUEVfVE9BU1QQARIXChNESVNQTEFZX1RZUEVfQkFOTkVSEAIqkgEKEU5vdGlmaWNhdGlvbkxldmVsEiIKHk5PVElGSUNBVElPTl9MRVZFTF9VTlNQRUNJRklFRBAAEhsKF05PVElGSUNBVElPTl9MRVZFTF9JTkZPEAESHgoaTk9USUZJQ0FUSU9OX0xFVkVMX1dBUk5JTkcQAhIcChhOT1RJRklDQVRJT05fTEVWRUxfRVJST1IQAyplCg1PdXRjb21lT3JpZ2luEhoKFk9VVENPTUVfT1JJR0lOX1VOS05PV04QABIZChVPVVRDT01FX09SSUdJTl9DT1NNT1MQARIdChlPVVRDT01FX09SSUdJTl9OT05fQ09TTU9TEAIqSAoLUGVyc29uYVR5cGUSCwoHREVGQVVMVBAAEg4KClBST1RPVFlQRVIQARIOCgpCUkFJTlNUT1JNEAISDAoIUkVWSUVXRVIQAyqgAQobUmVtb3RlQWdlbnRSZXN1bWVIaW50UmVhc29uEigKJFJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9VTlNQRUNJRklFRBAAEisKJ1JFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9UWVBJTkdfTUVTU0FHRRABEioKJlJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9WSUVXSU5HX0FHRU5UEAIqqwEKEVJlbW90ZUFnZW50U3RhdHVzEhUKEUFHRU5UX1VOU1BFQ0lGSUVEEAASEQoNQUdFTlRfUEVORElORxAFEhIKDkFHRU5UX1NUQVJUSU5HEAESEQoNQUdFTlRfUlVOTklORxACEg4KCkFHRU5UX0lETEUQAxIQCgxBR0VOVF9GQUlMRUQQBBIRCg1BR0VOVF9QQVVTSU5HEAYSEAoMQUdFTlRfUEFVU0VEEAcqowIKGlJlbW90ZUFnZW50V29ya3NwYWNlU3RhdHVzEi0KKVJFTU9URV9BR0VOVF9XT1JLU1BBQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKQolUkVNT1RFX0FHRU5UX1dPUktTUEFDRV9TVEFUVVNfUlVOTklORxABEikKJVJFTU9URV9BR0VOVF9XT1JLU1BBQ0VfU1RBVFVTX1BBVVNJTkcQAhIoCiRSRU1PVEVfQUdFTlRfV09SS1NQQUNFX1NUQVRVU19QQVVTRUQQAxIqCiZSRU1PVEVfQUdFTlRfV09SS1NQQUNFX1NUQVRVU19SRVNVTUlORxAEEioKJlJFTU9URV9BR0VOVF9XT1JLU1BBQ0VfU1RBVFVTX0RFTEVUSU5HEAUqqwIKDFJlbW90ZVRvb2xJZBILCgdVTktOT1dOEAASDgoKV0VCX1NFQVJDSBABEg4KCkdJVEhVQl9BUEkQCBIbChdHSVRIVUJfQVBQX1JFQURPTkxZX0FQSRASEhsKF0dJVEhVQl9BUFBfUE9TVF9DT01NRU5UEBMSHQoZR0lUSFVCX0FQUF9QUl9ERVNDUklQVElPThAUEgoKBkxJTkVBUhAMEggKBEpJUkEQDRIOCgpDT05GTFVFTkNFEA4SCgoGTk9USU9OEA8SDAoIU1VQQUJBU0UQEBIJCgVHTEVBThARIgQIAhACIgQIAxADIgQIBBAEIgQIBRAFIgQIBhAGIgQIBxAHIgQICRAJIgQIChAKIgQICxALIgQIFRAVKg5DT05URVhUX0NBTlZBUyrWAQoYUmVtb3RlVG9vbFJlc3BvbnNlU3RhdHVzEiEKHVRPT0xfRVhFQ1VUSU9OX1VOS05PV05fU1RBVFVTEAASGgoWVE9PTF9FWEVDVVRJT05fU1VDQ0VTUxABEhIKDlRPT0xfTk9UX0ZPVU5EEAISFgoSSU5WQUxJRF9UT09MX0lOUFVUEAMSGAoUVE9PTF9FWEVDVVRJT05fRVJST1IQBBIWChJUT09MX05PVF9BVkFJTEFCTEUQBRIdChlUT09MX0FVVEhFTlRJQ0FUSU9OX0VSUk9SEAYqkAIKHlJlbW90ZVdvcmtzcGFjZVNldHVwU3RlcFN0YXR1cxIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1VOS05PV04QABIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1JVTk5JTkcQARIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1NVQ0NFU1MQAhIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX0ZBSUxVUkUQAxIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1NLSVBQRUQQBCrfAQoNUmVxdWVzdFNvdXJjZRIeChpSRVFVRVNUX1NPVVJDRV9VTlNQRUNJRklFRBAAEhYKElJFUVVFU1RfU09VUkNFX0lERRABEiIKHlJFUVVFU1RfU09VUkNFX0FVR01FTlRfQUNUSU9OUxACEhwKGFJFUVVFU1RfU09VUkNFX1NMQUNLX0JPVBADEh0KGVJFUVVFU1RfU09VUkNFX0dJVEhVQl9CT1QQBBIdChlSRVFVRVNUX1NPVVJDRV9MSU5FQVJfQk9UEAUSFgoSUkVRVUVTVF9TT1VSQ0VfQ0xJEAYqjAIKFlJldm9rZVRvb2xBY2Nlc3NTdGF0dXMSJQohUkVWT0tFX1RPT0xfQUNDRVNTX1NUQVRVU19VTktOT1dOEAASKwonUkVWT0tFX1RPT0xfQUNDRVNTX1NUQVRVU19VTklNUExFTUVOVEVEEAESJwojUkVWT0tFX1RPT0xfQUNDRVNTX1NUQVRVU19OT1RfRk9VTkQQAhIlCiFSRVZPS0VfVE9PTF9BQ0NFU1NfU1RBVFVTX1NVQ0NFU1MQAxIoCiRSRVZPS0VfVE9PTF9BQ0NFU1NfU1RBVFVTX05PVF9BQ1RJVkUQBBIkCiBSRVZPS0VfVE9PTF9BQ0NFU1NfU1RBVFVTX0ZBSUxFRBAFKkAKCFJ1bGVUeXBlEhMKD0FMV0FZU19BVFRBQ0hFRBAAEgoKBk1BTlVBTBABEhMKD0FHRU5UX1JFUVVFU1RFRBACKl4KElNjaGVkdWxlRW50aXR5VHlwZRIkCiBTQ0hFRFVMRV9FTlRJVFlfVFlQRV9VTlNQRUNJRklFRBAAEiIKHlNDSEVEVUxFX0VOVElUWV9UWVBFX0VYRUNVVElPThABKqUBChNTZWNyZXRBcHBsaWNhYmlsaXR5EiQKIFNFQ1JFVF9BUFBMSUNBQklMSVRZX1VOU1BFQ0lGSUVEEAASIQodU0VDUkVUX0FQUExJQ0FCSUxJVFlfUEVSU09OQUwQARIeChpTRUNSRVRfQVBQTElDQUJJTElUWV9TUEFDRRACEiUKIVNFQ1JFVF9BUFBMSUNBQklMSVRZX09SR0FOSVpBVElPThADKl4KC1NlY3JldFNjb3BlEhwKGFNFQ1JFVF9TQ09QRV9VTlNQRUNJRklFRBAAEhgKFFNFQ1JFVF9TQ09QRV9QUklWQVRFEAESFwoTU0VDUkVUX1NDT1BFX1NIQVJFRBACKlEKCVRhZ1NvdXJjZRIWChJUQUdfU09VUkNFX1VOS05PV04QABIVChFUQUdfU09VUkNFX1NZU1RFTRABEhUKEVRBR19TT1VSQ0VfQ1VTVE9NEAIq0wIKGFRlc3RUb29sQ29ubmVjdGlvblN0YXR1cxInCiNURVNUX1RPT0xfQ09OTkVDVElPTl9TVEFUVVNfVU5LTk9XThAAEi0KKVRFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19VTklNUExFTUVOVEVEEAESKQolVEVTVF9UT09MX0NPTk5FQ1RJT05fU1RBVFVTX05PVF9GT1VORBACEiIKHlRFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19PSxADEiUKIVRFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19FUlJPUhAEEjMKL1RFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19TRVJWSUNFX1VOQVZBSUxBQkxFEAUSNAowVEVTVF9UT09MX0NPTk5FQ1RJT05fU1RBVFVTX0FVVEhFTlRJQ0FUSU9OX0VSUk9SEAYqVQoWVG9vbEF2YWlsYWJpbGl0eVN0YXR1cxISCg5VTktOT1dOX1NUQVRVUxAAEg0KCUFWQUlMQUJMRRABEhgKFFVTRVJfQ09ORklHX1JFUVVJUkVEEAIqXgoZVG9vbFJlc3VsdENvbnRlbnROb2RlVHlwZRIcChhDT05URU5UX1RZUEVfVU5TUEVDSUZJRUQQABIQCgxDT05URU5UX1RFWFQQARIRCg1DT05URU5UX0lNQUdFEAIqPAoKVG9vbFNhZmV0eRIPCgtUT09MX1VOU0FGRRAAEg0KCVRPT0xfU0FGRRABEg4KClRPT0xfQ0hFQ0sQAiqaAQoUVHJpZ2dlckNvbmRpdGlvblR5cGUSJgoiVFJJR0dFUl9DT05ESVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEhwKGFRSSUdHRVJfQ09ORElUSU9OX0dJVEhVQhABEhwKGFRSSUdHRVJfQ09ORElUSU9OX0xJTkVBUhACEh4KGlRSSUdHRVJfQ09ORElUSU9OX1NDSEVEVUxFEAMqTwoJVXNhZ2VVbml0EhYKElVTQUdFX1VOSVRfVU5LTk9XThAAEhYKElVTQUdFX1VOSVRfQ1JFRElUUxABEhIKDlVTQUdFX1VOSVRfVVNEEAJCPlo8Z2l0aHViLmNvbS9hdWdtZW50Y29kZS9hdWdtZW50L3NlcnZpY2VzL2FwaV9wcm94eS9wdWJsaWNfYXBpYgZwcm90bzM",[qi,rr,nn,ee,Yn,yn,D2,Ha]);var l0;(function(e){e[e.BANNER_TYPE_UNKNOWN=0]="BANNER_TYPE_UNKNOWN",e[e.URL_LINK=1]="URL_LINK",e[e.USAGE_BALANCE_DEPLETED=2]="USAGE_BALANCE_DEPLETED",e[e.USAGE_BALANCE_LOW=3]="USAGE_BALANCE_LOW",e[e.REQUIRE_PAYMENT_FOR_TRIAL=4]="REQUIRE_PAYMENT_FOR_TRIAL"})(l0||(l0={}));var a0;(function(e){e[e.BANNER_DISPLAY_STYLE_UNKNOWN=0]="BANNER_DISPLAY_STYLE_UNKNOWN",e[e.INFO=1]="INFO",e[e.PROMOTION=2]="PROMOTION",e[e.WARNING=3]="WARNING",e[e.ALERT=4]="ALERT"})(a0||(a0={}));var c0;(function(e){e[e.ADDED=0]="ADDED",e[e.DELETED=1]="DELETED",e[e.MODIFIED=2]="MODIFIED",e[e.RENAMED=3]="RENAMED"})(c0||(c0={}));var d0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.ALL_FEATURES=1]="ALL_FEATURES",e[e.CHAT=2]="CHAT",e[e.AGENT=3]="AGENT",e[e.REMOTE_AGENT=4]="REMOTE_AGENT",e[e.CLI_AGENT=5]="CLI_AGENT",e[e.ORIENTATION=7]="ORIENTATION",e[e.CODE_REVIEW=9]="CODE_REVIEW",e[e.CHAT_STREAM_CREDIT_CONSUMPTION=21]="CHAT_STREAM_CREDIT_CONSUMPTION",e[e.CONTEXT_ENGINE=22]="CONTEXT_ENGINE",e[e.POSEIDON=25]="POSEIDON",e[e.INDEXING_INFRA=28]="INDEXING_INFRA"})(d0||(d0={}));var u0;(function(e){e[e.STATE_UNKNOWN=0]="STATE_UNKNOWN",e[e.ENABLED=1]="ENABLED",e[e.DISABLED=2]="DISABLED"})(u0||(u0={}));var h0;(function(e){e[e.REASON_UNKNOWN=0]="REASON_UNKNOWN",e[e.INACTIVE_SUBSCRIPTION=1]="INACTIVE_SUBSCRIPTION",e[e.USAGE_BALANCE_DEPLETED=2]="USAGE_BALANCE_DEPLETED",e[e.NOT_INCLUDED_IN_PLAN=3]="NOT_INCLUDED_IN_PLAN",e[e.QUOTA_EXCEEDED=4]="QUOTA_EXCEEDED"})(h0||(h0={}));var NS=M(go,526,0);var b0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COMMUNITY_TIER=1]="COMMUNITY_TIER",e[e.PROFESSIONAL_TIER=2]="PROFESSIONAL_TIER",e[e.ENTERPRISE_TIER=3]="ENTERPRISE_TIER"})(b0||(b0={}));var FS=M(go,550);var BS=M(go,631);var CS=M(go,735);var f0;(function(e){e[e.GLOBAL=0]="GLOBAL",e[e.TENANT=1]="TENANT"})(f0||(f0={}));var m0;(function(e){e[e.AGENT_HISTORY_UPDATE_TYPE_UNSPECIFIED=0]="AGENT_HISTORY_UPDATE_TYPE_UNSPECIFIED",e[e.AGENT_HISTORY_EXCHANGE=1]="AGENT_HISTORY_EXCHANGE",e[e.AGENT_HISTORY_EXCHANGE_UPDATE=2]="AGENT_HISTORY_EXCHANGE_UPDATE",e[e.AGENT_HISTORY_AGENT_STATUS=3]="AGENT_HISTORY_AGENT_STATUS"})(m0||(m0={}));var A0;(function(e){e[e.AGENT_LIST_UPDATE_TYPE_UNSPECIFIED=0]="AGENT_LIST_UPDATE_TYPE_UNSPECIFIED",e[e.AGENT_LIST_AGENT_ADDED=1]="AGENT_LIST_AGENT_ADDED",e[e.AGENT_LIST_AGENT_UPDATED=2]="AGENT_LIST_AGENT_UPDATED",e[e.AGENT_LIST_AGENT_DELETED=3]="AGENT_LIST_AGENT_DELETED",e[e.AGENT_LIST_ALL_AGENTS=4]="AGENT_LIST_ALL_AGENTS"})(A0||(A0={}));var V0;(function(e){e[e.GLOBAL=0]="GLOBAL",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER"})(V0||(V0={}));var g0;(function(e){e[e.AGENT_WORKSPACE_UPDATE_TYPE_UNSPECIFIED=0]="AGENT_WORKSPACE_UPDATE_TYPE_UNSPECIFIED",e[e.AGENT_WORKSPACE_UPDATE_INTERRUPT=1]="AGENT_WORKSPACE_UPDATE_INTERRUPT",e[e.AGENT_WORKSPACE_UPDATE_CHAT_REQUEST=2]="AGENT_WORKSPACE_UPDATE_CHAT_REQUEST"})(g0||(g0={}));var p0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COST=1]="COST",e[e.OUTCOME=2]="OUTCOME"})(p0||(p0={}));var E0;(function(e){e[e.TEXT=0]="TEXT",e[e.TOOL_RESULT=1]="TOOL_RESULT",e[e.IMAGE=2]="IMAGE",e[e.IMAGE_ID=3]="IMAGE_ID",e[e.IDE_STATE=4]="IDE_STATE",e[e.EDIT_EVENTS=5]="EDIT_EVENTS",e[e.CHECKPOINT_REF=6]="CHECKPOINT_REF",e[e.CHAT_NODE_FILE=8]="CHAT_NODE_FILE",e[e.CHAT_NODE_FILE_ID=9]="CHAT_NODE_FILE_ID",e[e.HISTORY_SUMMARY=10]="HISTORY_SUMMARY"})(E0||(E0={}));var R0;(function(e){e[e.RAW_RESPONSE=0]="RAW_RESPONSE",e[e.SUGGESTED_QUESTIONS=1]="SUGGESTED_QUESTIONS",e[e.MAIN_TEXT_FINISHED=2]="MAIN_TEXT_FINISHED",e[e.WORKSPACE_FILE_CHUNKS=3]="WORKSPACE_FILE_CHUNKS",e[e.RELEVANT_SOURCES=4]="RELEVANT_SOURCES",e[e.TOOL_USE=5]="TOOL_USE",e[e.TOOL_USE_START=7]="TOOL_USE_START",e[e.THINKING=8]="THINKING",e[e.BILLING_METADATA=9]="BILLING_METADATA",e[e.TOKEN_USAGE=10]="TOKEN_USAGE"})(R0||(R0={}));var Z0;(function(e){e[e.REASON_UNSPECIFIED=0]="REASON_UNSPECIFIED",e[e.END_TURN=1]="END_TURN",e[e.MAX_TOKENS=2]="MAX_TOKENS",e[e.TOOL_USE_REQUESTED=3]="TOOL_USE_REQUESTED",e[e.SAFETY=4]="SAFETY",e[e.RECITATION=5]="RECITATION",e[e.MALFORMED_FUNCTION_CALL=6]="MALFORMED_FUNCTION_CALL",e[e.STOP_REASON_ERROR=7]="STOP_REASON_ERROR"})(Z0||(Z0={}));var S0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_ACCESS=1]="WEB_ACCESS",e[e.MCP=2]="MCP",e[e.CLI_TOOLS=4]="CLI_TOOLS",e[e.GITHUB=5]="GITHUB"})(S0||(S0={}));var X0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SALSA=1]="SALSA",e[e.AUGGIE=2]="AUGGIE"})(X0||(X0={}));var W0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.IDLE=1]="IDLE",e[e.PROCESSING=2]="PROCESSING",e[e.TERMINATED=3]="TERMINATED",e[e.COMPLETED=4]="COMPLETED",e[e.STARTING=5]="STARTING",e[e.WAITING_FOR_INPUT=6]="WAITING_FOR_INPUT"})(W0||(W0={}));var G0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.FORCE_ISOLATED=1]="FORCE_ISOLATED",e[e.FORCE_SHARED=2]="FORCE_SHARED"})(G0||(G0={}));var I0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BASE_IMAGE=1]="BASE_IMAGE",e[e.DAEMON_POOL=2]="DAEMON_POOL",e[e.UNPOOLED_DAEMON=3]="UNPOOLED_DAEMON"})(I0||(I0={}));var N0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.NAME_ASC=1]="NAME_ASC",e[e.NAME_DESC=2]="NAME_DESC",e[e.CREATED_BY_ASC=3]="CREATED_BY_ASC",e[e.CREATED_BY_DESC=4]="CREATED_BY_DESC",e[e.SIZE_ASC=5]="SIZE_ASC",e[e.SIZE_DESC=6]="SIZE_DESC",e[e.REPOS_ASC=7]="REPOS_ASC",e[e.REPOS_DESC=8]="REPOS_DESC",e[e.UPDATED_ASC=9]="UPDATED_ASC",e[e.UPDATED_DESC=10]="UPDATED_DESC",e[e.CREATED_ASC=11]="CREATED_ASC",e[e.CREATED_DESC=12]="CREATED_DESC"})(N0||(N0={}));var F0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PERSONAL=1]="PERSONAL",e[e.SHARED=2]="SHARED"})(F0||(F0={}));var B0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BUILD_FAILED=1]="BUILD_FAILED",e[e.EXECUTION_INTERRUPTED=2]="EXECUTION_INTERRUPTED",e[e.INTERNAL=3]="INTERNAL",e[e.VERSION_CONFLICT=4]="VERSION_CONFLICT",e[e.REFRESH_FAILED=5]="REFRESH_FAILED",e[e.RECONCILE_FAILED=6]="RECONCILE_FAILED",e[e.UPDATE_FAILED=7]="UPDATE_FAILED"})(B0||(B0={}));var C0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.QUEUED=1]="QUEUED",e[e.PREPARING=2]="PREPARING",e[e.BUILDING=3]="BUILDING",e[e.PROMOTING=4]="PROMOTING",e[e.UPDATING=6]="UPDATING"})(C0||(C0={}));var Y0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PENDING=1]="PENDING",e[e.RUNNING=2]="RUNNING",e[e.CANCEL_REQUESTED=3]="CANCEL_REQUESTED",e[e.SUCCEEDED=4]="SUCCEEDED",e[e.FAILED=5]="FAILED",e[e.CANCELED=6]="CANCELED"})(Y0||(Y0={}));var an;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BASE_IMAGE_REBUILD=1]="BASE_IMAGE_REBUILD",e[e.BASE_IMAGE_BUILD=2]="BASE_IMAGE_BUILD",e[e.REFRESH=3]="REFRESH",e[e.REPOSITORY_RECONCILE=4]="REPOSITORY_RECONCILE",e[e.UPDATE=5]="UPDATE"})(an||(an={}));var y0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ACTIVE=1]="ACTIVE",e[e.BUILDING=2]="BUILDING",e[e.FAILED=3]="FAILED",e[e.DEPRECATED=4]="DEPRECATED",e[e.DELETING=5]="DELETING"})(y0||(y0={}));var pr;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_ACCESS=1]="WEB_ACCESS",e[e.CLI_TOOLS=4]="CLI_TOOLS",e[e.GITHUB=7]="GITHUB",e[e.LINEAR=8]="LINEAR",e[e.ECHO=9]="ECHO",e[e.SLACK=11]="SLACK",e[e.GITHUB_APP=12]="GITHUB_APP",e[e.LINEAR_APP=13]="LINEAR_APP",e[e.CUSTOM_WEBHOOK=19]="CUSTOM_WEBHOOK",e[e.GITLAB=20]="GITLAB",e[e.GITLAB_APP=21]="GITLAB_APP",e[e.JIRA=23]="JIRA",e[e.CONFLUENCE=24]="CONFLUENCE",e[e.JIRA_APP=25]="JIRA_APP",e[e.CONFLUENCE_APP=26]="CONFLUENCE_APP",e[e.TEAMS=27]="TEAMS",e[e.AZURE_DEVOPS=28]="AZURE_DEVOPS",e[e.AZURE_DEVOPS_APP=29]="AZURE_DEVOPS_APP"})(pr||(pr={}));var ob;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BUILTIN_CAPABILITIES=1]="BUILTIN_CAPABILITIES",e[e.NAMES=2]="NAMES"})(ob||(ob={}));var w0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.REQUIRED_WORKER=1]="REQUIRED_WORKER"})(w0||(w0={}));var U0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.RESTORE_TARGET=1]="RESTORE_TARGET",e[e.EDIT_DEPENDENCIES=2]="EDIT_DEPENDENCIES"})(U0||(U0={}));var x0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MISSING=1]="MISSING",e[e.DELETED=2]="DELETED",e[e.INACCESSIBLE=3]="INACCESSIBLE"})(x0||(x0={}));var ib;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER"})(ib||(ib={}));var v0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SHARED=1]="SHARED",e[e.PRIVATE=2]="PRIVATE"})(v0||(v0={}));var J0;(function(e){e[e.CLOUD_EXPERT_VM_IMAGE_SOURCE_UNSPECIFIED=0]="CLOUD_EXPERT_VM_IMAGE_SOURCE_UNSPECIFIED",e[e.CLOUD_EXPERT_VM_IMAGE_SOURCE_PUBLIC=1]="CLOUD_EXPERT_VM_IMAGE_SOURCE_PUBLIC",e[e.CLOUD_EXPERT_VM_IMAGE_SOURCE_GCP_ARTIFACT_REGISTRY=2]="CLOUD_EXPERT_VM_IMAGE_SOURCE_GCP_ARTIFACT_REGISTRY"})(J0||(J0={}));var k0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.HUMAN=1]="HUMAN",e[e.SERVICE_ACCOUNT=2]="SERVICE_ACCOUNT"})(k0||(k0={}));var _0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER"})(_0||(_0={}));var Q0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SYSTEM_MANAGED=1]="SYSTEM_MANAGED",e[e.USER_MANAGED=2]="USER_MANAGED"})(Q0||(Q0={}));var T0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.WEB_PREVIEW=1]="WEB_PREVIEW",e[e.DISPLAY=2]="DISPLAY"})(T0||(T0={}));var K0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PENDING=1]="PENDING",e[e.ACTIVE=2]="ACTIVE",e[e.DISCONNECTED=3]="DISCONNECTED",e[e.REVOKED=4]="REVOKED",e[e.EXPIRED=5]="EXPIRED",e[e.CLOSED=6]="CLOSED",e[e.ERROR=7]="ERROR"})(K0||(K0={}));var z0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CODE=1]="CODE",e[e.CHAT_INPUT=2]="CHAT_INPUT"})(z0||(z0={}));var D0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CHAT=1]="CHAT",e[e.AGENT=2]="AGENT"})(D0||(D0={}));var L0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.NON_BYOK=1]="NON_BYOK",e[e.BYOK=2]="BYOK"})(L0||(L0={}));var H0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.USER=2]="USER",e[e.BYOK_STATUS=4]="BYOK_STATUS",e[e.RESOURCE=5]="RESOURCE",e[e.PRODUCT=6]="PRODUCT",e[e.EXPERT=7]="EXPERT"})(H0||(H0={}));var M0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.MODEL=1]="MODEL",e[e.COMPUTE=2]="COMPUTE"})(M0||(M0={}));var O0;(function(e){e[e.VALUES=0]="VALUES",e[e.ANY_VALUE=1]="ANY_VALUE",e[e.MISSING_VALUE=2]="MISSING_VALUE"})(O0||(O0={}));var j0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TOTAL=1]="TOTAL",e[e.DAY=2]="DAY",e[e.WEEK=3]="WEEK"})(j0||(j0={}));var P0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.USER=1]="USER",e[e.SERVICE_ACCOUNT=2]="SERVICE_ACCOUNT",e[e.BOT=3]="BOT"})(P0||(P0={}));var q0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.FIX=1]="FIX",e[e.FEATURE=2]="FEATURE",e[e.REFACTOR=3]="REFACTOR",e[e.DOCUMENTATION=4]="DOCUMENTATION",e[e.STYLE=5]="STYLE",e[e.TEST=6]="TEST",e[e.CHORE=7]="CHORE",e[e.REVERT=8]="REVERT",e[e.OTHER=9]="OTHER"})(q0||(q0={}));var $0;(function(e){e[e.EDIT_SOURCE_UNSPECIFIED=0]="EDIT_SOURCE_UNSPECIFIED",e[e.EDIT_SOURCE_USER_EDIT=1]="EDIT_SOURCE_USER_EDIT",e[e.EDIT_SOURCE_CHECKPOINT_REVERT=2]="EDIT_SOURCE_CHECKPOINT_REVERT"})($0||($0={}));var eS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.GITHUB=1]="GITHUB",e[e.LINEAR=2]="LINEAR",e[e.SCHEDULE=3]="SCHEDULE",e[e.SCHEDULE_TEMP=4]="SCHEDULE_TEMP"})(eS||(eS={}));var tS;(function(e){e[e.UNKNOWN_SOURCE=0]="UNKNOWN_SOURCE",e[e.DOCUMENTATION_SET=1]="DOCUMENTATION_SET"})(tS||(tS={}));var nS;(function(e){e[e.UNSET=0]="UNSET",e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=2]="NEGATIVE"})(nS||(nS={}));var rS;(function(e){e[e.GITHUB_ENTITY_TYPE_UNSPECIFIED=0]="GITHUB_ENTITY_TYPE_UNSPECIFIED",e[e.GITHUB_ENTITY_TYPE_PULL_REQUEST=1]="GITHUB_ENTITY_TYPE_PULL_REQUEST",e[e.GITHUB_ENTITY_TYPE_WORKFLOW_RUN=2]="GITHUB_ENTITY_TYPE_WORKFLOW_RUN"})(rS||(rS={}));var oS;(function(e){e[e.IMAGE_FORMAT_UNSPECIFIED=0]="IMAGE_FORMAT_UNSPECIFIED",e[e.PNG=1]="PNG",e[e.JPEG=2]="JPEG",e[e.GIF=3]="GIF",e[e.WEBP=4]="WEBP"})(oS||(oS={}));var iS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ISSUE=1]="ISSUE"})(iS||(iS={}));var sS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.NONE=1]="NONE",e[e.OAUTH=2]="OAUTH",e[e.API_KEY=3]="API_KEY"})(sS||(sS={}));var lS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.OPT_IN_REQUIRED=2]="OPT_IN_REQUIRED"})(lS||(lS={}));var aS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.USER=1]="USER",e[e.TENANT=2]="TENANT"})(aS||(aS={}));var cS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CLI=1]="CLI",e[e.CLOUD_AGENT=2]="CLOUD_AGENT"})(cS||(cS={}));var dS;(function(e){e[e.DISPLAY_TYPE_UNSPECIFIED=0]="DISPLAY_TYPE_UNSPECIFIED",e[e.DISPLAY_TYPE_TOAST=1]="DISPLAY_TYPE_TOAST",e[e.DISPLAY_TYPE_BANNER=2]="DISPLAY_TYPE_BANNER"})(dS||(dS={}));var uS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INFO=1]="INFO",e[e.WARNING=2]="WARNING",e[e.ERROR=3]="ERROR"})(uS||(uS={}));var hS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COSMOS=1]="COSMOS",e[e.NON_COSMOS=2]="NON_COSMOS"})(hS||(hS={}));var bS;(function(e){e[e.DEFAULT=0]="DEFAULT",e[e.PROTOTYPER=1]="PROTOTYPER",e[e.BRAINSTORM=2]="BRAINSTORM",e[e.REVIEWER=3]="REVIEWER"})(bS||(bS={}));var fS;(function(e){e[e.RESUME_AGENT_HINT_REASON_UNSPECIFIED=0]="RESUME_AGENT_HINT_REASON_UNSPECIFIED",e[e.RESUME_AGENT_HINT_REASON_TYPING_MESSAGE=1]="RESUME_AGENT_HINT_REASON_TYPING_MESSAGE",e[e.RESUME_AGENT_HINT_REASON_VIEWING_AGENT=2]="RESUME_AGENT_HINT_REASON_VIEWING_AGENT"})(fS||(fS={}));var mS;(function(e){e[e.AGENT_UNSPECIFIED=0]="AGENT_UNSPECIFIED",e[e.AGENT_PENDING=5]="AGENT_PENDING",e[e.AGENT_STARTING=1]="AGENT_STARTING",e[e.AGENT_RUNNING=2]="AGENT_RUNNING",e[e.AGENT_IDLE=3]="AGENT_IDLE",e[e.AGENT_FAILED=4]="AGENT_FAILED",e[e.AGENT_PAUSING=6]="AGENT_PAUSING",e[e.AGENT_PAUSED=7]="AGENT_PAUSED"})(mS||(mS={}));var AS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.RUNNING=1]="RUNNING",e[e.PAUSING=2]="PAUSING",e[e.PAUSED=3]="PAUSED",e[e.RESUMING=4]="RESUMING",e[e.DELETING=5]="DELETING"})(AS||(AS={}));var cn;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_SEARCH=1]="WEB_SEARCH",e[e.GITHUB_API=8]="GITHUB_API",e[e.GITHUB_APP_READONLY_API=18]="GITHUB_APP_READONLY_API",e[e.GITHUB_APP_POST_COMMENT=19]="GITHUB_APP_POST_COMMENT",e[e.GITHUB_APP_PR_DESCRIPTION=20]="GITHUB_APP_PR_DESCRIPTION",e[e.LINEAR=12]="LINEAR",e[e.JIRA=13]="JIRA",e[e.CONFLUENCE=14]="CONFLUENCE",e[e.NOTION=15]="NOTION",e[e.SUPABASE=16]="SUPABASE",e[e.GLEAN=17]="GLEAN"})(cn||(cn={}));var sb;(function(e){e[e.TOOL_EXECUTION_UNKNOWN_STATUS=0]="TOOL_EXECUTION_UNKNOWN_STATUS",e[e.TOOL_EXECUTION_SUCCESS=1]="TOOL_EXECUTION_SUCCESS",e[e.TOOL_NOT_FOUND=2]="TOOL_NOT_FOUND",e[e.INVALID_TOOL_INPUT=3]="INVALID_TOOL_INPUT",e[e.TOOL_EXECUTION_ERROR=4]="TOOL_EXECUTION_ERROR",e[e.TOOL_NOT_AVAILABLE=5]="TOOL_NOT_AVAILABLE",e[e.TOOL_AUTHENTICATION_ERROR=6]="TOOL_AUTHENTICATION_ERROR"})(sb||(sb={}));var VS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.RUNNING=1]="RUNNING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE",e[e.SKIPPED=4]="SKIPPED"})(VS||(VS={}));var gS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.IDE=1]="IDE",e[e.AUGMENT_ACTIONS=2]="AUGMENT_ACTIONS",e[e.SLACK_BOT=3]="SLACK_BOT",e[e.GITHUB_BOT=4]="GITHUB_BOT",e[e.LINEAR_BOT=5]="LINEAR_BOT",e[e.CLI=6]="CLI"})(gS||(gS={}));var pS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.UNIMPLEMENTED=1]="UNIMPLEMENTED",e[e.NOT_FOUND=2]="NOT_FOUND",e[e.SUCCESS=3]="SUCCESS",e[e.NOT_ACTIVE=4]="NOT_ACTIVE",e[e.FAILED=5]="FAILED"})(pS||(pS={}));var ES;(function(e){e[e.ALWAYS_ATTACHED=0]="ALWAYS_ATTACHED",e[e.MANUAL=1]="MANUAL",e[e.AGENT_REQUESTED=2]="AGENT_REQUESTED"})(ES||(ES={}));var RS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.EXECUTION=1]="EXECUTION"})(RS||(RS={}));var dn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PERSONAL=1]="PERSONAL",e[e.SPACE=2]="SPACE",e[e.ORGANIZATION=3]="ORGANIZATION"})(dn||(dn={}));var Vo;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PRIVATE=1]="PRIVATE",e[e.SHARED=2]="SHARED"})(Vo||(Vo={}));var ZS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.SYSTEM=1]="SYSTEM",e[e.CUSTOM=2]="CUSTOM"})(ZS||(ZS={}));var SS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.UNIMPLEMENTED=1]="UNIMPLEMENTED",e[e.NOT_FOUND=2]="NOT_FOUND",e[e.OK=3]="OK",e[e.ERROR=4]="ERROR",e[e.SERVICE_UNAVAILABLE=5]="SERVICE_UNAVAILABLE",e[e.AUTHENTICATION_ERROR=6]="AUTHENTICATION_ERROR"})(SS||(SS={}));var lb;(function(e){e[e.UNKNOWN_STATUS=0]="UNKNOWN_STATUS",e[e.AVAILABLE=1]="AVAILABLE",e[e.USER_CONFIG_REQUIRED=2]="USER_CONFIG_REQUIRED"})(lb||(lb={}));var XS;(function(e){e[e.CONTENT_TYPE_UNSPECIFIED=0]="CONTENT_TYPE_UNSPECIFIED",e[e.CONTENT_TEXT=1]="CONTENT_TEXT",e[e.CONTENT_IMAGE=2]="CONTENT_IMAGE"})(XS||(XS={}));var WS;(function(e){e[e.TOOL_UNSAFE=0]="TOOL_UNSAFE",e[e.TOOL_SAFE=1]="TOOL_SAFE",e[e.TOOL_CHECK=2]="TOOL_CHECK"})(WS||(WS={}));var GS;(function(e){e[e.TRIGGER_CONDITION_TYPE_UNSPECIFIED=0]="TRIGGER_CONDITION_TYPE_UNSPECIFIED",e[e.TRIGGER_CONDITION_GITHUB=1]="TRIGGER_CONDITION_GITHUB",e[e.TRIGGER_CONDITION_LINEAR=2]="TRIGGER_CONDITION_LINEAR",e[e.TRIGGER_CONDITION_SCHEDULE=3]="TRIGGER_CONDITION_SCHEDULE"})(GS||(GS={}));var IS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CREDITS=1]="CREDITS",e[e.USD=2]="USD"})(IS||(IS={}));var YS=k("CiRzZXJ2aWNlcy9wb3NlaWRvbi9jYXBhYmlsaXRpZXMucHJvdG8SCHBvc2VpZG9uIlEKEUNsaVRvb2xEZWZpbml0aW9uEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSGQoRaW5wdXRfc2NoZW1hX2pzb24YAyABKAliBnByb3RvMw",[Vt,ee,$e]);var Ma=k("CipzZXJ2aWNlcy9wb3NlaWRvbi92aXJ0dWFsX2ZpbGVzeXN0ZW0ucHJvdG8SCHBvc2VpZG9uImwKF0FwcGVuZFZGU0NvbW1lbnRSZXF1ZXN0EhUKDWZpbGVzeXN0ZW1faWQYASABKAkSKAoFZXZlbnQYAiABKAsyGS5wb3NlaWRvbi5WRlNDb21tZW50RXZlbnQSEAoIc3BhY2VfaWQYAyABKAkiRAoYQXBwZW5kVkZTQ29tbWVudFJlc3BvbnNlEigKBWV2ZW50GAEgASgLMhkucG9zZWlkb24uVkZTQ29tbWVudEV2ZW50IrsBChdDb21taXRWRlNDaGFuZ2VzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEi0KDGZpbGVfY2hhbmdlcxgCIAMoCzIXLnBvc2VpZG9uLlZGU0ZpbGVDaGFuZ2USEwoLbW9kaWZpZWRfYnkYAyABKAkSFQoIYWdlbnRfaWQYBCABKAlIAIgBARIQCghzcGFjZV9pZBgFIAEoCRIPCgdmaWxlX2lkGAYgASgJQgsKCV9hZ2VudF9pZCJZChhDb21taXRWRlNDaGFuZ2VzUmVzcG9uc2USDwoHbmV3X3NlcRgBIAEoAxIsCg1za2lwcGVkX2ZpbGVzGAIgAygLMhUucG9zZWlkb24uU2tpcHBlZEZpbGUiVQocRW5zdXJlVkZTRmlsZUlkZW50aXR5UmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEAoIc3BhY2VfaWQYAyABKAkiewoWRmV0Y2hWRlNDaGFuZ2VzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEhEKCWFmdGVyX3NlcRgCIAEoAxIQCghzcGFjZV9pZBgDIAEoCRIQCghhZ2VudF9pZBgEIAEoCRITCgtwYXRoX3ByZWZpeBgFIAEoCSJaChdGZXRjaFZGU0NoYW5nZXNSZXNwb25zZRIrCgdjaGFuZ2VzGAEgAygLMhoucG9zZWlkb24uVkZTQ2hhbmdlU3VtbWFyeRISCgpsYXRlc3Rfc2VxGAIgASgDIncKGkZldGNoVkZTRmlsZUNvbnRlbnRSZXF1ZXN0EhUKDWZpbGVzeXN0ZW1faWQYASABKAkSDQoFcGF0aHMYAiADKAkSEAoIc3BhY2VfaWQYAyABKAkSDwoHZmlsZV9pZBgEIAEoCRIQCghhZ2VudF9pZBgFIAEoCSJGChtGZXRjaFZGU0ZpbGVDb250ZW50UmVzcG9uc2USJwoFZmlsZXMYASADKAsyGC5wb3NlaWRvbi5WRlNGaWxlQ29udGVudCKHAQoWTGlzdFZGU0NvbW1lbnRzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkSEAoIc3BhY2VfaWQYBSABKAkSDwoHZmlsZV9pZBgGIAEoCSJdChdMaXN0VkZTQ29tbWVudHNSZXNwb25zZRIpCgZldmVudHMYASADKAsyGS5wb3NlaWRvbi5WRlNDb21tZW50RXZlbnQSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIosBChpMaXN0VkZTRmlsZVZlcnNpb25zUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkSEAoIc3BhY2VfaWQYBSABKAkSDwoHZmlsZV9pZBgGIAEoCSJnChtMaXN0VkZTRmlsZVZlcnNpb25zUmVzcG9uc2USLwoIdmVyc2lvbnMYASADKAsyHS5wb3NlaWRvbi5WRlNGaWxlVmVyc2lvbkVudHJ5EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKHAQocTGlzdFZGU1ZlcnNpb25lZEZpbGVzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEhcKD2luY2x1ZGVfZGVsZXRlZBgCIAEoCBIRCglwYWdlX3NpemUYAyABKAUSEgoKcGFnZV90b2tlbhgEIAEoCRIQCghzcGFjZV9pZBgFIAEoCSJqCh1MaXN0VkZTVmVyc2lvbmVkRmlsZXNSZXNwb25zZRIwCgVmaWxlcxgBIAMoCzIhLnBvc2VpZG9uLlZGU1ZlcnNpb25lZEZpbGVTdW1tYXJ5EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKDAQoZUmVhZFZGU0ZpbGVWZXJzaW9uUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEQoJdGltZXN0YW1wGAMgASgJEgsKA3NlcRgEIAEoAxIQCghzcGFjZV9pZBgFIAEoCRIPCgdmaWxlX2lkGAYgASgJIl0KGlJlYWRWRlNGaWxlVmVyc2lvblJlc3BvbnNlEg8KB2NvbnRlbnQYASABKAwSCwoDc2VxGAIgASgDEgwKBHNpemUYAyABKAMSEwoLbW9kaWZpZWRfYnkYBCABKAkiMAodUmVzb2x2ZVZGU0ZpbGVJZGVudGl0eVJlcXVlc3QSDwoHZmlsZV9pZBgBIAEoCSIrCgtTa2lwcGVkRmlsZRIMCgRwYXRoGAEgASgJEg4KBnJlYXNvbhgCIAEoCSKBAQoQVkZTQ2hhbmdlU3VtbWFyeRIMCgRwYXRoGAEgASgJEgwKBHNpemUYAiABKAMSDQoFbXRpbWUYAyABKAMSEwoLbW9kaWZpZWRfYnkYBCABKAkSCwoDc2VxGAUgASgDEg8KB2RlbGV0ZWQYBiABKAgSDwoHZmlsZV9pZBgHIAEoCSKTAQoQVkZTQ29tbWVudEFuY2hvchITCgt2ZXJzaW9uX3NlcRgBIAEoAxINCgVxdW90ZRgCIAEoCRIRCglsaW5lX2hpbnQYAyABKAUSFAoMc3RhcnRfb2Zmc2V0GAQgASgFEhIKCmVuZF9vZmZzZXQYBSABKAUSDgoGcHJlZml4GAYgASgJEg4KBnN1ZmZpeBgHIAEoCSKwAwoPVkZTQ29tbWVudEV2ZW50EhAKCGV2ZW50X2lkGAEgASgJEhIKCmNvbW1lbnRfaWQYAiABKAkSDAoEcGF0aBgDIAEoCRIrCgRraW5kGAQgASgOMh0ucG9zZWlkb24uVkZTQ29tbWVudEV2ZW50S2luZBIMCgRib2R5GAYgASgJEioKBmFuY2hvchgHIAEoCzIaLnBvc2VpZG9uLlZGU0NvbW1lbnRBbmNob3ISEgoKY3JlYXRlZF9hdBgIIAEoCRIRCglwYXJlbnRfaWQYCSABKAkSEQoJYXV0aG9yX2lkGAogASgJEg8KB2ZpbGVfaWQYCyABKAkSLQoIbWVudGlvbnMYDCADKAsyGy5wb3NlaWRvbi5WRlNDb21tZW50TWVudGlvbhIWCg5yZWFjdGlvbl9lbW9qaRgNIAEoCRIzCgtyZWFjdGlvbl9vcBgOIAEoDjIeLnBvc2VpZG9uLlZGU0NvbW1lbnRSZWFjdGlvbk9wEhsKE2F1dGhvcl9kaXNwbGF5X25hbWUYDyABKAkSEAoIYWdlbnRfaWQYECABKAlKBAgFEAZSBmF1dGhvciKMAQoRVkZTQ29tbWVudE1lbnRpb24SLQoEdHlwZRgBIAEoDjIfLnBvc2VpZG9uLlZGU0NvbW1lbnRNZW50aW9uVHlwZRIKCgJpZBgCIAEoCRIPCgdkaXNwbGF5GAMgASgJEg0KBXN0YXJ0GAQgASgFEg4KBmxlbmd0aBgFIAEoBRIMCgRwYXRoGAYgASgJIlEKDVZGU0ZpbGVDaGFuZ2USDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgMEg8KB2RlbGV0ZWQYAyABKAgSEAoIYmFzZV9zZXEYBCABKAMiPAoOVkZTRmlsZUNvbnRlbnQSDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgMEgsKA3NlcRgDIAEoAyL4AQoTVkZTRmlsZUlkZW50aXR5SW5mbxIPCgdmaWxlX2lkGAEgASgJEhUKDWZpbGVzeXN0ZW1faWQYAiABKAkSEAoIc3BhY2VfaWQYAyABKAkSFAoMY3VycmVudF9wYXRoGAQgASgJEhMKC2N1cnJlbnRfc2VxGAUgASgDEg8KB2RlbGV0ZWQYBiABKAgSKAoFc2NvcGUYByABKA4yGS5wb3NlaWRvbi5GaWxlc3lzdGVtU2NvcGUSFQoNb3duZXJfdXNlcl9pZBgIIAEoCRIWCg5lZmZlY3RpdmVfcm9sZRgJIAEoCRISCgp1cGRhdGVkX2F0GAogASgJIuEBChNWRlNGaWxlVmVyc2lvbkVudHJ5EhEKCXRpbWVzdGFtcBgBIAEoCRILCgNzZXEYAiABKAMSDAoEc2l6ZRgDIAEoAxITCgttb2RpZmllZF9ieRgEIAEoCRIPCgdkZWxldGVkGAUgASgIEg8KB2ZpbGVfaWQYBiABKAkSFwoPcGF0aF9hdF92ZXJzaW9uGAcgASgJEhAKCGFnZW50X2lkGAggASgJEhsKE21vZGlmaWVkX2J5X3VzZXJfaWQYCSABKAkSHQoVbW9kaWZpZWRfYnlfdXNlcl9uYW1lGAogASgJImkKF1ZGU1ZlcnNpb25lZEZpbGVTdW1tYXJ5EgwKBHBhdGgYASABKAkSFQoNdmVyc2lvbl9jb3VudBgCIAEoBRIYChBsYXRlc3RfdGltZXN0YW1wGAMgASgJEg8KB2RlbGV0ZWQYBCABKAgqhwEKD0ZpbGVzeXN0ZW1TY29wZRIgChxGSUxFU1lTVEVNX1NDT1BFX1VOU1BFQ0lGSUVEEAASGwoXRklMRVNZU1RFTV9TQ09QRV9URU5BTlQQARIZChVGSUxFU1lTVEVNX1NDT1BFX1VTRVIQAhIaChZGSUxFU1lTVEVNX1NDT1BFX1NQQUNFEAMqvgIKE1ZGU0NvbW1lbnRFdmVudEtpbmQSJgoiVkZTX0NPTU1FTlRfRVZFTlRfS0lORF9VTlNQRUNJRklFRBAAEiIKHlZGU19DT01NRU5UX0VWRU5UX0tJTkRfQ1JFQVRFRBABEiEKHVZGU19DT01NRU5UX0VWRU5UX0tJTkRfRURJVEVEEAISIwofVkZTX0NPTU1FTlRfRVZFTlRfS0lORF9SRVNPTFZFRBADEiIKHlZGU19DT01NRU5UX0VWRU5UX0tJTkRfREVMRVRFRBAEEiUKIVZGU19DT01NRU5UX0VWRU5UX0tJTkRfUkVBTkNIT1JFRBAFEiMKH1ZGU19DT01NRU5UX0VWRU5UX0tJTkRfUkVPUEVORUQQBhIjCh9WRlNfQ09NTUVOVF9FVkVOVF9LSU5EX1JFQUNUSU9OEAcqhwEKFVZGU0NvbW1lbnRNZW50aW9uVHlwZRIoCiRWRlNfQ09NTUVOVF9NRU5USU9OX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1WRlNfQ09NTUVOVF9NRU5USU9OX1RZUEVfVVNFUhABEiEKHVZGU19DT01NRU5UX01FTlRJT05fVFlQRV9GSUxFEAIqhAEKFFZGU0NvbW1lbnRSZWFjdGlvbk9wEicKI1ZGU19DT01NRU5UX1JFQUNUSU9OX09QX1VOU1BFQ0lGSUVEEAASHwobVkZTX0NPTU1FTlRfUkVBQ1RJT05fT1BfQUREEAESIgoeVkZTX0NPTU1FTlRfUkVBQ1RJT05fT1BfUkVNT1ZFEAJiBnByb3RvMw",[ee]);var yS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER",e[e.SPACE=3]="SPACE"})(yS||(yS={}));var wS;(function(e){e[e.VFS_COMMENT_EVENT_KIND_UNSPECIFIED=0]="VFS_COMMENT_EVENT_KIND_UNSPECIFIED",e[e.VFS_COMMENT_EVENT_KIND_CREATED=1]="VFS_COMMENT_EVENT_KIND_CREATED",e[e.VFS_COMMENT_EVENT_KIND_EDITED=2]="VFS_COMMENT_EVENT_KIND_EDITED",e[e.VFS_COMMENT_EVENT_KIND_RESOLVED=3]="VFS_COMMENT_EVENT_KIND_RESOLVED",e[e.VFS_COMMENT_EVENT_KIND_DELETED=4]="VFS_COMMENT_EVENT_KIND_DELETED",e[e.VFS_COMMENT_EVENT_KIND_REANCHORED=5]="VFS_COMMENT_EVENT_KIND_REANCHORED",e[e.VFS_COMMENT_EVENT_KIND_REOPENED=6]="VFS_COMMENT_EVENT_KIND_REOPENED",e[e.VFS_COMMENT_EVENT_KIND_REACTION=7]="VFS_COMMENT_EVENT_KIND_REACTION"})(wS||(wS={}));var US;(function(e){e[e.VFS_COMMENT_MENTION_TYPE_UNSPECIFIED=0]="VFS_COMMENT_MENTION_TYPE_UNSPECIFIED",e[e.VFS_COMMENT_MENTION_TYPE_USER=1]="VFS_COMMENT_MENTION_TYPE_USER",e[e.VFS_COMMENT_MENTION_TYPE_FILE=2]="VFS_COMMENT_MENTION_TYPE_FILE"})(US||(US={}));var xS;(function(e){e[e.VFS_COMMENT_REACTION_OP_UNSPECIFIED=0]="VFS_COMMENT_REACTION_OP_UNSPECIFIED",e[e.VFS_COMMENT_REACTION_OP_ADD=1]="VFS_COMMENT_REACTION_OP_ADD",e[e.VFS_COMMENT_REACTION_OP_REMOVE=2]="VFS_COMMENT_REACTION_OP_REMOVE"})(xS||(xS={}));var QS=k("CiBzZXJ2aWNlcy9wb3NlaWRvbi9wb3NlaWRvbi5wcm90bxIIcG9zZWlkb24i/wIKE0Nvbm5lY3RDbGlWbVJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkSDQoFdm1faWQYAiABKAkSFgoOd29ya3NwYWNlX3BhdGgYAyABKAkSHgoWY2FwYWJpbGl0eV9pbnN0YW5jZV9pZBgEIAEoCRI0Cg9hdmFpbGFibGVfdG9vbHMYBSADKAsyGy5wb3NlaWRvbi5DbGlUb29sRGVmaW5pdGlvbhI0Cg9jb25uZWN0aW9uX21vZGUYBiABKA4yGy5wb3NlaWRvbi5DbGlDb25uZWN0aW9uTW9kZRIUCgxwYXJlbnRfdm1faWQYByABKAkSGQoRZGFlbW9uX2NvbW1hbmRfaWQYCCABKAkSGwoTY2xpZW50X2NhcGFiaWxpdGllcxgJIAMoCRITCgtjbGlfdmVyc2lvbhgKIAEoCRIkChdwcm92aXNpb25pbmdfZ2VuZXJhdGlvbhgLIAEoA0gAiAEBQhoKGF9wcm92aXNpb25pbmdfZ2VuZXJhdGlvbiLjAwoUQ29ubmVjdENsaVZtUmVzcG9uc2USDQoFdm1faWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJEjQKDHJlbW90ZV90b29scxgEIAMoCzIeLnBvc2VpZG9uLlJlbW90ZVRvb2xEZWZpbml0aW9uEjYKDnNlc3Npb25fY29uZmlnGAUgASgLMh4ucG9zZWlkb24uU2Vzc2lvbkNvbmZpZ3VyYXRpb24SFgoObWNwX2NvbmZpZ19pZHMYBiADKAkSSwoPdmZzX2ZpbGVzeXN0ZW1zGAcgAygLMjIucG9zZWlkb24uQ29ubmVjdENsaVZtUmVzcG9uc2UuVmZzRmlsZXN5c3RlbXNFbnRyeRIRCglleHBlcnRfaWQYCyABKAkSEwoLcGVyc29uYV9pZHMYDCADKAkSEAoIc3BhY2VfaWQYDSABKAkSEwoLd29ya2Zsb3dfaWQYDiABKAkSHwoXYWN0aXZlX2dlbmVyYXRpb25fZXBvY2gYDyABKAMSGgoSY29ubmVjdGlvbl92ZXJzaW9uGBAgASgDGjUKE1Zmc0ZpbGVzeXN0ZW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK4AQohQ3JlYXRlSG9zdGVkQXJ0aWZhY3RVcGxvYWRSZXF1ZXN0EjYKCnZpc2liaWxpdHkYASABKA4yIi5wb3NlaWRvbi5Ib3N0ZWRBcnRpZmFjdFZpc2liaWxpdHkSEgoKbWVkaWFfdHlwZRgCIAEoCRISCgpzaXplX2J5dGVzGAMgASgDEhIKCnNoYTI1Nl9oZXgYBCABKAkSDQoFbGFiZWwYBSABKAkSEAoIZmlsZW5hbWUYBiABKAkiwQIKIkNyZWF0ZUhvc3RlZEFydGlmYWN0VXBsb2FkUmVzcG9uc2USGgoSaG9zdGVkX2FydGlmYWN0X2lkGAEgASgJEhYKDnNpZ25lZF9wdXRfdXJsGAIgASgJElsKEHJlcXVpcmVkX2hlYWRlcnMYAyADKAsyQS5wb3NlaWRvbi5DcmVhdGVIb3N0ZWRBcnRpZmFjdFVwbG9hZFJlc3BvbnNlLlJlcXVpcmVkSGVhZGVyc0VudHJ5EjkKFXNpZ25lZF91cmxfZXhwaXJlc19hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaNgoUUmVxdWlyZWRIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAUQBlIRZXhpc3RpbmdfYXJ0aWZhY3QiUAobRGVsZXRlSG9zdGVkQXJ0aWZhY3RSZXF1ZXN0EhoKEmhvc3RlZF9hcnRpZmFjdF9pZBgBIAEoCRIVCg1jYW5vbmljYWxfdXJsGAIgASgJIh4KHERlbGV0ZUhvc3RlZEFydGlmYWN0UmVzcG9uc2UiTQodRmluYWxpemVIb3N0ZWRBcnRpZmFjdFJlcXVlc3QSGgoSaG9zdGVkX2FydGlmYWN0X2lkGAEgASgJEhAKCGZpbGVuYW1lGAIgASgJIkwKHkZpbmFsaXplSG9zdGVkQXJ0aWZhY3RSZXNwb25zZRIqCghhcnRpZmFjdBgBIAEoCzIYLnBvc2VpZG9uLkhvc3RlZEFydGlmYWN0Ir0CCg5Ib3N0ZWRBcnRpZmFjdBIaChJob3N0ZWRfYXJ0aWZhY3RfaWQYASABKAkSNgoKdmlzaWJpbGl0eRgCIAEoDjIiLnBvc2VpZG9uLkhvc3RlZEFydGlmYWN0VmlzaWJpbGl0eRISCgptZWRpYV90eXBlGAMgASgJEhIKCnNpemVfYnl0ZXMYBCABKAMSEgoKc2hhMjU2X2hleBgFIAEoCRINCgVsYWJlbBgGIAEoCRIVCg1vd25lcl91c2VyX2lkGAcgASgJEhUKDWNhbm9uaWNhbF91cmwYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiaQoUUmVtb3RlVG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIZChFpbnB1dF9zY2hlbWFfanNvbhgDIAEoCRITCgt0b29sX3NhZmV0eRgEIAEoCSLoAwoUU2Vzc2lvbkNvbmZpZ3VyYXRpb24SEgoFbW9kZWwYASABKAlIAIgBARIlCh1pbmNsdWRlX2RlZmF1bHRfc3lzdGVtX3Byb21wdBgCIAEoCBIVCg1zeXN0ZW1fcHJvbXB0GAMgASgJEi8KCnZpc2liaWxpdHkYBCABKA4yGy5wb3NlaWRvbi5TZXNzaW9uVmlzaWJpbGl0eRI0Cg9hZ2VudF9sb29wX3R5cGUYBSABKA4yFy5wb3NlaWRvbi5BZ2VudExvb3BUeXBlQgIYARJHCg11c2VyX21ldGFkYXRhGAYgAygLMjAucG9zZWlkb24uU2Vzc2lvbkNvbmZpZ3VyYXRpb24uVXNlck1ldGFkYXRhRW50cnkSHAoUYXV0b19jbGVhbnVwX29uX2lkbGUYByABKAgSGQoRd29ya2VyX2V4cGVydF9pZHMYCCADKAkSIgoadXNlX2FsbF9leHBlcnRzX2FzX3dvcmtlcnMYCSABKAgSHQoQcmVhc29uaW5nX2VmZm9ydBgKIAEoCUgBiAEBGjMKEVVzZXJNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCAoGX21vZGVsQhMKEV9yZWFzb25pbmdfZWZmb3J0KmcKDUFnZW50TG9vcFR5cGUSHwobQUdFTlRfTE9PUF9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVQUdFTlRfTE9PUF9UWVBFX1NBTFNBEAESGgoWQUdFTlRfTE9PUF9UWVBFX0FVR0dJRRACKpsBChFDbGlDb25uZWN0aW9uTW9kZRIfChtDTElfQ09OTkVDVElPTl9NT0RFX1VOS05PV04QABIlCiFDTElfQ09OTkVDVElPTl9NT0RFX1RPT0xfUFJPVklERVIQARIdChlDTElfQ09OTkVDVElPTl9NT0RFX0FHRU5UEAISHwobQ0xJX0NPTk5FQ1RJT05fTU9ERV9XQUlUSU5HEAMqmAEKGEhvc3RlZEFydGlmYWN0VmlzaWJpbGl0eRIqCiZIT1NURURfQVJUSUZBQ1RfVklTSUJJTElUWV9VTlNQRUNJRklFRBAAEikKJUhPU1RFRF9BUlRJRkFDVF9WSVNJQklMSVRZX1NFQ1JFVF9VUkwQARIlCiFIT1NURURfQVJUSUZBQ1RfVklTSUJJTElUWV9URU5BTlQQAip2ChFTZXNzaW9uVmlzaWJpbGl0eRIiCh5TRVNTSU9OX1ZJU0lCSUxJVFlfVU5TUEVDSUZJRUQQABIdChlTRVNTSU9OX1ZJU0lCSUxJVFlfU0hBUkVEEAESHgoaU0VTU0lPTl9WSVNJQklMSVRZX1BSSVZBVEUQAmIGcHJvdG8z",[rr,fV,ee,$e,YS,Ma]);var vS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SALSA=1]="SALSA",e[e.AUGGIE=2]="AUGGIE"})(vS||(vS={}));var JS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TOOL_PROVIDER=1]="TOOL_PROVIDER",e[e.AGENT=2]="AGENT",e[e.WAITING=3]="WAITING"})(JS||(JS={}));var kS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SECRET_URL=1]="SECRET_URL",e[e.TENANT=2]="TENANT"})(kS||(kS={}));var _S;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SHARED=1]="SHARED",e[e.PRIVATE=2]="PRIVATE"})(_S||(_S={}));var EJ=k("CitzZXJ2aWNlcy9hcGlfcHJveHkvcHVibGljX2FwaV9zZXJ2aWNlLnByb3RvEgpwdWJsaWNfYXBpIpIBCixDbG91ZEFnZW50c0Vuc3VyZVZGU0ZpbGVJZGVudGl0eUh0dHBSZXNwb25zZRIvCghpZGVudGl0eRgBIAEoCzIdLnBvc2VpZG9uLlZGU0ZpbGVJZGVudGl0eUluZm8SGAoQd2ViX2FwcF9iYXNlX3VybBgCIAEoCRIXCg9hcHBfcGF0aF9wcmVmaXgYAyABKAkieAotQ2xvdWRBZ2VudHNSZXNvbHZlVkZTRmlsZUlkZW50aXR5SHR0cFJlc3BvbnNlEi8KCGlkZW50aXR5GAEgASgLMh0ucG9zZWlkb24uVkZTRmlsZUlkZW50aXR5SW5mbxIWCg5jYWxsZXJfdXNlcl9pZBgCIAEoCTLZ8AIKEEF1Z21lbnRQdWJsaWNBcGkSaAoLQmF0Y2hVcGxvYWQSHi5wdWJsaWNfYXBpLkJhdGNoVXBsb2FkUmVxdWVzdBofLnB1YmxpY19hcGkuQmF0Y2hVcGxvYWRSZXNwb25zZSIYgtPkkwISIg0vYmF0Y2gtdXBsb2FkOgEqEksKBENoYXQSFy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0GhgucHVibGljX2FwaS5DaGF0UmVzcG9uc2UiEILT5JMCCiIFL2NoYXQ6ASoSWgoKQ2hhdFN0cmVhbRIXLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3QaGC5wdWJsaWNfYXBpLkNoYXRSZXNwb25zZSIXgtPkkwIRIgwvY2hhdC1zdHJlYW06ASowARJiCg5Qcm9tcHRFbmhhbmNlchIXLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3QaGC5wdWJsaWNfYXBpLkNoYXRSZXNwb25zZSIbgtPkkwIVIhAvcHJvbXB0LWVuaGFuY2VyOgEqMAESoAEKG0dlbmVyYXRlQ29tbWl0TWVzc2FnZVN0cmVhbRIoLnB1YmxpY19hcGkuR2VuZXJhdGVDb21taXRNZXNzYWdlUmVxdWVzdBopLnB1YmxpY19hcGkuR2VuZXJhdGVDb21taXRNZXNzYWdlUmVzcG9uc2UiKoLT5JMCJCIfL2dlbmVyYXRlLWNvbW1pdC1tZXNzYWdlLXN0cmVhbToBKjABEnUKEFNtYXJ0UGFzdGVTdHJlYW0SHi5wdWJsaWNfYXBpLkluc3RydWN0aW9uUmVxdWVzdBofLnB1YmxpY19hcGkuSW5zdHJ1Y3Rpb25SZXNwb25zZSIegtPkkwIYIhMvc21hcnQtcGFzdGUtc3RyZWFtOgEqMAESeAoPQ2hlY2twb2ludEJsb2JzEiIucHVibGljX2FwaS5DaGVja3BvaW50QmxvYnNSZXF1ZXN0GiMucHVibGljX2FwaS5DaGVja3BvaW50QmxvYnNSZXNwb25zZSIcgtPkkwIWIhEvY2hlY2twb2ludC1ibG9iczoBKhJjCgpDb21wbGV0aW9uEh0ucHVibGljX2FwaS5Db21wbGV0aW9uUmVxdWVzdBoeLnB1YmxpY19hcGkuQ29tcGxldGlvblJlc3BvbnNlIhaC0+STAhAiCy9jb21wbGV0aW9uOgEqEokBChNDaGF0SW5wdXRDb21wbGV0aW9uEiYucHVibGljX2FwaS5DaGF0SW5wdXRDb21wbGV0aW9uUmVxdWVzdBonLnB1YmxpY19hcGkuQ2hhdElucHV0Q29tcGxldGlvblJlc3BvbnNlIiGC0+STAhsiFi9jaGF0LWlucHV0LWNvbXBsZXRpb246ASoSegoVUmVzb2x2ZUNvbXBsZXRpb25zUnBjEh4ucHVibGljX2FwaS5SZXNvbHZlQ29tcGxldGlvbnMaIC5wdWJsaWNfYXBpLkNvbXBsZXRpb25SZXNvbHV0aW9uIh+C0+STAhkiFC9yZXNvbHZlLWNvbXBsZXRpb25zOgEqEoABChFSZXNvbHZlU21hcnRQYXN0ZRIgLnB1YmxpY19hcGkuU21hcnRQYXN0ZVJlc29sdXRpb24aKC5wdWJsaWNfYXBpLlNtYXJ0UGFzdGVSZXNvbHV0aW9uUmVzcG9uc2UiH4LT5JMCGSIUL3Jlc29sdmUtc21hcnQtcGFzdGU6ASoSpQEKGlJlc29sdmVDaGF0SW5wdXRDb21wbGV0aW9uEikucHVibGljX2FwaS5DaGF0SW5wdXRDb21wbGV0aW9uUmVzb2x1dGlvbhoxLnB1YmxpY19hcGkuQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb25SZXNwb25zZSIpgtPkkwIjIh4vcmVzb2x2ZS1jaGF0LWlucHV0LWNvbXBsZXRpb246ASoSSwoERWRpdBIXLnB1YmxpY19hcGkuRWRpdFJlcXVlc3QaGC5wdWJsaWNfYXBpLkVkaXRSZXNwb25zZSIQgtPkkwIKIgUvZWRpdDoBKhJkCgtSZXNvbHZlRWRpdBIaLnB1YmxpY19hcGkuRWRpdFJlc29sdXRpb24aHy5wdWJsaWNfYXBpLlJlc29sdmVFZGl0UmVzcG9uc2UiGILT5JMCEiINL3Jlc29sdmUtZWRpdDoBKhKaAQoWT25ib2FyZGluZ1Nlc3Npb25FdmVudBInLnB1YmxpY19hcGkuT25ib2FyZGluZ1Nlc3Npb25FdmVudEJhdGNoGioucHVibGljX2FwaS5PbmJvYXJkaW5nU2Vzc2lvbkV2ZW50UmVzcG9uc2UiK4LT5JMCJSIgL3JlY29yZC1vbmJvYXJkaW5nLXNlc3Npb24tZXZlbnQ6ASoSggEKFlJlY29yZFByZWZlcmVuY2VTYW1wbGUSHC5wdWJsaWNfYXBpLlByZWZlcmVuY2VTYW1wbGUaJC5wdWJsaWNfYXBpLlByZWZlcmVuY2VTYW1wbGVSZXNwb25zZSIkgtPkkwIeIhkvcmVjb3JkLXByZWZlcmVuY2Utc2FtcGxlOgEqEmgKC0ZpbmRNaXNzaW5nEh4ucHVibGljX2FwaS5GaW5kTWlzc2luZ1JlcXVlc3QaHy5wdWJsaWNfYXBpLkZpbmRNaXNzaW5nUmVzcG9uc2UiGILT5JMCEiINL2ZpbmQtbWlzc2luZzoBKhKXAQoXTGlzdEV4dGVybmFsU291cmNlVHlwZXMSKi5wdWJsaWNfYXBpLkxpc3RFeHRlcm5hbFNvdXJjZVR5cGVzUmVxdWVzdBorLnB1YmxpY19hcGkuTGlzdEV4dGVybmFsU291cmNlVHlwZXNSZXNwb25zZSIjgtPkkwIdIhsvbGlzdC1leHRlcm5hbC1zb3VyY2UtdHlwZXMSkQEKFVNlYXJjaEV4dGVybmFsU291cmNlcxIoLnB1YmxpY19hcGkuU2VhcmNoRXh0ZXJuYWxTb3VyY2VzUmVxdWVzdBopLnB1YmxpY19hcGkuU2VhcmNoRXh0ZXJuYWxTb3VyY2VzUmVzcG9uc2UiI4LT5JMCHSIYL3NlYXJjaC1leHRlcm5hbC1zb3VyY2VzOgEqEqYBChpHZXRJbXBsaWNpdEV4dGVybmFsU291cmNlcxItLnB1YmxpY19hcGkuR2V0SW1wbGljaXRFeHRlcm5hbFNvdXJjZXNSZXF1ZXN0Gi4ucHVibGljX2FwaS5HZXRJbXBsaWNpdEV4dGVybmFsU291cmNlc1Jlc3BvbnNlIimC0+STAiMiHi9nZXQtaW1wbGljaXQtZXh0ZXJuYWwtc291cmNlczoBKhJdCglHZXRNb2RlbHMSHC5wdWJsaWNfYXBpLkdldE1vZGVsc1JlcXVlc3QaHS5wdWJsaWNfYXBpLkdldE1vZGVsc1Jlc3BvbnNlIhOC0+STAg0iCy9nZXQtbW9kZWxzEl4KCE1lbW9yaXplEhsucHVibGljX2FwaS5NZW1vcml6ZVJlcXVlc3QaHC5wdWJsaWNfYXBpLk1lbW9yaXplUmVzcG9uc2UiF4gCAYLT5JMCDiIJL21lbW9yaXplOgEqEmgKC1JlcG9ydEVycm9yEh4ucHVibGljX2FwaS5SZXBvcnRFcnJvclJlcXVlc3QaHy5wdWJsaWNfYXBpLlJlcG9ydEVycm9yUmVzcG9uc2UiGILT5JMCEiINL3JlcG9ydC1lcnJvcjoBKhJxCg1HZXRDcmVkaXRJbmZvEiAucHVibGljX2FwaS5HZXRDcmVkaXRJbmZvUmVxdWVzdBohLnB1YmxpY19hcGkuR2V0Q3JlZGl0SW5mb1Jlc3BvbnNlIhuC0+STAhUiEC9nZXQtY3JlZGl0LWluZm86ASoSfQoQR2V0Q29zdEFuYWx5dGljcxIjLnB1YmxpY19hcGkuR2V0Q29zdEFuYWx5dGljc1JlcXVlc3QaJC5wdWJsaWNfYXBpLkdldENvc3RBbmFseXRpY3NSZXNwb25zZSIegtPkkwIYIhMvZ2V0LWNvc3QtYW5hbHl0aWNzOgEqEoYBChJHZXRDb3N0QW5hbHl0aWNzVjISJS5wdWJsaWNfYXBpLkdldENvc3RBbmFseXRpY3NWMlJlcXVlc3QaJi5wdWJsaWNfYXBpLkdldENvc3RBbmFseXRpY3NWMlJlc3BvbnNlIiGC0+STAhsiFi9nZXQtY29zdC1hbmFseXRpY3MtdjI6ASoSiQEKE0dldE91dGNvbWVBbmFseXRpY3MSJi5wdWJsaWNfYXBpLkdldE91dGNvbWVBbmFseXRpY3NSZXF1ZXN0GicucHVibGljX2FwaS5HZXRPdXRjb21lQW5hbHl0aWNzUmVzcG9uc2UiIYLT5JMCGyIWL2dldC1vdXRjb21lLWFuYWx5dGljczoBKhJcCghMaXN0VGFncxIbLnB1YmxpY19hcGkuTGlzdFRhZ3NSZXF1ZXN0GhwucHVibGljX2FwaS5MaXN0VGFnc1Jlc3BvbnNlIhWC0+STAg8iCi9saXN0LXRhZ3M6ASoSiQEKE0dldFNlc3Npb25BbmFseXRpY3MSJi5wdWJsaWNfYXBpLkdldFNlc3Npb25BbmFseXRpY3NSZXF1ZXN0GicucHVibGljX2FwaS5HZXRTZXNzaW9uQW5hbHl0aWNzUmVzcG9uc2UiIYLT5JMCGyIWL2dldC1zZXNzaW9uLWFuYWx5dGljczoBKhJ5Cg9HZXRTZXNzaW9uVXNhZ2USIi5wdWJsaWNfYXBpLkdldFNlc3Npb25Vc2FnZVJlcXVlc3QaIy5wdWJsaWNfYXBpLkdldFNlc3Npb25Vc2FnZVJlc3BvbnNlIh2C0+STAhciEi9nZXQtc2Vzc2lvbi11c2FnZToBKhKBAQoRR2V0QmlsbGluZ1N1bW1hcnkSJC5wdWJsaWNfYXBpLkdldEJpbGxpbmdTdW1tYXJ5UmVxdWVzdBolLnB1YmxpY19hcGkuR2V0QmlsbGluZ1N1bW1hcnlSZXNwb25zZSIfgtPkkwIZIhQvZ2V0LWJpbGxpbmctc3VtbWFyeToBKhJ2ChNSZXBvcnRDbGllbnRNZXRyaWNzEiAucHVibGljX2FwaS5DbGllbnRNZXRyaWNzUmVxdWVzdBohLnB1YmxpY19hcGkuQ2xpZW50TWV0cmljc1Jlc3BvbnNlIhqC0+STAhQiDy9jbGllbnQtbWV0cmljczoBKhKJAQoTUmVwb3J0RmVhdHVyZVZlY3RvchImLnB1YmxpY19hcGkuUmVwb3J0RmVhdHVyZVZlY3RvclJlcXVlc3QaJy5wdWJsaWNfYXBpLlJlcG9ydEZlYXR1cmVWZWN0b3JSZXNwb25zZSIhgtPkkwIbIhYvcmVwb3J0LWZlYXR1cmUtdmVjdG9yOgEqEoEBChZTZW5kQ29tcGxldGlvbkZlZWRiYWNrEh4ucHVibGljX2FwaS5Db21wbGV0aW9uRmVlZGJhY2saJi5wdWJsaWNfYXBpLkNvbXBsZXRpb25GZWVkYmFja1Jlc3BvbnNlIh+C0+STAhkiFC9jb21wbGV0aW9uLWZlZWRiYWNrOgEqEmkKEFNlbmRDaGF0RmVlZGJhY2sSGC5wdWJsaWNfYXBpLkNoYXRGZWVkYmFjaxogLnB1YmxpY19hcGkuQ2hhdEZlZWRiYWNrUmVzcG9uc2UiGYLT5JMCEyIOL2NoYXQtZmVlZGJhY2s6ASoSogEKHFNlbmRDbGllbnRDb21wbGV0aW9uVGltZWxpbmUSKy5wdWJsaWNfYXBpLkNsaWVudENvbXBsZXRpb25UaW1lbGluZVJlcXVlc3QaLC5wdWJsaWNfYXBpLkNsaWVudENvbXBsZXRpb25UaW1lbGluZVJlc3BvbnNlIieC0+STAiEiHC9jbGllbnQtY29tcGxldGlvbi10aW1lbGluZXM6ASoSfgoQVXBzZXJ0VXNlclNlY3JldBIjLnB1YmxpY19hcGkuVXBzZXJ0VXNlclNlY3JldFJlcXVlc3QaJC5wdWJsaWNfYXBpLlVwc2VydFVzZXJTZWNyZXRSZXNwb25zZSIfgtPkkwIZIhQvdXNlci1zZWNyZXRzL3Vwc2VydDoBKhJyCg1HZXRVc2VyU2VjcmV0EiAucHVibGljX2FwaS5HZXRVc2VyU2VjcmV0UmVxdWVzdBohLnB1YmxpY19hcGkuR2V0VXNlclNlY3JldFJlc3BvbnNlIhyC0+STAhYiES91c2VyLXNlY3JldHMvZ2V0OgEqEm4KDEdldE1jcFNlY3JldBIfLnB1YmxpY19hcGkuR2V0TWNwU2VjcmV0UmVxdWVzdBogLnB1YmxpY19hcGkuR2V0TWNwU2VjcmV0UmVzcG9uc2UiG4LT5JMCFSIQL21jcC1zZWNyZXRzL2dldDoBKhJ5Cg9MaXN0VXNlclNlY3JldHMSIi5wdWJsaWNfYXBpLkxpc3RVc2VyU2VjcmV0c1JlcXVlc3QaIy5wdWJsaWNfYXBpLkxpc3RVc2VyU2VjcmV0c1Jlc3BvbnNlIh2C0+STAhciEi91c2VyLXNlY3JldHMvbGlzdDoBKhJ+ChBEZWxldGVVc2VyU2VjcmV0EiMucHVibGljX2FwaS5EZWxldGVVc2VyU2VjcmV0UmVxdWVzdBokLnB1YmxpY19hcGkuRGVsZXRlVXNlclNlY3JldFJlc3BvbnNlIh+C0+STAhkiFC91c2VyLXNlY3JldHMvZGVsZXRlOgEqEnsKDkdldFVzZXJTZWNyZXRzEiEucHVibGljX2FwaS5HZXRVc2VyU2VjcmV0c1JlcXVlc3QaIi5wdWJsaWNfYXBpLkdldFVzZXJTZWNyZXRzUmVzcG9uc2UiIoLT5JMCHCIXL3VzZXItc2VjcmV0cy9nZXQtYmF0Y2g6ASoSlwEKFk1pZ3JhdGVVc2VyU2VjcmV0U2NvcGUSKS5wdWJsaWNfYXBpLk1pZ3JhdGVVc2VyU2VjcmV0U2NvcGVSZXF1ZXN0GioucHVibGljX2FwaS5NaWdyYXRlVXNlclNlY3JldFNjb3BlUmVzcG9uc2UiJoLT5JMCICIbL3VzZXItc2VjcmV0cy9taWdyYXRlLXNjb3BlOgEqEn4KEFJlbmFtZVVzZXJTZWNyZXQSIy5wdWJsaWNfYXBpLlJlbmFtZVVzZXJTZWNyZXRSZXF1ZXN0GiQucHVibGljX2FwaS5SZW5hbWVVc2VyU2VjcmV0UmVzcG9uc2UiH4LT5JMCGSIUL3VzZXItc2VjcmV0cy9yZW5hbWU6ASoSegoPR2V0VGVuYW50U2VjcmV0EiIucHVibGljX2FwaS5HZXRUZW5hbnRTZWNyZXRSZXF1ZXN0GiMucHVibGljX2FwaS5HZXRUZW5hbnRTZWNyZXRSZXNwb25zZSIegtPkkwIYIhMvdGVuYW50LXNlY3JldHMvZ2V0OgEqEoMBChBHZXRUZW5hbnRTZWNyZXRzEiMucHVibGljX2FwaS5HZXRUZW5hbnRTZWNyZXRzUmVxdWVzdBokLnB1YmxpY19hcGkuR2V0VGVuYW50U2VjcmV0c1Jlc3BvbnNlIiSC0+STAh4iGS90ZW5hbnQtc2VjcmV0cy9nZXQtYmF0Y2g6ASoShgEKElVwc2VydFRlbmFudFNlY3JldBIlLnB1YmxpY19hcGkuVXBzZXJ0VGVuYW50U2VjcmV0UmVxdWVzdBomLnB1YmxpY19hcGkuVXBzZXJ0VGVuYW50U2VjcmV0UmVzcG9uc2UiIYLT5JMCGyIWL3RlbmFudC1zZWNyZXRzL3Vwc2VydDoBKhKBAQoRTGlzdFRlbmFudFNlY3JldHMSJC5wdWJsaWNfYXBpLkxpc3RUZW5hbnRTZWNyZXRzUmVxdWVzdBolLnB1YmxpY19hcGkuTGlzdFRlbmFudFNlY3JldHNSZXNwb25zZSIfgtPkkwIZIhQvdGVuYW50LXNlY3JldHMvbGlzdDoBKhKGAQoSRGVsZXRlVGVuYW50U2VjcmV0EiUucHVibGljX2FwaS5EZWxldGVUZW5hbnRTZWNyZXRSZXF1ZXN0GiYucHVibGljX2FwaS5EZWxldGVUZW5hbnRTZWNyZXRSZXNwb25zZSIhgtPkkwIbIhYvdGVuYW50LXNlY3JldHMvZGVsZXRlOgEqElwKCFNhdmVDaGF0EhsucHVibGljX2FwaS5TYXZlQ2hhdFJlcXVlc3QaHC5wdWJsaWNfYXBpLlNhdmVDaGF0UmVzcG9uc2UiFYLT5JMCDyIKL3NhdmUtY2hhdDoBKhKJAQoTUmVjb3JkUmVxdWVzdEV2ZW50cxImLnB1YmxpY19hcGkuUmVjb3JkUmVxdWVzdEV2ZW50c1JlcXVlc3QaJy5wdWJsaWNfYXBpLlJlY29yZFJlcXVlc3RFdmVudHNSZXNwb25zZSIhgtPkkwIbIhYvcmVjb3JkLXJlcXVlc3QtZXZlbnRzOgEqEokBChNSZWNvcmRTZXNzaW9uRXZlbnRzEiYucHVibGljX2FwaS5SZWNvcmRTZXNzaW9uRXZlbnRzUmVxdWVzdBonLnB1YmxpY19hcGkuUmVjb3JkU2Vzc2lvbkV2ZW50c1Jlc3BvbnNlIiGC0+STAhsiFi9yZWNvcmQtc2Vzc2lvbi1ldmVudHM6ASoSsgEKHVJlY29yZFBvc2VpZG9uQW5hbHl0aWNzRXZlbnRzEjAucHVibGljX2FwaS5SZWNvcmRQb3NlaWRvbkFuYWx5dGljc0V2ZW50c1JlcXVlc3QaMS5wdWJsaWNfYXBpLlJlY29yZFBvc2VpZG9uQW5hbHl0aWNzRXZlbnRzUmVzcG9uc2UiLILT5JMCJiIhL3JlY29yZC1wb3NlaWRvbi1hbmFseXRpY3MtZXZlbnRzOgEqEocBChFDb2RlYmFzZVJldHJpZXZhbBIkLnB1YmxpY19hcGkuQ29kZWJhc2VSZXRyaWV2YWxSZXF1ZXN0GiUucHVibGljX2FwaS5Db2RlYmFzZVJldHJpZXZhbFJlc3BvbnNlIiWC0+STAh8iGi9hZ2VudHMvY29kZWJhc2UtcmV0cmlldmFsOgEqEpQBChRDb2RlYmFzZVJldHJpZXZhbFJhdxInLnB1YmxpY19hcGkuQ29kZWJhc2VSZXRyaWV2YWxSYXdSZXF1ZXN0GigucHVibGljX2FwaS5Db2RlYmFzZVJldHJpZXZhbFJhd1Jlc3BvbnNlIimC0+STAiMiHi9hZ2VudHMvY29kZWJhc2UtcmV0cmlldmFsLXJhdzoBKhJjCghFZGl0RmlsZRIbLnB1YmxpY19hcGkuRWRpdEZpbGVSZXF1ZXN0GhwucHVibGljX2FwaS5FZGl0RmlsZVJlc3BvbnNlIhyC0+STAhYiES9hZ2VudHMvZWRpdC1maWxlOgEqEoABCg9MaXN0UmVtb3RlVG9vbHMSIi5wdWJsaWNfYXBpLkxpc3RSZW1vdGVUb29sc1JlcXVlc3QaIy5wdWJsaWNfYXBpLkxpc3RSZW1vdGVUb29sc1Jlc3BvbnNlIiSC0+STAh4iGS9hZ2VudHMvbGlzdC1yZW1vdGUtdG9vbHM6ASoSeAoNUnVuUmVtb3RlVG9vbBIgLnB1YmxpY19hcGkuUnVuUmVtb3RlVG9vbFJlcXVlc3QaIS5wdWJsaWNfYXBpLlJ1blJlbW90ZVRvb2xSZXNwb25zZSIigtPkkwIcIhcvYWdlbnRzL3J1bi1yZW1vdGUtdG9vbDoBKhKEAQoQUmV2b2tlVG9vbEFjY2VzcxIjLnB1YmxpY19hcGkuUmV2b2tlVG9vbEFjY2Vzc1JlcXVlc3QaJC5wdWJsaWNfYXBpLlJldm9rZVRvb2xBY2Nlc3NSZXNwb25zZSIlgtPkkwIfIhovYWdlbnRzL3Jldm9rZS10b29sLWFjY2VzczoBKhKMAQoSVGVzdFRvb2xDb25uZWN0aW9uEiUucHVibGljX2FwaS5UZXN0VG9vbENvbm5lY3Rpb25SZXF1ZXN0GiYucHVibGljX2FwaS5UZXN0VG9vbENvbm5lY3Rpb25SZXNwb25zZSIngtPkkwIhIhwvYWdlbnRzL3Rlc3QtdG9vbC1jb25uZWN0aW9uOgEqEoABCg9DaGVja1Rvb2xTYWZldHkSIi5wdWJsaWNfYXBpLkNoZWNrVG9vbFNhZmV0eVJlcXVlc3QaIy5wdWJsaWNfYXBpLkNoZWNrVG9vbFNhZmV0eVJlc3BvbnNlIiSC0+STAh4iGS9hZ2VudHMvY2hlY2stdG9vbC1zYWZldHk6ASoSggEKEUNyZWF0ZVJlbW90ZUFnZW50EiQucHVibGljX2FwaS5DcmVhdGVSZW1vdGVBZ2VudFJlcXVlc3QaJS5wdWJsaWNfYXBpLkNyZWF0ZVJlbW90ZUFnZW50UmVzcG9uc2UiIILT5JMCGiIVL3JlbW90ZS1hZ2VudHMvY3JlYXRlOgEqEoIBChFEZWxldGVSZW1vdGVBZ2VudBIkLnB1YmxpY19hcGkuRGVsZXRlUmVtb3RlQWdlbnRSZXF1ZXN0GiUucHVibGljX2FwaS5EZWxldGVSZW1vdGVBZ2VudFJlc3BvbnNlIiCC0+STAhoiFS9yZW1vdGUtYWdlbnRzL2RlbGV0ZToBKhJ9ChBMaXN0UmVtb3RlQWdlbnRzEiMucHVibGljX2FwaS5MaXN0UmVtb3RlQWdlbnRzUmVxdWVzdBokLnB1YmxpY19hcGkuTGlzdFJlbW90ZUFnZW50c1Jlc3BvbnNlIh6C0+STAhgiEy9yZW1vdGUtYWdlbnRzL2xpc3Q6ASoSmAEKFkxpc3RSZW1vdGVBZ2VudHNTdHJlYW0SKS5wdWJsaWNfYXBpLkxpc3RSZW1vdGVBZ2VudHNTdHJlYW1SZXF1ZXN0GioucHVibGljX2FwaS5MaXN0UmVtb3RlQWdlbnRzU3RyZWFtUmVzcG9uc2UiJYLT5JMCHyIaL3JlbW90ZS1hZ2VudHMvbGlzdC1zdHJlYW06ASowARKkAQoZR2V0UmVtb3RlQWdlbnRDaGF0SGlzdG9yeRIsLnB1YmxpY19hcGkuR2V0UmVtb3RlQWdlbnRDaGF0SGlzdG9yeVJlcXVlc3QaLS5wdWJsaWNfYXBpLkdldFJlbW90ZUFnZW50Q2hhdEhpc3RvcnlSZXNwb25zZSIqgtPkkwIkIh8vcmVtb3RlLWFnZW50cy9nZXQtY2hhdC1oaXN0b3J5OgEqErABChtHZXRSZW1vdGVBZ2VudEhpc3RvcnlTdHJlYW0SLi5wdWJsaWNfYXBpLkdldFJlbW90ZUFnZW50SGlzdG9yeVN0cmVhbVJlcXVlc3QaLy5wdWJsaWNfYXBpLkdldFJlbW90ZUFnZW50SGlzdG9yeVN0cmVhbVJlc3BvbnNlIi6C0+STAigiIy9yZW1vdGUtYWdlbnRzL2FnZW50LWhpc3Rvcnktc3RyZWFtOgEqMAESegoPUmVtb3RlQWdlbnRDaGF0EiIucHVibGljX2FwaS5SZW1vdGVBZ2VudENoYXRSZXF1ZXN0GiMucHVibGljX2FwaS5SZW1vdGVBZ2VudENoYXRSZXNwb25zZSIegtPkkwIYIhMvcmVtb3RlLWFnZW50cy9jaGF0OgEqEo4BChRJbnRlcnJ1cHRSZW1vdGVBZ2VudBInLnB1YmxpY19hcGkuSW50ZXJydXB0UmVtb3RlQWdlbnRSZXF1ZXN0GigucHVibGljX2FwaS5JbnRlcnJ1cHRSZW1vdGVBZ2VudFJlc3BvbnNlIiOC0+STAh0iGC9yZW1vdGUtYWdlbnRzL2ludGVycnVwdDoBKhKQAQoUUmVtb3RlQWdlbnRBZGRTU0hLZXkSJy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50QWRkU1NIS2V5UmVxdWVzdBooLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRBZGRTU0hLZXlSZXNwb25zZSIlgtPkkwIfIhovcmVtb3RlLWFnZW50cy9hZGQtc3NoLWtleToBKhKVAQoYUmVtb3RlQWdlbnRXb3Jrc3BhY2VMb2dzEisucHVibGljX2FwaS5SZW1vdGVBZ2VudFdvcmtzcGFjZUxvZ3NSZXF1ZXN0GiwucHVibGljX2FwaS5SZW1vdGVBZ2VudFdvcmtzcGFjZUxvZ3NSZXNwb25zZSIegtPkkwIYIhMvcmVtb3RlLWFnZW50cy9sb2dzOgEqEn4KEFBhdXNlUmVtb3RlQWdlbnQSIy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UGF1c2VSZXF1ZXN0GiQucHVibGljX2FwaS5SZW1vdGVBZ2VudFBhdXNlUmVzcG9uc2UiH4LT5JMCGSIUL3JlbW90ZS1hZ2VudHMvcGF1c2U6ASoSggEKEVJlc3VtZVJlbW90ZUFnZW50EiQucHVibGljX2FwaS5SZW1vdGVBZ2VudFJlc3VtZVJlcXVlc3QaJS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UmVzdW1lUmVzcG9uc2UiIILT5JMCGiIVL3JlbW90ZS1hZ2VudHMvcmVzdW1lOgEqEpMBChVSZXN1bWVIaW50UmVtb3RlQWdlbnQSKC5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UmVzdW1lSGludFJlcXVlc3QaKS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UmVzdW1lSGludFJlc3BvbnNlIiWC0+STAh8iGi9yZW1vdGUtYWdlbnRzL3Jlc3VtZS1oaW50OgEqEoIBChFVcGRhdGVSZW1vdGVBZ2VudBIkLnB1YmxpY19hcGkuVXBkYXRlUmVtb3RlQWdlbnRSZXF1ZXN0GiUucHVibGljX2FwaS5VcGRhdGVSZW1vdGVBZ2VudFJlc3BvbnNlIiCC0+STAhoiFS9yZW1vdGUtYWdlbnRzL3VwZGF0ZToBKhKGAQoNQ3JlYXRlVHJpZ2dlchIgLnB1YmxpY19hcGkuQ3JlYXRlVHJpZ2dlclJlcXVlc3QaIS5wdWJsaWNfYXBpLkNyZWF0ZVRyaWdnZXJSZXNwb25zZSIwgtPkkwIqIiUvcmVtb3RlLWFnZW50LWFjdGlvbnMvdHJpZ2dlcnMvY3JlYXRlOgEqEoEBCgxMaXN0VHJpZ2dlcnMSHy5wdWJsaWNfYXBpLkxpc3RUcmlnZ2Vyc1JlcXVlc3QaIC5wdWJsaWNfYXBpLkxpc3RUcmlnZ2Vyc1Jlc3BvbnNlIi6C0+STAigiIy9yZW1vdGUtYWdlbnQtYWN0aW9ucy90cmlnZ2Vycy9saXN0OgEqEoYBCg1VcGRhdGVUcmlnZ2VyEiAucHVibGljX2FwaS5VcGRhdGVUcmlnZ2VyUmVxdWVzdBohLnB1YmxpY19hcGkuVXBkYXRlVHJpZ2dlclJlc3BvbnNlIjCC0+STAioiJS9yZW1vdGUtYWdlbnQtYWN0aW9ucy90cmlnZ2Vycy91cGRhdGU6ASoShgEKDURlbGV0ZVRyaWdnZXISIC5wdWJsaWNfYXBpLkRlbGV0ZVRyaWdnZXJSZXF1ZXN0GiEucHVibGljX2FwaS5EZWxldGVUcmlnZ2VyUmVzcG9uc2UiMILT5JMCKiIlL3JlbW90ZS1hZ2VudC1hY3Rpb25zL3RyaWdnZXJzL2RlbGV0ZToBKhKfAQoUR2V0VHJpZ2dlckV4ZWN1dGlvbnMSJy5wdWJsaWNfYXBpLkdldFRyaWdnZXJFeGVjdXRpb25zUmVxdWVzdBooLnB1YmxpY19hcGkuR2V0VHJpZ2dlckV4ZWN1dGlvbnNSZXNwb25zZSI0gtPkkwIuIikvcmVtb3RlLWFnZW50LWFjdGlvbnMvdHJpZ2dlcnMvZXhlY3V0aW9uczoBKhKjAQoTR2V0TWF0Y2hpbmdFbnRpdGllcxImLnB1YmxpY19hcGkuR2V0TWF0Y2hpbmdFbnRpdGllc1JlcXVlc3QaJy5wdWJsaWNfYXBpLkdldE1hdGNoaW5nRW50aXRpZXNSZXNwb25zZSI7gtPkkwI1IjAvcmVtb3RlLWFnZW50LWFjdGlvbnMvdHJpZ2dlcnMvbWF0Y2hpbmctZW50aXRpZXM6ASoSjgEKDURpc21pc3NFbnRpdHkSIC5wdWJsaWNfYXBpLkRpc21pc3NFbnRpdHlSZXF1ZXN0GiEucHVibGljX2FwaS5EaXNtaXNzRW50aXR5UmVzcG9uc2UiOILT5JMCMiItL3JlbW90ZS1hZ2VudC1hY3Rpb25zL3RyaWdnZXJzL2Rpc21pc3MtZW50aXR5OgEqEqsBChZFeGVjdXRlVHJpZ2dlck1hbnVhbGx5EikucHVibGljX2FwaS5FeGVjdXRlVHJpZ2dlck1hbnVhbGx5UmVxdWVzdBoqLnB1YmxpY19hcGkuRXhlY3V0ZVRyaWdnZXJNYW51YWxseVJlc3BvbnNlIjqC0+STAjQiLy9yZW1vdGUtYWdlbnQtYWN0aW9ucy90cmlnZ2Vycy9leGVjdXRlLW1hbnVhbGx5OgEqEpoBChJFeGVjdXRlTWFudWFsQWdlbnQSJS5wdWJsaWNfYXBpLkV4ZWN1dGVNYW51YWxBZ2VudFJlcXVlc3QaJi5wdWJsaWNfYXBpLkV4ZWN1dGVNYW51YWxBZ2VudFJlc3BvbnNlIjWC0+STAi8iKi9yZW1vdGUtYWdlbnQtYWN0aW9ucy9leGVjdXRlLW1hbnVhbC1hZ2VudDoBKhKSAQoQR2V0RW50aXR5RGV0YWlscxIjLnB1YmxpY19hcGkuR2V0RW50aXR5RGV0YWlsc1JlcXVlc3QaJC5wdWJsaWNfYXBpLkdldEVudGl0eURldGFpbHNSZXNwb25zZSIzgtPkkwItIigvcmVtb3RlLWFnZW50LWFjdGlvbnMvZ2V0LWVudGl0eS1kZXRhaWxzOgEqEpkBChRMaXN0UHVsbFJlcXVlc3RGaWxlcxInLnB1YmxpY19hcGkuTGlzdFB1bGxSZXF1ZXN0RmlsZXNSZXF1ZXN0GigucHVibGljX2FwaS5MaXN0UHVsbFJlcXVlc3RGaWxlc1Jlc3BvbnNlIi6C0+STAigiIy9yZW1vdGUtYWdlbnQtYWN0aW9ucy9saXN0LXByLWZpbGVzOgEqEqcBChpSZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeRItLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRHZW5lcmF0ZVN1bW1hcnlSZXF1ZXN0Gi4ucHVibGljX2FwaS5SZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeVJlc3BvbnNlIiqC0+STAiQiHy9yZW1vdGUtYWdlbnRzL2dlbmVyYXRlLXN1bW1hcnk6ASoSpAEKFkxpc3RHaXRodWJTZXR1cFNjcmlwdHMSKS5wdWJsaWNfYXBpLkxpc3RHaXRodWJTZXR1cFNjcmlwdHNSZXF1ZXN0GioucHVibGljX2FwaS5MaXN0R2l0aHViU2V0dXBTY3JpcHRzUmVzcG9uc2UiM4LT5JMCLSIoL3JlbW90ZS1hZ2VudHMvbGlzdC1naXRodWItc2V0dXAtc2NyaXB0czoBKhKgAQoVUmVhZEdpdGh1YlNldHVwU2NyaXB0EigucHVibGljX2FwaS5SZWFkR2l0aHViU2V0dXBTY3JpcHRSZXF1ZXN0GikucHVibGljX2FwaS5SZWFkR2l0aHViU2V0dXBTY3JpcHRSZXNwb25zZSIygtPkkwIsIicvcmVtb3RlLWFnZW50cy9yZWFkLWdpdGh1Yi1zZXR1cC1zY3JpcHQ6ASoSpgEKGkFnZW50V29ya3NwYWNlUmVwb3J0U3RhdHVzEi0ucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydFN0YXR1c1JlcXVlc3QaLi5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlUmVwb3J0U3RhdHVzUmVzcG9uc2UiKYLT5JMCIyIeL2FnZW50LXdvcmtzcGFjZS9yZXBvcnQtc3RhdHVzOgEqErsBCh9BZ2VudFdvcmtzcGFjZVJlcG9ydENoYXRIaXN0b3J5EjIucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydENoYXRIaXN0b3J5UmVxdWVzdBozLnB1YmxpY19hcGkuQWdlbnRXb3Jrc3BhY2VSZXBvcnRDaGF0SGlzdG9yeVJlc3BvbnNlIi+C0+STAikiJC9hZ2VudC13b3Jrc3BhY2UvcmVwb3J0LWNoYXQtaGlzdG9yeToBKhKeAQoYQWdlbnRXb3Jrc3BhY2VQb2xsVXBkYXRlEisucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXF1ZXN0GiwucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXNwb25zZSIngtPkkwIhIhwvYWdlbnQtd29ya3NwYWNlL3BvbGwtdXBkYXRlOgEqEo8BChRBZ2VudFdvcmtzcGFjZVN0cmVhbRInLnB1YmxpY19hcGkuQWdlbnRXb3Jrc3BhY2VTdHJlYW1SZXF1ZXN0GigucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVN0cmVhbVJlc3BvbnNlIiKC0+STAhwiFy9hZ2VudC13b3Jrc3BhY2Uvc3RyZWFtOgEqMAESwwEKIkFnZW50V29ya3NwYWNlUmVwb3J0TGFzdFNlcXVlbmNlSWQSNS5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlUmVwb3J0TGFzdFNlcXVlbmNlSWRSZXF1ZXN0GjYucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydExhc3RTZXF1ZW5jZUlkUmVzcG9uc2UiLoLT5JMCKCIjL2FnZW50LXdvcmtzcGFjZS9yZXBvcnQtbGFzdC1zZXEtaWQ6ASoStwEKH0FnZW50V29ya3NwYWNlR2V0TGFzdFNlcXVlbmNlSWQSMi5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlR2V0TGFzdFNlcXVlbmNlSWRSZXF1ZXN0GjMucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZUdldExhc3RTZXF1ZW5jZUlkUmVzcG9uc2UiK4LT5JMCJSIgL2FnZW50LXdvcmtzcGFjZS9nZXQtbGFzdC1zZXEtaWQ6ASoSswEKHUFnZW50V29ya3NwYWNlUmVwb3J0U2V0dXBMb2dzEjAucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydFNldHVwTG9nc1JlcXVlc3QaMS5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlUmVwb3J0U2V0dXBMb2dzUmVzcG9uc2UiLYLT5JMCJyIiL2FnZW50LXdvcmtzcGFjZS9yZXBvcnQtc2V0dXAtbG9nczoBKhJ7Cg9MaXN0Q2hhdEhpc3RvcnkSIi5wdWJsaWNfYXBpLkxpc3RDaGF0SGlzdG9yeVJlcXVlc3QaIy5wdWJsaWNfYXBpLkxpc3RDaGF0SGlzdG9yeVJlc3BvbnNlIh+C0+STAhkiFC9jaGF0L2V4Y2hhbmdlcy9saXN0OgEqEn8KEENvdW50Q2hhdEhpc3RvcnkSIy5wdWJsaWNfYXBpLkNvdW50Q2hhdEhpc3RvcnlSZXF1ZXN0GiQucHVibGljX2FwaS5Db3VudENoYXRIaXN0b3J5UmVzcG9uc2UiIILT5JMCGiIVL2NoYXQvZXhjaGFuZ2VzL2NvdW50OgEqEoMBChFJbnNlcnRDaGF0SGlzdG9yeRIkLnB1YmxpY19hcGkuSW5zZXJ0Q2hhdEhpc3RvcnlSZXF1ZXN0GiUucHVibGljX2FwaS5JbnNlcnRDaGF0SGlzdG9yeVJlc3BvbnNlIiGC0+STAhsiFi9jaGF0L2V4Y2hhbmdlcy9pbnNlcnQ6ASoSfQoPQ3JlYXRlV29ya3NwYWNlEiIucHVibGljX2FwaS5DcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0GiMucHVibGljX2FwaS5DcmVhdGVXb3Jrc3BhY2VSZXNwb25zZSIhgtPkkwIbIhYvY2hhdC93b3Jrc3BhY2UvY3JlYXRlOgEqEn0KD1VwZGF0ZVdvcmtzcGFjZRIiLnB1YmxpY19hcGkuVXBkYXRlV29ya3NwYWNlUmVxdWVzdBojLnB1YmxpY19hcGkuVXBkYXRlV29ya3NwYWNlUmVzcG9uc2UiIYLT5JMCGyIWL2NoYXQvd29ya3NwYWNlL3VwZGF0ZToBKhJ4Cg5MaXN0V29ya3NwYWNlcxIhLnB1YmxpY19hcGkuTGlzdFdvcmtzcGFjZXNSZXF1ZXN0GiIucHVibGljX2FwaS5MaXN0V29ya3NwYWNlc1Jlc3BvbnNlIh+C0+STAhkiFC9jaGF0L3dvcmtzcGFjZS9saXN0OgEqEokBChJDcmVhdGVDb252ZXJzYXRpb24SJS5wdWJsaWNfYXBpLkNyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3QaJi5wdWJsaWNfYXBpLkNyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlIiSC0+STAh4iGS9jaGF0L2NvbnZlcnNhdGlvbi9jcmVhdGU6ASoSiQEKElVwZGF0ZUNvbnZlcnNhdGlvbhIlLnB1YmxpY19hcGkuVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdBomLnB1YmxpY19hcGkuVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UiJILT5JMCHiIZL2NoYXQvY29udmVyc2F0aW9uL3VwZGF0ZToBKhJ9Cg9HZXRDb252ZXJzYXRpb24SIi5wdWJsaWNfYXBpLkdldENvbnZlcnNhdGlvblJlcXVlc3QaIy5wdWJsaWNfYXBpLkdldENvbnZlcnNhdGlvblJlc3BvbnNlIiGC0+STAhsiFi9jaGF0L2NvbnZlcnNhdGlvbi9nZXQ6ASoShAEKEUxpc3RDb252ZXJzYXRpb25zEiQucHVibGljX2FwaS5MaXN0Q29udmVyc2F0aW9uc1JlcXVlc3QaJS5wdWJsaWNfYXBpLkxpc3RDb252ZXJzYXRpb25zUmVzcG9uc2UiIoLT5JMCHCIXL2NoYXQvY29udmVyc2F0aW9uL2xpc3Q6ASoStQEKI0xpc3RHaXRodWJSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyEjYucHVibGljX2FwaS5MaXN0R2l0aHViUmVwb3NGb3JBdXRoZW50aWNhdGVkVXNlclJlcXVlc3QaNy5wdWJsaWNfYXBpLkxpc3RHaXRodWJSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyUmVzcG9uc2UiHYLT5JMCFyISL2dpdGh1Yi9saXN0LXJlcG9zOgEqEpEBChZMaXN0R2l0aHViUmVwb0JyYW5jaGVzEikucHVibGljX2FwaS5MaXN0R2l0aHViUmVwb0JyYW5jaGVzUmVxdWVzdBoqLnB1YmxpY19hcGkuTGlzdEdpdGh1YlJlcG9CcmFuY2hlc1Jlc3BvbnNlIiCC0+STAhoiFS9naXRodWIvbGlzdC1icmFuY2hlczoBKhJxCg1HZXRHaXRodWJSZXBvEiAucHVibGljX2FwaS5HZXRHaXRodWJSZXBvUmVxdWVzdBohLnB1YmxpY19hcGkuR2V0R2l0aHViUmVwb1Jlc3BvbnNlIhuC0+STAhUiEC9naXRodWIvZ2V0LXJlcG86ASoSlgEKFklzVXNlckdpdGh1YkNvbmZpZ3VyZWQSKS5wdWJsaWNfYXBpLklzVXNlckdpdGh1YkNvbmZpZ3VyZWRSZXF1ZXN0GioucHVibGljX2FwaS5Jc1VzZXJHaXRodWJDb25maWd1cmVkUmVzcG9uc2UiJYLT5JMCHyIaL2dpdGh1Yi9pcy11c2VyLWNvbmZpZ3VyZWQ6ASoSiAEKEUNyZWF0ZVB1bGxSZXF1ZXN0EiQucHVibGljX2FwaS5DcmVhdGVQdWxsUmVxdWVzdFJlcXVlc3QaJS5wdWJsaWNfYXBpLkNyZWF0ZVB1bGxSZXF1ZXN0UmVzcG9uc2UiJoLT5JMCICIbL2dpdGh1Yi9jcmVhdGUtcHVsbC1yZXF1ZXN0OgEqEq8BChxSZWdpc3RlckluZGV4ZWRDb21taXRCbG9ic2V0Ei8ucHVibGljX2FwaS5SZWdpc3RlckluZGV4ZWRDb21taXRCbG9ic2V0UmVxdWVzdBowLnB1YmxpY19hcGkuUmVnaXN0ZXJJbmRleGVkQ29tbWl0QmxvYnNldFJlc3BvbnNlIiyC0+STAiYiIS9pbmRleGVkLWNvbW1pdHMvcmVnaXN0ZXItYmxvYnNldDoBKhK2AQodR2V0TGF0ZXN0SW5kZXhlZENvbW1pdEJsb2JzZXQSMC5wdWJsaWNfYXBpLkdldExhdGVzdEluZGV4ZWRDb21taXRCbG9ic2V0UmVxdWVzdBoxLnB1YmxpY19hcGkuR2V0TGF0ZXN0SW5kZXhlZENvbW1pdEJsb2JzZXRSZXNwb25zZSIugtPkkwIoIiMvaW5kZXhlZC1jb21taXRzL2dldC1sYXRlc3QtYmxvYnNldDoBKjABEoUBChNHZXRTdWJzY3JpcHRpb25JbmZvEiYucHVibGljX2FwaS5HZXRTdWJzY3JpcHRpb25JbmZvUmVxdWVzdBonLnB1YmxpY19hcGkuR2V0U3Vic2NyaXB0aW9uSW5mb1Jlc3BvbnNlIh2C0+STAhciEi9zdWJzY3JpcHRpb24taW5mbzoBKhKNAQoVR2V0U3Vic2NyaXB0aW9uQmFubmVyEigucHVibGljX2FwaS5HZXRTdWJzY3JpcHRpb25CYW5uZXJSZXF1ZXN0GikucHVibGljX2FwaS5HZXRTdWJzY3JpcHRpb25CYW5uZXJSZXNwb25zZSIfgtPkkwIZIhQvc3Vic2NyaXB0aW9uLWJhbm5lcjoBKhKaAQoXUmV2b2tlQ3VycmVudFVzZXJUb2tlbnMSKi5wdWJsaWNfYXBpLlJldm9rZUN1cnJlbnRVc2VyVG9rZW5zUmVxdWVzdBorLnB1YmxpY19hcGkuUmV2b2tlQ3VycmVudFVzZXJUb2tlbnNSZXNwb25zZSImgtPkkwIgIhsvcmV2b2tlLWN1cnJlbnQtdXNlci10b2tlbnM6ASoSgAEKEVJlYWROb3RpZmljYXRpb25zEiQucHVibGljX2FwaS5SZWFkTm90aWZpY2F0aW9uc1JlcXVlc3QaJS5wdWJsaWNfYXBpLlJlYWROb3RpZmljYXRpb25zUmVzcG9uc2UiHoLT5JMCGCITL25vdGlmaWNhdGlvbnMvcmVhZDoBKhKXAQoWTWFya05vdGlmaWNhdGlvbkFzUmVhZBIpLnB1YmxpY19hcGkuTWFya05vdGlmaWNhdGlvbkFzUmVhZFJlcXVlc3QaKi5wdWJsaWNfYXBpLk1hcmtOb3RpZmljYXRpb25Bc1JlYWRSZXNwb25zZSImgtPkkwIgIhsvbm90aWZpY2F0aW9ucy9tYXJrLWFzLXJlYWQ6ASoSlwEKE0FjdGlvbnNTZXRVc2VyU3RhdGUSJi5wdWJsaWNfYXBpLkFjdGlvbnNTZXRVc2VyU3RhdGVSZXF1ZXN0GicucHVibGljX2FwaS5BY3Rpb25zU2V0VXNlclN0YXRlUmVzcG9uc2UiL4LT5JMCKSIkL3JlbW90ZS1hZ2VudC1hY3Rpb25zL3VzZXItc3RhdGUvc2V0OgEqEpcBChNBY3Rpb25zR2V0VXNlclN0YXRlEiYucHVibGljX2FwaS5BY3Rpb25zR2V0VXNlclN0YXRlUmVxdWVzdBonLnB1YmxpY19hcGkuQWN0aW9uc0dldFVzZXJTdGF0ZVJlc3BvbnNlIi+C0+STAikiJC9yZW1vdGUtYWdlbnQtYWN0aW9ucy91c2VyLXN0YXRlL2dldDoBKhKnAQoYR2V0VGVuYW50VG9vbFBlcm1pc3Npb25zEisucHVibGljX2FwaS5HZXRUZW5hbnRUb29sUGVybWlzc2lvbnNSZXF1ZXN0GiwucHVibGljX2FwaS5HZXRUZW5hbnRUb29sUGVybWlzc2lvbnNSZXNwb25zZSIwgtPkkwIqIiUvc2V0dGluZ3MvZ2V0LXRlbmFudC10b29sLXBlcm1pc3Npb25zOgEqEpMBChNHZXRNY3BUZW5hbnRDb25maWdzEiYucHVibGljX2FwaS5HZXRNY3BUZW5hbnRDb25maWdzUmVxdWVzdBonLnB1YmxpY19hcGkuR2V0TWNwVGVuYW50Q29uZmlnc1Jlc3BvbnNlIiuC0+STAiUiIC9zZXR0aW5ncy9nZXQtbWNwLXRlbmFudC1jb25maWdzOgEqEosBChFHZXRNY3BVc2VyQ29uZmlncxIkLnB1YmxpY19hcGkuR2V0TWNwVXNlckNvbmZpZ3NSZXF1ZXN0GiUucHVibGljX2FwaS5HZXRNY3BVc2VyQ29uZmlnc1Jlc3BvbnNlIimC0+STAiMiHi9zZXR0aW5ncy9nZXQtbWNwLXVzZXItY29uZmlnczoBKhKbAQoVR2V0TWNwQ2F0YWxvZ01ldGFkYXRhEigucHVibGljX2FwaS5HZXRNY3BDYXRhbG9nTWV0YWRhdGFSZXF1ZXN0GikucHVibGljX2FwaS5HZXRNY3BDYXRhbG9nTWV0YWRhdGFSZXNwb25zZSItgtPkkwInIiIvc2V0dGluZ3MvZ2V0LW1jcC1jYXRhbG9nLW1ldGFkYXRhOgEqEogBChBHZXRNY3BDb25maWdCeUlkEiMucHVibGljX2FwaS5HZXRNY3BDb25maWdCeUlkUmVxdWVzdBokLnB1YmxpY19hcGkuR2V0TWNwQ29uZmlnQnlJZFJlc3BvbnNlIimC0+STAiMiHi9zZXR0aW5ncy9nZXQtbWNwLWNvbmZpZy1ieS1pZDoBKhKPAQoSR2V0TWNwVXNlclNldHRpbmdzEiUucHVibGljX2FwaS5HZXRNY3BVc2VyU2V0dGluZ3NSZXF1ZXN0GiYucHVibGljX2FwaS5HZXRNY3BVc2VyU2V0dGluZ3NSZXNwb25zZSIqgtPkkwIkIh8vc2V0dGluZ3MvZ2V0LW1jcC11c2VyLXNldHRpbmdzOgEqEpcBChRHZXRNY3BUZW5hbnRTZXR0aW5ncxInLnB1YmxpY19hcGkuR2V0TWNwVGVuYW50U2V0dGluZ3NSZXF1ZXN0GigucHVibGljX2FwaS5HZXRNY3BUZW5hbnRTZXR0aW5nc1Jlc3BvbnNlIiyC0+STAiYiIS9zZXR0aW5ncy9nZXQtbWNwLXRlbmFudC1zZXR0aW5nczoBKhKjAQoXR2V0UG9zZWlkb25Vc2VyU2V0dGluZ3MSKi5wdWJsaWNfYXBpLkdldFBvc2VpZG9uVXNlclNldHRpbmdzUmVxdWVzdBorLnB1YmxpY19hcGkuR2V0UG9zZWlkb25Vc2VyU2V0dGluZ3NSZXNwb25zZSIvgtPkkwIpIiQvc2V0dGluZ3MvZ2V0LXBvc2VpZG9uLXVzZXItc2V0dGluZ3M6ASoSrwEKGlVwZGF0ZVBvc2VpZG9uVXNlclNldHRpbmdzEi0ucHVibGljX2FwaS5VcGRhdGVQb3NlaWRvblVzZXJTZXR0aW5nc1JlcXVlc3QaLi5wdWJsaWNfYXBpLlVwZGF0ZVBvc2VpZG9uVXNlclNldHRpbmdzUmVzcG9uc2UiMoLT5JMCLCInL3NldHRpbmdzL3VwZGF0ZS1wb3NlaWRvbi11c2VyLXNldHRpbmdzOgEqEo4BChJQaW5Qb3NlaWRvblNlc3Npb24SJS5wdWJsaWNfYXBpLlBpblBvc2VpZG9uU2Vzc2lvblJlcXVlc3QaJi5wdWJsaWNfYXBpLlBpblBvc2VpZG9uU2Vzc2lvblJlc3BvbnNlIimC0+STAiMiHi9zZXR0aW5ncy9waW4tcG9zZWlkb24tc2Vzc2lvbjoBKhKWAQoUVW5waW5Qb3NlaWRvblNlc3Npb24SJy5wdWJsaWNfYXBpLlVucGluUG9zZWlkb25TZXNzaW9uUmVxdWVzdBooLnB1YmxpY19hcGkuVW5waW5Qb3NlaWRvblNlc3Npb25SZXNwb25zZSIrgtPkkwIlIiAvc2V0dGluZ3MvdW5waW4tcG9zZWlkb24tc2Vzc2lvbjoBKhKrAQoZR2V0UG9zZWlkb25UZW5hbnRTZXR0aW5ncxIsLnB1YmxpY19hcGkuR2V0UG9zZWlkb25UZW5hbnRTZXR0aW5nc1JlcXVlc3QaLS5wdWJsaWNfYXBpLkdldFBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXNwb25zZSIxgtPkkwIrIiYvc2V0dGluZ3MvZ2V0LXBvc2VpZG9uLXRlbmFudC1zZXR0aW5nczoBKhK3AQocVXBkYXRlUG9zZWlkb25UZW5hbnRTZXR0aW5ncxIvLnB1YmxpY19hcGkuVXBkYXRlUG9zZWlkb25UZW5hbnRTZXR0aW5nc1JlcXVlc3QaMC5wdWJsaWNfYXBpLlVwZGF0ZVBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXNwb25zZSI0gtPkkwIuIikvc2V0dGluZ3MvdXBkYXRlLXBvc2VpZG9uLXRlbmFudC1zZXR0aW5nczoBKhKTAQoTVXBzZXJ0TWNwVXNlckNvbmZpZxImLnB1YmxpY19hcGkuVXBzZXJ0TWNwVXNlckNvbmZpZ1JlcXVlc3QaJy5wdWJsaWNfYXBpLlVwc2VydE1jcFVzZXJDb25maWdSZXNwb25zZSIrgtPkkwIlIiAvc2V0dGluZ3MvdXBzZXJ0LW1jcC11c2VyLWNvbmZpZzoBKhKbAQoVVXBzZXJ0TWNwVGVuYW50Q29uZmlnEigucHVibGljX2FwaS5VcHNlcnRNY3BUZW5hbnRDb25maWdSZXF1ZXN0GikucHVibGljX2FwaS5VcHNlcnRNY3BUZW5hbnRDb25maWdSZXNwb25zZSItgtPkkwInIiIvc2V0dGluZ3MvdXBzZXJ0LW1jcC10ZW5hbnQtY29uZmlnOgEqEpMBChNSZW1vdmVNY3BVc2VyQ29uZmlnEiYucHVibGljX2FwaS5SZW1vdmVNY3BVc2VyQ29uZmlnUmVxdWVzdBonLnB1YmxpY19hcGkuUmVtb3ZlTWNwVXNlckNvbmZpZ1Jlc3BvbnNlIiuC0+STAiUiIC9zZXR0aW5ncy9yZW1vdmUtbWNwLXVzZXItY29uZmlnOgEqEpsBChVSZW1vdmVNY3BUZW5hbnRDb25maWcSKC5wdWJsaWNfYXBpLlJlbW92ZU1jcFRlbmFudENvbmZpZ1JlcXVlc3QaKS5wdWJsaWNfYXBpLlJlbW92ZU1jcFRlbmFudENvbmZpZ1Jlc3BvbnNlIi2C0+STAiciIi9zZXR0aW5ncy9yZW1vdmUtbWNwLXRlbmFudC1jb25maWc6ASoSigEKEUxpc3RBZ2VudFBlcnNvbmFzEiQucHVibGljX2FwaS5MaXN0QWdlbnRQZXJzb25hc1JlcXVlc3QaJS5wdWJsaWNfYXBpLkxpc3RBZ2VudFBlcnNvbmFzUmVzcG9uc2UiKILT5JMCIiIdL2FnZW50LXBlcnNvbmFzL2xpc3QtcGVyc29uYXM6ASoSggEKD0dldEFnZW50UGVyc29uYRIiLnB1YmxpY19hcGkuR2V0QWdlbnRQZXJzb25hUmVxdWVzdBojLnB1YmxpY19hcGkuR2V0QWdlbnRQZXJzb25hUmVzcG9uc2UiJoLT5JMCICIbL2FnZW50LXBlcnNvbmFzL2dldC1wZXJzb25hOgEqEpoBChVMaXN0QWdlbnRDYXBhYmlsaXRpZXMSKC5wdWJsaWNfYXBpLkxpc3RBZ2VudENhcGFiaWxpdGllc1JlcXVlc3QaKS5wdWJsaWNfYXBpLkxpc3RBZ2VudENhcGFiaWxpdGllc1Jlc3BvbnNlIiyC0+STAiYiIS9hZ2VudC1wZXJzb25hcy9saXN0LWNhcGFiaWxpdGllczoBKhKXAQoWQ2xvdWRBZ2VudHNDcmVhdGVBZ2VudBIpLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNDcmVhdGVBZ2VudFJlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQ3JlYXRlQWdlbnRSZXNwb25zZSImgtPkkwIgIhsvY2xvdWQtYWdlbnRzL2FnZW50cy9jcmVhdGU6ASoSiwEKE0Nsb3VkQWdlbnRzR2V0QWdlbnQSJi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzR2V0QWdlbnRSZXF1ZXN0GicucHVibGljX2FwaS5DbG91ZEFnZW50c0dldEFnZW50UmVzcG9uc2UiI4LT5JMCHSIYL2Nsb3VkLWFnZW50cy9hZ2VudHMvZ2V0OgEqEp0BChZDbG91ZEFnZW50c1NlbmRNZXNzYWdlEikucHVibGljX2FwaS5DbG91ZEFnZW50c1NlbmRNZXNzYWdlUmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNTZW5kTWVzc2FnZVJlc3BvbnNlIiyC0+STAiYiIS9jbG91ZC1hZ2VudHMvYWdlbnRzL3NlbmQtbWVzc2FnZToBKhKdAQoWQ2xvdWRBZ2VudHNHZXRNZXNzYWdlcxIpLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNHZXRNZXNzYWdlc1JlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzR2V0TWVzc2FnZXNSZXNwb25zZSIsgtPkkwImIiEvY2xvdWQtYWdlbnRzL2FnZW50cy9nZXQtbWVzc2FnZXM6ASoSuAEKHENsb3VkQWdlbnRzR2V0TWVzc2FnZXNTdHJlYW0SLy5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzR2V0TWVzc2FnZXNTdHJlYW1SZXF1ZXN0GjAucHVibGljX2FwaS5DbG91ZEFnZW50c0dldE1lc3NhZ2VzU3RyZWFtUmVzcG9uc2UiM4LT5JMCLSIoL2Nsb3VkLWFnZW50cy9hZ2VudHMvZ2V0LW1lc3NhZ2VzLXN0cmVhbToBKjABEpcBChZDbG91ZEFnZW50c1JlbmFtZUFnZW50EikucHVibGljX2FwaS5DbG91ZEFnZW50c1JlbmFtZUFnZW50UmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNSZW5hbWVBZ2VudFJlc3BvbnNlIiaC0+STAiAiGy9jbG91ZC1hZ2VudHMvYWdlbnRzL3JlbmFtZToBKhLFAQohQ2xvdWRBZ2VudHNVcGRhdGVBZ2VudFNlc3Npb25UYWdzEjQucHVibGljX2FwaS5DbG91ZEFnZW50c1VwZGF0ZUFnZW50U2Vzc2lvblRhZ3NSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEFnZW50c1VwZGF0ZUFnZW50U2Vzc2lvblRhZ3NSZXNwb25zZSIzgtPkkwItIigvY2xvdWQtYWdlbnRzL2FnZW50cy91cGRhdGUtc2Vzc2lvbi10YWdzOgEqEpcBChZDbG91ZEFnZW50c0RlbGV0ZUFnZW50EikucHVibGljX2FwaS5DbG91ZEFnZW50c0RlbGV0ZUFnZW50UmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNEZWxldGVBZ2VudFJlc3BvbnNlIiaC0+STAiAiGy9jbG91ZC1hZ2VudHMvYWdlbnRzL2RlbGV0ZToBKhKbAQoXQ2xvdWRBZ2VudHNBcmNoaXZlQWdlbnQSKi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQXJjaGl2ZUFnZW50UmVxdWVzdBorLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNBcmNoaXZlQWdlbnRSZXNwb25zZSIngtPkkwIhIhwvY2xvdWQtYWdlbnRzL2FnZW50cy9hcmNoaXZlOgEqEqMBChlDbG91ZEFnZW50c1VuYXJjaGl2ZUFnZW50EiwucHVibGljX2FwaS5DbG91ZEFnZW50c1VuYXJjaGl2ZUFnZW50UmVxdWVzdBotLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNVbmFyY2hpdmVBZ2VudFJlc3BvbnNlIimC0+STAiMiHi9jbG91ZC1hZ2VudHMvYWdlbnRzL3VuYXJjaGl2ZToBKhLHAQogQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHMSMy5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQmF0Y2hHZXRNZXNzYWdlQ291bnRzUmVxdWVzdBo0LnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHNSZXNwb25zZSI4gtPkkwIyIi0vY2xvdWQtYWdlbnRzL2FnZW50cy9iYXRjaC1nZXQtbWVzc2FnZS1jb3VudHM6ASoSxgEKIENsb3VkQWdlbnRzUmVmcmVzaEdpdENyZWRlbnRpYWxzEjMucHVibGljX2FwaS5DbG91ZEFnZW50c1JlZnJlc2hHaXRDcmVkZW50aWFsc1JlcXVlc3QaNC5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzUmVmcmVzaEdpdENyZWRlbnRpYWxzUmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLWFnZW50cy9hZ2VudHMvcmVmcmVzaC1naXQtY3JlZGVudGlhbHM6ASoSsgEKG0Nsb3VkQWdlbnRzUmVxdWVzdE1jcFNlcnZlchIuLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNSZXF1ZXN0TWNwU2VydmVyUmVxdWVzdBovLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNSZXF1ZXN0TWNwU2VydmVyUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLWFnZW50cy9hZ2VudHMvcmVxdWVzdC1tY3Atc2VydmVyOgEqErYBChxDbG91ZEFnZW50c0hhbmRvZmZUb1Bvc2VpZG9uEi8ucHVibGljX2FwaS5DbG91ZEFnZW50c0hhbmRvZmZUb1Bvc2VpZG9uUmVxdWVzdBowLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNIYW5kb2ZmVG9Qb3NlaWRvblJlc3BvbnNlIjOC0+STAi0iKC9jbG91ZC1hZ2VudHMvYWdlbnRzL2hhbmRvZmYtdG8tcG9zZWlkb246ASoSnwEKGENsb3VkRXhwZXJ0c0NyZWF0ZUV4cGVydBIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlRXhwZXJ0UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlRXhwZXJ0UmVzcG9uc2UiKILT5JMCIiIdL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9jcmVhdGU6ASoSkwEKFUNsb3VkRXhwZXJ0c0dldEV4cGVydBIoLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzR2V0RXhwZXJ0UmVxdWVzdBopLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzR2V0RXhwZXJ0UmVzcG9uc2UiJYLT5JMCHyIaL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9nZXQ6ASoSnwEKGENsb3VkRXhwZXJ0c1VwZGF0ZUV4cGVydBIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzVXBkYXRlRXhwZXJ0UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzVXBkYXRlRXhwZXJ0UmVzcG9uc2UiKILT5JMCIiIdL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy91cGRhdGU6ASoSnwEKGENsb3VkRXhwZXJ0c0RlbGV0ZUV4cGVydBIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzRGVsZXRlRXhwZXJ0UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzRGVsZXRlRXhwZXJ0UmVzcG9uc2UiKILT5JMCIiIdL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9kZWxldGU6ASoSmgEKF0Nsb3VkRXhwZXJ0c0xpc3RFeHBlcnRzEioucHVibGljX2FwaS5DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1JlcXVlc3QaKy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0xpc3RFeHBlcnRzUmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9saXN0OgEqEsABCiBDbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1dpdGhVc2FnZRIzLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzTGlzdEV4cGVydHNXaXRoVXNhZ2VSZXF1ZXN0GjQucHVibGljX2FwaS5DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1dpdGhVc2FnZVJlc3BvbnNlIjGC0+STAisiJi9jbG91ZC1leHBlcnRzL2V4cGVydHMvbGlzdC13aXRoLXVzYWdlOgEqEqYBChhDbG91ZEV4cGVydHNMaXN0VmVyc2lvbnMSKy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0xpc3RWZXJzaW9uc1JlcXVlc3QaLC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0xpc3RWZXJzaW9uc1Jlc3BvbnNlIi+C0+STAikiJC9jbG91ZC1leHBlcnRzL2V4cGVydHMvdmVyc2lvbnMvbGlzdDoBKhKfAQoWQ2xvdWRFeHBlcnRzR2V0VmVyc2lvbhIpLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzR2V0VmVyc2lvblJlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0dldFZlcnNpb25SZXNwb25zZSIugtPkkwIoIiMvY2xvdWQtZXhwZXJ0cy9leHBlcnRzL3ZlcnNpb25zL2dldDoBKhKjAQoZQ2xvdWRFeHBlcnRzUmVzdG9yZUV4cGVydBIsLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzUmVzdG9yZUV4cGVydFJlcXVlc3QaLS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c1Jlc3RvcmVFeHBlcnRSZXNwb25zZSIpgtPkkwIjIh4vY2xvdWQtZXhwZXJ0cy9leHBlcnRzL3Jlc3RvcmU6ASoSwAEKIUNsb3VkRXhwZXJ0c0NyZWF0ZUFnZW50RnJvbUV4cGVydBI0LnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlQWdlbnRGcm9tRXhwZXJ0UmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlQWdlbnRGcm9tRXhwZXJ0UmVzcG9uc2UiLoLT5JMCKCIjL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9jcmVhdGUtYWdlbnQ6ASoSigEKFENsb3VkRmxlZXRHZXRDYXRhbG9nEiUud2ViX3JwY19wcm94eS5HZXRGbGVldENhdGFsb2dSZXF1ZXN0GiYud2ViX3JwY19wcm94eS5HZXRGbGVldENhdGFsb2dSZXNwb25zZSIjgtPkkwIdIhgvY2xvdWQtZmxlZXQvY2F0YWxvZy9nZXQ6ASoSiwEKD0Nsb3VkRmxlZXRBcHBseRIkLndlYl9ycGNfcHJveHkuQXBwbHlGbGVldEZsb3dSZXF1ZXN0GiUud2ViX3JwY19wcm94eS5BcHBseUZsZWV0Rmxvd1Jlc3BvbnNlIiuC0+STAiUiIC9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL2FwcGx5OgEqEoMBCg1DbG91ZEZsZWV0QXJtEiIud2ViX3JwY19wcm94eS5Bcm1GbGVldEZsb3dSZXF1ZXN0GiMud2ViX3JwY19wcm94eS5Bcm1GbGVldEZsb3dSZXNwb25zZSIpgtPkkwIjIh4vY2xvdWQtZmxlZXQvaW5zdGFsbGF0aW9ucy9hcm06ASoSnwEKFENsb3VkRmxlZXREZWFjdGl2YXRlEikud2ViX3JwY19wcm94eS5EZWFjdGl2YXRlRmxlZXRGbG93UmVxdWVzdBoqLndlYl9ycGNfcHJveHkuRGVhY3RpdmF0ZUZsZWV0Rmxvd1Jlc3BvbnNlIjCC0+STAioiJS9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL2RlYWN0aXZhdGU6ASoSmwEKE0Nsb3VkRmxlZXRVbmluc3RhbGwSKC53ZWJfcnBjX3Byb3h5LlVuaW5zdGFsbEZsZWV0Rmxvd1JlcXVlc3QaKS53ZWJfcnBjX3Byb3h5LlVuaW5zdGFsbEZsZWV0Rmxvd1Jlc3BvbnNlIi+C0+STAikiJC9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL3VuaW5zdGFsbDoBKhKbAQoTQ2xvdWRGbGVldENvbmZpZ3VyZRIoLndlYl9ycGNfcHJveHkuQ29uZmlndXJlRmxlZXRGbG93UmVxdWVzdBopLndlYl9ycGNfcHJveHkuQ29uZmlndXJlRmxlZXRGbG93UmVzcG9uc2UiL4LT5JMCKSIkL2Nsb3VkLWZsZWV0L2luc3RhbGxhdGlvbnMvY29uZmlndXJlOgEqEo8BChBDbG91ZEZsZWV0UmVwYWlyEiUud2ViX3JwY19wcm94eS5SZXBhaXJGbGVldEZsb3dSZXF1ZXN0GiYud2ViX3JwY19wcm94eS5SZXBhaXJGbGVldEZsb3dSZXNwb25zZSIsgtPkkwImIiEvY2xvdWQtZmxlZXQvaW5zdGFsbGF0aW9ucy9yZXBhaXI6ASoSqAEKFkNsb3VkRmxlZXRHZXRMaWZlY3ljbGUSKy53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Rmxvd0xpZmVjeWNsZVJlcXVlc3QaLC53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Rmxvd0xpZmVjeWNsZVJlc3BvbnNlIjOC0+STAi0iKC9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL2xpZmVjeWNsZS9nZXQ6ASoSpgEKG0Nsb3VkRmxlZXRMaXN0SW5zdGFsbGF0aW9ucxIsLndlYl9ycGNfcHJveHkuTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1JlcXVlc3QaLS53ZWJfcnBjX3Byb3h5Lkxpc3RGbGVldEluc3RhbGxhdGlvbnNSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtZmxlZXQvaW5zdGFsbGF0aW9ucy9saXN0OgEqEsgBCiJDbG91ZEZsZWV0R2V0Q29uZmlndXJhdGlvbkRvY3VtZW50EjMud2ViX3JwY19wcm94eS5HZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudFJlcXVlc3QaNC53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q29uZmlndXJhdGlvbkRvY3VtZW50UmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLWZsZWV0L2luc3RhbGxhdGlvbnMvY29uZmlndXJhdGlvbi9nZXQ6ASoSrwEKHENsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnQSLy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnRSZXF1ZXN0GjAucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0NyZWF0ZVJlc2lkZW50UmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvY3JlYXRlOgEqEqMBChlDbG91ZFJlc2lkZW50c0dldFJlc2lkZW50EiwucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0dldFJlc2lkZW50UmVxdWVzdBotLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNHZXRSZXNpZGVudFJlc3BvbnNlIimC0+STAiMiHi9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL2dldDoBKhKvAQocQ2xvdWRSZXNpZGVudHNVcGRhdGVSZXNpZGVudBIvLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNVcGRhdGVSZXNpZGVudFJlcXVlc3QaMC5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzVXBkYXRlUmVzaWRlbnRSZXNwb25zZSIsgtPkkwImIiEvY2xvdWQtcmVzaWRlbnRzL3Jlc2lkZW50cy91cGRhdGU6ASoS1QEKJUNsb3VkUmVzaWRlbnRzU2V0UmVzaWRlbnRUZW5hbnRBY2Nlc3MSOC5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzU2V0UmVzaWRlbnRUZW5hbnRBY2Nlc3NSZXF1ZXN0GjkucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c1NldFJlc2lkZW50VGVuYW50QWNjZXNzUmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvc2V0LXRlbmFudC1hY2Nlc3M6ASoSrwEKHENsb3VkUmVzaWRlbnRzRGVsZXRlUmVzaWRlbnQSLy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzRGVsZXRlUmVzaWRlbnRSZXF1ZXN0GjAucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0RlbGV0ZVJlc2lkZW50UmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvZGVsZXRlOgEqEqoBChtDbG91ZFJlc2lkZW50c0xpc3RSZXNpZGVudHMSLi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzTGlzdFJlc2lkZW50c1JlcXVlc3QaLy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzTGlzdFJlc2lkZW50c1Jlc3BvbnNlIiqC0+STAiQiHy9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL2xpc3Q6ASoSqwEKG0Nsb3VkUmVzaWRlbnRzU3RhcnRSZXNpZGVudBIuLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNTdGFydFJlc2lkZW50UmVxdWVzdBovLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNTdGFydFJlc2lkZW50UmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvc3RhcnQ6ASoSpwEKGkNsb3VkUmVzaWRlbnRzU3RvcFJlc2lkZW50Ei0ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c1N0b3BSZXNpZGVudFJlcXVlc3QaLi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzU3RvcFJlc2lkZW50UmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvc3RvcDoBKhKwAQoaQ2xvdWRSZXNpZGVudHNMaXN0U2Vzc2lvbnMSLS5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzTGlzdFNlc3Npb25zUmVxdWVzdBouLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNMaXN0U2Vzc2lvbnNSZXNwb25zZSIzgtPkkwItIigvY2xvdWQtcmVzaWRlbnRzL3Jlc2lkZW50cy9zZXNzaW9ucy9saXN0OgEqErABChpDbG91ZFJlc2lkZW50c0xpc3RWZXJzaW9ucxItLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNMaXN0VmVyc2lvbnNSZXF1ZXN0Gi4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0xpc3RWZXJzaW9uc1Jlc3BvbnNlIjOC0+STAi0iKC9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL3ZlcnNpb25zL2xpc3Q6ASoSqQEKGENsb3VkUmVzaWRlbnRzR2V0VmVyc2lvbhIrLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNHZXRWZXJzaW9uUmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNHZXRWZXJzaW9uUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvdmVyc2lvbnMvZ2V0OgEqErMBCh1DbG91ZFJlc2lkZW50c1Jlc3RvcmVSZXNpZGVudBIwLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNSZXN0b3JlUmVzaWRlbnRSZXF1ZXN0GjEucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c1Jlc3RvcmVSZXNpZGVudFJlc3BvbnNlIi2C0+STAiciIi9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL3Jlc3RvcmU6ASoSwgEKIUNsb3VkRW52aXJvbm1lbnRzTGlzdEVudmlyb25tZW50cxI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0RW52aXJvbm1lbnRzUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0RW52aXJvbm1lbnRzUmVzcG9uc2UiMILT5JMCKiIlL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvbGlzdDoBKhK7AQofQ2xvdWRFbnZpcm9ubWVudHNHZXRFbnZpcm9ubWVudBIyLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNHZXRFbnZpcm9ubWVudFJlcXVlc3QaMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0RW52aXJvbm1lbnRSZXNwb25zZSIvgtPkkwIpIiQvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy9nZXQ6ASoS7gEKIENsb3VkRW52aXJvbm1lbnRzQ3JlYXRlQmFzZUltYWdlEjMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0NyZWF0ZUJhc2VJbWFnZVJlcXVlc3QaNC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlQmFzZUltYWdlUmVzcG9uc2UiX4LT5JMCWSImL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9jcmVhdGU6ASpaLCInL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvY3JlYXRlOgEqEokCCiVDbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlQ3JlYXRlEjgucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlQ3JlYXRlUmVxdWVzdBo5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZUNyZWF0ZVJlc3BvbnNlImuC0+STAmUiLC9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvY3JlYXRlL3N0YXJ0OgEqWjIiLS9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL2NyZWF0ZS9zdGFydDoBKhLuAQogQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVCYXNlSW1hZ2USMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVxdWVzdBo0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVCYXNlSW1hZ2VSZXNwb25zZSJfgtPkkwJZIiYvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3VwZGF0ZToBKlosIicvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy91cGRhdGU6ASoS7gEKIENsb3VkRW52aXJvbm1lbnRzRGVsZXRlQmFzZUltYWdlEjMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0RlbGV0ZUJhc2VJbWFnZVJlcXVlc3QaNC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzRGVsZXRlQmFzZUltYWdlUmVzcG9uc2UiX4LT5JMCWSImL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9kZWxldGU6ASpaLCInL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvZGVsZXRlOgEqEvMBCiFDbG91ZEVudmlyb25tZW50c1Jlc3RvcmVCYXNlSW1hZ2USNC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZUJhc2VJbWFnZVJlcXVlc3QaNS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZUJhc2VJbWFnZVJlc3BvbnNlImGC0+STAlsiJy9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvcmVzdG9yZToBKlotIigvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy9yZXN0b3JlOgEqEvMBCh1DbG91ZEVudmlyb25tZW50c0xpc3RWZXJzaW9ucxIwLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0VmVyc2lvbnNSZXF1ZXN0GjEucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RWZXJzaW9uc1Jlc3BvbnNlIm2C0+STAmciLS9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvdmVyc2lvbnMvbGlzdDoBKlozIi4vY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy92ZXJzaW9ucy9saXN0OgEqEusBChtDbG91ZEVudmlyb25tZW50c0dldFZlcnNpb24SLi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0VmVyc2lvblJlcXVlc3QaLy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0VmVyc2lvblJlc3BvbnNlImuC0+STAmUiLC9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvdmVyc2lvbnMvZ2V0OgEqWjIiLS9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL3ZlcnNpb25zL2dldDoBKhLRAQokQ2xvdWRFbnZpcm9ubWVudHNMaXN0QmFzZUltYWdlQnVpbGRzEjcucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RCYXNlSW1hZ2VCdWlsZHNSZXF1ZXN0GjgucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RCYXNlSW1hZ2VCdWlsZHNSZXNwb25zZSI2gtPkkwIwIisvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL2J1aWxkcy9saXN0OgEqEv0BCiNDbG91ZEVudmlyb25tZW50c0R1cGxpY2F0ZUJhc2VJbWFnZRI2LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEdXBsaWNhdGVCYXNlSW1hZ2VSZXF1ZXN0GjcucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0R1cGxpY2F0ZUJhc2VJbWFnZVJlc3BvbnNlImWC0+STAl8iKS9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvZHVwbGljYXRlOgEqWi8iKi9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL2R1cGxpY2F0ZToBKhLzAQohQ2xvdWRFbnZpcm9ubWVudHNSZWZyZXNoQmFzZUltYWdlEjQucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXNwb25zZSJhgtPkkwJbIicvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3JlZnJlc2g6ASpaLSIoL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvcmVmcmVzaDoBKhL9AQofQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTbmFwc2hvdBIyLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTbmFwc2hvdFJlcXVlc3QaMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU25hcHNob3RSZXNwb25zZSJxgtPkkwJrIi8vY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3VwZGF0ZS1zbmFwc2hvdDoBKlo1IjAvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy91cGRhdGUtc25hcHNob3Q6ASoS9gEKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VTbmFwc2hvdFVwZGF0ZRJALnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVNuYXBzaG90VXBkYXRlUmVxdWVzdBpBLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVNuYXBzaG90VXBkYXRlUmVzcG9uc2UiQILT5JMCOiI1L2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy91cGRhdGUtc25hcHNob3Qvc3RhcnQ6ASoS8wEKIUNsb3VkRW52aXJvbm1lbnRzUmVidWlsZEJhc2VJbWFnZRI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZWJ1aWxkQmFzZUltYWdlUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZWJ1aWxkQmFzZUltYWdlUmVzcG9uc2UiYYLT5JMCWyInL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9yZWJ1aWxkOgEqWi0iKC9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL3JlYnVpbGQ6ASoS2QEKJkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkEjkucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlUmVidWlsZFJlcXVlc3QaOi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkUmVzcG9uc2UiOILT5JMCMiItL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9yZWJ1aWxkL3N0YXJ0OgEqEtkBCiZDbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlUmVmcmVzaBI5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlZnJlc2hSZXF1ZXN0GjoucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlUmVmcmVzaFJlc3BvbnNlIjiC0+STAjIiLS9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvcmVmcmVzaC9zdGFydDoBKhKMAgoyQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlcG9zaXRvcnlSZWNvbmNpbGUSRS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZXBvc2l0b3J5UmVjb25jaWxlUmVxdWVzdBpGLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlcG9zaXRvcnlSZWNvbmNpbGVSZXNwb25zZSJHgtPkkwJBIjwvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3JlcG9zaXRvcmllcy9yZWNvbmNpbGUvc3RhcnQ6ASoSswEKHUNsb3VkRW52aXJvbm1lbnRzR2V0T3BlcmF0aW9uEjAucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0dldE9wZXJhdGlvblJlcXVlc3QaMS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0T3BlcmF0aW9uUmVzcG9uc2UiLYLT5JMCJyIiL2Nsb3VkLWVudmlyb25tZW50cy9vcGVyYXRpb25zL2dldDoBKhLMAQojQ2xvdWRFbnZpcm9ubWVudHNHZXRBY3RpdmVPcGVyYXRpb24SNi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0QWN0aXZlT3BlcmF0aW9uUmVxdWVzdBo3LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNHZXRBY3RpdmVPcGVyYXRpb25SZXNwb25zZSI0gtPkkwIuIikvY2xvdWQtZW52aXJvbm1lbnRzL29wZXJhdGlvbnMvYWN0aXZlL2dldDoBKhK/AQogQ2xvdWRFbnZpcm9ubWVudHNDYW5jZWxPcGVyYXRpb24SMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzQ2FuY2VsT3BlcmF0aW9uUmVxdWVzdBo0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNDYW5jZWxPcGVyYXRpb25SZXNwb25zZSIwgtPkkwIqIiUvY2xvdWQtZW52aXJvbm1lbnRzL29wZXJhdGlvbnMvY2FuY2VsOgEqEsABCiVDbG91ZEVudmlyb25tZW50c0xpc3RTYW5kYm94UHJvdmlkZXJzEjgucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBo5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0U2FuZGJveFByb3ZpZGVyc1Jlc3BvbnNlIiKC0+STAhwiFy9zYW5kYm94LXByb3ZpZGVycy9saXN0OgEqErkBCiNDbG91ZEVudmlyb25tZW50c0dldFNhbmRib3hQcm92aWRlchI2LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNHZXRTYW5kYm94UHJvdmlkZXJSZXF1ZXN0GjcucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0dldFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGC0+STAhsiFi9zYW5kYm94LXByb3ZpZGVycy9nZXQ6ASoSxQEKJkNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlU2FuZGJveFByb3ZpZGVyEjkucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0NyZWF0ZVNhbmRib3hQcm92aWRlclJlcXVlc3QaOi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlU2FuZGJveFByb3ZpZGVyUmVzcG9uc2UiJILT5JMCHiIZL3NhbmRib3gtcHJvdmlkZXJzL2NyZWF0ZToBKhLFAQomQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTYW5kYm94UHJvdmlkZXISOS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBo6LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTYW5kYm94UHJvdmlkZXJSZXNwb25zZSIkgtPkkwIeIhkvc2FuZGJveC1wcm92aWRlcnMvdXBkYXRlOgEqEsUBCiZDbG91ZEVudmlyb25tZW50c0RlbGV0ZVNhbmRib3hQcm92aWRlchI5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVTYW5kYm94UHJvdmlkZXJSZXF1ZXN0GjoucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0RlbGV0ZVNhbmRib3hQcm92aWRlclJlc3BvbnNlIiSC0+STAh4iGS9zYW5kYm94LXByb3ZpZGVycy9kZWxldGU6ASoSyQEKJ0Nsb3VkRW52aXJvbm1lbnRzUmVzdG9yZVNhbmRib3hQcm92aWRlchI6LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZXN0b3JlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBo7LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZXN0b3JlU2FuZGJveFByb3ZpZGVyUmVzcG9uc2UiJYLT5JMCHyIaL3NhbmRib3gtcHJvdmlkZXJzL3Jlc3RvcmU6ASoSvQEKIUNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlRGFlbW9uUG9vbBI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVEYWVtb25Qb29sUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVEYWVtb25Qb29sUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy9jcmVhdGU6ASoSvQEKIUNsb3VkRW52aXJvbm1lbnRzVXBkYXRlRGFlbW9uUG9vbBI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVEYWVtb25Qb29sUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVEYWVtb25Qb29sUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy91cGRhdGU6ASoSvQEKIUNsb3VkRW52aXJvbm1lbnRzRGVsZXRlRGFlbW9uUG9vbBI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVEYWVtb25Qb29sUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVEYWVtb25Qb29sUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy9kZWxldGU6ASoSwQEKIkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2wSNS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2xSZXF1ZXN0GjYucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1Jlc3RvcmVEYWVtb25Qb29sUmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy9yZXN0b3JlOgEqEtIBCiZDbG91ZEVudmlyb25tZW50c0xpc3REYWVtb25Qb29sRGFlbW9ucxI5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0RGFlbW9uUG9vbERhZW1vbnNSZXF1ZXN0GjoucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3REYWVtb25Qb29sRGFlbW9uc1Jlc3BvbnNlIjGC0+STAisiJi9jbG91ZC1lbnZpcm9ubWVudHMvcG9vbHMvZGFlbW9ucy9saXN0OgEqEpIBChVDbG91ZEV2ZW50c0xpc3RFdmVudHMSKC5wdWJsaWNfYXBpLkNsb3VkRXZlbnRzTGlzdEV2ZW50c1JlcXVlc3QaKS5wdWJsaWNfYXBpLkNsb3VkRXZlbnRzTGlzdEV2ZW50c1Jlc3BvbnNlIiSC0+STAh4iGS9jbG91ZC1ldmVudHMvZXZlbnRzL2xpc3Q6ASoShQEKEENsb3VkVHVubmVsc09wZW4SIy5wdWJsaWNfYXBpLkNsb3VkVHVubmVsc09wZW5SZXF1ZXN0GiQucHVibGljX2FwaS5DbG91ZFR1bm5lbHNPcGVuUmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLXR1bm5lbHMvdHVubmVscy9vcGVuOgEqEokBChFDbG91ZFR1bm5lbHNDbG9zZRIkLnB1YmxpY19hcGkuQ2xvdWRUdW5uZWxzQ2xvc2VSZXF1ZXN0GiUucHVibGljX2FwaS5DbG91ZFR1bm5lbHNDbG9zZVJlc3BvbnNlIieC0+STAiEiHC9jbG91ZC10dW5uZWxzL3R1bm5lbHMvY2xvc2U6ASoShQEKEENsb3VkVHVubmVsc0xpc3QSIy5wdWJsaWNfYXBpLkNsb3VkVHVubmVsc0xpc3RSZXF1ZXN0GiQucHVibGljX2FwaS5DbG91ZFR1bm5lbHNMaXN0UmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLXR1bm5lbHMvdHVubmVscy9saXN0OgEqEqYBChpDbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93cxItLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0xpc3RXb3JrZmxvd3NSZXF1ZXN0Gi4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93c1Jlc3BvbnNlIimC0+STAiMiHi9jbG91ZC10cmlnZ2Vycy93b3JrZmxvd3MvbGlzdDoBKhKfAQoYQ2xvdWRUcmlnZ2Vyc0dldFdvcmtmbG93EisucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzR2V0V29ya2Zsb3dSZXF1ZXN0GiwucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzR2V0V29ya2Zsb3dSZXNwb25zZSIogtPkkwIiIh0vY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL2dldDoBKhKrAQobQ2xvdWRUcmlnZ2Vyc0RlbGV0ZVdvcmtmbG93Ei4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzRGVsZXRlV29ya2Zsb3dSZXF1ZXN0Gi8ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzRGVsZXRlV29ya2Zsb3dSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL2RlbGV0ZToBKhKrAQobQ2xvdWRUcmlnZ2Vyc0NyZWF0ZVdvcmtmbG93Ei4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzQ3JlYXRlV29ya2Zsb3dSZXF1ZXN0Gi8ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzQ3JlYXRlV29ya2Zsb3dSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL2NyZWF0ZToBKhKrAQobQ2xvdWRUcmlnZ2Vyc1VwZGF0ZVdvcmtmbG93Ei4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzVXBkYXRlV29ya2Zsb3dSZXF1ZXN0Gi8ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzVXBkYXRlV29ya2Zsb3dSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL3VwZGF0ZToBKhKzAQodQ2xvdWRUcmlnZ2Vyc0xpc3RFdmVudFNvdXJjZXMSMC5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNMaXN0RXZlbnRTb3VyY2VzUmVxdWVzdBoxLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0xpc3RFdmVudFNvdXJjZXNSZXNwb25zZSItgtPkkwInIiIvY2xvdWQtdHJpZ2dlcnMvZXZlbnQtc291cmNlcy9saXN0OgEqEqwBChtDbG91ZFRyaWdnZXJzR2V0RXZlbnRTb3VyY2USLi5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNHZXRFdmVudFNvdXJjZVJlcXVlc3QaLy5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNHZXRFdmVudFNvdXJjZVJlc3BvbnNlIiyC0+STAiYiIS9jbG91ZC10cmlnZ2Vycy9ldmVudC1zb3VyY2VzL2dldDoBKhK7AQofQ2xvdWRUcmlnZ2Vyc0RlbGV0ZUV2ZW50U291cmNlcxIyLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0RlbGV0ZUV2ZW50U291cmNlc1JlcXVlc3QaMy5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNEZWxldGVFdmVudFNvdXJjZXNSZXNwb25zZSIvgtPkkwIpIiQvY2xvdWQtdHJpZ2dlcnMvZXZlbnQtc291cmNlcy9kZWxldGU6ASoSuAEKHkNsb3VkVHJpZ2dlcnNDcmVhdGVFdmVudFNvdXJjZRIxLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVxdWVzdBoyLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVzcG9uc2UiL4LT5JMCKSIkL2Nsb3VkLXRyaWdnZXJzL2V2ZW50LXNvdXJjZXMvY3JlYXRlOgEqErgBCh5DbG91ZFRyaWdnZXJzVXBkYXRlRXZlbnRTb3VyY2USMS5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNVcGRhdGVFdmVudFNvdXJjZVJlcXVlc3QaMi5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNVcGRhdGVFdmVudFNvdXJjZVJlc3BvbnNlIi+C0+STAikiJC9jbG91ZC10cmlnZ2Vycy9ldmVudC1zb3VyY2VzL3VwZGF0ZToBKhKKAQoRQ2xvdWRXZWJob29rc0xpc3QSJC5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NMaXN0UmVxdWVzdBolLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc0xpc3RSZXNwb25zZSIogtPkkwIiIh0vY2xvdWQtd2ViaG9va3Mvd2ViaG9va3MvbGlzdDoBKhKSAQoTQ2xvdWRXZWJob29rc0NyZWF0ZRImLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc0NyZWF0ZVJlcXVlc3QaJy5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NDcmVhdGVSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtd2ViaG9va3Mvd2ViaG9va3MvY3JlYXRlOgEqEoYBChBDbG91ZFdlYmhvb2tzR2V0EiMucHVibGljX2FwaS5DbG91ZFdlYmhvb2tzR2V0UmVxdWVzdBokLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc0dldFJlc3BvbnNlIieC0+STAiEiHC9jbG91ZC13ZWJob29rcy93ZWJob29rcy9nZXQ6ASoSkgEKE0Nsb3VkV2ViaG9va3NEZWxldGUSJi5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NEZWxldGVSZXF1ZXN0GicucHVibGljX2FwaS5DbG91ZFdlYmhvb2tzRGVsZXRlUmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLXdlYmhvb2tzL3dlYmhvb2tzL2RlbGV0ZToBKhKSAQoTQ2xvdWRXZWJob29rc1VwZGF0ZRImLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc1VwZGF0ZVJlcXVlc3QaJy5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NVcGRhdGVSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtd2ViaG9va3Mvd2ViaG9va3MvdXBkYXRlOgEqEp8BChZDbG91ZFdlYmhvb2tzU2V0U2VjcmV0EikucHVibGljX2FwaS5DbG91ZFdlYmhvb2tzU2V0U2VjcmV0UmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc1NldFNlY3JldFJlc3BvbnNlIi6C0+STAigiIy9jbG91ZC13ZWJob29rcy93ZWJob29rcy9zZXQtc2VjcmV0OgEqEsgBCiFDbG91ZFdlYmhvb2tzR2V0U2V0dXBJbnN0cnVjdGlvbnMSNC5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NHZXRTZXR1cEluc3RydWN0aW9uc1JlcXVlc3QaNS5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NHZXRTZXR1cEluc3RydWN0aW9uc1Jlc3BvbnNlIjaC0+STAjAiKy9jbG91ZC13ZWJob29rcy93ZWJob29rcy9zZXR1cC1pbnN0cnVjdGlvbnM6ASoSkgEKFUNsb3VkU3BhY2VzTGlzdFNwYWNlcxIoLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNMaXN0U3BhY2VzUmVxdWVzdBopLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNMaXN0U3BhY2VzUmVzcG9uc2UiJILT5JMCHiIZL2Nsb3VkLXNwYWNlcy9zcGFjZXMvbGlzdDoBKhKLAQoTQ2xvdWRTcGFjZXNHZXRTcGFjZRImLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNHZXRTcGFjZVJlcXVlc3QaJy5wdWJsaWNfYXBpLkNsb3VkU3BhY2VzR2V0U3BhY2VSZXNwb25zZSIjgtPkkwIdIhgvY2xvdWQtc3BhY2VzL3NwYWNlcy9nZXQ6ASoSlwEKFkNsb3VkU3BhY2VzQ3JlYXRlU3BhY2USKS5wdWJsaWNfYXBpLkNsb3VkU3BhY2VzQ3JlYXRlU3BhY2VSZXF1ZXN0GioucHVibGljX2FwaS5DbG91ZFNwYWNlc0NyZWF0ZVNwYWNlUmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLXNwYWNlcy9zcGFjZXMvY3JlYXRlOgEqEpcBChZDbG91ZFNwYWNlc0RlbGV0ZVNwYWNlEikucHVibGljX2FwaS5DbG91ZFNwYWNlc0RlbGV0ZVNwYWNlUmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNEZWxldGVTcGFjZVJlc3BvbnNlIiaC0+STAiAiGy9jbG91ZC1zcGFjZXMvc3BhY2VzL2RlbGV0ZToBKhKXAQoWQ2xvdWRTcGFjZXNVcGRhdGVTcGFjZRIpLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNVcGRhdGVTcGFjZVJlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkU3BhY2VzVXBkYXRlU3BhY2VSZXNwb25zZSImgtPkkwIgIhsvY2xvdWQtc3BhY2VzL3NwYWNlcy91cGRhdGU6ASoSeQoPQ2xvdWRHcm91cHNMaXN0EiIucHVibGljX2FwaS5DbG91ZEdyb3Vwc0xpc3RSZXF1ZXN0GiMucHVibGljX2FwaS5DbG91ZEdyb3Vwc0xpc3RSZXNwb25zZSIdgtPkkwIXIhIvY2xvdWQtZ3JvdXBzL2xpc3Q6ASoSgQEKEUNsb3VkR3JvdXBzQ3JlYXRlEiQucHVibGljX2FwaS5DbG91ZEdyb3Vwc0NyZWF0ZVJlcXVlc3QaJS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzQ3JlYXRlUmVzcG9uc2UiH4LT5JMCGSIUL2Nsb3VkLWdyb3Vwcy9jcmVhdGU6ASoSgQEKEUNsb3VkR3JvdXBzVXBkYXRlEiQucHVibGljX2FwaS5DbG91ZEdyb3Vwc1VwZGF0ZVJlcXVlc3QaJS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzVXBkYXRlUmVzcG9uc2UiH4LT5JMCGSIUL2Nsb3VkLWdyb3Vwcy91cGRhdGU6ASoSgQEKEUNsb3VkR3JvdXBzRGVsZXRlEiQucHVibGljX2FwaS5DbG91ZEdyb3Vwc0RlbGV0ZVJlcXVlc3QaJS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzRGVsZXRlUmVzcG9uc2UiH4LT5JMCGSIUL2Nsb3VkLWdyb3Vwcy9kZWxldGU6ASoSlgEKFkNsb3VkR3JvdXBzTGlzdE1lbWJlcnMSKS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzTGlzdE1lbWJlcnNSZXF1ZXN0GioucHVibGljX2FwaS5DbG91ZEdyb3Vwc0xpc3RNZW1iZXJzUmVzcG9uc2UiJYLT5JMCHyIaL2Nsb3VkLWdyb3Vwcy9tZW1iZXJzL2xpc3Q6ASoSkgEKFUNsb3VkR3JvdXBzQWRkTWVtYmVycxIoLnB1YmxpY19hcGkuQ2xvdWRHcm91cHNBZGRNZW1iZXJzUmVxdWVzdBopLnB1YmxpY19hcGkuQ2xvdWRHcm91cHNBZGRNZW1iZXJzUmVzcG9uc2UiJILT5JMCHiIZL2Nsb3VkLWdyb3Vwcy9tZW1iZXJzL2FkZDoBKhKeAQoYQ2xvdWRHcm91cHNSZW1vdmVNZW1iZXJzEisucHVibGljX2FwaS5DbG91ZEdyb3Vwc1JlbW92ZU1lbWJlcnNSZXF1ZXN0GiwucHVibGljX2FwaS5DbG91ZEdyb3Vwc1JlbW92ZU1lbWJlcnNSZXNwb25zZSIngtPkkwIhIhwvY2xvdWQtZ3JvdXBzL21lbWJlcnMvcmVtb3ZlOgEqEnMKD0Nsb3VkQWNjZXNzTGlzdBIiLnB1YmxpY19hcGkuQ2xvdWRBY2Nlc3NMaXN0UmVxdWVzdBojLnB1YmxpY19hcGkuQ2xvdWRBY2Nlc3NMaXN0UmVzcG9uc2UiF4LT5JMCESIML2FjY2Vzcy9saXN0OgEqEncKEENsb3VkQWNjZXNzR3JhbnQSIy5wdWJsaWNfYXBpLkNsb3VkQWNjZXNzR3JhbnRSZXF1ZXN0GiQucHVibGljX2FwaS5DbG91ZEFjY2Vzc0dyYW50UmVzcG9uc2UiGILT5JMCEiINL2FjY2Vzcy9ncmFudDoBKhJ7ChFDbG91ZEFjY2Vzc1Jldm9rZRIkLnB1YmxpY19hcGkuQ2xvdWRBY2Nlc3NSZXZva2VSZXF1ZXN0GiUucHVibGljX2FwaS5DbG91ZEFjY2Vzc1Jldm9rZVJlc3BvbnNlIhmC0+STAhMiDi9hY2Nlc3MvcmV2b2tlOgEqEqIBChlDbG91ZFByb2plY3RzTGlzdFByb2plY3RzEiwucHVibGljX2FwaS5DbG91ZFByb2plY3RzTGlzdFByb2plY3RzUmVxdWVzdBotLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c0xpc3RQcm9qZWN0c1Jlc3BvbnNlIiiC0+STAiIiHS9jbG91ZC1wcm9qZWN0cy9wcm9qZWN0cy9saXN0OgEqEpsBChdDbG91ZFByb2plY3RzR2V0UHJvamVjdBIqLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c0dldFByb2plY3RSZXF1ZXN0GisucHVibGljX2FwaS5DbG91ZFByb2plY3RzR2V0UHJvamVjdFJlc3BvbnNlIieC0+STAiEiHC9jbG91ZC1wcm9qZWN0cy9wcm9qZWN0cy9nZXQ6ASoSpwEKGkNsb3VkUHJvamVjdHNDcmVhdGVQcm9qZWN0Ei0ucHVibGljX2FwaS5DbG91ZFByb2plY3RzQ3JlYXRlUHJvamVjdFJlcXVlc3QaLi5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNDcmVhdGVQcm9qZWN0UmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLXByb2plY3RzL3Byb2plY3RzL2NyZWF0ZToBKhKnAQoaQ2xvdWRQcm9qZWN0c0RlbGV0ZVByb2plY3QSLS5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNEZWxldGVQcm9qZWN0UmVxdWVzdBouLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c0RlbGV0ZVByb2plY3RSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtcHJvamVjdHMvcHJvamVjdHMvZGVsZXRlOgEqEpsBChVDbG91ZFByb2plY3RzQWRkQWdlbnQSKC5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNBZGRBZ2VudFJlcXVlc3QaKS5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNBZGRBZ2VudFJlc3BvbnNlIi2C0+STAiciIi9jbG91ZC1wcm9qZWN0cy9wcm9qZWN0cy9hZGQtYWdlbnQ6ASoSpwEKGENsb3VkUHJvamVjdHNSZW1vdmVBZ2VudBIrLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c1JlbW92ZUFnZW50UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c1JlbW92ZUFnZW50UmVzcG9uc2UiMILT5JMCKiIlL2Nsb3VkLXByb2plY3RzL3Byb2plY3RzL3JlbW92ZS1hZ2VudDoBKhK9AQohQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja1NsYWNrU3RhdHVzEjQucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NoZWNrU2xhY2tTdGF0dXNSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NoZWNrU2xhY2tTdGF0dXNSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtaW50ZWdyYXRpb25zL3NsYWNrL3N0YXR1czoBKhLAAQohQ2xvdWRJbnRlZ3JhdGlvbnNHZXRTbGFja09BdXRoVXJsEjQucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0dldFNsYWNrT0F1dGhVcmxSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0dldFNsYWNrT0F1dGhVcmxSZXNwb25zZSIugtPkkwIoIiMvY2xvdWQtaW50ZWdyYXRpb25zL3NsYWNrL29hdXRoLXVybDoBKhLHAQoiQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0U2xhY2tDaGFubmVscxI1LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0U2xhY2tDaGFubmVsc1JlcXVlc3QaNi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zTGlzdFNsYWNrQ2hhbm5lbHNSZXNwb25zZSIygtPkkwIsIicvY2xvdWQtaW50ZWdyYXRpb25zL3NsYWNrL2xpc3QtY2hhbm5lbHM6ASoSwQEKIkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tMaW5lYXJTdGF0dXMSNS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tMaW5lYXJTdGF0dXNSZXF1ZXN0GjYucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NoZWNrTGluZWFyU3RhdHVzUmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLWludGVncmF0aW9ucy9saW5lYXIvc3RhdHVzOgEqEsQBCiJDbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsEjUucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsUmVxdWVzdBo2LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNHZXRMaW5lYXJPQXV0aFVybFJlc3BvbnNlIi+C0+STAikiJC9jbG91ZC1pbnRlZ3JhdGlvbnMvbGluZWFyL29hdXRoLXVybDoBKhLOAQolQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0dpdEh1YkFwcFN0YXR1cxI4LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0dpdEh1YkFwcFN0YXR1c1JlcXVlc3QaOS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tHaXRIdWJBcHBTdGF0dXNSZXNwb25zZSIwgtPkkwIqIiUvY2xvdWQtaW50ZWdyYXRpb25zL2dpdGh1Yi1hcHAvc3RhdHVzOgEqEtkBCidDbG91ZEludGVncmF0aW9uc0dldEdpdEh1YkFwcEluc3RhbGxVcmwSOi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0R2l0SHViQXBwSW5zdGFsbFVybFJlcXVlc3QaOy5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0R2l0SHViQXBwSW5zdGFsbFVybFJlc3BvbnNlIjWC0+STAi8iKi9jbG91ZC1pbnRlZ3JhdGlvbnMvZ2l0aHViLWFwcC9pbnN0YWxsLXVybDoBKhLaAQooQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0F0bGFzc2lhbkFwcFN0YXR1cxI7LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0F0bGFzc2lhbkFwcFN0YXR1c1JlcXVlc3QaPC5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tBdGxhc3NpYW5BcHBTdGF0dXNSZXNwb25zZSIzgtPkkwItIigvY2xvdWQtaW50ZWdyYXRpb25zL2F0bGFzc2lhbi1hcHAvc3RhdHVzOgEqEuUBCipDbG91ZEludGVncmF0aW9uc0dldEF0bGFzc2lhbkFwcEluc3RhbGxVcmwSPS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0QXRsYXNzaWFuQXBwSW5zdGFsbFVybFJlcXVlc3QaPi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0QXRsYXNzaWFuQXBwSW5zdGFsbFVybFJlc3BvbnNlIjiC0+STAjIiLS9jbG91ZC1pbnRlZ3JhdGlvbnMvYXRsYXNzaWFuLWFwcC9pbnN0YWxsLXVybDoBKhKRAQoVQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0EigucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0xpc3RSZXF1ZXN0GikucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0xpc3RSZXNwb25zZSIjgtPkkwIdIhgvY2xvdWQtaW50ZWdyYXRpb25zL2xpc3Q6ASoSsgEKHUNsb3VkSW50ZWdyYXRpb25zSW52b2tlQWN0aW9uEjAucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0ludm9rZUFjdGlvblJlcXVlc3QaMS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zSW52b2tlQWN0aW9uUmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLWludGVncmF0aW9ucy9pbnZva2UtYWN0aW9uOgEqEuABCihDbG91ZEludGVncmF0aW9uc0NyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uEjsucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uUmVxdWVzdBo8LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNDcmVhdGVFdmVudFN1YnNjcmlwdGlvblJlc3BvbnNlIjmC0+STAjMiLi9jbG91ZC1pbnRlZ3JhdGlvbnMvZXZlbnQtc3Vic2NyaXB0aW9ucy9jcmVhdGU6ASoS2wEKJ0Nsb3VkSW50ZWdyYXRpb25zTGlzdEV2ZW50U3Vic2NyaXB0aW9ucxI6LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0RXZlbnRTdWJzY3JpcHRpb25zUmVxdWVzdBo7LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0RXZlbnRTdWJzY3JpcHRpb25zUmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLWludGVncmF0aW9ucy9ldmVudC1zdWJzY3JpcHRpb25zL2xpc3Q6ASoS4AEKKENsb3VkSW50ZWdyYXRpb25zQ2FuY2VsRXZlbnRTdWJzY3JpcHRpb24SOy5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2FuY2VsRXZlbnRTdWJzY3JpcHRpb25SZXF1ZXN0GjwucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NhbmNlbEV2ZW50U3Vic2NyaXB0aW9uUmVzcG9uc2UiOYLT5JMCMyIuL2Nsb3VkLWludGVncmF0aW9ucy9ldmVudC1zdWJzY3JpcHRpb25zL2NhbmNlbDoBKhLHAQoiQ2xvdWRJbnRlZ3JhdGlvbnNSZXZva2VHaXRodWJPQXV0aBI1LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNSZXZva2VHaXRodWJPQXV0aFJlcXVlc3QaNi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlR2l0aHViT0F1dGhSZXNwb25zZSIygtPkkwIsIicvY2xvdWQtaW50ZWdyYXRpb25zL2dpdGh1Yi9yZXZva2Utb2F1dGg6ASoSxwEKIkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlTGluZWFyT0F1dGgSNS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlTGluZWFyT0F1dGhSZXF1ZXN0GjYucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc1Jldm9rZUxpbmVhck9BdXRoUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLWludGVncmF0aW9ucy9saW5lYXIvcmV2b2tlLW9hdXRoOgEqEnoKDlByb2Nlc3NXZWJob29rEiEucHVibGljX2FwaS5Qcm9jZXNzV2ViaG9va1JlcXVlc3QaIi5wdWJsaWNfYXBpLlByb2Nlc3NXZWJob29rUmVzcG9uc2UiIYLT5JMCGyIWL3dlYmhvb2tzL3t3ZWJob29rX2lkfToBKhKSAQoVQ2xvdWRBZ2VudHNMaXN0QWdlbnRzEigucHVibGljX2FwaS5DbG91ZEFnZW50c0xpc3RBZ2VudHNSZXF1ZXN0GikucHVibGljX2FwaS5DbG91ZEFnZW50c0xpc3RBZ2VudHNSZXNwb25zZSIkgtPkkwIeIhkvY2xvdWQtYWdlbnRzL2FnZW50cy9saXN0OgEqEr4BCh5DbG91ZEFnZW50c1VwZGF0ZVNlc3Npb25Db25maWcSMS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzVXBkYXRlU2Vzc2lvbkNvbmZpZ1JlcXVlc3QaMi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzVXBkYXRlU2Vzc2lvbkNvbmZpZ1Jlc3BvbnNlIjWC0+STAi8iKi9jbG91ZC1hZ2VudHMvYWdlbnRzL3VwZGF0ZS1zZXNzaW9uLWNvbmZpZzoBKhKBAQoXQ2xvdWRBZ2VudHNDb25uZWN0Q2xpVm0SHS5wb3NlaWRvbi5Db25uZWN0Q2xpVm1SZXF1ZXN0Gh4ucG9zZWlkb24uQ29ubmVjdENsaVZtUmVzcG9uc2UiJ4LT5JMCISIcL3ZtLWJlYWNoaGVhZC9jb25uZWN0LWNsaS12bToBKhKNAQoaQ2xvdWRBZ2VudHNGZXRjaFZGU0NoYW5nZXMSIC5wb3NlaWRvbi5GZXRjaFZGU0NoYW5nZXNSZXF1ZXN0GiEucG9zZWlkb24uRmV0Y2hWRlNDaGFuZ2VzUmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLWFnZW50cy92ZnMvZmV0Y2gtY2hhbmdlczoBKhKZAQoeQ2xvdWRBZ2VudHNGZXRjaFZGU0ZpbGVDb250ZW50EiQucG9zZWlkb24uRmV0Y2hWRlNGaWxlQ29udGVudFJlcXVlc3QaJS5wb3NlaWRvbi5GZXRjaFZGU0ZpbGVDb250ZW50UmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLWFnZW50cy92ZnMvZmV0Y2gtY29udGVudDoBKhKQAQofQ2xvdWRBZ2VudHNTdHJlYW1WRlNGaWxlQ29udGVudBIkLnBvc2VpZG9uLkZldGNoVkZTRmlsZUNvbnRlbnRSZXF1ZXN0GhgucG9zZWlkb24uVkZTRmlsZUNvbnRlbnQiK4LT5JMCJSIgL2Nsb3VkLWFnZW50cy92ZnMvc3RyZWFtLWNvbnRlbnQ6ASowARKRAQobQ2xvdWRBZ2VudHNDb21taXRWRlNDaGFuZ2VzEiEucG9zZWlkb24uQ29tbWl0VkZTQ2hhbmdlc1JlcXVlc3QaIi5wb3NlaWRvbi5Db21taXRWRlNDaGFuZ2VzUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWFnZW50cy92ZnMvY29tbWl0LWNoYW5nZXM6ASoStwEKIENsb3VkQWdlbnRzRW5zdXJlVkZTRmlsZUlkZW50aXR5EiYucG9zZWlkb24uRW5zdXJlVkZTRmlsZUlkZW50aXR5UmVxdWVzdBo4LnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNFbnN1cmVWRlNGaWxlSWRlbnRpdHlIdHRwUmVzcG9uc2UiMYLT5JMCKyImL2Nsb3VkLWFnZW50cy92ZnMvZW5zdXJlLWZpbGUtaWRlbnRpdHk6ASoSuwEKIUNsb3VkQWdlbnRzUmVzb2x2ZVZGU0ZpbGVJZGVudGl0eRInLnBvc2VpZG9uLlJlc29sdmVWRlNGaWxlSWRlbnRpdHlSZXF1ZXN0GjkucHVibGljX2FwaS5DbG91ZEFnZW50c1Jlc29sdmVWRlNGaWxlSWRlbnRpdHlIdHRwUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLWFnZW50cy92ZnMvcmVzb2x2ZS1maWxlLWlkZW50aXR5OgEqEp4BCh5DbG91ZEFnZW50c0xpc3RWRlNGaWxlVmVyc2lvbnMSJC5wb3NlaWRvbi5MaXN0VkZTRmlsZVZlcnNpb25zUmVxdWVzdBolLnBvc2VpZG9uLkxpc3RWRlNGaWxlVmVyc2lvbnNSZXNwb25zZSIvgtPkkwIpIiQvY2xvdWQtYWdlbnRzL3Zmcy9saXN0LWZpbGUtdmVyc2lvbnM6ASoSmgEKHUNsb3VkQWdlbnRzUmVhZFZGU0ZpbGVWZXJzaW9uEiMucG9zZWlkb24uUmVhZFZGU0ZpbGVWZXJzaW9uUmVxdWVzdBokLnBvc2VpZG9uLlJlYWRWRlNGaWxlVmVyc2lvblJlc3BvbnNlIi6C0+STAigiIy9jbG91ZC1hZ2VudHMvdmZzL3JlYWQtZmlsZS12ZXJzaW9uOgEqEqYBCiBDbG91ZEFnZW50c0xpc3RWRlNWZXJzaW9uZWRGaWxlcxImLnBvc2VpZG9uLkxpc3RWRlNWZXJzaW9uZWRGaWxlc1JlcXVlc3QaJy5wb3NlaWRvbi5MaXN0VkZTVmVyc2lvbmVkRmlsZXNSZXNwb25zZSIxgtPkkwIrIiYvY2xvdWQtYWdlbnRzL3Zmcy9saXN0LXZlcnNpb25lZC1maWxlczoBKhKRAQobQ2xvdWRBZ2VudHNBcHBlbmRWRlNDb21tZW50EiEucG9zZWlkb24uQXBwZW5kVkZTQ29tbWVudFJlcXVlc3QaIi5wb3NlaWRvbi5BcHBlbmRWRlNDb21tZW50UmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWFnZW50cy92ZnMvYXBwZW5kLWNvbW1lbnQ6ASoSjQEKGkNsb3VkQWdlbnRzTGlzdFZGU0NvbW1lbnRzEiAucG9zZWlkb24uTGlzdFZGU0NvbW1lbnRzUmVxdWVzdBohLnBvc2VpZG9uLkxpc3RWRlNDb21tZW50c1Jlc3BvbnNlIiqC0+STAiQiHy9jbG91ZC1hZ2VudHMvdmZzL2xpc3QtY29tbWVudHM6ASoStAEKJUNsb3VkQWdlbnRzQ3JlYXRlSG9zdGVkQXJ0aWZhY3RVcGxvYWQSKy5wb3NlaWRvbi5DcmVhdGVIb3N0ZWRBcnRpZmFjdFVwbG9hZFJlcXVlc3QaLC5wb3NlaWRvbi5DcmVhdGVIb3N0ZWRBcnRpZmFjdFVwbG9hZFJlc3BvbnNlIjCC0+STAioiJS9jbG91ZC1hZ2VudHMvYXJ0aWZhY3RzL2NyZWF0ZS11cGxvYWQ6ASoSowEKIUNsb3VkQWdlbnRzRmluYWxpemVIb3N0ZWRBcnRpZmFjdBInLnBvc2VpZG9uLkZpbmFsaXplSG9zdGVkQXJ0aWZhY3RSZXF1ZXN0GigucG9zZWlkb24uRmluYWxpemVIb3N0ZWRBcnRpZmFjdFJlc3BvbnNlIiuC0+STAiUiIC9jbG91ZC1hZ2VudHMvYXJ0aWZhY3RzL2ZpbmFsaXplOgEqEpsBCh9DbG91ZEFnZW50c0RlbGV0ZUhvc3RlZEFydGlmYWN0EiUucG9zZWlkb24uRGVsZXRlSG9zdGVkQXJ0aWZhY3RSZXF1ZXN0GiYucG9zZWlkb24uRGVsZXRlSG9zdGVkQXJ0aWZhY3RSZXNwb25zZSIpgtPkkwIjIh4vY2xvdWQtYWdlbnRzL2FydGlmYWN0cy9kZWxldGU6ASpiBnByb3RvMw",[qi,go,QS,Ma,Ha]);var po=Ua(EJ,0);function TS(){try{new Headers}catch{throw new Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var $i=function(e){return this instanceof $i?(this.v=e,this):new $i(e)},RJ=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(f){return Promise.resolve(f).then(b,u)}}function l(b,f){r[b]&&(o[b]=function(A){return new Promise(function(m,V){i.push([b,A,m,V])>1||a(b,A)})},f&&(o[b]=f(o[b])))}function a(b,f){try{c(r[b](f))}catch(A){h(i[0][3],A)}}function c(b){b.value instanceof $i?Promise.resolve(b.value.v).then(d,u):h(i[0][2],b)}function d(b){a("next",b)}function u(b){a("throw",b)}function h(b,f){b(f),i.shift(),i.length&&a(i[0][0],i[0][1])}},KS={redirect:"error"};function ab(e){var t;TS();let n=(t=e.useBinaryFormat)!==null&&t!==void 0?t:!1;return{async unary(r,o,i,s,l,a){let{serialize:c,parse:d}=Ja(r,n,e.jsonOptions,e.binaryOptions);return i=i===void 0?e.defaultTimeoutMs:i<=0?void 0:i,await nb({interceptors:e.interceptors,signal:o,timeoutMs:i,req:{stream:!1,service:r.parent,method:r,requestMethod:"POST",url:xa(e.baseUrl,r),header:Ka(r.methodKind,n,i,s,!1),contextValues:a??wa(),message:l},next:async u=>{var h;let b=e.useHttpGet===!0&&r.idempotency===El.NO_SIDE_EFFECTS,f=null;b?u=tb(u,c(u.message),n):f=c(u.message);let m=await((h=e.fetch)!==null&&h!==void 0?h:globalThis.fetch)(u.url,Object.assign(Object.assign({},KS),{method:u.requestMethod,headers:u.header,signal:u.signal,body:f})),{isUnaryError:V,unaryError:E}=za(r.methodKind,n,m.status,m.headers);if(V)throw ji(await m.json(),zh(...Qa(m.headers)),E);let[R,G]=Qa(m.headers);return{stream:!1,service:r.parent,method:r,header:R,message:n?d(new Uint8Array(await m.arrayBuffer())):qr(r.output,await m.json(),va(e.jsonOptions)),trailer:G}}})},async stream(r,o,i,s,l,a){let{serialize:c,parse:d}=Ja(r,n,e.jsonOptions,e.binaryOptions);function u(b,f,A,m){return RJ(this,arguments,function*(){let E=Lh(b).getReader(),R=!1;for(;;){let G=yield $i(E.read());if(G.done)break;let{flags:S,data:N}=G.value;if((S&ya)===ya)throw new se("protocol error: received unsupported compressed output",D.Internal);if((S&ka)===ka){R=!0;let g=qh(N);if(g.error){let Z=g.error;throw A.forEach((p,F)=>{Z.metadata.append(F,p)}),Z}g.metadata.forEach((Z,p)=>f.set(p,Z));continue}yield yield $i(d(N))}if("throwIfAborted"in m&&m.throwIfAborted(),!R)throw"missing EndStreamResponse"})}async function h(b){if(r.methodKind!="server_streaming")throw"The fetch API does not support streaming request bodies";let f=await b[Symbol.asyncIterator]().next();if(f.done==!0)throw"missing request message";return Hh(0,c(f.value))}return i=i===void 0?e.defaultTimeoutMs:i<=0?void 0:i,await rb({interceptors:e.interceptors,timeoutMs:i,signal:o,req:{stream:!0,service:r.parent,method:r,requestMethod:"POST",url:xa(e.baseUrl,r),header:Ka(r.methodKind,n,i,s,!1),contextValues:a??wa(),message:l},next:async b=>{var f;let m=await((f=e.fetch)!==null&&f!==void 0?f:globalThis.fetch)(b.url,Object.assign(Object.assign({},KS),{method:b.requestMethod,headers:b.header,signal:b.signal,body:await h(b.message)}));if(za(r.methodKind,n,m.status,m.headers),m.body===null)throw"missing response body";let V=new Headers;return Object.assign(Object.assign({},b),{header:m.headers,trailer:V,message:u(m.body,V,m.headers,b.signal)})}})}}}import{randomUUID as zS}from"node:crypto";async function Oa(e){return typeof e=="function"?await e():e}function es(e,t,n){n&&!e.has(t)&&e.set(t,n)}function cb(e){return t=>async n=>{n.header.has("x-request-id")||n.header.set("x-request-id",zS()),es(n.header,"x-request-session-id",await Oa(e.sessionId)),es(n.header,"x-expert-id",await Oa(e.expertId)),es(n.header,"x-workflow-id",await Oa(e.workflowId));let r=await Oa(e.apiToken);return r&&!n.header.has("authorization")&&n.header.set("authorization",`Bearer ${r}`),es(n.header,"user-agent",e.userAgent),es(n.header,"x-augment-source-agent-id",e.sourceAgentId??process.env.AUGMENT_SOURCE_AGENT_ID),await t(n)}}function ZJ(e){return e?e.replace(/ \(\/[^()]+\)/g,""):""}function SJ(e){return e instanceof se?D[e.code]??"unknown":"unknown"}async function XJ(e,t,n,r){let o=typeof r.apiToken=="function"?await r.apiToken():r.apiToken,i=typeof r.sessionId=="function"?r.sessionId():r.sessionId,s=new URL("report-error",e.replace(/\/?$/,"/")),l=AbortSignal.timeout(1e3);await t(s,{method:"POST",headers:{"Content-Type":"application/json","x-request-id":zS(),...i?{"x-request-session-id":i}:{},...o?{authorization:`Bearer ${o}`}:{}},body:JSON.stringify({original_request_id:n.requestId,sanitized_message:`${n.endpoint} call failed with status ${SJ(n.error)}`,stack_trace:ZJ(n.error.stack),diagnostics:[{key:"start_time",value:String(n.startTime)},{key:"duration_ms",value:String(n.durationMs)},{key:"message",value:n.error.message}]}),signal:l})}function WJ(e,t,n){return!!(t?.aborted||n.toLowerCase()==="reporterror"||e instanceof se&&e.code===D.Canceled)}function db(e){if(e.errorReporting===!1)return n=>r=>n(r);let t=typeof e.errorReporting=="function"?e.errorReporting:n=>XJ(e.baseUrl,e.fetch??globalThis.fetch,n,e);return n=>async r=>{let o=Date.now(),i=s=>{if(WJ(s,r.signal,r.method.name))return;let l=r.header.get("x-request-id")??"",a={endpoint:r.url,requestId:l,error:s instanceof Error?s:new Error(String(s)),startTime:o,durationMs:Date.now()-o};Promise.resolve().then(()=>t(a)).catch(()=>{})};try{let s=await n(r);if(s.stream){let l=s.message;async function*a(){try{for await(let c of l)yield c}catch(c){throw i(c),c}}return{...s,message:a()}}return s}catch(s){throw i(s),s}}}var ub;function DS(){if(ub)return ub;let e=new Map,t=`/${po.typeName}/`;for(let n of Object.values(po.methods)){let r=nu(n,FZ),o;typeof r?.pattern.value=="string"?o=r.pattern.value:r?.pattern.case==="custom"&&(o=r.pattern.value.path),o&&!o.includes("{")&&e.set(`${t}${n.name}`,o)}return ub=e,e}function GJ(e){switch(e){case 400:return"invalid_argument";case 401:return"unauthenticated";case 403:return"permission_denied";case 404:return"not_found";case 408:case 504:return"deadline_exceeded";case 409:return"already_exists";case 412:return"failed_precondition";case 413:case 429:return"resource_exhausted";case 499:return"canceled";case 501:return"unimplemented";case 502:case 503:return"unavailable";default:return e>=500&&e<600?"internal":"unknown"}}function IJ(e){try{let t=JSON.parse(e);if(typeof t=="object"&&t!==null)return t}catch{}}async function LS(e){try{let t=await e.text(),n=IJ(t),r=typeof n?.code=="string"?n.code:GJ(e.status),o=typeof n?.message=="string"&&n.message||typeof n?.error=="string"&&n.error||t.trim()||e.statusText||r,i=Array.isArray(n?.details)?n.details:void 0,s=new Headers(e.headers);return s.set("Content-Type","application/json"),new Response(JSON.stringify({code:r,message:o,...i?{details:i}:{}}),{status:e.status,statusText:e.statusText,headers:s})}catch{return e}}function hb(e=globalThis.fetch,t=DS()){return async(n,r)=>{let o;typeof n=="string"?o=n:n instanceof URL?o=n.toString():o=n.url;let i=new URL(o),s=t.get(i.pathname),l;return s?(i.pathname=s,typeof n=="string"||n instanceof URL?l=await e(i.toString(),r):l=await e(new Request(i.toString(),n),r)):l=await e(n,r),l.ok?l:await LS(l)}}function bb(e){let t=[cb(e),db(e),...e.interceptors??[]],n=e.fetch??globalThis.fetch,r=e.disableRouteMapping?n:hb(n);return ab({baseUrl:e.baseUrl,useBinaryFormat:!1,defaultTimeoutMs:e.timeoutMs??12e4,jsonOptions:{useProtoFieldName:!0,enumAsInteger:!0,...e.jsonOptions},fetch:r,interceptors:t})}function fb(e){let t="unary"in e?e:bb(e);return Mh(po,t)}var NJ={0:"unknown",1:"tenant",2:"user",CLOUD_EXPERT_SCOPE_UNKNOWN:"unknown",CLOUD_EXPERT_SCOPE_TENANT:"tenant",CLOUD_EXPERT_SCOPE_USER:"user",EXPERT_SCOPE_UNSPECIFIED:"unknown",EXPERT_SCOPE_TENANT:"tenant",EXPERT_SCOPE_USER:"user"},FJ={CLOUD_EXPERT_SCOPE_UNKNOWN:0,CLOUD_EXPERT_SCOPE_TENANT:1,CLOUD_EXPERT_SCOPE_USER:2,EXPERT_SCOPE_UNSPECIFIED:0,EXPERT_SCOPE_TENANT:1,EXPERT_SCOPE_USER:2},BJ={CLOUD_EXPERT_SESSION_VISIBILITY_UNSPECIFIED:0,CLOUD_EXPERT_SESSION_VISIBILITY_SHARED:1,CLOUD_EXPERT_SESSION_VISIBILITY_PRIVATE:2},Ab={unspecified:0,builtin_capabilities:1,names:2};function mb(e){if(Array.isArray(e))return e.map(t=>mb(t));if(e!==null&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=mb(r));return t}return e}function MS(e){let t=e.modified_at??e.modifiedAt;return{resourceVersion:e.resource_version??e.resourceVersion??0,config:e.config,scope:NJ[e.scope??0]??"unknown",modifiedBy:e.modified_by??e.modifiedBy??"",modifiedAt:t?new Date(t):void 0,changeType:e.change_type??e.changeType??""}}function CJ(e){return typeof e=="number"?e:typeof e=="string"?FJ[e]??0:0}function YJ(e){if(typeof e=="number")return e;if(typeof e=="string"){let t=e.replace(/^(?:CLOUD_EXPERT_BUILTIN_CAPABILITY_|AGENT_CAPABILITY_)/,""),n=pr[t];return typeof n=="number"?n:void 0}}function yJ(e){if(typeof e=="number")return e;if(typeof e=="string")return BJ[e]}function wJ(e){if(e.routing_target?.pool_id===void 0)return e.routing_target?.daemon_vm_id??e.daemon_vm_id}function OS(e,t,n){let r=e.capabilityNames??[],o=(e.builtinCapabilities??[]).map(c=>pr[c]??"UNKNOWN"),i=o.every(c=>c&&c!=="UNKNOWN"),s=i&&o.every(c=>r.includes(c)),l=i&&r.every(c=>o.includes(c));if(s&&l)return r;let a=new Error(`inconsistent capabilities from api call ${t}`);if(n(a),s)return r;if(l)return o;throw a}function ja(e){let t=e;return{name:t.name,description:t.description,initialMessages:t.initial_messages||[],builtinCapabilities:(t.builtin_capabilities||[]).map(n=>YJ(n)??pr.UNKNOWN),...t.capability_names===void 0?{}:{capabilityNames:t.capability_names},...t.use_all_builtin_capabilities===void 0?{}:{useAllBuiltinCapabilities:t.use_all_builtin_capabilities},capabilityInstanceIds:t.capability_instance_ids||[],toolConfig:t.tool_config?{toolName:t.tool_config.tool_name,toolDescription:t.tool_config.tool_description,timeoutSeconds:t.tool_config.timeout_seconds,allowAsync:t.tool_config.allow_async}:void 0,sessionConfig:t.session_config?{model:t.session_config.model,reasoningEffort:t.session_config.reasoning_effort,includeDefaultSystemPrompt:t.session_config.include_default_system_prompt,systemPrompt:t.session_config.system_prompt,visibility:yJ(t.session_config.visibility),userMetadata:t.session_config.user_metadata,autoCleanupOnIdle:t.session_config.auto_cleanup_on_idle}:void 0,vmConfig:t.vm_config?{baseImage:t.vm_config.base_image,snapshotId:t.vm_config.snapshot_id,cpuCores:t.vm_config.cpu_cores,memoryMib:t.vm_config.memory_mib,timeoutSeconds:t.vm_config.timeout_seconds,idleTimeoutSeconds:t.vm_config.idle_timeout_seconds,installGitCredentials:t.vm_config.install_git_credentials,installUserSecrets:t.vm_config.install_user_secrets,imageSource:t.vm_config.image_source,baseImageId:t.vm_config.base_image_id,cloneRepos:(t.vm_config.clone_repos||[]).map(n=>({owner:n.owner,name:n.name,branch:n.branch})),resources:t.vm_config.resources?{cpuCores:t.vm_config.resources.cpu_cores,memoryMib:t.vm_config.resources.memory_mib}:void 0,baseImageCurrentVersion:t.vm_config.base_image_current_version,environmentVariables:t.vm_config.environment_variables?{variables:(t.vm_config.environment_variables.variables||[]).map(n=>({name:n.name,value:n.value}))}:void 0}:void 0,daemonVmId:wJ(t),poolId:t.routing_target?.pool_id,workerExpertIds:t.worker_expert_ids||[],useAllExpertsAsWorkers:t.use_all_experts_as_workers??!1,userInstructions:t.user_instructions,placeholderText:t.placeholder_text,mcpConfigIds:t.mcp_config_ids||[],hidden:t.hidden??!1,...t.tags&&Object.keys(t.tags).length>0?{tags:t.tags}:{}}}function jS(e){return{expertId:e.expert_id,slug:e.slug,scope:CJ(e.scope),config:e.config?ja(e.config):void 0,userId:e.user_id,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:e.resource_version,deletedAt:e.deleted_at?new Date(e.deleted_at):void 0,effectiveRole:e.effective_role||void 0,...e.space_summary?{spaceSummary:{spaceId:e.space_summary.space_id??"",displayName:e.space_summary.display_name??""}}:{}}}function HS(e){let t=e?.trim();return t&&t.length>0?t:void 0}function UJ(e,t){if(e!==void 0)return{pool_id:e};if(t!==void 0)return{daemon_vm_id:t}}function Vb(e){let t=e.mcpConfigIds!==void 0,n=e.mcpConfigIds??[],r=e.tags!==void 0,o=HS(e.poolId),i=HS(e.daemonVmId),s={name:e.name,description:e.description,initial_messages:e.initialMessages||[],builtin_capabilities:e.builtinCapabilities||[],capability_names:e.capabilityNames,use_all_builtin_capabilities:e.useAllBuiltinCapabilities,capability_instance_ids:e.capabilityInstanceIds||[],tool_config:e.toolConfig?{tool_name:e.toolConfig.toolName,tool_description:e.toolConfig.toolDescription,timeout_seconds:e.toolConfig.timeoutSeconds,allow_async:e.toolConfig.allowAsync}:void 0,session_config:e.sessionConfig?{model:e.sessionConfig.model,reasoning_effort:e.sessionConfig.reasoningEffort,include_default_system_prompt:e.sessionConfig.includeDefaultSystemPrompt,system_prompt:e.sessionConfig.systemPrompt,visibility:e.sessionConfig.visibility,user_metadata:e.sessionConfig.userMetadata,auto_cleanup_on_idle:e.sessionConfig.autoCleanupOnIdle}:void 0,vm_config:e.vmConfig?{base_image:e.vmConfig.baseImage,snapshot_id:e.vmConfig.snapshotId,cpu_cores:e.vmConfig.cpuCores,memory_mib:e.vmConfig.memoryMib,timeout_seconds:e.vmConfig.timeoutSeconds,idle_timeout_seconds:e.vmConfig.idleTimeoutSeconds,install_git_credentials:e.vmConfig.installGitCredentials,install_user_secrets:e.vmConfig.installUserSecrets,image_source:e.vmConfig.imageSource,base_image_id:e.vmConfig.baseImageId,clone_repos:(e.vmConfig.cloneRepos||[]).map(l=>({owner:l.owner,name:l.name,branch:l.branch})),resources:e.vmConfig.resources?{cpu_cores:e.vmConfig.resources.cpuCores,memory_mib:e.vmConfig.resources.memoryMib}:void 0,base_image_current_version:e.vmConfig.baseImageCurrentVersion,environment_variables:e.vmConfig.environmentVariables?{variables:e.vmConfig.environmentVariables.variables.map(l=>({name:l.name,value:l.value}))}:void 0}:void 0,routing_target:UJ(o,i),worker_expert_ids:e.useAllExpertsAsWorkers?[]:e.workerExpertIds||[],use_all_experts_as_workers:e.useAllExpertsAsWorkers??!1,user_instructions:e.userInstructions,placeholder_text:e.placeholderText,mcp_config_ids:n,has_mcp_config_ids:t,hidden:e.hidden??!1,tags:e.tags,has_tags:r?!0:void 0};return mb(s)}var gb={apiCallTimeoutMs:3e4,imageBuildTimeoutMs:6e5,environmentSnapshotUpdateTimeoutMs:6e5,maxRetries:3,retryBaseDelayMs:500};var xJ={EVENT_SOURCE_TYPE_SLACK:1,EVENT_SOURCE_TYPE_GITHUB:2,EVENT_SOURCE_TYPE_LINEAR:3,EVENT_SOURCE_TYPE_WEBHOOK:4,EVENT_SOURCE_TYPE_SCHEDULED:5,EVENT_SOURCE_TYPE_PAGERDUTY:6,EVENT_SOURCE_TYPE_JIRA:7,EVENT_SOURCE_TYPE_CONFLUENCE:8,EVENT_SOURCE_TYPE_GITLAB:9,EVENT_SOURCE_TYPE_TEAMS:10,EVENT_SOURCE_TYPE_AZURE_DEVOPS:11};function vJ(e){if(typeof e=="number")return e;if(typeof e=="string")return xJ[e]??void 0}function PS(e){if(typeof e=="number")return e;if(typeof e=="string"){let t=Number(e);return Number.isFinite(t)?t:void 0}}function wn(e){let t=e,n=t.workflow_id??t.workflowId??"",r=t.slug??"",o=t.event_source_id??t.eventSourceId??"",i=t.expert_id??t.expertId??"",s=PS(t.resource_version??t.resourceVersion),l=t.created_at??t.createdAt,a=t.override_auto_cleanup_on_idle??t.overrideAutoCleanupOnIdle,c=t.initial_instructions??t.initialInstructions,d=t.actor_user_id??t.actorUserId,u=t.per_minute_create_agent_limit??t.perMinuteCreateAgentLimit,h=typeof u=="number"?u:void 0;return{workflowId:n,...r?{slug:r}:{},eventSourceId:o,name:e.name??"",description:e.description,enabled:e.enabled??!0,...typeof a=="boolean"?{overrideAutoCleanupOnIdle:a}:{},...typeof c=="string"?{initialInstructions:c}:{},...typeof d=="string"?{actorUserId:d}:{},...h===void 0?{}:{perMinuteCreateAgentLimit:h},expertId:i,resourceVersion:s,createdAt:l?new Date(l):void 0,raw:e}}function Er(e){let t=e,n=t.event_source_id??t.eventSourceId??"",r=t.slug??"",o=vJ(t.event_source_type??t.eventSourceType),i=t.user_id??t.userId,s=t.tenant_id??t.tenantId,l=PS(t.resource_version??t.resourceVersion),a=t.created_at??t.createdAt;return{eventSourceId:n,...r?{slug:r}:{},eventSourceType:o,name:e.name??n,active:e.active??!0,userId:i,tenantId:s,resourceVersion:l,createdAt:a?new Date(a):void 0,raw:e}}function qS(e,t=64){if(!e)return;let n=e.replace(/[^a-zA-Z0-9!#$%&'*+-.^_`|~]/g,"").slice(0,t);return n.length>0?n:void 0}function pb(e){if(!e)return;let t=e.split("/").map(n=>qS(n)).filter(n=>!!n);return t.length>0?t.join("/"):void 0}var _J={debug:()=>{},error:()=>{},info:()=>{},warn:()=>{}},QJ={0:"ok",1:"cancelled",2:"unknown",3:"unavailable",4:"unimplemented",5:"invalidArgument",6:"resourceExhausted",7:"unauthenticated",8:"permissionDenied",9:"deadlineExceeded",10:"augmentTooLarge",11:"augmentClientTimeout",12:"augmentUpgradeRequired"},eX=500,Eb=3e4,So=class extends It{apiStatus;originalError;errorDetails;responseBodyMessage;responseBodyText;httpUrl;httpStatus;httpRetryAfter;retryBehavior;isRetriable;shouldBackoff;requestId;constructor(t,n,r,o={}){super(n?.status??0,n?.statusText??"",o.responseBodyText??"",o.responseBodyMessage,o.errorReason??o.errorDetails),t!==void 0&&(this.message=t),this.name="APIError",this.apiStatus=n?zJ(n.status):3,this.originalError=o.originalError,this.errorDetails=o.errorDetails,this.responseBodyMessage=o.responseBodyMessage,this.responseBodyText=o.responseBodyText,this.httpUrl=LJ(n?.url),this.httpStatus=n?.status;let i=n?.headers.get("retry-after");this.httpRetryAfter=i?qJ(i):void 0,this.retryBehavior=DJ(n?.status),this.isRetriable=this.status===1||this.status===3,this.shouldBackoff=n?.status===429,this.requestId=n?.headers.get("x-request-id")??r}get status(){return this.apiStatus}},nc=class extends Error{status=3;isRetriable=!0;shouldBackoff=!1;originalError;constructor(t,n){super(t,{cause:n}),this.name="APITransportError",this.originalError=n}};function os(e){if(!e||typeof e!="object"||Array.isArray(e))throw new Error("Invalid tenant permission object");return e}function TJ(e){let t=os(e),{permission:n,...r}=t,o="permission"in t,i=o?os(n):t,s=["simple_permission","simplePermission","webhook_policy","webhookPolicy","script_policy","scriptPolicy"],l=s.filter(a=>a in i);if(l.length!==1)throw new Error("Invalid permission variant");if(o&&(Object.keys(i).length!==1||s.some(a=>a in t)))throw new Error("Conflicting permission variants");return os(i[l[0]]),o?{...r,...i}:t}function KJ(e){let t=os(e);if("tool_permissions_settings"in t&&"toolPermissionsSettings"in t)throw new Error("Conflicting permission settings");let n="tool_permissions_settings"in t?"tool_permissions_settings":"toolPermissionsSettings",r=t[n];if(r==null)return t;let o=os(r),i="rules"in o?o.rules:[];if(!Array.isArray(i))throw new Error("Invalid permission rules");return{...t,[n]:{...o,rules:i.map(TJ)}}}function zJ(e){let t={400:5,401:7,403:8,404:4,408:11,413:10,426:12,429:6,499:1,504:9};return t[e]!==void 0?t[e]:e>=500&&e<600?3:2}function DJ(e){if(e===429||e===503)return"retry";if(e===402||e===403)return"sinkhole"}function LJ(e){try{return e?new URL(e):void 0}catch{return}}function HJ(e){return e.length>eX?`${e.slice(0,eX)}\u2026(truncated, ${e.length} chars total)`:e}function MJ(e){try{return JSON.stringify(e).length}catch{return 0}}function OJ(e){let t="0123456789ABCDEFGHJKMNPQRSTVWXYZ",n=0n;if(e.length!==26)throw new Error("agent id is not a 26-character ULID");for(let o of e.toUpperCase()){let i=t.indexOf(o);if(i<0)throw new Error("agent id contains an invalid ULID character");n=n*32n+BigInt(i)}let r=n.toString(16).padStart(32,"0").slice(-32);return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}function jJ(e,t){return t?.aborted?!1:e instanceof So?[1,4,8].includes(e.status)?!1:e.httpStatus!==402:!(e instanceof It&&e.statusCode===402)}async function PJ(e,t){let n=await e.text(),r=n.trim()?HJ(n.trim()):void 0,o,i,s;try{let l=JSON.parse(n);i=l.error_details,s=l.error_reason??l.errorReason,typeof l.error=="string"?o=l.error:typeof l.message=="string"&&(o=l.message)}catch{}return new So(void 0,e,t,{errorDetails:i,errorReason:s,responseBodyMessage:o,responseBodyText:r})}function qJ(e){let t=Number(e);if(Number.isFinite(t))return new Date(Date.now()+t*1e3);let n=new Date(e);return Number.isNaN(n.getTime())?void 0:n}function $J(e){return e.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function e5(e){return e.replace(/_([a-z])/g,(t,n)=>n.toUpperCase())}function xn(e){return Array.isArray(e)?e.map(xn):e===null||typeof e!="object"?e:Object.fromEntries(Object.entries(e).map(([t,n])=>[e5(t),xn(n)]))}function t5(e,t){if(typeof e!="string")throw new Error(`Expected ${t} to be a string`);return e}function Rb(e,t){if(!Array.isArray(e)||e.some(n=>typeof n!="string"))throw new Error(`Expected ${t} to be an array of strings`);return e}function n5(e){if(typeof e=="number")return e;if(typeof e=="string")return mo[e]??mo.REASON_UNSPECIFIED}function r5(e){if(!e||typeof e!="object")return;let t=e;return{...typeof t.code=="number"?{code:t.code}:{},...typeof t.message=="string"?{message:t.message}:{},...typeof t.detail=="string"?{detail:t.detail}:{}}}function tc(e){return{checkpoint_id:e.checkpointId,added_blobs:e.addedBlobs,deleted_blobs:e.deletedBlobs}}function o5(e,t){if(!t)return{};if(e===13||e===14)return{extra_tool_input:{atlassian_tool_extra_input:{server_url:t.serverUrl,personal_api_token:t.personalApiToken,username:t.username}}};let n;return e===15?n="notion_tool_extra_input":e===12?n="linear_tool_extra_input":e===8&&(n="github_tool_extra_input"),n?{extra_tool_input:{[n]:{api_token:t.apiToken}}}:{}}function i5(e){let t={},n={enableParallelTools:"enable_parallel_tool_use",language:"lang",pathName:"path",senderUserId:"poseidon_sender_user_id",thirdPartyOverride:"third_party_override"};for(let[r,o]of Object.entries(e))r==="signal"||r==="sessionId"||o===void 0||(t[n[r]??$J(r)]=r==="blobs"?tc(o):o);return t.tool_definitions??=[],t.nodes??=[],t.rules??=[],t.skills??=[],t.mode??="CHAT",t.feature_detection_flags={support_tool_use_start:e.enableSupportToolUseStart,support_parallel_tool_use:e.enableParallelTools},t}function s5(e){if(typeof e!="string")return"unknown";let t=e.toLowerCase().replace("_tier","");return t==="community"||t==="professional"||t==="enterprise"?t:"unknown"}var rc={UNSPECIFIED:0,SECRET_URL:1,TENANT:2};function l5(e){if(!e.startsWith("https://"))return!1;try{return new URL(e).hostname!==""}catch{return!1}}var a5={"secret-url":rc.SECRET_URL,tenant:rc.TENANT};function c5(e,t){return e===rc.TENANT||e==="HOSTED_ARTIFACT_VISIBILITY_TENANT"?"tenant":e===rc.SECRET_URL||e==="HOSTED_ARTIFACT_VISIBILITY_SECRET_URL"?"secret-url":t}function d5(e){let t=typeof e.size_bytes=="string"?Number(e.size_bytes):e.size_bytes??0;return{hostedArtifactId:e.hosted_artifact_id??"",visibility:c5(e.visibility,"secret-url"),mediaType:e.media_type??"",sizeBytes:t,sha256Hex:e.sha256_hex??"",label:e.label??"",ownerUserId:e.owner_user_id??"",canonicalUrl:e.canonical_url??"",createdAt:e.created_at??"",expiresAt:e.expires_at??""}}var Zb="environment",u5={1:"pending",2:"running",3:"cancel_requested",4:"succeeded",5:"failed",6:"canceled"},h5={1:"queued",2:"preparing",3:"building",4:"promoting",6:"building"},b5=5,f5={[an.BASE_IMAGE_REBUILD]:"build",[an.BASE_IMAGE_BUILD]:"build",[an.REFRESH]:"refresh",[an.REPOSITORY_RECONCILE]:"reconcile",[b5]:"update"};function m5(e){if(e===void 0)return"build";if(e!==an.UNSPECIFIED)return f5[e]??"unknown"}function tX({sandboxProviderId:e,displayName:t,description:n,visibility:r,baseImage:o,refreshEnabled:i,repos:s,environmentVariables:l,tags:a,spaceId:c}){return{config:{...e===void 0?{}:{sandbox_provider_id:e},display_name:t,description:n,visibility:r,...s?{repos:s.map(d=>({owner:d.owner,name:d.name,branch:d.branch,...d.host?{host:d.host}:{},...d.project?{project:d.project}:{}}))}:{},...l?{environment_variables:{variables:l.variables.map(d=>({name:d.name,value:d.value}))}}:{},...i===void 0?{}:{refresh_enabled:i},tags:a??{},...c===void 0?{}:{space_id:c}},...o?{base_image:o}:{}}}function nX({imageId:e,sandboxProviderId:t,displayName:n,description:r,visibility:o,baseImage:i,refreshEnabled:s,repos:l,environmentVariables:a,expectedResourceVersion:c,tags:d,spaceId:u}){return{image_id:e,...t===void 0?{}:{sandbox_provider_id:t},...n===void 0?{}:{display_name:n},...r===void 0?{}:{description:r},...o===void 0?{}:{visibility:o},...i===void 0?{}:{base_image:i},...s===void 0?{}:{refresh_enabled:s},...l?{repos:l.map(h=>({owner:h.owner,name:h.name,...h.branch?{branch:h.branch}:{},...h.host?{host:h.host}:{},...h.project?{project:h.project}:{}})),has_repos:!0}:{},...a?{environment_variables:{variables:a.variables.map(h=>({name:h.name,value:h.value}))}}:{},...c===void 0?{}:{expected_resource_version:c},...d===void 0?{}:{tags:d,has_tags:!0},...u===void 0?{}:{space_id:u}}}function A5(e){return{eventId:e.event_id??"",source:e.source??"",eventType:e.event_type??"",payloadJson:e.payload_json??"",receivedAt:e.received_at?new Date(e.received_at):void 0,tenantId:e.tenant_id,userId:e.user_id,webhookId:e.webhook_id||void 0}}var V5=50,Sb="expert",g5=1e3;function Xb(e){return{groupId:e.group_id??"",name:e.name??"",description:e.description??"",createdBy:e.created_by??"",createdAt:e.created_at??"",updatedAt:e.updated_at??""}}function p5(e){switch(e){case 1:case"CLOUD_GROUP_MEMBER_KIND_HUMAN":return"human";case 2:case"CLOUD_GROUP_MEMBER_KIND_SERVICE_ACCOUNT":return"service_account";default:return"unspecified"}}function E5(e){return{userId:e.user_id??"",addedAt:e.added_at??"",addedBy:e.added_by??"",email:e.email??"",givenName:e.given_name??"",familyName:e.family_name??"",addedByName:e.added_by_name??"",principalKind:p5(e.principal_kind),serviceName:e.service_name??""}}function rX(e,t){let n=t.members??[],r=t.serviceAccounts??[];return r.length===0?{group_id:e,members:n}:{group_id:e,selectors:[...n.map(o=>({member:o})),...r.map(o=>({service_account:o}))]}}var R5="This deployment does not support service-account selectors yet. Pass the service account's user id as a member instead.";function Z5(e,t){return t.selectors===void 0||t.members!==void 0||!(e instanceof It)||e.statusCode!==400?!1:[e.serverMessage,e.responseBody,e.message].some(n=>n!==void 0&&/\bmembers is required\b/.test(n))}async function oX(e,t){try{return await e()}catch(n){throw Z5(n,t)?new Error(R5):n}}function iX(e){return{id:e.id??"",label:e.label??"",description:e.description??"",connected:e.connected??!1,statusKind:e.status_kind??"",statusLabel:e.status_label??"",details:(e.details??[]).map(t=>({key:t.key??"",label:t.label??"",value:t.value??""})),actions:(e.actions??[]).map(t=>({kind:t.kind??"",label:t.label??"",url:t.url??""}))}}var S5=404,sX={UNSPECIFIED:0,USER:1,TENANT:2},X5={user:sX.USER,tenant:sX.TENANT},Wb="daemon_pool";function W5(e){return e===1||e==="1"||e==="DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_ISOLATED"||e==="CLOUD_DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_ISOLATED"?"isolated":e===2||e==="2"||e==="DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_SHARED"||e==="CLOUD_DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_SHARED"?"shared":"unspecified"}var Gb="sandbox_backend";function G5(e){return e.provider_type===1||e.provider_type==="CLOUD_SANDBOX_PROVIDER_TYPE_SYSTEM_MANAGED"?"system-managed":(e.provider_type===2||e.provider_type==="CLOUD_SANDBOX_PROVIDER_TYPE_USER_MANAGED","user-managed")}function Rr(e){return{id:e.id??"",slug:e.slug??"",displayName:e.display_name??e.slug??"",description:e.description||void 0,type:G5(e),enabled:e.enabled===!0,createdByUserId:e.created_by_user_id||void 0,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:String(e.resource_version??""),deletedAt:e.deleted_at?new Date(e.deleted_at):void 0,spaceIds:e.space_ids??[],allSpaces:e.all_spaces??e.space_ids===void 0}}function lX({connectorUserId:e,connectorServiceAccount:t}){if(e!==void 0&&t!==void 0)throw new Error("Use only one of connectorUserId or connectorServiceAccount.");if(e!==void 0)return{user_id:e};if(t!==void 0)return{service_account_name:t}}function Pa(e){let t=e.connector,n=I5(e.resource_version);return{id:e.id??"",displayName:e.display_name??e.id??"",description:e.description,visibility:e.visibility,daemonConnectorUserId:e.daemon_connector_user_id??(typeof t?.user_id=="string"?t.user_id:void 0),daemonConnectorServiceAccountName:e.daemon_connector_service_account_name??(typeof t?.service_account_name=="string"?t.service_account_name:void 0),spaceId:e.space_id,workspaceIsolation:W5(e.workspace_isolation_policy??e.workspace_isolation),createdByUserId:e.created_by_user_id,createdByUserName:e.created_by_user_name,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:n}}function I5(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(typeof e=="string"&&e.trim()!==""){let t=Number(e);return Number.isInteger(t)&&t>=0?t:void 0}}function N5(e){if(e)return{daemonsOnline:e.daemons_online,slotsTotal:e.slots_total,slotsInUse:e.slots_in_use,lastDaemonSeen:e.last_daemon_seen?new Date(e.last_daemon_seen):void 0}}function F5(e){return{vmId:e.vm_id??"",name:e.name,slotsTotal:e.slots_total,slotsInUse:e.slots_in_use,workspacePath:e.workspace_path,connectedAt:e.connected_at?new Date(e.connected_at):void 0,lastHeartbeat:e.last_heartbeat?new Date(e.last_heartbeat):void 0,poolId:e.pool_id,cliVersion:e.cli_version}}function B5(e){return{agentId:e.agent_id??"",addedAt:e.added_at??""}}function ts(e){return{projectId:e.project_id??"",name:e.name??"",description:e.description??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",createdBy:e.created_by??"",agents:(e.agents??[]).map(B5)}}var Ib="resident";function mX(e){return typeof e=="number"?e:e==="CLOUD_RESIDENT_SCOPE_TENANT"?1:e==="CLOUD_RESIDENT_SCOPE_USER"?2:0}function C5(e){let t;return e.vm_config!=null?t={type:"base_image",vmConfig:{baseImageId:e.vm_config.base_image_id,...e.vm_config.resources==null?{}:{resources:{cpuCores:e.vm_config.resources.cpu_cores,memoryMib:e.vm_config.resources.memory_mib}}}}:e.daemon_vm_id!=null?t={type:"daemon",daemonVmId:e.daemon_vm_id}:e.daemon_pool_id!=null&&(t={type:"pool",daemonPoolId:e.daemon_pool_id}),{...e.model===void 0?{}:{model:e.model},...e.reasoning_effort===void 0?{}:{reasoningEffort:e.reasoning_effort},...t===void 0?{}:{environment:t}}}function Y5(e){return{...e.slack?{slack:{mentionable:e.slack.mentionable??!1,...e.slack.usergroup_handle===void 0?{}:{usergroupHandle:e.slack.usergroup_handle},...e.slack.home_channel_id===void 0?{}:{homeChannelId:e.slack.home_channel_id},...e.slack.direct_messages_enabled===void 0?{}:{directMessagesEnabled:e.slack.direct_messages_enabled}}}:{}}}function y5(e){return{...e.slack?{slack:{...e.slack.subteam_id===void 0?{}:{subteamId:e.slack.subteam_id},...e.slack.last_synced_at?{lastSyncedAt:new Date(e.slack.last_synced_at)}:{},...e.slack.error===void 0?{}:{error:e.slack.error}}}:{}}}function AX(e){return{name:e.name,description:e.description,expertId:e.expert_id,initialMessage:e.initial_message,overrides:e.overrides?C5(e.overrides):void 0,runAsUserId:e.run_as_user_id,presence:e.presence?Y5(e.presence):void 0,icon:e.icon,tags:e.tags??{}}}function Zr(e){return{residentId:e.resident_id,scope:mX(e.scope),config:e.config?AX(e.config):void 0,userId:e.user_id,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:e.resource_version,currentAgentId:e.current_agent_id,startedAt:e.started_at?new Date(e.started_at):void 0,effectiveRole:e.effective_role||void 0,deletedAt:e.deleted_at?new Date(e.deleted_at):void 0,presenceStatus:e.presence_status?y5(e.presence_status):void 0,...e.space_summary?{spaceSummary:{spaceId:e.space_summary.space_id??"",displayName:e.space_summary.display_name??""}}:{}}}function w5(e){return{agentId:e.agent_id,status:e.status??"",startedAt:e.started_at?new Date(e.started_at):void 0,endedAt:e.ended_at?new Date(e.ended_at):void 0}}function aX(e){return{resourceVersion:e.resource_version??0,config:e.config?AX(e.config):void 0,scope:mX(e.scope),modifiedBy:e.modified_by??"",modifiedAt:e.modified_at?new Date(e.modified_at):void 0,changeType:e.change_type??""}}function U5(e){let t={};e.model!==void 0&&(t.model=e.model),e.reasoningEffort!==void 0&&(t.reasoning_effort=e.reasoningEffort);let n=e.environment;if(n)switch(n.type){case"base_image":t.vm_config={base_image_id:n.vmConfig.baseImageId,...n.vmConfig.resources==null?{}:{resources:{cpu_cores:n.vmConfig.resources.cpuCores,memory_mib:n.vmConfig.resources.memoryMib}}};break;case"daemon":t.daemon_vm_id=n.daemonVmId;break;case"pool":t.daemon_pool_id=n.daemonPoolId;break}return t}function x5(e){let t={};return e.slack&&(t.slack={mentionable:e.slack.mentionable,...e.slack.usergroupHandle===void 0?{}:{usergroup_handle:e.slack.usergroupHandle},...e.slack.homeChannelId===void 0?{}:{home_channel_id:e.slack.homeChannelId},...e.slack.directMessagesEnabled===void 0?{}:{direct_messages_enabled:e.slack.directMessagesEnabled}}),t}function cX(e){return{name:e.name,...e.description===void 0?{}:{description:e.description},expert_id:e.expertId,...e.initialMessage===void 0?{}:{initial_message:e.initialMessage},...e.overrides===void 0?{}:{overrides:U5(e.overrides)},...e.runAsUserId===void 0?{}:{run_as_user_id:e.runAsUserId},...e.presence===void 0?{}:{presence:x5(e.presence)},...e.icon===void 0?{}:{icon:e.icon},...e.tags===void 0?{}:{tags:e.tags,has_tags:!0}}}var v5={personal:1,space:2,organization:3},VX={user:1,tenant:2};function J5(e){let t={name:e.name,scope:VX[e.scope]};if(e.value!==void 0&&(t.value=e.value),e.expectedVersion!==void 0?t.expected_version=e.expectedVersion:e.secretId===void 0&&(t.expected_version="0"),e.secretId===void 0){if(e.applicability===void 0)throw new Error("applicability is required for stable create");if(e.value===void 0)throw new Error("value is required for stable create");t.applicability=v5[e.applicability]}else t.secret_id=e.secretId,e.value===void 0&&(t.preserve_value=!0);return k5(t,e),_5(t,e),t}function k5(e,t){if(t.allSpaces===!0&&(t.spaceIds?.length??0)>0)throw new Error("allSpaces and non-empty spaceIds are mutually exclusive");if(t.allSpaces===!0){e.update_spaces=!0,e.all_spaces=!0,e.space_ids=[];return}(t.applicability==="space"||t.spaceIds!==void 0)&&(e.update_spaces=!0,e.all_spaces=!1,e.space_ids=[...t.spaceIds??[]].sort())}function _5(e,t){t.description!==void 0&&(e.description=t.description,t.secretId!==void 0&&(e.update_description=!0)),t.tags!==void 0&&(e.tags=t.tags,t.secretId!==void 0&&(e.update_tags=!0))}var ns={user:1,tenant:2};function Q5(e){switch(e){case 1:case"SECRET_APPLICABILITY_PERSONAL":return"personal";case 2:case"SECRET_APPLICABILITY_SPACE":return"space";case 3:case"SECRET_APPLICABILITY_ORGANIZATION":return"organization";default:return}}function qa(e,t,n){let r=Q5(e.applicability),o=r!==void 0||Array.isArray(e.space_ids)||typeof e.all_spaces=="boolean",i;o&&(i=Array.isArray(e.space_ids)?e.space_ids.filter(l=>typeof l=="string"):[]);let s=o?e.all_spaces===!0:void 0;return{name:e.name??t,scope:n,description:e.description??"",tags:e.tags??{},version:e.version??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",valueSizeBytes:e.value_size_bytes??0,...i===void 0?{}:{spaceIds:i},...s===void 0?{}:{allSpaces:s},...r===void 0?{}:{applicability:r},...e.secret_id===void 0?{}:{secretId:e.secret_id},...e.olac_ready===void 0?{}:{olacReady:e.olac_ready}}}function T5(e){if(e===void 0)return;let t=Object.entries(e);return t.length===0?void 0:t.map(([n,r])=>({key:n,values:[r]}))}var Nb="secret",Un=L.child({prefix:"cloud-http"});var gX=1e4,K5=2,z5={UNKNOWN:0,TOOL_PROVIDER:1,AGENT:2,WAITING:3},D5=["vfs_space_id","command_handler_ready","mcp_credential_revision","desktop_ensure","mcp_targeted_credential_update","mcp_target_material_v1","mcp_passive_credential_install_v1","mcp_target_material_stdio_v1","provisioning_generation","mcp_scoped_secret_revision_domain_v1"],L5={0:"UNKNOWN",1:"IDLE",2:"PROCESSING",3:"TERMINATED",4:"COMPLETED",5:"STARTING",6:"WAITING_FOR_INPUT"},H5={0:"unspecified",1:"CLI",2:"cloud VM",3:"local daemon",AGENT_EXECUTION_ENVIRONMENT_UNSPECIFIED:"unspecified",AGENT_EXECUTION_ENVIRONMENT_CLI:"CLI",AGENT_EXECUTION_ENVIRONMENT_MODAL_VM:"cloud VM",AGENT_EXECUTION_ENVIRONMENT_DAEMON:"local daemon"};function dX(e,t,n){if(typeof e!="string"&&typeof e!="number")return;let r=String(e);return r in t?t[r]??r:r.startsWith(n)?r.slice(n.length):r}function uX(e){return e instanceof Date?e.toISOString():e}function M5(e={}){let t={limit:e.limit??100};return e.parentAgentId&&(t.parent_agent_id=e.parentAgentId),e.includeOlacShared!==void 0&&(t.include_olac_shared=e.includeOlacShared),e.spaceId&&(t.space_id=e.spaceId),e.searchQuery&&(t.search_query=e.searchQuery),e.includeArchived&&(t.include_archived=!0),e.expertId&&(t.expert_id=e.expertId),e.createdAfter&&(t.created_after=uX(e.createdAfter)),e.createdBefore&&(t.created_before=uX(e.createdBefore)),(e.includeShared!==void 0||e.includeTenantShared!==void 0)&&(t.include_shared=e.includeShared??e.includeTenantShared),e.defaultSpaceOnly&&(t.default_space_only=!0),e.pageToken&&(t.page_token=e.pageToken),t}function Ro(e){let t=r=>typeof r=="string"?new Date(r):void 0,n=r=>typeof r=="string"&&r?r:void 0;return{agentId:n(e.agent_id)??"",agentName:n(e.agent_name)??"",status:dX(e.status,L5,"CLOUD_AGENT_STATUS_"),...Array.isArray(e.capabilities)?{capabilities:e.capabilities.filter(r=>typeof r=="number")}:{},createdAt:t(e.created_at),updatedAt:t(e.updated_at),...Array.isArray(e.tags)?{tags:e.tags.filter(r=>typeof r=="string")}:{},expertId:n(e.expert_id),spaceId:n(e.space_id),workflowId:n(e.workflow_id),environmentId:n(e.environment_id),daemonId:n(e.daemon_id),daemonPoolId:n(e.daemon_pool_id),parentAgentId:n(e.parent_agent_id),...typeof e.archived=="boolean"?{archived:e.archived}:{},...e.execution_environment===void 0?{}:{executionEnvironment:dX(e.execution_environment,H5,"AGENT_EXECUTION_ENVIRONMENT_")}}}function O5(e,t){let n={agent_id:e.agentId,workspace_path:e.workspacePath,connection_mode:t,available_tools:[],client_capabilities:[...D5,...e.extraClientCapabilities??[]]};return e.vmId!==void 0&&(n.vm_id=e.vmId),e.capabilityInstanceId&&(n.capability_instance_id=e.capabilityInstanceId),e.provisioningGeneration!==void 0&&(n.provisioning_generation=e.provisioningGeneration),e.parentVmId!==void 0&&(n.parent_vm_id=e.parentVmId),e.daemonCommandId!==void 0&&(n.daemon_command_id=e.daemonCommandId),e.cliVersion&&(n.cli_version=e.cliVersion),n}function j5(e,t,n){let r={vmId:n,agentId:e.agentId},o=t.active_generation_epoch;typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&(r.activeGenerationEpoch=o);let i=t.connection_version;typeof i=="number"&&Number.isSafeInteger(i)&&i>0&&(r.connectionVersion=i),t.session_config&&(r.sessionConfig=P5(t.session_config));let s=q5(t.remote_tools);return s.length>0&&(r.remoteTools=s),t.vfs_filesystems&&Object.keys(t.vfs_filesystems).length>0&&(r.vfsFilesystems=t.vfs_filesystems),t.space_id&&(r.spaceId=t.space_id),t.expert_id&&(r.expertId=t.expert_id),t.workflow_id&&(r.workflowId=t.workflow_id),r}function P5(e){return{systemPrompt:e.system_prompt,includeDefaultSystemPrompt:e.include_default_system_prompt,model:e.model,reasoningEffort:e.reasoning_effort??e.reasoningEffort,userMetadata:e.user_metadata,useAllExpertsAsWorkers:e.use_all_experts_as_workers}}function q5(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n,o=typeof r.name=="string"?r.name:"";o&&t.push({name:o,description:typeof r.description=="string"?r.description:"",inputSchemaJson:typeof r.input_schema_json=="string"?r.input_schema_json:"",toolSafety:typeof r.tool_safety=="string"?r.tool_safety:""})}return t}function Sr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zo(e,...t){for(let n of t){let r=e[n];if(Sr(r))return r}}function Qe(e,...t){for(let n of t){let r=e[n];if(typeof r=="string")return r}}function $5(e){if(!Sr(e))return{};let t={},n=Qe(e,"stop_reason","stopReason"),r=e.is_partial??e.isPartial,o=e.is_final??e.isFinal;return n!==void 0&&(t.stopReason=n),typeof r=="boolean"&&(t.isPartial=r),typeof o=="boolean"&&(t.isFinal=o),t}function ek(e,t){let n=[];if(Array.isArray(e.content))for(let o of e.content){let i=tk(o);if(i!==null){n.push(i);continue}if(o==null||nk(o))continue;let s=Sr(o)?`object keys=[${Object.keys(o).join(",")}]`:`type=${typeof o}`;Un.warn(`getMessages: dropping unparseable content block in agent ${t} message ${e.id??"<unknown>"}: ${s}`)}let r=n.filter(o=>o.kind==="text").map(o=>o.text).join("");return{messageId:e.id??"",role:e.role??"",content:r,contentBlocks:n,createdAt:e.created_at?new Date(e.created_at):void 0,...$5(e.metadata)}}function tk(e){if(typeof e=="string")return e.trim().length>0?{kind:"text",text:e}:null;if(!Sr(e))return null;let t=Sr(e.block)?e.block:e,n=Zo(t,"text","Text");if(n){let l=Qe(n,"text");if(l!==void 0&&l.trim().length>0)return{kind:"text",text:l}}let r=Zo(t,"tool_use","toolUse","ToolUse");if(r){let l=Qe(r,"id"),a=Qe(r,"name");if(!l||!a)return null;let c=Qe(r,"input");return{kind:"tool_use",toolUseId:l,toolName:a,inputJson:c&&c.trim().length>0?c:"{}"}}let o=Zo(t,"tool_result","toolResult","ToolResult");if(o){let l=Qe(o,"tool_use_id","toolUseId");if(!l)return null;let a=o.is_error??o.isError;return{kind:"tool_result",toolUseId:l,content:Qe(o,"content")??"",isError:typeof a=="boolean"?a:!1}}let i=Zo(t,"thinking","Thinking");if(i){let l=Qe(i,"content"),a=Qe(i,"summary"),c=Qe(i,"encrypted_content","encryptedContent"),d=Qe(i,"provider");if(l!==void 0||a!==void 0||c!==void 0)return{kind:"thinking",content:l??"",...a===void 0?{}:{summary:a},...c===void 0?{}:{encryptedContent:c},...d===void 0?{}:{provider:d}}}let s=Zo(t,"external_event","externalEvent","ExternalEvent");if(s){let l=Qe(s,"source")??"",a=Qe(s,"event_type","eventType")??"",c=Qe(s,"summary")??"";return l===""&&a===""&&c===""?null:{kind:"external_event",source:l,eventType:a,summary:c,details:Qe(s,"details")??"",subscriptionId:Qe(s,"subscription_id","subscriptionId")}}return null}function nk(e){if(typeof e=="string")return e.trim().length===0;if(!Sr(e))return!1;let t=Sr(e.block)?e.block:e,n=Zo(t,"text","Text");if(!n)return!1;let r=Qe(n,"text");return r!==void 0&&r.trim().length===0}function rk(e){return"poolId"in e?{pool_id:e.poolId}:{daemon_vm_id:e.daemonVmId}}var Fb="space";function $a(e){return{spaceId:e.space_id??"",displayName:e.display_name??"",normalizedName:e.normalized_name??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",createdBy:e.created_by??"",pinnedExpertIds:e.pinned_expert_ids??[]}}function Bb(e){return{tunnelId:e.tunnel_id??"",agentId:e.agent_id??"",vmId:e.vm_id??"",localHost:e.local_host??"",localPort:e.local_port??0,label:e.label??"",mode:e.mode??0,status:e.status??0,host:e.host??"",createdAt:e.created_at??"",expiresAt:e.expires_at??""}}var Eo={user:Vo.PRIVATE,tenant:Vo.SHARED},ok={personal:dn.PERSONAL,space:dn.SPACE,organization:dn.ORGANIZATION};function Yb(e){return Array.isArray(e)?e.map(Yb):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,t==="value"&&typeof n=="string"?"<redacted>":Yb(n)])):e}function ik(e){if(e===dn.PERSONAL||e==="SECRET_APPLICABILITY_PERSONAL")return"personal";if(e===dn.SPACE||e==="SECRET_APPLICABILITY_SPACE")return"space";if(e===dn.ORGANIZATION||e==="SECRET_APPLICABILITY_ORGANIZATION")return"organization"}function ec(e,t){let n=e.scope===Vo.SHARED||e.scope==="SECRET_SCOPE_SHARED"?"tenant":t,r=ik(e.applicability),o=e.space_ids??(e.space_id===void 0||e.space_id===""?[]:[e.space_id]);return{name:e.name??"",scope:n,description:e.description??"",tags:e.tags??{},version:e.version??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",valueSizeBytes:e.value_size_bytes??0,spaceIds:o,allSpaces:e.all_spaces===!0,...r?{applicability:r}:{},...e.secret_id?{secretId:e.secret_id}:{},...e.olac_ready===void 0?{}:{olacReady:e.olac_ready}}}function sk(e){if(!(!e||Object.keys(e).length===0))return Object.entries(e).map(([t,n])=>({key:t,values:[n]}))}var Tt="/cloud-agents/vfs",lk=3e4;function hX(e){return{event_id:e.event_id??e.eventId,comment_id:e.comment_id??e.commentId,path:e.path,kind:e.kind,author_display_name:e.author_display_name??e.authorDisplayName,author_id:e.author_id??e.authorId,body:e.body,anchor:e.anchor?{version_seq:e.anchor.version_seq??e.anchor.versionSeq,quote:e.anchor.quote,line_hint:e.anchor.line_hint??e.anchor.lineHint}:void 0,created_at:e.created_at??e.createdAt,parent_id:e.parent_id??e.parentId}}var oc=[{name:"bearer",proto:"WEBHOOK_TYPE_BEARER",numeric:1,creatable:!0},{name:"gitlab",proto:"WEBHOOK_TYPE_GITLAB",numeric:2,creatable:!0},{name:"jira",proto:"WEBHOOK_TYPE_JIRA",numeric:3,creatable:!0},{name:"github",proto:"WEBHOOK_TYPE_GITHUB",numeric:6,creatable:!0},{name:"harness-code",proto:"WEBHOOK_TYPE_HARNESS_CODE",numeric:58,creatable:!0},{name:"harness-pipeline-notification",proto:"WEBHOOK_TYPE_HARNESS_PIPELINE_NOTIFICATION",numeric:59,creatable:!0},{name:"stripe",proto:"WEBHOOK_TYPE_STRIPE",numeric:5,creatable:!0},{name:"sentry",proto:"WEBHOOK_TYPE_SENTRY",numeric:9,creatable:!0},{name:"datadog",proto:"WEBHOOK_TYPE_DATADOG",numeric:10,creatable:!0},{name:"buildkite",proto:"WEBHOOK_TYPE_BUILDKITE",numeric:11,creatable:!0},{name:"launchdarkly",proto:"WEBHOOK_TYPE_LAUNCHDARKLY",numeric:12,creatable:!0},{name:"circleci",proto:"WEBHOOK_TYPE_CIRCLECI",numeric:13,creatable:!0},{name:"snyk",proto:"WEBHOOK_TYPE_SNYK",numeric:14,creatable:!0},{name:"sonarqube",proto:"WEBHOOK_TYPE_SONARQUBE",numeric:15,creatable:!0},{name:"semgrep",proto:"WEBHOOK_TYPE_SEMGREP",numeric:16,creatable:!0},{name:"argocd",proto:"WEBHOOK_TYPE_ARGOCD",numeric:17,creatable:!0},{name:"terraform-cloud",proto:"WEBHOOK_TYPE_TERRAFORM_CLOUD",numeric:18,creatable:!0},{name:"opsgenie",proto:"WEBHOOK_TYPE_OPSGENIE",numeric:19,creatable:!0},{name:"pagerduty",proto:"WEBHOOK_TYPE_PAGERDUTY",numeric:8,creatable:!0},{name:"azure-devops",proto:"WEBHOOK_TYPE_AZURE_DEVOPS",numeric:20,creatable:!0},{name:"bitbucket",proto:"WEBHOOK_TYPE_BITBUCKET",numeric:21,creatable:!0},{name:"auth0",proto:"WEBHOOK_TYPE_AUTH0",numeric:22,creatable:!0},{name:"okta",proto:"WEBHOOK_TYPE_OKTA",numeric:23,creatable:!0},{name:"zendesk",proto:"WEBHOOK_TYPE_ZENDESK",numeric:24,creatable:!0},{name:"intercom",proto:"WEBHOOK_TYPE_INTERCOM",numeric:25,creatable:!0},{name:"posthog",proto:"WEBHOOK_TYPE_POSTHOG",numeric:26,creatable:!0},{name:"resend",proto:"WEBHOOK_TYPE_RESEND",numeric:27,creatable:!0},{name:"chargebee",proto:"WEBHOOK_TYPE_CHARGEBEE",numeric:28,creatable:!0},{name:"workos",proto:"WEBHOOK_TYPE_WORKOS",numeric:29,creatable:!0},{name:"hubspot",proto:"WEBHOOK_TYPE_HUBSPOT",numeric:30,creatable:!0},{name:"notion",proto:"WEBHOOK_TYPE_NOTION",numeric:31,creatable:!0},{name:"jsm-operations",proto:"WEBHOOK_TYPE_JSM_OPERATIONS",numeric:32,creatable:!0},{name:"incident-io",proto:"WEBHOOK_TYPE_INCIDENT_IO",numeric:33,creatable:!0},{name:"sendgrid",proto:"WEBHOOK_TYPE_SENDGRID",numeric:34,creatable:!0},{name:"mailgun",proto:"WEBHOOK_TYPE_MAILGUN",numeric:35,creatable:!0},{name:"twilio",proto:"WEBHOOK_TYPE_TWILIO",numeric:36,creatable:!0},{name:"customer-io",proto:"WEBHOOK_TYPE_CUSTOMER_IO",numeric:37,creatable:!0},{name:"vanta",proto:"WEBHOOK_TYPE_VANTA",numeric:38,creatable:!1},{name:"new-relic",proto:"WEBHOOK_TYPE_NEW_RELIC",numeric:39,creatable:!0},{name:"grafana",proto:"WEBHOOK_TYPE_GRAFANA",numeric:40,creatable:!0},{name:"jfrog-xray",proto:"WEBHOOK_TYPE_JFROG_XRAY",numeric:41,creatable:!0},{name:"vercel",proto:"WEBHOOK_TYPE_VERCEL",numeric:42,creatable:!0},{name:"cloudflare",proto:"WEBHOOK_TYPE_CLOUDFLARE",numeric:43,creatable:!0},{name:"pulumi",proto:"WEBHOOK_TYPE_PULUMI",numeric:44,creatable:!0},{name:"harbor",proto:"WEBHOOK_TYPE_HARBOR",numeric:45,creatable:!0},{name:"aws-eventbridge",proto:"WEBHOOK_TYPE_AWS_EVENTBRIDGE",numeric:46,creatable:!0},{name:"clerk",proto:"WEBHOOK_TYPE_CLERK",numeric:47,creatable:!0},{name:"replicate",proto:"WEBHOOK_TYPE_REPLICATE",numeric:48,creatable:!0},{name:"daytona",proto:"WEBHOOK_TYPE_DAYTONA",numeric:49,creatable:!0},{name:"netlify",proto:"WEBHOOK_TYPE_NETLIFY",numeric:50,creatable:!0},{name:"azure-event-grid",proto:"WEBHOOK_TYPE_AZURE_EVENT_GRID",numeric:51,creatable:!0},{name:"rootly",proto:"WEBHOOK_TYPE_ROOTLY",numeric:52,creatable:!0},{name:"firehydrant",proto:"WEBHOOK_TYPE_FIREHYDRANT",numeric:53,creatable:!0},{name:"statuspage",proto:"WEBHOOK_TYPE_STATUSPAGE",numeric:54,creatable:!0},{name:"devrev",proto:"WEBHOOK_TYPE_DEVREV",numeric:55,creatable:!0},{name:"pylon",proto:"WEBHOOK_TYPE_PYLON",numeric:56,creatable:!1},{name:"plain",proto:"WEBHOOK_TYPE_PLAIN",numeric:57,creatable:!0}],ak=oc.filter(e=>e.creatable).map(e=>e.name),Cb="webhook",bX=Object.fromEntries(oc.map(e=>[e.name,e.proto])),ck={WEBHOOK_TYPE_UNSPECIFIED:"bearer",...Object.fromEntries(oc.map(e=>[e.proto,e.name]))},dk=Object.fromEntries(oc.map(e=>[e.numeric,e.name]));function fX(e){if(e)return{steps:(e.steps??[]).map(t=>({title:t.title??"",bodyMarkdown:t.bodyMarkdown??t.body_markdown??""})),fields:(e.fields??[]).map(hk),webhookUrl:e.webhookUrl??e.webhook_url??"",secretSource:uk(e.secretSource??e.secret_source)}}function uk(e){return e===1||e==="SECRET_SOURCE_AUGMENT_GENERATED"?"augment_generated":e===2||e==="SECRET_SOURCE_SERVICE_PROVIDED"?"service_provided":"unknown"}function hk(e){let t=e.valueKind??e.value_kind;return{label:e.label??"",value:e.value??"",valueKind:bk(t),literalValue:e.literalValue??e.literal_value??"",secret:e.secret===!0}}function bk(e){return e===1||e==="SETUP_FIELD_VALUE_KIND_WEBHOOK_URL"?"webhook_url":e===2||e==="SETUP_FIELD_VALUE_KIND_SECRET"?"secret":e===3||e==="SETUP_FIELD_VALUE_KIND_LITERAL"?"literal":"unknown"}function fk(e){let t=e.failedWebhookIds??e.failed_webhook_ids??[];return{success:e.success??t.length===0,deletedWebhookIds:e.deletedWebhookIds??e.deleted_webhook_ids??[],failedWebhookIds:t}}function rs(e){return{webhookId:e.webhookId??e.webhook_id??"",description:e.description,url:e.url,type:mk(e.type),active:e.active??!1,userId:e.userId??e.user_id,tenantId:e.tenantId??e.tenant_id,createdAt:Ak(e.createdAt??e.created_at),capturedHeaders:e.capturedHeaders??e.captured_headers??[],raw:e}}function mk(e){return typeof e=="number"?dk[e]??"bearer":e?ck[e]??"bearer":"bearer"}function Ak(e){if(!e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}var Xr=class e{static userAgent;instanceUserAgent;static setUserAgent(t){e.userAgent=pb(t)}static getUserAgent(){return e.userAgent??"augment-api-sdk"}apiToken;apiUrl;fetchImpl;sessionId=$S();logger;poseidonConfig;onExpertCapabilityMismatch;reportedExpertEndpoints=new Set;expertId;workflowId;constructor(t,n,r,o,i,s){let l="apiToken"in t?t:{apiToken:r??"",apiUrl:n??"",fetchImpl:s,logger:t,userAgent:o,apiCallTimeoutMs:i?.apiCallTimeoutMs};this.apiToken=l.apiToken,this.apiUrl=l.apiUrl.endsWith("/")?l.apiUrl:`${l.apiUrl}/`,this.instanceUserAgent=l.userAgent,this.fetchImpl=l.fetchImpl??globalThis.fetch,this.logger=l.logger??_J,this.onExpertCapabilityMismatch=l.onExpertCapabilityMismatch,this.poseidonConfig={...gb,...l.apiCallTimeoutMs===void 0?{}:{apiCallTimeoutMs:l.apiCallTimeoutMs}}}getRpcClient(){return fb({baseUrl:this.apiUrl,apiToken:this.apiToken,fetch:this.fetchImpl,sessionId:this.sessionId,expertId:()=>this.expertId,workflowId:()=>this.workflowId,userAgent:this.getUserAgent(),timeoutMs:this.poseidonConfig.apiCallTimeoutMs,errorReporting:t=>this.reportRequestFailure({bodyLength:t.bodyLength??0,endpoint:t.endpoint,error:t.error,requestId:t.requestId,startTime:t.startTime})})}getApiUrl(){return this.apiUrl}getAuthToken(){return this.apiToken}getUserAgent(){return e.userAgent??this.instanceUserAgent??"augment-api-sdk"}setUserAgent(t){e.setUserAgent(t)}getAuthHeaders(){return{Authorization:`Bearer ${this.apiToken}`,"User-Agent":this.getUserAgent()}}createRequestId(){return $S()}setExpertId(t){this.expertId=t}setWorkflowId(t){this.workflowId=t}async reportRequestFailure({bodyLength:t,endpoint:n,error:r,requestId:o,signal:i,startTime:s}){if(n==="report-error"||!jJ(r,i))return;let l=r instanceof So||r instanceof nc?r.status:2;await this.reportError(o,`${n} call failed with APIStatus ${QJ[l]??"unknown"}`,r.stack??"",[{key:"body_length",value:String(t)},{key:"start_time",value:String(s)},{key:"end_time",value:String(Date.now())},{key:"message",value:r.message}])}async request(t,n,r=this.createRequestId(),o,i=12e4,s=this.sessionId){let l=Date.now();try{return await this.requestWithoutReporting(t,n,r,o,i,s)}catch(a){let c=a instanceof Error?a:new Error(String(a));throw await this.reportRequestFailure({bodyLength:MJ(n),endpoint:t,error:c,requestId:r,signal:o,startTime:l}),a}}async requestWithoutReporting(t,n,r,o,i,s){let l=new Headers({"x-request-id":r,"x-request-session-id":s,...this.expertId?{"x-expert-id":this.expertId}:{},...this.workflowId?{"x-workflow-id":this.workflowId}:{}}),a=AbortSignal.timeout(i),c=o&&typeof AbortSignal.any=="function"?AbortSignal.any([o,a]):o??a,d;try{d=await this.fetchImpl(new URL(t,this.apiUrl),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiToken}`,"User-Agent":this.getUserAgent(),...Object.fromEntries(l),...process.env.AUGMENT_SOURCE_AGENT_ID?{"x-augment-source-agent-id":process.env.AUGMENT_SOURCE_AGENT_ID}:{}},body:JSON.stringify(n),signal:c})}catch(u){let h=u instanceof Error?u:void 0;throw new nc(`Augment request to ${new URL(t,this.apiUrl).toString()} failed: ${h?.message??String(u)}`,h)}if(!d.ok)throw await PJ(d,r);return d}async reportError(t,n,r,o){let i=r.replace(/ \(\/[^()]+\)/g,"");try{await this.requestWithoutReporting("report-error",{original_request_id:t,sanitized_message:n,stack_trace:i,diagnostics:o},this.createRequestId(),void 0,500,this.sessionId)}catch{}}poseidonRequestSessionId(){let t=process.env.AUGMENT_SOURCE_AGENT_ID;if(!t)return this.sessionId;try{return OJ(t)}catch(n){return this.logger.warn("Failed to derive request session ID: %s",String(n)),this.sessionId}}async callApi(t,n,r){let i=await(await this.request(t.replace(/^\//,""),n,void 0,r?.signal,r?.timeoutMs??this.poseidonConfig.apiCallTimeoutMs,this.poseidonRequestSessionId())).text();if(i)return this.base_parseJson(i,`Augment request to ${t}`)}async getTenantToolPermissions(t={}){let n=await this.callApi("settings/get-tenant-tool-permissions",{},{signal:t.signal,timeoutMs:3e4});try{return(qr(FS,KJ(n)).toolPermissionsSettings?.rules??[]).map(o=>{let i;switch(o.permission.case){case"simplePermission":i={type:o.permission.value.type};break;case"webhookPolicy":i={type:"webhook-policy",webhookUrl:o.permission.value.webhookUrl};break;case"scriptPolicy":i={type:"script-policy",script:o.permission.value.script};break;default:throw new Error("Missing permission")}return{toolName:o.toolName,permission:i,eventType:o.eventType||void 0,shellInputRegex:o.shellInputRegex||void 0}})}catch{throw new Error("Invalid tenant tool permissions response")}}async getModelConfig(){let t=await this.callApi("get-models",{});return{defaultModel:t.default_model??"",models:(t.models??[]).map(n=>({name:n.name??"",suggestedPrefixCharCount:n.suggested_prefix_char_count??0,suggestedSuffixCharCount:n.suggested_suffix_char_count??0,completionTimeoutMs:n.completion_timeout_ms,internalName:n.internal_name})),featureFlagsV2:qr(NS,xn(t.feature_flags??{}),{ignoreUnknownFields:!0}),userTier:s5(t.user_tier),user:t.user}}async chatFeedback(t){await this.callApi("chat-feedback",{request_id:t.requestId,rating:t.rating,note:t.note,mode:t.mode})}async chat(t,n,r,o,i,s,l,a,c,d,u,h,b,f,A){let V=await(await this.request("chat",{model:l,path:h,prefix:d,selected_code:c,suffix:u,message:n,chat_history:r,lang:b,blobs:tc(o),user_guided_blobs:i,external_source_ids:s,context_code_exchange_request_id:a,feature_detection_flags:{},...f?{system_prompt:f}:{},system_prompt_replacements:A??[]},t,void 0,3e5)).text();return this.toChatResult(V?JSON.parse(V):{})}async chatStream(t,n){let r=await this.request("chat-stream",i5(n),t,n.signal,12e5,typeof n.sessionId=="string"?n.sessionId:this.sessionId);if(!r.body)throw new So("Chat stream response had no body",r,t);let o=r.body.getReader(),i=l=>{try{return this.toChatResult(JSON.parse(l))}catch{return}};async function*s(){let l=new TextDecoder,a="";try{for(;;){let{done:d,value:u}=await o.read();if(d)break;a+=l.decode(u,{stream:!0});let h=a.indexOf(`
130
+ `)}`:"",h=typeof n=="string"?n.toUpperCase():String(n??"INFO").toUpperCase();return`${t} ${h.padEnd(5)}${l} ${r}${d}${u}`})),rJ=Le.default.format.combine(Le.default.format.timestamp(),Le.default.format.errors({stack:!0}),iZ(),Le.default.format(e=>{let t=e[Jh];return t!==void 0&&e.meta_level===void 0&&(e.meta_level=t),e})(),Le.default.format.json()),Qt,rZ=oZ;function oJ(e,t){rZ=e&&e!=="-"?BV(e):oZ;let n=t||process.env.LOG_LEVEL||"info",r=new Le.default.transports.File({filename:rZ,format:process.env.AUGMENT_LOG_FORMAT==="json"?rJ:nJ});Qt?(Qt.clear().add(r),Qt.level=n):Qt=Le.default.createLogger({level:n,transports:[r]})}var L=new Proxy({},{get(e,t,n){return Qt||oJ(),Reflect.get(Qt,t,n)}});function sZ(){let e=new Le.default.transports.Console({silent:!0});if(Qt){Qt.clear(),Qt.add(e);return}Qt=Le.default.createLogger({level:process.env.LOG_LEVEL||"info",transports:[e]})}var It=class extends Error{statusCode;statusText;responseBody;serverMessage;errorReason;constructor(t,n,r,o,i){let s=o??(r||void 0),l=s&&s.length>200?`${s.slice(0,200)}\u2026[truncated]`:s;super(l?`API call failed: ${t} ${n}: ${l}`:`API call failed: ${t} ${n}`),this.name="PoseidonRpcError",this.statusCode=t,this.statusText=n,this.responseBody=r,this.serverMessage=o,this.errorReason=i}get status(){return this.statusCode}},Hi=class extends Error{constructor(t){super(t),this.name="UsageError"}},fo=class extends Error{residentId;resourceVersion;constructor(t,n){super(`Unable to find resident ${t} or resource version ${n}`),this.name="ResidentVersionLookupError",this.residentId=t,this.resourceVersion=n}},mo;(function(e){e[e.REASON_UNSPECIFIED=0]="REASON_UNSPECIFIED",e[e.END_TURN=1]="END_TURN",e[e.MAX_TOKENS=2]="MAX_TOKENS",e[e.TOOL_USE_REQUESTED=3]="TOOL_USE_REQUESTED",e[e.SAFETY=4]="SAFETY",e[e.RECITATION=5]="RECITATION",e[e.MALFORMED_FUNCTION_CALL=6]="MALFORMED_FUNCTION_CALL",e[e.STOP_REASON_ERROR=7]="STOP_REASON_ERROR"})(mo||(mo={}));var kh;(function(e){e.chat="CHAT",e.agent="AGENT",e.remoteAgent="REMOTE_AGENT",e.orientation="ORIENTATION",e.cliAgent="CLI_AGENT",e.cliNoninteractive="CLI_NONINTERACTIVE"})(kh||(kh={}));var _h;(function(e){e[e.UNSET=0]="UNSET",e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=2]="NEGATIVE"})(_h||(_h={}));var Qh;(function(e){e[e.TEXT=0]="TEXT",e[e.TOOL_RESULT=1]="TOOL_RESULT",e[e.IMAGE=2]="IMAGE",e[e.IMAGE_ID=3]="IMAGE_ID",e[e.IDE_STATE=4]="IDE_STATE",e[e.EDIT_EVENTS=5]="EDIT_EVENTS",e[e.CHECKPOINT_REF=6]="CHECKPOINT_REF",e[e.FILE=8]="FILE",e[e.FILE_ID=9]="FILE_ID",e[e.HISTORY_SUMMARY=10]="HISTORY_SUMMARY"})(Qh||(Qh={}));var Th;(function(e){e[e.RAW_RESPONSE=0]="RAW_RESPONSE",e[e.SUGGESTED_QUESTIONS=1]="SUGGESTED_QUESTIONS",e[e.MAIN_TEXT_FINISHED=2]="MAIN_TEXT_FINISHED",e[e.WORKSPACE_FILE_CHUNKS=3]="WORKSPACE_FILE_CHUNKS",e[e.RELEVANT_SOURCES=4]="RELEVANT_SOURCES",e[e.TOOL_USE=5]="TOOL_USE",e[e.AGENT_MEMORY=6]="AGENT_MEMORY",e[e.TOOL_USE_START=7]="TOOL_USE_START",e[e.THINKING=8]="THINKING",e[e.BILLING_METADATA=9]="BILLING_METADATA",e[e.TOKEN_USAGE=10]="TOKEN_USAGE"})(Th||(Th={}));var Kh;(function(e){e[e.ALWAYS_ATTACHED=0]="ALWAYS_ATTACHED",e[e.MANUAL=1]="MANUAL",e[e.AGENT_REQUESTED=2]="AGENT_REQUESTED"})(Kh||(Kh={}));var D;(function(e){e[e.Canceled=1]="Canceled",e[e.Unknown=2]="Unknown",e[e.InvalidArgument=3]="InvalidArgument",e[e.DeadlineExceeded=4]="DeadlineExceeded",e[e.NotFound=5]="NotFound",e[e.AlreadyExists=6]="AlreadyExists",e[e.PermissionDenied=7]="PermissionDenied",e[e.ResourceExhausted=8]="ResourceExhausted",e[e.FailedPrecondition=9]="FailedPrecondition",e[e.Aborted=10]="Aborted",e[e.OutOfRange=11]="OutOfRange",e[e.Unimplemented=12]="Unimplemented",e[e.Internal=13]="Internal",e[e.Unavailable=14]="Unavailable",e[e.DataLoss=15]="DataLoss",e[e.Unauthenticated=16]="Unauthenticated"})(D||(D={}));function Mi(e){let t=D[e];return typeof t!="string"?e.toString():t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase())}var Ya;function lZ(e){if(!Ya){Ya={};for(let t of Object.values(D))typeof t!="string"&&(Ya[Mi(t)]=t)}return Ya[e]}var se=class e extends Error{constructor(t,n=D.Unknown,r,o,i){super(iJ(t,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=t,this.code=n,this.metadata=new Headers(r??{}),this.details=o??[],this.cause=i}static from(t,n=D.Unknown){return t instanceof e?t:t instanceof Error?t.name=="AbortError"||t.name=="TimeoutError"?new e(t.message,D.Canceled):new e(t.message,n,void 0,void 0,t):new e(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===e.prototype?!0:t.name==="ConnectError"&&"code"in t&&typeof t.code=="number"&&"metadata"in t&&"details"in t&&Array.isArray(t.details)&&"rawMessage"in t&&typeof t.rawMessage=="string"&&"cause"in t:!1}findDetails(t){let n=t.kind==="message"?{getMessage:o=>o===t.typeName?t:void 0}:t,r=[];for(let o of this.details){if("desc"in o){n.getMessage(o.desc.typeName)&&r.push(Je(o.desc,o.value));continue}let i=n.getMessage(o.type);if(i)try{r.push(rn(i,o.value))}catch{}}return r}};function iJ(e,t){return e.length?`[${Mi(t)}] ${e}`:`[${Mi(t)}]`}function zh(...e){let t=new Headers;for(let n of e)n.forEach((r,o)=>{t.append(o,r)});return t}function aZ(e,t){let n={};for(let r of e.methods){let o=t(r);o!=null&&(n[r.localName]=o)}return n}var ya=1;function cZ(e,t,n=!1){if(t>e){let r=`message size is larger than configured readMaxBytes ${e}`;throw n&&(r=`message size ${t} is larger than configured readMaxBytes ${e}`),new se(r,D.ResourceExhausted)}}function sJ(e){return new Dh(e)}var Dh=class{constructor(t){this.readMaxBytes=t,this.header=new Uint8Array(5),this.headerView=new DataView(this.header.buffer),this.buf=[]}get byteLength(){return this.buf.reduce((t,n)=>t+n.byteLength,0)}decode(t){this.buf.push(t);let n=[];for(;;){let r=this.pop();if(!r)break;n.push(r)}return n}pop(){if(!(!this.env&&(this.env=this.head(),!this.env))&&this.cons(this.env.data)){let t=this.env;return this.env=void 0,t}}head(){if(!this.cons(this.header))return;let t=this.headerView.getUint8(0),n=this.headerView.getUint32(1);return cZ(this.readMaxBytes,n,!0),{flags:t,data:new Uint8Array(n)}}cons(t){let n=t.byteLength;if(this.byteLength<n)return!1;let r=0;for(;r<n;){let o=this.buf.shift();o.byteLength>n-r?(t.set(o.subarray(0,n-r),r),this.buf.unshift(o.subarray(n-r)),r+=n-r):(t.set(o,r),r+=o.byteLength)}return!0}};function Lh(e){let t,n=sJ(4294967295);return new ReadableStream({start(){t=e.getReader()},async pull(r){let o=!1;for(;!o;){let i=await t.read();if(i.done)n.byteLength>0&&r.error(new se("protocol error: incomplete envelope",D.InvalidArgument)),r.close();else for(let s of n.decode(i.value))r.enqueue(s),o=!0}}})}function Hh(e,t){let n=new Uint8Array(t.length+5);n.set(t,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,e),r.setUint32(1,t.length),n}var lJ=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(l,a){s=e[i](s),o(l,a,s.done,s.value)})}}function o(i,s,l,a){Promise.resolve(a).then(function(c){i({value:c,done:l})},s)}},Oi=function(e){return this instanceof Oi?(this.v=e,this):new Oi(e)},aJ=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(f){return Promise.resolve(f).then(b,u)}}function l(b,f){r[b]&&(o[b]=function(A){return new Promise(function(m,V){i.push([b,A,m,V])>1||a(b,A)})},f&&(o[b]=f(o[b])))}function a(b,f){try{c(r[b](f))}catch(A){h(i[0][3],A)}}function c(b){b.value instanceof Oi?Promise.resolve(b.value.v).then(d,u):h(i[0][2],b)}function d(b){a("next",b)}function u(b){a("throw",b)}function h(b,f){b(f),i.shift(),i.length&&a(i[0][0],i[0][1])}},cJ=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,i){t[o]=e[o]?function(s){return(n=!n)?{value:Oi(e[o](s)),done:!1}:i?i(s):s}:i}};function dZ(e){return aJ(this,arguments,function*(){yield Oi(yield*cJ(lJ(e)))})}var uZ=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(l,a){s=e[i](s),o(l,a,s.done,s.value)})}}function o(i,s,l,a){Promise.resolve(a).then(function(c){i({value:c,done:l})},s)}},Ao=function(e){return this instanceof Ao?(this.v=e,this):new Ao(e)},dJ=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,i){t[o]=e[o]?function(s){return(n=!n)?{value:Ao(e[o](s)),done:!1}:i?i(s):s}:i}},uJ=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(f){return Promise.resolve(f).then(b,u)}}function l(b,f){r[b]&&(o[b]=function(A){return new Promise(function(m,V){i.push([b,A,m,V])>1||a(b,A)})},f&&(o[b]=f(o[b])))}function a(b,f){try{c(r[b](f))}catch(A){h(i[0][3],A)}}function c(b){b.value instanceof Ao?Promise.resolve(b.value.v).then(d,u):h(i[0][2],b)}function d(b){a("next",b)}function u(b){a("throw",b)}function h(b,f){b(f),i.shift(),i.length&&a(i[0][0],i[0][1])}};function Mh(e,t){return aZ(e,n=>{switch(n.methodKind){case"unary":return hJ(t,n);case"server_streaming":return bJ(t,n);case"client_streaming":return fJ(t,n);case"bidi_streaming":return mJ(t,n);default:return null}})}function hJ(e,t){return async(n,r)=>{var o,i;let s=await e.unary(t,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);return(o=r?.onHeader)===null||o===void 0||o.call(r,s.header),(i=r?.onTrailer)===null||i===void 0||i.call(r,s.trailer),s.message}}function bJ(e,t){return(n,r)=>hZ(e.stream(t,r?.signal,r?.timeoutMs,r?.headers,dZ([n]),r?.contextValues),r)}function fJ(e,t){return async(n,r)=>{var o,i,s,l,a,c;let d=await e.stream(t,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues);(a=r?.onHeader)===null||a===void 0||a.call(r,d.header);let u,h=0;try{for(var b=!0,f=uZ(d.message),A;A=await f.next(),o=A.done,!o;b=!0)l=A.value,b=!1,u=l,h++}catch(m){i={error:m}}finally{try{!b&&!o&&(s=f.return)&&await s.call(f)}finally{if(i)throw i.error}}if(!u)throw new se("protocol error: missing response message",D.Unimplemented);if(h>1)throw new se("protocol error: received extra messages for client streaming method",D.Unimplemented);return(c=r?.onTrailer)===null||c===void 0||c.call(r,d.trailer),u}}function mJ(e,t){return(n,r)=>hZ(e.stream(t,r?.signal,r?.timeoutMs,r?.headers,n,r?.contextValues),r)}function hZ(e,t){let n=(function(){return uJ(this,arguments,function*(){var r,o;let i=yield Ao(e);(r=t?.onHeader)===null||r===void 0||r.call(t,i.header),yield Ao(yield*dJ(uZ(i.message))),(o=t?.onTrailer)===null||o===void 0||o.call(t,i.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function bZ(...e){let t=new AbortController,n=e.filter(o=>o!==void 0).concat(t.signal);for(let o of n){if(o.aborted){r.apply(o);break}o.addEventListener("abort",r)}function r(){t.signal.aborted||t.abort(Oh(this));for(let o of n)o.removeEventListener("abort",r)}return t}function fZ(e){let t=new AbortController,n=()=>{t.abort(new se("the operation timed out",D.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function Oh(e){if(!e.aborted)return;if(e.reason!==void 0)return e.reason;let t=new Error("This operation was aborted");return t.name="AbortError",t}function wa(){return{get(e){return e.id in this?this[e.id]:e.defaultValue},set(e,t){return this[e.id]=t,this},delete(e){return delete this[e.id],this}}}function Ua(e,t,...n){if(n.length>0)throw new Error;return e.services[t]}function xa(e,t){return e.toString().replace(/\/?$/,`/${t.parent.typeName}/${t.name}`)}function jh(e,t){return Je(e,t)}function mZ(e,t){function n(r){return r.done===!0?r:{done:r.done,value:jh(e,r.value)}}return{[Symbol.asyncIterator](){let r=t[Symbol.asyncIterator](),o={next:()=>r.next().then(n)};return r.throw!==void 0&&(o.throw=i=>r.throw(i).then(n)),r.return!==void 0&&(o.return=i=>r.return(i).then(n)),o}}}function Ph(e,t){if(!t)return e;for(let n of t.concat().reverse())e=n(e);return e}function va(e){var t;let n=Object.assign({},e);return(t=n.ignoreUnknownFields)!==null&&t!==void 0||(n.ignoreUnknownFields=!0),n}function Ja(e,t,n,r){let o=t?AZ(e.input,r):VZ(e.input,n);return{parse:(t?AZ(e.output,r):VZ(e.output,n)).parse,serialize:o.serialize}}function AZ(e,t){return{parse(n){try{return rn(e,n,t)}catch(r){let o=r instanceof Error?r.message:String(r);throw new se(`parse binary: ${o}`,D.Internal)}},serialize(n){try{return pi(e,n,t)}catch(r){let o=r instanceof Error?r.message:String(r);throw new se(`serialize binary: ${o}`,D.Internal)}}}}function VZ(e,t){var n,r;let o=(n=t?.textEncoder)!==null&&n!==void 0?n:new TextEncoder,i=(r=t?.textDecoder)!==null&&r!==void 0?r:new TextDecoder,s=va(t);return{parse(l){try{let a=i.decode(l);return WV(e,a,s)}catch(a){throw se.from(a,D.InvalidArgument)}},serialize(l){try{let a=EV(e,l,s);return o.encode(a)}catch(a){throw se.from(a,D.Internal)}}}}var AJ=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;var gZ="application/proto",pZ="application/json",EZ="application/connect+proto",RZ="application/connect+json";function ZZ(e){let t=e?.match(AJ);if(!t)return;let n=!!t[1],r=!!t[3];return{stream:n,binary:r}}function ji(e,t,n){var r;if(t&&new Headers(t).forEach((l,a)=>n.metadata.append(a,l)),typeof e!="object"||e==null||Array.isArray(e))throw n;let o=n.code;"code"in e&&typeof e.code=="string"&&(o=(r=lZ(e.code))!==null&&r!==void 0?r:o);let i=e.message;if(i!=null&&typeof i!="string")throw n;let s=new se(i??"",o,t);if("details"in e&&Array.isArray(e.details))for(let l of e.details){if(l===null||typeof l!="object"||Array.isArray(l)||typeof l.type!="string"||typeof l.value!="string")throw n;try{s.details.push({type:l.type,value:Hr(l.value),debug:l.debug})}catch{throw n}}return s}var ka=2;function qh(e){let t=new se("invalid end stream",D.Unknown),n;try{n=JSON.parse(typeof e=="string"?e:new TextDecoder().decode(e))}catch{throw t}if(typeof n!="object"||n==null||Array.isArray(n))throw t;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw t;for(let[i,s]of Object.entries(n.metadata)){if(!Array.isArray(s)||s.some(l=>typeof l!="string"))throw t;for(let l of s)r.append(i,l)}}let o="error"in n&&n.error!=null?ji(n.error,r,t):void 0;return{metadata:r,error:o}}var gr="Content-Type",SZ="Content-Length",Pi="Content-Encoding";var $h="Accept-Encoding";var XZ="Connect-Timeout-Ms",_a="Connect-Protocol-Version",eb="User-Agent";function WZ(e){switch(e){case 400:return D.Internal;case 401:return D.Unauthenticated;case 403:return D.PermissionDenied;case 404:return D.Unimplemented;case 429:return D.Unavailable;case 502:return D.Unavailable;case 503:return D.Unavailable;case 504:return D.Unavailable;default:return D.Unknown}}function Qa(e){let t=new Headers,n=new Headers;return e.forEach((r,o)=>{o.toLowerCase().startsWith("trailer-")?n.append(o.substring(8),r):t.append(o,r)}),[t,n]}var Ta="1";function Ka(e,t,n,r,o){let i=new Headers(r??{});return n!==void 0&&i.set(XZ,`${n}`),i.set(gr,e=="unary"?t?gZ:pZ:t?EZ:RZ),i.set(_a,Ta),!i.has(eb)&&o&&i.set(eb,"connect-es/2.0.4"),i}function za(e,t,n,r){let o=r.get(gr),i=ZZ(o);if(n!==200){let l=new se(`HTTP ${n}`,WZ(n),r);if(e=="unary"&&i&&!i.binary)return{isUnaryError:!0,unaryError:l};throw l}let s={binary:t,stream:e!=="unary"};if(i?.binary!==s.binary||i.stream!==s.stream)throw new se(`unsupported content type ${o}`,i===void 0?D.Unknown:D.Internal,r);return{isUnaryError:!1}}var GZ="application/";function pJ(e,t){return t?mi(e,"url"):encodeURIComponent(new TextDecoder().decode(e))}function tb(e,t,n){let r=`?connect=v${Ta}`,o=e.header.get(gr);o?.indexOf(GZ)===0&&(r+="&encoding="+encodeURIComponent(o.slice(GZ.length)));let i=e.header.get(Pi);i!==null&&i!=="identity"&&(r+="&compression="+encodeURIComponent(i),n=!0),n&&(r+="&base64=1"),r+="&message="+pJ(t,n);let s=e.url+r,l=new Headers(e.header);for(let a of[_a,gr,SZ,Pi,$h])l.delete(a);return Object.assign(Object.assign({},e),{requestMethod:"GET",url:s,header:l})}function nb(e){let t=Ph(e.next,e.interceptors),[n,r,o]=IZ(e),i=Object.assign(Object.assign({},e.req),{message:jh(e.req.method.input,e.req.message),signal:n});return t(i).then(s=>(o(),s),r)}function rb(e){let t=Ph(e.next,e.interceptors),[n,r,o]=IZ(e),i=Object.assign(Object.assign({},e.req),{message:mZ(e.req.method.input,e.req.message),signal:n}),s=!1;return n.addEventListener("abort",function(){var l,a;let c=e.req.message[Symbol.asyncIterator]();s||(l=c.throw)===null||l===void 0||l.call(c,this.reason).catch(()=>{}),(a=c.return)===null||a===void 0||a.call(c).catch(()=>{})}),t(i).then(l=>Object.assign(Object.assign({},l),{message:{[Symbol.asyncIterator](){let a=l.message[Symbol.asyncIterator]();return{next(){return a.next().then(c=>(c.done==!0&&(s=!0,o()),c),r)}}}}}),r)}function IZ(e){let{signal:t,cleanup:n}=fZ(e.timeoutMs),r=bZ(e.signal,t);return[r.signal,function(i){let s=se.from(t.aborted?Oh(t):i);return r.abort(s),n(),Promise.reject(s)},function(){n(),r.abort()}]}var NZ=k("ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIjCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUSEAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJSAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNoGAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgMIAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwKBGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJnCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8z");var qi=k("Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzM",[NZ,nn]),FZ=qd(qi,0);var Yn=k("Chdnb29nbGUvcnBjL3N0YXR1cy5wcm90bxIKZ29vZ2xlLnJwYyJOCgZTdGF0dXMSDAoEY29kZRgBIAEoBRIPCgdtZXNzYWdlGAIgASgJEiUKB2RldGFpbHMYAyADKAsyFC5nb29nbGUucHJvdG9idWYuQW55QmEKDmNvbS5nb29nbGUucnBjQgtTdGF0dXNQcm90b1ABWjdnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL3JwYy9zdGF0dXM7c3RhdHVz+AEBogIDUlBDYgZwcm90bzM",[rr]);var Vt=k("CiBiYXNlL2Jsb2JfbmFtZXMvYmxvYl9uYW1lcy5wcm90bxIPYmFzZS5ibG9iX25hbWVzImcKBUJsb2JzEiMKFmJhc2VsaW5lX2NoZWNrcG9pbnRfaWQYASABKAlIAIgBARINCgVhZGRlZBgCIAMoDBIPCgdkZWxldGVkGAMgAygMQhkKF19iYXNlbGluZV9jaGVja3BvaW50X2lkYgZwcm90bzM");var CZ=k("Ci9zZXJ2aWNlcy9iaWxsaW5nL2NlbnRyYWwvYmlsbGluZ19lbnRpdGllcy5wcm90bxIHYmlsbGluZypPCglVc2FnZVVuaXQSFgoSVVNBR0VfVU5JVF9VTktOT1dOEAASFgoSVVNBR0VfVU5JVF9DUkVESVRTEAESEgoOVVNBR0VfVU5JVF9VU0QQAkJQWk5naXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYmlsbGluZy9jZW50cmFsL2JpbGxpbmdfZW50aXRpZXNfcHJvdG9iBnByb3RvMw",[ee]),BZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CREDITS=1]="CREDITS",e[e.USD=2]="USD"})(BZ||(BZ={}));var JZ=k("Ch1zZXJ2aWNlcy9saWIvcHJvdG8vY2hhdC5wcm90bxIEY2hhdCJ+ChVDaGF0UmVxdWVzdEVkaXRFdmVudHMSLgoLZWRpdF9ldmVudHMYASADKAsyGS5jaGF0LkNoYXRSZXF1ZXN0RmlsZUVkaXQSKgoGc291cmNlGAIgASgOMhUuY2hhdC5FZGl0RXZlbnRTb3VyY2VIAIgBAUIJCgdfc291cmNlIoYBCg9DaGF0UmVxdWVzdEZpbGUSEQoJZmlsZV9kYXRhGAEgASgJEhIKCm1lZGlhX3R5cGUYAiABKAkSFgoJZmlsZV9uYW1lGAMgASgJSACIAQESFwoKcGFnZV9jb3VudBgEIAEoBUgBiAEBQgwKCl9maWxlX25hbWVCDQoLX3BhZ2VfY291bnQitQEKE0NoYXRSZXF1ZXN0RmlsZUVkaXQSDAoEcGF0aBgBIAEoCRIdChBiZWZvcmVfYmxvYl9uYW1lGAIgASgJSACIAQESHAoPYWZ0ZXJfYmxvYl9uYW1lGAMgASgJSAGIAQESKgoFZWRpdHMYBCADKAsyGy5jaGF0LkNoYXRSZXF1ZXN0U2luZ2xlRWRpdEITChFfYmVmb3JlX2Jsb2JfbmFtZUISChBfYWZ0ZXJfYmxvYl9uYW1lIrgBChNDaGF0UmVxdWVzdElkZVN0YXRlEjQKEXdvcmtzcGFjZV9mb2xkZXJzGAEgAygLMhkuY2hhdC5Xb3Jrc3BhY2VGb2xkZXJJbmZvEiMKG3dvcmtzcGFjZV9mb2xkZXJzX3VuY2hhbmdlZBgCIAEoCBIxChBjdXJyZW50X3Rlcm1pbmFsGAMgASgLMhIuY2hhdC5UZXJtaW5hbEluZm9IAIgBAUITChFfY3VycmVudF90ZXJtaW5hbCJNChBDaGF0UmVxdWVzdEltYWdlEhIKCmltYWdlX2RhdGEYASABKAkSJQoGZm9ybWF0GAIgASgOMhUuY2hhdC5JbWFnZUZvcm1hdFR5cGUidQoVQ2hhdFJlcXVlc3RTaW5nbGVFZGl0EhkKEWJlZm9yZV9saW5lX3N0YXJ0GAEgASgNEhMKC2JlZm9yZV90ZXh0GAIgASgJEhgKEGFmdGVyX2xpbmVfc3RhcnQYAyABKA0SEgoKYWZ0ZXJfdGV4dBgEIAEoCSIiCg9DaGF0UmVxdWVzdFRleHQSDwoHY29udGVudBgBIAEoCSLxAgoVQ2hhdFJlcXVlc3RUb29sUmVzdWx0EhMKC3Rvb2xfdXNlX2lkGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSEAoIaXNfZXJyb3IYAyABKAgSFwoKcmVxdWVzdF9pZBgEIAEoCUgAiAEBEjIKDWNvbnRlbnRfbm9kZXMYBSADKAsyGy5jaGF0LlRvb2xSZXN1bHRDb250ZW50Tm9kZRIYCgtkdXJhdGlvbl9tcxgGIAEoA0gBiAEBEhoKDXN0YXJ0X3RpbWVfbXMYByABKANIAogBARI7CghtZXRhZGF0YRgIIAMoCzIpLmNoYXQuQ2hhdFJlcXVlc3RUb29sUmVzdWx0Lk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg0KC19yZXF1ZXN0X2lkQg4KDF9kdXJhdGlvbl9tc0IQCg5fc3RhcnRfdGltZV9tcyLaAQoWQ2hhdFJlc3VsdE5vZGVNZXRhZGF0YRIWCglvcGVuYWlfaWQYASABKAlIAIgBARIWCglnb29nbGVfdHMYAiABKAxIAYgBARIVCghwcm92aWRlchgDIAEoCUgCiAEBEhIKBXBoYXNlGAQgASgJSAOIAQESHQoQc291cmNlX2V2ZW50X3NlcRgFIAEoA0gEiAEBQgwKCl9vcGVuYWlfaWRCDAoKX2dvb2dsZV90c0ILCglfcHJvdmlkZXJCCAoGX3BoYXNlQhMKEV9zb3VyY2VfZXZlbnRfc2VxItoBChJDaGF0UmVzdWx0VGhpbmtpbmcSFAoHc3VtbWFyeRgBIAEoCUgAiAEBEh4KEWVuY3J5cHRlZF9jb250ZW50GAIgASgJSAGIAQESFAoHY29udGVudBgDIAEoCUgCiAEBEikKHG9wZW5haV9yZXNwb25zZXNfYXBpX2l0ZW1faWQYBCABKAlIA4gBAUIKCghfc3VtbWFyeUIUChJfZW5jcnlwdGVkX2NvbnRlbnRCCgoIX2NvbnRlbnRCHwodX29wZW5haV9yZXNwb25zZXNfYXBpX2l0ZW1faWQi4AUKFENoYXRSZXN1bHRUb2tlblVzYWdlEhkKDGlucHV0X3Rva2VucxgBIAEoBUgAiAEBEhoKDW91dHB1dF90b2tlbnMYAiABKAVIAYgBARIkChdjYWNoZV9yZWFkX2lucHV0X3Rva2VucxgDIAEoBUgCiAEBEigKG2NhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucxgEIAEoBUgDiAEBEiEKFHN5c3RlbV9wcm9tcHRfdG9rZW5zGAUgASgFSASIAQESIAoTY2hhdF9oaXN0b3J5X3Rva2VucxgGIAEoBUgFiAEBEiMKFmN1cnJlbnRfbWVzc2FnZV90b2tlbnMYByABKAVIBogBARIfChJtYXhfY29udGV4dF90b2tlbnMYCCABKAVIB4gBARIkChd0b29sX2RlZmluaXRpb25zX3Rva2VucxgJIAEoBUgIiAEBEh8KEnRvb2xfcmVzdWx0X3Rva2VucxgKIAEoBUgJiAEBEiYKGWFzc2lzdGFudF9yZXNwb25zZV90b2tlbnMYCyABKAVICogBARIeChFtYXhfb3V0cHV0X3Rva2VucxgMIAEoBUgLiAEBQg8KDV9pbnB1dF90b2tlbnNCEAoOX291dHB1dF90b2tlbnNCGgoYX2NhY2hlX3JlYWRfaW5wdXRfdG9rZW5zQh4KHF9jYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnNCFwoVX3N5c3RlbV9wcm9tcHRfdG9rZW5zQhYKFF9jaGF0X2hpc3RvcnlfdG9rZW5zQhkKF19jdXJyZW50X21lc3NhZ2VfdG9rZW5zQhUKE19tYXhfY29udGV4dF90b2tlbnNCGgoYX3Rvb2xfZGVmaW5pdGlvbnNfdG9rZW5zQhUKE190b29sX3Jlc3VsdF90b2tlbnNCHAoaX2Fzc2lzdGFudF9yZXNwb25zZV90b2tlbnNCFAoSX21heF9vdXRwdXRfdG9rZW5zImMKEUNoYXRSZXN1bHRUb29sVXNlEhMKC3Rvb2xfdXNlX2lkGAEgASgJEhEKCXRvb2xfbmFtZRgCIAEoCRISCgppbnB1dF9qc29uGAMgASgJEhIKCmlzX3BhcnRpYWwYBCABKAgiRgoMVGVybWluYWxJbmZvEhMKC3Rlcm1pbmFsX2lkGAEgASgNEiEKGWN1cnJlbnRfd29ya2luZ19kaXJlY3RvcnkYAiABKAkiTgoOVG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIZChFpbnB1dF9zY2hlbWFfanNvbhgDIAEoCSK4AQoVVG9vbFJlc3VsdENvbnRlbnROb2RlEi0KBHR5cGUYASABKA4yHy5jaGF0LlRvb2xSZXN1bHRDb250ZW50Tm9kZVR5cGUSGQoMdGV4dF9jb250ZW50GAIgASgJSACIAQESMgoNaW1hZ2VfY29udGVudBgDIAEoCzIWLmNoYXQuQ2hhdFJlcXVlc3RJbWFnZUgBiAEBQg8KDV90ZXh0X2NvbnRlbnRCEAoOX2ltYWdlX2NvbnRlbnQiQwoTV29ya3NwYWNlRm9sZGVySW5mbxIXCg9yZXBvc2l0b3J5X3Jvb3QYASABKAkSEwoLZm9sZGVyX3Jvb3QYAiABKAkqqQEKE0NoYXRSZXF1ZXN0Tm9kZVR5cGUSCAoEVEVYVBAAEg8KC1RPT0xfUkVTVUxUEAESCQoFSU1BR0UQAhIMCghJTUFHRV9JRBADEg0KCUlERV9TVEFURRAEEg8KC0VESVRfRVZFTlRTEAUSEgoOQ0hFQ0tQT0lOVF9SRUYQBhIICgRGSUxFEAgSCwoHRklMRV9JRBAJEhMKD0hJU1RPUllfU1VNTUFSWRAKKusBChJDaGF0UmVzdWx0Tm9kZVR5cGUSEAoMUkFXX1JFU1BPTlNFEAASFwoTU1VHR0VTVEVEX1FVRVNUSU9OUxABEhYKEk1BSU5fVEVYVF9GSU5JU0hFRBACEhkKFVdPUktTUEFDRV9GSUxFX0NIVU5LUxADEhQKEFJFTEVWQU5UX1NPVVJDRVMQBBIMCghUT09MX1VTRRAFEhIKDlRPT0xfVVNFX1NUQVJUEAcSDAoIVEhJTktJTkcQCBIUChBCSUxMSU5HX01FVEFEQVRBEAkSDwoLVE9LRU5fVVNBR0UQCiIECAYQBiIECAsQCyquAQoOQ2hhdFN0b3BSZWFzb24SFgoSUkVBU09OX1VOU1BFQ0lGSUVEEAASDAoIRU5EX1RVUk4QARIOCgpNQVhfVE9LRU5TEAISFgoSVE9PTF9VU0VfUkVRVUVTVEVEEAMSCgoGU0FGRVRZEAQSDgoKUkVDSVRBVElPThAFEhsKF01BTEZPUk1FRF9GVU5DVElPTl9DQUxMEAYSFQoRU1RPUF9SRUFTT05fRVJST1IQBypICg9FZGl0RXZlbnRTb3VyY2USDwoLVU5TUEVDSUZJRUQQABINCglVU0VSX0VESVQQARIVChFDSEVDS1BPSU5UX1JFVkVSVBACKlUKD0ltYWdlRm9ybWF0VHlwZRIcChhJTUFHRV9GT1JNQVRfVU5TUEVDSUZJRUQQABIHCgNQTkcQARIICgRKUEVHEAISBwoDR0lGEAMSCAoEV0VCUBAEKl4KGVRvb2xSZXN1bHRDb250ZW50Tm9kZVR5cGUSHAoYQ09OVEVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASEAoMQ09OVEVOVF9URVhUEAESEQoNQ09OVEVOVF9JTUFHRRACQjhaNmdpdGh1Yi5jb20vYXVnbWVudGNvZGUvYXVnbWVudC9zZXJ2aWNlcy9saWIvcHJvdG8vY2hhdGIGcHJvdG8z");var YZ;(function(e){e[e.TEXT=0]="TEXT",e[e.TOOL_RESULT=1]="TOOL_RESULT",e[e.IMAGE=2]="IMAGE",e[e.IMAGE_ID=3]="IMAGE_ID",e[e.IDE_STATE=4]="IDE_STATE",e[e.EDIT_EVENTS=5]="EDIT_EVENTS",e[e.CHECKPOINT_REF=6]="CHECKPOINT_REF",e[e.FILE=8]="FILE",e[e.FILE_ID=9]="FILE_ID",e[e.HISTORY_SUMMARY=10]="HISTORY_SUMMARY"})(YZ||(YZ={}));var yZ;(function(e){e[e.RAW_RESPONSE=0]="RAW_RESPONSE",e[e.SUGGESTED_QUESTIONS=1]="SUGGESTED_QUESTIONS",e[e.MAIN_TEXT_FINISHED=2]="MAIN_TEXT_FINISHED",e[e.WORKSPACE_FILE_CHUNKS=3]="WORKSPACE_FILE_CHUNKS",e[e.RELEVANT_SOURCES=4]="RELEVANT_SOURCES",e[e.TOOL_USE=5]="TOOL_USE",e[e.TOOL_USE_START=7]="TOOL_USE_START",e[e.THINKING=8]="THINKING",e[e.BILLING_METADATA=9]="BILLING_METADATA",e[e.TOKEN_USAGE=10]="TOKEN_USAGE"})(yZ||(yZ={}));var wZ;(function(e){e[e.REASON_UNSPECIFIED=0]="REASON_UNSPECIFIED",e[e.END_TURN=1]="END_TURN",e[e.MAX_TOKENS=2]="MAX_TOKENS",e[e.TOOL_USE_REQUESTED=3]="TOOL_USE_REQUESTED",e[e.SAFETY=4]="SAFETY",e[e.RECITATION=5]="RECITATION",e[e.MALFORMED_FUNCTION_CALL=6]="MALFORMED_FUNCTION_CALL",e[e.STOP_REASON_ERROR=7]="STOP_REASON_ERROR"})(wZ||(wZ={}));var UZ;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.USER_EDIT=1]="USER_EDIT",e[e.CHECKPOINT_REVERT=2]="CHECKPOINT_REVERT"})(UZ||(UZ={}));var xZ;(function(e){e[e.IMAGE_FORMAT_UNSPECIFIED=0]="IMAGE_FORMAT_UNSPECIFIED",e[e.PNG=1]="PNG",e[e.JPEG=2]="JPEG",e[e.GIF=3]="GIF",e[e.WEBP=4]="WEBP"})(xZ||(xZ={}));var vZ;(function(e){e[e.CONTENT_TYPE_UNSPECIFIED=0]="CONTENT_TYPE_UNSPECIFIED",e[e.CONTENT_TEXT=1]="CONTENT_TEXT",e[e.CONTENT_IMAGE=2]="CONTENT_IMAGE"})(vZ||(vZ={}));var yn=k("Ch1zZXJ2aWNlcy9jaGF0X2hvc3QvY2hhdC5wcm90bxIEY2hhdCJECg9CcmluZ1lvdXJPd25LZXkSJAoIcHJvdmlkZXIYASABKA4yEi5jaGF0LkJZT0tQcm92aWRlchILCgNrZXkYAiABKAki6AMKEENoYW5nZWRGaWxlU3RhdHMSNwoQYWRkZWRfZmlsZV9zdGF0cxgBIAEoCzIdLmNoYXQuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSOAoRYnJva2VuX2ZpbGVfc3RhdHMYAiABKAsyHS5jaGF0LlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEjgKEWNvcGllZF9maWxlX3N0YXRzGAMgASgLMh0uY2hhdC5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxI5ChJkZWxldGVkX2ZpbGVfc3RhdHMYBCABKAsyHS5jaGF0LlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEjoKE21vZGlmaWVkX2ZpbGVfc3RhdHMYBSABKAsyHS5jaGF0LlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEjkKEnJlbmFtZWRfZmlsZV9zdGF0cxgGIAEoCzIdLmNoYXQuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSOgoTdW5tZXJnZWRfZmlsZV9zdGF0cxgHIAEoCzIdLmNoYXQuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSOQoSdW5rbm93bl9maWxlX3N0YXRzGAggASgLMh0uY2hhdC5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cyLxAQoZQ2hhdEZlYXR1cmVEZXRlY3Rpb25GbGFncxIlChhzdXBwb3J0X3JlbGV2YW50X3NvdXJjZXMYAyABKAhIAIgBARIjChZzdXBwb3J0X3Rvb2xfdXNlX3N0YXJ0GAQgASgISAGIAQESJgoZc3VwcG9ydF9wYXJhbGxlbF90b29sX3VzZRgFIAEoCEgCiAEBQhsKGV9zdXBwb3J0X3JlbGV2YW50X3NvdXJjZXNCGQoXX3N1cHBvcnRfdG9vbF91c2Vfc3RhcnRCHAoaX3N1cHBvcnRfcGFyYWxsZWxfdG9vbF91c2VKBAgBEAJKBAgCEAMiywYKE0NoYXRIaXN0b3J5TWV0YWRhdGESJgoJY2hhdF9tb2RlGAEgASgOMg4uY2hhdC5DaGF0TW9kZUgAiAEBEjMKCmNyZWF0ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESFgoJaXNfc2lsZW50GAMgASgISAKIAQESGgoNaXNfc3VjY2Vzc2Z1bBgEIAEoCEgDiAEBEhcKCm1vZGVsX25hbWUYBSABKAlIBIgBARIXCgpyZXF1ZXN0X2lkGAYgASgJSAWIAQESFAoHdHVybl9pZBgHIAEoCUgGiAEBEiMKFnBhcmVudF9jb252ZXJzYXRpb25faWQYCCABKAlIB4gBARIhChRyb290X2NvbnZlcnNhdGlvbl9pZBgJIAEoCUgIiAEBEigKG3BlcnNpc3RlZF90aHJvdWdoX2V2ZW50X3NlcRgKIAEoA0gJiAEBEhcKCmlzX3BhcnRpYWwYCyABKAhICogBARIcCg9zdWJzY3JpcHRpb25faWQYDCABKAlIC4gBARIbCg5zZW5kZXJfdXNlcl9pZBgNIAEoCUgMiAEBEjMKE3Zmc19maWxlX3JlZmVyZW5jZXMYDiADKAsyFi5jaGF0LlZGU0ZpbGVSZWZlcmVuY2USMwoTbWNwX3Rvb2xfcmVmZXJlbmNlcxgPIAMoCzIWLmNoYXQuTUNQVG9vbFJlZmVyZW5jZRIqCgtzaWxlbnRfdHlwZRgQIAEoDjIQLmNoYXQuU2lsZW50VHlwZUgNiAEBQgwKCl9jaGF0X21vZGVCDQoLX2NyZWF0ZWRfYXRCDAoKX2lzX3NpbGVudEIQCg5faXNfc3VjY2Vzc2Z1bEINCgtfbW9kZWxfbmFtZUINCgtfcmVxdWVzdF9pZEIKCghfdHVybl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCHgocX3BlcnNpc3RlZF90aHJvdWdoX2V2ZW50X3NlcUINCgtfaXNfcGFydGlhbEISChBfc3Vic2NyaXB0aW9uX2lkQhEKD19zZW5kZXJfdXNlcl9pZEIOCgxfc2lsZW50X3R5cGUiSwoMQ2hhdFBvc2l0aW9uEhQKDHByZWZpeF9iZWdpbhgBIAEoBRISCgpzdWZmaXhfZW5kGAIgASgFEhEKCWJsb2JfbmFtZRgDIAEoCSJfCg9DaGF0UmVwbGFjZVRleHQSGAoQcmVwbGFjZW1lbnRfdGV4dBgBIAEoCRIZChFzdGFydF9saW5lX251bWJlchgCIAEoBRIXCg9lbmRfbGluZV9udW1iZXIYAyABKAUi1hUKC0NoYXRSZXF1ZXN0EhIKCm1vZGVsX25hbWUYASABKAkSDAoEcGF0aBgCIAEoCRIOCgZwcmVmaXgYAyABKAkSFQoNc2VsZWN0ZWRfY29kZRgEIAEoCRIOCgZzdWZmaXgYBSABKAkSDwoHbWVzc2FnZRgGIAEoCRIkCgxjaGF0X2hpc3RvcnkYByADKAsyDi5jaGF0LkV4Y2hhbmdlEiQKCHBvc2l0aW9uGAggASgLMhIuY2hhdC5DaGF0UG9zaXRpb24SDAoEbGFuZxgKIAEoCRITCgtzZXF1ZW5jZV9pZBgLIAEoDRIlCgVibG9icxgMIAMoCzIWLmJhc2UuYmxvYl9uYW1lcy5CbG9icxIkChxlbmFibGVfcHJlZmVyZW5jZV9jb2xsZWN0aW9uGA0gASgIEhkKEXVzZXJfZ3VpZGVkX2Jsb2JzGA4gAygJEhsKE2V4dGVybmFsX3NvdXJjZV9pZHMYECADKAkSKAogY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWQYDyABKAkSJQodZGlzYWJsZV9hdXRvX2V4dGVybmFsX3NvdXJjZXMYESABKAgSHQoVcHJvbXB0X2Zvcm1hdHRlcl9uYW1lGBIgASgJEjcKEmNoYW5nZWRfZmlsZV9zdGF0cxgTIAEoCzIWLmNoYXQuQ2hhbmdlZEZpbGVTdGF0c0gAiAEBEhEKBGRpZmYYFCABKAlIAYgBARIgChhyZWxldmFudF9jb21taXRfbWVzc2FnZXMYFSADKAkSHwoXZXhhbXBsZV9jb21taXRfbWVzc2FnZXMYFiADKAkSHAoPdXNlcl9ndWlkZWxpbmVzGBcgASgJSAKIAQESIQoUd29ya3NwYWNlX2d1aWRlbGluZXMYGCABKAlIA4gBARJFChdmZWF0dXJlX2RldGVjdGlvbl9mbGFncxgZIAEoCzIfLmNoYXQuQ2hhdEZlYXR1cmVEZXRlY3Rpb25GbGFnc0gEiAEBEi4KEHRvb2xfZGVmaW5pdGlvbnMYGiADKAsyFC5jaGF0LlRvb2xEZWZpbml0aW9uEiQKBW5vZGVzGBsgAygLMhUuY2hhdC5DaGF0UmVxdWVzdE5vZGUSLAoMcGVyc29uYV90eXBlGB0gASgOMhEuY2hhdC5QZXJzb25hVHlwZUgFiAEBEhUKDWlzX3N1c3BpY2lvdXMYHiABKAgSGQoFcnVsZXMYHyADKAsyCi5jaGF0LlJ1bGUSDgoGc2lsZW50GCAgASgIEhgKC2FnZW50X3Rhc2tzGCEgASgJSAaIAQESJQoLY2xpZW50X3R5cGUYIiABKA4yEC5jaGF0LkNsaWVudFR5cGUSJgoJY2hhdF9tb2RlGCMgASgOMg4uY2hhdC5DaGF0TW9kZUgHiAEBEjsKFHRoaXJkX3BhcnR5X292ZXJyaWRlGCQgASgLMhguY2hhdC5UaGlyZFBhcnR5T3ZlcnJpZGVICIgBARIcCg9jb252ZXJzYXRpb25faWQYJSABKAlICYgBARIqCgtzaWxlbnRfdHlwZRgmIAEoDjIQLmNoYXQuU2lsZW50VHlwZUgKiAEBEiMKFnN5c3RlbV9wcm9tcHRfb3ZlcnJpZGUYJyABKAlIC4gBARJBChpzeXN0ZW1fcHJvbXB0X3JlcGxhY2VtZW50cxgoIAMoCzIdLmNoYXQuU3lzdGVtUHJvbXB0UmVwbGFjZW1lbnQSGwoGc2tpbGxzGCogAygLMgsuY2hhdC5Ta2lsbBIhChRzeXN0ZW1fcHJvbXB0X2FwcGVuZBgrIAEoCUgMiAEBEi8KImNvbnN1bWVfY3JlZGl0c19vbl9zaWxlbnRfcmVxdWVzdHMYLCABKAhIDYgBARIUCgd0dXJuX2lkGC0gASgJSA6IAQESIwoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBguIAEoCUgPiAEBEiEKFHJvb3RfY29udmVyc2F0aW9uX2lkGC8gASgJSBCIAQESHQoQZGlzYWJsZV90aGlua2luZxgwIAEoCEgRiAEBEjYKEmJyaW5nX3lvdXJfb3duX2tleRgxIAEoCzIVLmNoYXQuQnJpbmdZb3VyT3duS2V5SBKIAQESIQoUcmVxdWVzdGVkX21vZGVsX25hbWUYMiABKAlIE4gBARIcCg9zdWJzY3JpcHRpb25faWQYMyABKAlIFIgBARIyCg9jbGllbnRfbWV0YWRhdGEYNCABKAsyFC5jaGF0LkNsaWVudE1ldGFkYXRhSBWIAQESJgoZaW50ZXJuYWxfYWdlbnRfcGVyc29uYV9pZBg1IAEoCUgWiAEBEhwKD3BlcnNvbmFfcHJvbXB0cxg2IAEoCUgXiAEBEicKGnNraXBfY29udmVyc2F0aW9uX2luZGV4aW5nGDcgASgISBiIAQESGwoOc2VuZGVyX3VzZXJfaWQYOCABKAlIGYgBARIeChFldV9pbmZlcmVuY2Vfb25seRg5IAEoCEgaiAEBEkoKHGN1c3RvbV9idXRsZXJfcm91dGluZ19jb25maWcYOiABKAsyHy5jaGF0LkN1c3RvbUJ1dGxlclJvdXRpbmdDb25maWdIG4gBARIzChN2ZnNfZmlsZV9yZWZlcmVuY2VzGDsgAygLMhYuY2hhdC5WRlNGaWxlUmVmZXJlbmNlEjMKE21jcF90b29sX3JlZmVyZW5jZXMYPCADKAsyFi5jaGF0Lk1DUFRvb2xSZWZlcmVuY2USHQoQcmVhc29uaW5nX2VmZm9ydBg9IAEoCUgciAEBQhUKE19jaGFuZ2VkX2ZpbGVfc3RhdHNCBwoFX2RpZmZCEgoQX3VzZXJfZ3VpZGVsaW5lc0IXChVfd29ya3NwYWNlX2d1aWRlbGluZXNCGgoYX2ZlYXR1cmVfZGV0ZWN0aW9uX2ZsYWdzQg8KDV9wZXJzb25hX3R5cGVCDgoMX2FnZW50X3Rhc2tzQgwKCl9jaGF0X21vZGVCFwoVX3RoaXJkX3BhcnR5X292ZXJyaWRlQhIKEF9jb252ZXJzYXRpb25faWRCDgoMX3NpbGVudF90eXBlQhkKF19zeXN0ZW1fcHJvbXB0X292ZXJyaWRlQhcKFV9zeXN0ZW1fcHJvbXB0X2FwcGVuZEIlCiNfY29uc3VtZV9jcmVkaXRzX29uX3NpbGVudF9yZXF1ZXN0c0IKCghfdHVybl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCEwoRX2Rpc2FibGVfdGhpbmtpbmdCFQoTX2JyaW5nX3lvdXJfb3duX2tleUIXChVfcmVxdWVzdGVkX21vZGVsX25hbWVCEgoQX3N1YnNjcmlwdGlvbl9pZEISChBfY2xpZW50X21ldGFkYXRhQhwKGl9pbnRlcm5hbF9hZ2VudF9wZXJzb25hX2lkQhIKEF9wZXJzb25hX3Byb21wdHNCHQobX3NraXBfY29udmVyc2F0aW9uX2luZGV4aW5nQhEKD19zZW5kZXJfdXNlcl9pZEIUChJfZXVfaW5mZXJlbmNlX29ubHlCHwodX2N1c3RvbV9idXRsZXJfcm91dGluZ19jb25maWdCEwoRX3JlYXNvbmluZ19lZmZvcnRKBAgJEApKBAgcEB1KBAgpECpSCWNhbnZhc19pZCLzAwoPQ2hhdFJlcXVlc3ROb2RlEgoKAmlkGAEgASgFEicKBHR5cGUYAiABKA4yGS5jaGF0LkNoYXRSZXF1ZXN0Tm9kZVR5cGUSLQoJdGV4dF9ub2RlGAMgASgLMhUuY2hhdC5DaGF0UmVxdWVzdFRleHRIAIgBARI6ChB0b29sX3Jlc3VsdF9ub2RlGAQgASgLMhsuY2hhdC5DaGF0UmVxdWVzdFRvb2xSZXN1bHRIAYgBARIvCgppbWFnZV9ub2RlGAUgASgLMhYuY2hhdC5DaGF0UmVxdWVzdEltYWdlSAKIAQESNgoOaWRlX3N0YXRlX25vZGUYByABKAsyGS5jaGF0LkNoYXRSZXF1ZXN0SWRlU3RhdGVIA4gBARI6ChBlZGl0X2V2ZW50c19ub2RlGAggASgLMhsuY2hhdC5DaGF0UmVxdWVzdEVkaXRFdmVudHNIBIgBARItCglmaWxlX25vZGUYCSABKAsyFS5jaGF0LkNoYXRSZXF1ZXN0RmlsZUgFiAEBQgwKCl90ZXh0X25vZGVCEwoRX3Rvb2xfcmVzdWx0X25vZGVCDQoLX2ltYWdlX25vZGVCEQoPX2lkZV9zdGF0ZV9ub2RlQhMKEV9lZGl0X2V2ZW50c19ub2RlQgwKCl9maWxlX25vZGVKBAgGEAcixAQKDENoYXRSZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCBI3ChV3b3Jrc3BhY2VfZmlsZV9jaHVua3MYBCADKAsyGC5jaGF0LldvcmtzcGFjZUZpbGVDaHVuaxJHCh1pbmNvcnBvcmF0ZWRfZXh0ZXJuYWxfc291cmNlcxgFIAMoCzIgLmNoYXQuSW5jb3Jwb3JhdGVkRXh0ZXJuYWxTb3VyY2USOQoVcmVwbGFjZV90ZXh0X3Jlc3BvbnNlGAYgASgLMhUuY2hhdC5DaGF0UmVwbGFjZVRleHRIAIgBARIjCgVub2RlcxgHIAMoCzIULmNoYXQuQ2hhdFJlc3VsdE5vZGUSNgoLc3RhdHVzX2NvZGUYCCABKA4yHC5jaGF0LkNoYXRSZXNwb25zZVN0YXR1c0NvZGVIAYgBARIuCgtzdG9wX3JlYXNvbhgJIAEoDjIULmNoYXQuQ2hhdFN0b3BSZWFzb25IAogBARIaCg1lcnJvcl9tZXNzYWdlGAogASgJSAOIAQESIQoUZWZmZWN0aXZlX21vZGVsX25hbWUYCyABKAlIBIgBAUIYChZfcmVwbGFjZV90ZXh0X3Jlc3BvbnNlQg4KDF9zdGF0dXNfY29kZUIOCgxfc3RvcF9yZWFzb25CEAoOX2Vycm9yX21lc3NhZ2VCFwoVX2VmZmVjdGl2ZV9tb2RlbF9uYW1lIsYCChlDaGF0UmVzdWx0QmlsbGluZ01ldGFkYXRhEhsKDnRyYW5zYWN0aW9uX2lkGAEgASgJSACIAQESGAoQY3JlZGl0c19jb25zdW1lZBgCIAEoBRIQCghjb3N0X3VzZBgHIAEoCRImCgp1c2FnZV91bml0GAggASgOMhIuYmlsbGluZy5Vc2FnZVVuaXQSIQoUZWZmZWN0aXZlX21vZGVsX25hbWUYCSABKAlIAYgBAUIRCg9fdHJhbnNhY3Rpb25faWRCFwoVX2VmZmVjdGl2ZV9tb2RlbF9uYW1lSgQIAxAESgQIBBAFSgQIBRAGSgQIBhAHUgxpbnB1dF90b2tlbnNSDW91dHB1dF90b2tlbnNSF2NhY2hlX3JlYWRfaW5wdXRfdG9rZW5zUhtjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMi7gMKDkNoYXRSZXN1bHROb2RlEgoKAmlkGAEgASgFEiYKBHR5cGUYAiABKA4yGC5jaGF0LkNoYXRSZXN1bHROb2RlVHlwZRIPCgdjb250ZW50GAMgASgJEi4KCHRvb2xfdXNlGAQgASgLMhcuY2hhdC5DaGF0UmVzdWx0VG9vbFVzZUgAiAEBEi8KCHRoaW5raW5nGAUgASgLMhguY2hhdC5DaGF0UmVzdWx0VGhpbmtpbmdIAYgBARI+ChBiaWxsaW5nX21ldGFkYXRhGAYgASgLMh8uY2hhdC5DaGF0UmVzdWx0QmlsbGluZ01ldGFkYXRhSAKIAQESNAoLdG9rZW5fdXNhZ2UYCCABKAsyGi5jaGF0LkNoYXRSZXN1bHRUb2tlblVzYWdlSAOIAQESMwoIbWV0YWRhdGEYByABKAsyHC5jaGF0LkNoYXRSZXN1bHROb2RlTWV0YWRhdGFIBIgBARIZCgx0aW1lc3RhbXBfbXMYCiABKARIBYgBAUILCglfdG9vbF91c2VCCwoJX3RoaW5raW5nQhMKEV9iaWxsaW5nX21ldGFkYXRhQg4KDF90b2tlbl91c2FnZUILCglfbWV0YWRhdGFCDwoNX3RpbWVzdGFtcF9tc0oECAkQClINY29udGV4dF91c2FnZSK+AQoOQ2xpZW50TWV0YWRhdGESEwoLY2xpZW50X25hbWUYASABKAkSFgoOY2xpZW50X3ZlcnNpb24YAiABKAkSFgoOY2xpZW50X3N1YnR5cGUYAyABKAkSFwoPYWNwX2NsaWVudF9uYW1lGAQgASgJEhoKEmFjcF9jbGllbnRfdmVyc2lvbhgFIAEoCRISCgp1c2VyX2FnZW50GAYgASgJEhAKCHBsYXRmb3JtGAcgASgJEgwKBGFyY2gYCCABKAkiwwIKGUN1c3RvbUJ1dGxlclJvdXRpbmdDb25maWcSFQoNZGVmYXVsdF9tb2RlbBgBIAEoCRJECgt0aWVyX21vZGVscxgCIAMoCzIvLmNoYXQuQ3VzdG9tQnV0bGVyUm91dGluZ0NvbmZpZy5UaWVyTW9kZWxzRW50cnkSWQoWdGllcl9yZWFzb25pbmdfZWZmb3J0cxgDIAMoCzI5LmNoYXQuQ3VzdG9tQnV0bGVyUm91dGluZ0NvbmZpZy5UaWVyUmVhc29uaW5nRWZmb3J0c0VudHJ5GjEKD1RpZXJNb2RlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjsKGVRpZXJSZWFzb25pbmdFZmZvcnRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLFAgoIRXhjaGFuZ2USFwoPcmVxdWVzdF9tZXNzYWdlGAEgASgJEhoKDXJlc3BvbnNlX3RleHQYAiABKAlIAIgBARIXCgpyZXF1ZXN0X2lkGAMgASgJSAGIAQESLAoNcmVxdWVzdF9ub2RlcxgEIAMoCzIVLmNoYXQuQ2hhdFJlcXVlc3ROb2RlEiwKDnJlc3BvbnNlX25vZGVzGAUgAygLMhQuY2hhdC5DaGF0UmVzdWx0Tm9kZRIzCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhkKDGNvbXBvc2l0ZV9pZBgHIAEoCUgDiAEBQhAKDl9yZXNwb25zZV90ZXh0Qg0KC19yZXF1ZXN0X2lkQg0KC19jcmVhdGVkX2F0Qg8KDV9jb21wb3NpdGVfaWQiZQoURXhjaGFuZ2VXaXRoTWV0YWRhdGESIAoIZXhjaGFuZ2UYASABKAsyDi5jaGF0LkV4Y2hhbmdlEisKCG1ldGFkYXRhGAIgASgLMhkuY2hhdC5DaGF0SGlzdG9yeU1ldGFkYXRhImAKGkluY29ycG9yYXRlZEV4dGVybmFsU291cmNlEhMKC3NvdXJjZV9uYW1lGAEgASgJEhEKBGxpbmsYAiABKAlIAIgBARIRCglzb3VyY2VfaWQYAyABKAlCBwoFX2xpbmsiSwoQTUNQVG9vbFJlZmVyZW5jZRIRCglzZXJ2ZXJfaWQYASABKAkSFgoJdG9vbF9uYW1lGAIgASgJSACIAQFCDAoKX3Rvb2xfbmFtZSJvChJQZXJGaWxlQ2hhbmdlU3RhdHMSEQoJZmlsZV9wYXRoGAEgASgJEhcKD2luc2VydGlvbl9jb3VudBgCIAEoBRIWCg5kZWxldGlvbl9jb3VudBgDIAEoBRIVCg1vbGRfZmlsZV9wYXRoGAQgASgJIrEBChdQZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxIaChJjaGFuZ2VkX2ZpbGVfY291bnQYASABKAUSPAoacGVyX2ZpbGVfY2hhbmdlX3N0YXRzX2hlYWQYAiADKAsyGC5jaGF0LlBlckZpbGVDaGFuZ2VTdGF0cxI8ChpwZXJfZmlsZV9jaGFuZ2Vfc3RhdHNfdGFpbBgDIAMoCzIYLmNoYXQuUGVyRmlsZUNoYW5nZVN0YXRzIm0KBFJ1bGUSHAoEdHlwZRgBIAEoDjIOLmNoYXQuUnVsZVR5cGUSDAoEcGF0aBgCIAEoCRIPCgdjb250ZW50GAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIjwKBVNraWxsEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIbG9jYXRpb24YAyABKAkiOgoXU3lzdGVtUHJvbXB0UmVwbGFjZW1lbnQSDgoGc2VhcmNoGAEgASgJEg8KB3JlcGxhY2UYAiABKAkilAEKElRoaXJkUGFydHlPdmVycmlkZRIgChNwcm92aWRlcl9tb2RlbF9uYW1lGAEgASgJSACIAQESFAoHYXBpX2tleRgCIAEoCUgBiAEBEhUKCGJhc2VfdXJsGAMgASgJSAKIAQFCFgoUX3Byb3ZpZGVyX21vZGVsX25hbWVCCgoIX2FwaV9rZXlCCwoJX2Jhc2VfdXJsImoKEFZGU0ZpbGVSZWZlcmVuY2USDwoHZmlsZV9pZBgBIAEoCRIVCg1maWxlc3lzdGVtX2lkGAIgASgJEgwKBHBhdGgYAyABKAkSEAoIc3BhY2VfaWQYBCABKAkSDgoGaXNfZGlyGAUgASgIIk0KEldvcmtzcGFjZUZpbGVDaHVuaxISCgpjaGFyX3N0YXJ0GAEgASgFEhAKCGNoYXJfZW5kGAIgASgFEhEKCWJsb2JfbmFtZRgDIAEoCSr0AQoMQllPS1Byb3ZpZGVyEhQKEFBST1ZJREVSX1VOS05PV04QABIWChJQUk9WSURFUl9BTlRIUk9QSUMQARITCg9QUk9WSURFUl9PUEVOQUkQAhIUChBQUk9WSURFUl9CRURST0NLEAMSFgoSUFJPVklERVJfRklSRVdPUktTEAQSHwobUFJPVklERVJfVkVSVEVYQUlfQU5USFJPUElDEAUSHAoYUFJPVklERVJfVkVSVEVYQUlfR0VNSU5JEAYSGwoXUFJPVklERVJfQkVEUk9DS19PUEVOQUkQBxIXChNQUk9WSURFUl9PUEVOUk9VVEVSEAgq5QEKCENoYXRNb2RlEggKBENIQVQQABIJCgVBR0VOVBABEg8KC09SSUVOVEFUSU9OEAMSEAoMUkVNT1RFX0FHRU5UEAUSDQoJQ0xJX0FHRU5UEAYSFgoSQ0xJX05PTklOVEVSQUNUSVZFEAcSDwoLQ09ERV9SRVZJRVcQCBIVChFBR0VOVElDX1NMQUNLX0JPVBAJEhYKEkNPTlRFWFRfRU5HSU5FX1NESxAKEhYKEkNPTlRFWFRfRU5HSU5FX01DUBALEhYKElBPU0VJRE9OX0NMSV9BR0VOVBAMIgQIAhACIgQIBBAEKnoKFkNoYXRSZXNwb25zZVN0YXR1c0NvZGUSBgoCT0sQABIZChVFWENFRURfQ09OVEVYVF9MRU5HVEgQARIPCgtXQVNfQkxPQ0tFRBACEhMKD0lOVkFMSURfUkVRVUVTVBADEhcKE1NVTU1BUklaRV9BTkRfUkVUUlkQBCpFCgpDbGllbnRUeXBlEgsKB1VOS05PV04QABIHCgNDTEkQARIKCgZWU0NPREUQAhIMCghJTlRFTExJShADEgcKA1dFQhAEKkgKC1BlcnNvbmFUeXBlEgsKB0RFRkFVTFQQABIOCgpQUk9UT1RZUEVSEAESDgoKQlJBSU5TVE9STRACEgwKCFJFVklFV0VSEAMqQAoIUnVsZVR5cGUSEwoPQUxXQVlTX0FUVEFDSEVEEAASCgoGTUFOVUFMEAESEwoPQUdFTlRfUkVRVUVTVEVEEAIq8wQKClNpbGVudFR5cGUSGwoXU0lMRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIXChNTSUxFTlRfVFlQRV9VTktOT1dOEBMSHgoaUkVXUklURV9QUk9NUFRfSU5TVFJVQ1RJT04QARIaChZISVNUT1JZX1NVTU1BUllfUFJPTVBUEAISHwobQ0xBU1NJRllfQU5EX0RJU1RJTExfUFJPTVBUEAMSJwojQ0xBU1NJRllfQU5EX0RJU1RJTExfU1VDQ0VTU19QUk9NUFQQBBIUChBJTkpFQ1RJT05fUFJPTVBUEAUSGwoXU1VNTUFSWV9FWENIQU5HRV9QUk9NUFQQBhIbChdVUERBVEVfVEFTS19MSVNUX1BST01QVBAHEh0KGUdFTkVSQVRFX1FVRVNUSU9OU19QUk9NUFQQCBIaChZQUk9KRUNUX1NVTU1BUllfUFJPTVBUEAkSFgoSQ09NUFJFU1NJT05fUFJPTVBUEAoSIAocTEFOR1VBR0VfTE9DQUxJWkFUSU9OX1BST01QVBAMEhsKF0RFVEVDVF9MQU5HVUFHRVNfUFJPTVBUEA0SIgoeT1JJRU5UQVRJT05fQ09NUFJFU1NJT05fUFJPTVBUEA4SIAocT1JJRU5UQVRJT05fQlVJTERfVEVTVF9RVUVSWRAPEiQKIEhFTFBGVUxfU09GVFdBUkVfRU5HSU5FRVJfUFJPTVBUEBASGwoXQUdFTlRfT05CT0FSRElOR19QUk9NUFQQERIgChxFTVBUWV9NRVNTQUdFX1dJVEhfVE9PTF9DQUxMEBISFgoSVE9PTF9TRUFSQ0hfUFJPTVBUEBQiBAgLEAtQBGIGcHJvdG8z",[Vt,ee,Yn,CZ,JZ]);var kZ;(function(e){e[e.PROVIDER_UNKNOWN=0]="PROVIDER_UNKNOWN",e[e.PROVIDER_ANTHROPIC=1]="PROVIDER_ANTHROPIC",e[e.PROVIDER_OPENAI=2]="PROVIDER_OPENAI",e[e.PROVIDER_BEDROCK=3]="PROVIDER_BEDROCK",e[e.PROVIDER_FIREWORKS=4]="PROVIDER_FIREWORKS",e[e.PROVIDER_VERTEXAI_ANTHROPIC=5]="PROVIDER_VERTEXAI_ANTHROPIC",e[e.PROVIDER_VERTEXAI_GEMINI=6]="PROVIDER_VERTEXAI_GEMINI",e[e.PROVIDER_BEDROCK_OPENAI=7]="PROVIDER_BEDROCK_OPENAI",e[e.PROVIDER_OPENROUTER=8]="PROVIDER_OPENROUTER"})(kZ||(kZ={}));var _Z;(function(e){e[e.CHAT=0]="CHAT",e[e.AGENT=1]="AGENT",e[e.ORIENTATION=3]="ORIENTATION",e[e.REMOTE_AGENT=5]="REMOTE_AGENT",e[e.CLI_AGENT=6]="CLI_AGENT",e[e.CLI_NONINTERACTIVE=7]="CLI_NONINTERACTIVE",e[e.CODE_REVIEW=8]="CODE_REVIEW",e[e.AGENTIC_SLACK_BOT=9]="AGENTIC_SLACK_BOT",e[e.CONTEXT_ENGINE_SDK=10]="CONTEXT_ENGINE_SDK",e[e.CONTEXT_ENGINE_MCP=11]="CONTEXT_ENGINE_MCP",e[e.POSEIDON_CLI_AGENT=12]="POSEIDON_CLI_AGENT"})(_Z||(_Z={}));var QZ;(function(e){e[e.OK=0]="OK",e[e.EXCEED_CONTEXT_LENGTH=1]="EXCEED_CONTEXT_LENGTH",e[e.WAS_BLOCKED=2]="WAS_BLOCKED",e[e.INVALID_REQUEST=3]="INVALID_REQUEST",e[e.SUMMARIZE_AND_RETRY=4]="SUMMARIZE_AND_RETRY"})(QZ||(QZ={}));var TZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CLI=1]="CLI",e[e.VSCODE=2]="VSCODE",e[e.INTELLIJ=3]="INTELLIJ",e[e.WEB=4]="WEB"})(TZ||(TZ={}));var KZ;(function(e){e[e.DEFAULT=0]="DEFAULT",e[e.PROTOTYPER=1]="PROTOTYPER",e[e.BRAINSTORM=2]="BRAINSTORM",e[e.REVIEWER=3]="REVIEWER"})(KZ||(KZ={}));var zZ;(function(e){e[e.ALWAYS_ATTACHED=0]="ALWAYS_ATTACHED",e[e.MANUAL=1]="MANUAL",e[e.AGENT_REQUESTED=2]="AGENT_REQUESTED"})(zZ||(zZ={}));var DZ;(function(e){e[e.SILENT_TYPE_UNSPECIFIED=0]="SILENT_TYPE_UNSPECIFIED",e[e.SILENT_TYPE_UNKNOWN=19]="SILENT_TYPE_UNKNOWN",e[e.REWRITE_PROMPT_INSTRUCTION=1]="REWRITE_PROMPT_INSTRUCTION",e[e.HISTORY_SUMMARY_PROMPT=2]="HISTORY_SUMMARY_PROMPT",e[e.CLASSIFY_AND_DISTILL_PROMPT=3]="CLASSIFY_AND_DISTILL_PROMPT",e[e.CLASSIFY_AND_DISTILL_SUCCESS_PROMPT=4]="CLASSIFY_AND_DISTILL_SUCCESS_PROMPT",e[e.INJECTION_PROMPT=5]="INJECTION_PROMPT",e[e.SUMMARY_EXCHANGE_PROMPT=6]="SUMMARY_EXCHANGE_PROMPT",e[e.UPDATE_TASK_LIST_PROMPT=7]="UPDATE_TASK_LIST_PROMPT",e[e.GENERATE_QUESTIONS_PROMPT=8]="GENERATE_QUESTIONS_PROMPT",e[e.PROJECT_SUMMARY_PROMPT=9]="PROJECT_SUMMARY_PROMPT",e[e.COMPRESSION_PROMPT=10]="COMPRESSION_PROMPT",e[e.LANGUAGE_LOCALIZATION_PROMPT=12]="LANGUAGE_LOCALIZATION_PROMPT",e[e.DETECT_LANGUAGES_PROMPT=13]="DETECT_LANGUAGES_PROMPT",e[e.ORIENTATION_COMPRESSION_PROMPT=14]="ORIENTATION_COMPRESSION_PROMPT",e[e.ORIENTATION_BUILD_TEST_QUERY=15]="ORIENTATION_BUILD_TEST_QUERY",e[e.HELPFUL_SOFTWARE_ENGINEER_PROMPT=16]="HELPFUL_SOFTWARE_ENGINEER_PROMPT",e[e.AGENT_ONBOARDING_PROMPT=17]="AGENT_ONBOARDING_PROMPT",e[e.EMPTY_MESSAGE_WITH_TOOL_CALL=18]="EMPTY_MESSAGE_WITH_TOOL_CALL",e[e.TOOL_SEARCH_PROMPT=20]="TOOL_SEARCH_PROMPT"})(DZ||(DZ={}));var Da=k("CiFiYXNlL2RpZmZfdXRpbHMvZWRpdF9ldmVudHMucHJvdG8SD2Jhc2UuZGlmZl91dGlscyJqCgpTaW5nbGVFZGl0EhQKDGJlZm9yZV9zdGFydBgBIAEoDRIYCgtiZWZvcmVfdGV4dBgCIAEoCUIDgAEBEhMKC2FmdGVyX3N0YXJ0GAMgASgNEhcKCmFmdGVyX3RleHQYBCABKAlCA4ABASKFAQoRR3JhbnVsYXJFZGl0RXZlbnQSEQoEcGF0aBgBIAEoCUIDgAEBEhgKEGJlZm9yZV9ibG9iX25hbWUYAiABKAkSFwoPYWZ0ZXJfYmxvYl9uYW1lGAMgASgJEioKBWVkaXRzGAQgAygLMhsuYmFzZS5kaWZmX3V0aWxzLlNpbmdsZUVkaXRiBnByb3RvMw");var MZ=k("ChxzZXJ2aWNlcy9hZ2VudHMvYWdlbnRzLnByb3RvEgZhZ2VudHMi9gQKG0NvZGViYXNlUmV0cmlldmFsUmF3UmVxdWVzdBIqCgdxdWVyaWVzGAEgAygLMhkuYWdlbnRzLlJhd1JldHJpZXZhbFF1ZXJ5EiUKBWJsb2JzGAIgAygLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEhIKCm1heF9jaHVua3MYAyABKAUSGQoRbWF4X291dHB1dF9sZW5ndGgYBCABKAUSGQoRdXNlcl9ndWlkZWRfYmxvYnMYBSADKAkSGwoTZXh0ZXJuYWxfc291cmNlX2lkcxgGIAMoCRIlCh1kaXNhYmxlX2F1dG9fZXh0ZXJuYWxfc291cmNlcxgHIAEoCBIMCgRwYXRoGAggASgJEg4KBnByZWZpeBgJIAEoCRIOCgZzdWZmaXgYCiABKAkSFQoNc2VsZWN0ZWRfY29kZRgLIAEoCRIeCgZkaWFsb2cYDCADKAsyDi5jaGF0LkV4Y2hhbmdlEiMKG2luY2x1ZGVfZm9ybWF0dGVkX3JldHJpZXZhbBgNIAEoCBIcChRpbmNsdWRlX2xpbmVfbnVtYmVycxgOIAEoCBIcCg9jb252ZXJzYXRpb25faWQYDyABKAlIAIgBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGBAgASgJSAGIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYESABKAlIAogBARIUCgd0dXJuX2lkGBIgASgJSAOIAQFCEgoQX2NvbnZlcnNhdGlvbl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCCgoIX3R1cm5faWQioAEKHENvZGViYXNlUmV0cmlldmFsUmF3UmVzcG9uc2USKQoGY2h1bmtzGAEgAygLMhkuYWdlbnRzLlJhd1JldHJpZXZlZENodW5rEhsKE2Zvcm1hdHRlZF9yZXRyaWV2YWwYAiABKAkSGgoSdW5rbm93bl9ibG9iX25hbWVzGAMgAygJEhwKFGNoZWNrcG9pbnRfbm90X2ZvdW5kGAQgASgIIqQEChhDb2RlYmFzZVJldHJpZXZhbFJlcXVlc3QSGwoTaW5mb3JtYXRpb25fcmVxdWVzdBgBIAEoCRIeCgZkaWFsb2cYAiADKAsyDi5jaGF0LkV4Y2hhbmdlEiUKBWJsb2JzGAMgAygLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEhkKEW1heF9vdXRwdXRfbGVuZ3RoGAQgASgFEiIKGmRpc2FibGVfY29kZWJhc2VfcmV0cmlldmFsGAUgASgIEh8KF2VuYWJsZV9jb21taXRfcmV0cmlldmFsGAYgASgIEiUKHWVuYWJsZV9jb252ZXJzYXRpb25fcmV0cmlldmFsGAcgASgIEjYKEmJyaW5nX3lvdXJfb3duX2tleRgIIAEoCzIVLmNoYXQuQnJpbmdZb3VyT3duS2V5SACIAQESHAoPY29udmVyc2F0aW9uX2lkGAkgASgJSAGIAQESIwoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBgKIAEoCUgCiAEBEiEKFHJvb3RfY29udmVyc2F0aW9uX2lkGAsgASgJSAOIAQESFAoHdHVybl9pZBgMIAEoCUgEiAEBQhUKE19icmluZ195b3VyX293bl9rZXlCEgoQX2NvbnZlcnNhdGlvbl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCCgoIX3R1cm5faWQiuwYKGUNvZGViYXNlUmV0cmlldmFsUmVzcG9uc2USGwoTZm9ybWF0dGVkX3JldHJpZXZhbBgBIAEoCRIlCh1jb2RlYmFzZV9yZXRyaWV2YWxfZWxhcHNlZF9tcxgCIAEoBRIpCiFjb252ZXJzYXRpb25fcmV0cmlldmFsX2VsYXBzZWRfbXMYAyABKAUSKQohY29udmVyc2F0aW9uX2luaXRpYWxfcmV0cmlldmFsX21zGAQgASgFEicKH2NvbnZlcnNhdGlvbl9xdWVyeV9yZXdyaXRpbmdfbXMYBSABKAUSKgoiY29udmVyc2F0aW9uX2ZvbGxvd3VwX3JldHJpZXZhbF9tcxgGIAEoBRIbChNibG9iX25hbWVfbG9va3VwX21zGAcgASgFEiEKGWNvZGViYXNlX2NodW5rc19yZXRyaWV2ZWQYCCABKAUSIwobY29udmVyc2F0aW9uX2NodW5rc19pbml0aWFsGAkgASgFEiYKHmNvbnZlcnNhdGlvbl9xdWVyaWVzX2dlbmVyYXRlZBgKIAEoBRIkChxjb252ZXJzYXRpb25fY2h1bmtzX2ZvbGxvd3VwGAsgASgFEiQKHGNvbnZlcnNhdGlvbl9jaHVua3NfY29tYmluZWQYDCABKAUSKgoiY29kZWJhc2VfcmVzdWx0X2xlbl9wcmVfdHJ1bmNhdGlvbhgNIAEoBRIbChNjb2RlYmFzZV9yZXN1bHRfbGVuGA4gASgFEi4KJmNvbnZlcnNhdGlvbl9yZXN1bHRfbGVuX3ByZV90cnVuY2F0aW9uGA8gASgFEh8KF2NvbnZlcnNhdGlvbl9yZXN1bHRfbGVuGBAgASgFEhsKE2NvbWJpbmVkX3Jlc3VsdF9sZW4YESABKAUSFAoMdG90YWxfYnVkZ2V0GBIgASgFEhcKD2NvZGViYXNlX2J1ZGdldBgTIAEoBRIbChNjb252ZXJzYXRpb25fYnVkZ2V0GBQgASgFEhoKEmNvZGViYXNlX3RydW5jYXRlZBgVIAEoCBIeChZjb252ZXJzYXRpb25fdHJ1bmNhdGVkGBYgASgIEhcKD2ZpbmFsX3RydW5jYXRlZBgXIAEoCCJ0Cg9FZGl0RmlsZVJlcXVlc3QSEQoJZmlsZV9wYXRoGAEgASgJEhQKDGVkaXRfc3VtbWFyeRgCIAEoCRIhChlkZXRhaWxlZF9lZGl0X2Rlc2NyaXB0aW9uGAMgASgJEhUKDWZpbGVfY29udGVudHMYBCABKAkiRAoQRWRpdEZpbGVSZXNwb25zZRIeChZtb2RpZmllZF9maWxlX2NvbnRlbnRzGAEgASgJEhAKCGlzX2Vycm9yGAIgASgIImMKEVJhd1JldHJpZXZhbFF1ZXJ5EhMKC2Rlc2NyaXB0aW9uGAEgASgJEgwKBHBhdGgYAiABKAkSFwoPY29udGFpbnNfc3RyaW5nGAMgASgJEhIKCm1heF9jaHVua3MYBCABKAUihgIKEVJhd1JldHJpZXZlZENodW5rEgwKBHRleHQYASABKAkSDAoEcGF0aBgCIAEoCRISCgpjaGFyX3N0YXJ0GAMgASgFEhAKCGNoYXJfZW5kGAQgASgFEhIKCmxpbmVfc3RhcnQYBSABKAUSFwoPbGVuZ3RoX2luX2xpbmVzGAYgASgFEhEKCWJsb2JfbmFtZRgHIAEoCRINCgVzY29yZRgIIAEoAhIOCgZvcmlnaW4YCSABKAkSFgoObWF0Y2hlZF9zdHJpbmcYCiABKAkSGgoSZXh0ZXJuYWxfc291cmNlX2lkGAsgASgJEhwKFGV4dGVybmFsX3NvdXJjZV9uYW1lGAwgASgJIrkCChVSdW5SZW1vdGVUb29sUmVzcG9uc2USEwoLdG9vbF9vdXRwdXQYASABKAkSGwoTdG9vbF9yZXN1bHRfbWVzc2FnZRgCIAEoCRIUCghpc19lcnJvchgDIAEoCEICGAESMAoGc3RhdHVzGAQgASgOMiAuYWdlbnRzLlJlbW90ZVRvb2xSZXNwb25zZVN0YXR1cxIjChZjb21wcmVzc2VkX2Z1bGxfb3V0cHV0GAUgASgJSACIAQESHQoQZnVsbF9vdXRwdXRfc2l6ZRgGIAEoA0gBiAEBEjIKDWNvbnRlbnRfbm9kZXMYByADKAsyGy5jaGF0LlRvb2xSZXN1bHRDb250ZW50Tm9kZUIZChdfY29tcHJlc3NlZF9mdWxsX291dHB1dEITChFfZnVsbF9vdXRwdXRfc2l6ZSqrAgoMUmVtb3RlVG9vbElkEgsKB1VOS05PV04QABIOCgpXRUJfU0VBUkNIEAESDgoKR0lUSFVCX0FQSRAIEhsKF0dJVEhVQl9BUFBfUkVBRE9OTFlfQVBJEBISGwoXR0lUSFVCX0FQUF9QT1NUX0NPTU1FTlQQExIdChlHSVRIVUJfQVBQX1BSX0RFU0NSSVBUSU9OEBQSCgoGTElORUFSEAwSCAoESklSQRANEg4KCkNPTkZMVUVOQ0UQDhIKCgZOT1RJT04QDxIMCghTVVBBQkFTRRAQEgkKBUdMRUFOEBEiBAgCEAIiBAgDEAMiBAgEEAQiBAgFEAUiBAgGEAYiBAgHEAciBAgJEAkiBAgKEAoiBAgLEAsiBAgVEBUqDkNPTlRFWFRfQ0FOVkFTKtYBChhSZW1vdGVUb29sUmVzcG9uc2VTdGF0dXMSIQodVE9PTF9FWEVDVVRJT05fVU5LTk9XTl9TVEFUVVMQABIaChZUT09MX0VYRUNVVElPTl9TVUNDRVNTEAESEgoOVE9PTF9OT1RfRk9VTkQQAhIWChJJTlZBTElEX1RPT0xfSU5QVVQQAxIYChRUT09MX0VYRUNVVElPTl9FUlJPUhAEEhYKElRPT0xfTk9UX0FWQUlMQUJMRRAFEh0KGVRPT0xfQVVUSEVOVElDQVRJT05fRVJST1IQBmIGcHJvdG8z",[Vt,Yn,yn]);var LZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_SEARCH=1]="WEB_SEARCH",e[e.GITHUB_API=8]="GITHUB_API",e[e.GITHUB_APP_READONLY_API=18]="GITHUB_APP_READONLY_API",e[e.GITHUB_APP_POST_COMMENT=19]="GITHUB_APP_POST_COMMENT",e[e.GITHUB_APP_PR_DESCRIPTION=20]="GITHUB_APP_PR_DESCRIPTION",e[e.LINEAR=12]="LINEAR",e[e.JIRA=13]="JIRA",e[e.CONFLUENCE=14]="CONFLUENCE",e[e.NOTION=15]="NOTION",e[e.SUPABASE=16]="SUPABASE",e[e.GLEAN=17]="GLEAN"})(LZ||(LZ={}));var HZ;(function(e){e[e.TOOL_EXECUTION_UNKNOWN_STATUS=0]="TOOL_EXECUTION_UNKNOWN_STATUS",e[e.TOOL_EXECUTION_SUCCESS=1]="TOOL_EXECUTION_SUCCESS",e[e.TOOL_NOT_FOUND=2]="TOOL_NOT_FOUND",e[e.INVALID_TOOL_INPUT=3]="INVALID_TOOL_INPUT",e[e.TOOL_EXECUTION_ERROR=4]="TOOL_EXECUTION_ERROR",e[e.TOOL_NOT_AVAILABLE=5]="TOOL_NOT_AVAILABLE",e[e.TOOL_AUTHENTICATION_ERROR=6]="TOOL_AUTHENTICATION_ERROR"})(HZ||(HZ={}));var $e=k("CjBzZXJ2aWNlcy9hdXRoL2NlbnRyYWwvc2VydmVyL2F1dGhfZW50aXRpZXMucHJvdG8SDWF1dGhfZW50aXRpZXMipQEKBlVzZXJJZBI2Cgx1c2VyX2lkX3R5cGUYASABKA4yIC5hdXRoX2VudGl0aWVzLlVzZXJJZC5Vc2VySWRUeXBlEg8KB3VzZXJfaWQYAiABKAkiUgoKVXNlcklkVHlwZRILCgdVTktOT1dOEAASCwoHQVVHTUVOVBABEg0KCUFQSV9UT0tFThACEgkKBVNMQUNLEAMSEAoMSU5URVJOQUxfSUFQEAQqjgEKB0JvdFR5cGUSGAoUQk9UX1RZUEVfVU5TUEVDSUZJRUQQABITCg9DT0RFX1JFVklFV19CT1QQARIYChRDT0RFX1JFVklFV19FVkFMX0JPVBACEg4KCkFUSEVOQV9CT1QQAxINCglTTEFDS19CT1QQBBIOCgpMSU5FQVJfQk9UEAUSCwoHU0FOREJPWBAGKlMKCFVzZXJUeXBlEhkKFVVTRVJfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVVTRVJfVFlQRV9SRUdVTEFSEAESFQoRVVNFUl9UWVBFX1NFUlZJQ0UQAkJRWk9naXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYXV0aC9jZW50cmFsL3NlcnZlci9hdXRoX2VudGl0aWVzX3Byb3RvYgZwcm90bzM",[ee]);var OZ;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.AUGMENT=1]="AUGMENT",e[e.API_TOKEN=2]="API_TOKEN",e[e.SLACK=3]="SLACK",e[e.INTERNAL_IAP=4]="INTERNAL_IAP"})(OZ||(OZ={}));var jZ;(function(e){e[e.BOT_TYPE_UNSPECIFIED=0]="BOT_TYPE_UNSPECIFIED",e[e.CODE_REVIEW_BOT=1]="CODE_REVIEW_BOT",e[e.CODE_REVIEW_EVAL_BOT=2]="CODE_REVIEW_EVAL_BOT",e[e.ATHENA_BOT=3]="ATHENA_BOT",e[e.SLACK_BOT=4]="SLACK_BOT",e[e.LINEAR_BOT=5]="LINEAR_BOT",e[e.SANDBOX=6]="SANDBOX"})(jZ||(jZ={}));var PZ;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.REGULAR=1]="REGULAR",e[e.SERVICE=2]="SERVICE"})(PZ||(PZ={}));var $Z=k("CidzZXJ2aWNlcy9hdXRoL2NlbnRyYWwvc2VydmVyL2F1dGgucHJvdG8SBGF1dGgipAIKGUNhbmNlbFN1YnNjcmlwdGlvblJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCRIRCgl0ZW5hbnRfaWQYAiABKAkSGgoSY2FuY2VsX2ltbWVkaWF0ZWx5GAMgASgIEjoKCGZlZWRiYWNrGAQgASgLMiguYXV0aC5DYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0LkZlZWRiYWNrEg4KBnJlYXNvbhgFIAEoCRp7CghGZWVkYmFjaxI1ChNjYW5jZWxsYXRpb25fcmVhc29uGAEgASgOMhguYXV0aC5DYW5jZWxsYXRpb25SZWFzb24SIAoTYWRkaXRpb25hbF9mZWVkYmFjaxgCIAEoCUgAiAEBQhYKFF9hZGRpdGlvbmFsX2ZlZWRiYWNrKugHChJDYW5jZWxsYXRpb25SZWFzb24SIwofQ0FOQ0VMTEFUSU9OX1JFQVNPTl9VTlNQRUNJRklFRBAAEiUKIUNBTkNFTExBVElPTl9SRUFTT05fVE9PX0VYUEVOU0lWRRABEigKJENBTkNFTExBVElPTl9SRUFTT05fTk9UX1VTSU5HX0VOT1VHSBACEigKJENBTkNFTExBVElPTl9SRUFTT05fTUlTU0lOR19GRUFUVVJFUxADEigKJENBTkNFTExBVElPTl9SRUFTT05fVEVDSE5JQ0FMX0lTU1VFUxAEEi8KK0NBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NPTVBFVElUT1IQBRIwCixDQU5DRUxMQVRJT05fUkVBU09OX1NXSVRDSElOR19UT19DTEFVREVfQ09ERRAGEioKJkNBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NPREVYEAcSLworQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fR0VNSU5JX0NMSRAIEisKJ0NBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NVUlNPUhAJEi0KKUNBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX1dJTkRTVVJGEAoSLAooQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fQ09QSUxPVBALEioKJkNBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX0NMSU5FEAwSKgomQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fREVWSU4QDRIoCiRDQU5DRUxMQVRJT05fUkVBU09OX1NXSVRDSElOR19UT19ST08QDhIsCihDQU5DRUxMQVRJT05fUkVBU09OX1NXSVRDSElOR19UT19MT1ZBQkxFEA8SLAooQ0FOQ0VMTEFUSU9OX1JFQVNPTl9TV0lUQ0hJTkdfVE9fRkFDVE9SWRAQEi8KK0NBTkNFTExBVElPTl9SRUFTT05fU1dJVENISU5HX1RPX09USEVSX1RPT0wQERIoCiRDQU5DRUxMQVRJT05fUkVBU09OX05PX0xPTkdFUl9ORUVERUQQEhIdChlDQU5DRUxMQVRJT05fUkVBU09OX09USEVSEBMSMwovQ0FOQ0VMTEFUSU9OX1JFQVNPTl9SRVFVSVJFX0NPTVBMRVRJT05TX0ZFQVRVUkUQFBIxCi1DQU5DRUxMQVRJT05fUkVBU09OX1JFUVVJUkVfTkVYVF9FRElUX0ZFQVRVUkUQFUJDWkFnaXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYXV0aC9jZW50cmFsL3NlcnZlci9wcm90b2IGcHJvdG8z",[ee,$e]);var qZ;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TOO_EXPENSIVE=1]="TOO_EXPENSIVE",e[e.NOT_USING_ENOUGH=2]="NOT_USING_ENOUGH",e[e.MISSING_FEATURES=3]="MISSING_FEATURES",e[e.TECHNICAL_ISSUES=4]="TECHNICAL_ISSUES",e[e.SWITCHING_TO_COMPETITOR=5]="SWITCHING_TO_COMPETITOR",e[e.SWITCHING_TO_CLAUDE_CODE=6]="SWITCHING_TO_CLAUDE_CODE",e[e.SWITCHING_TO_CODEX=7]="SWITCHING_TO_CODEX",e[e.SWITCHING_TO_GEMINI_CLI=8]="SWITCHING_TO_GEMINI_CLI",e[e.SWITCHING_TO_CURSOR=9]="SWITCHING_TO_CURSOR",e[e.SWITCHING_TO_WINDSURF=10]="SWITCHING_TO_WINDSURF",e[e.SWITCHING_TO_COPILOT=11]="SWITCHING_TO_COPILOT",e[e.SWITCHING_TO_CLINE=12]="SWITCHING_TO_CLINE",e[e.SWITCHING_TO_DEVIN=13]="SWITCHING_TO_DEVIN",e[e.SWITCHING_TO_ROO=14]="SWITCHING_TO_ROO",e[e.SWITCHING_TO_LOVABLE=15]="SWITCHING_TO_LOVABLE",e[e.SWITCHING_TO_FACTORY=16]="SWITCHING_TO_FACTORY",e[e.SWITCHING_TO_OTHER_TOOL=17]="SWITCHING_TO_OTHER_TOOL",e[e.NO_LONGER_NEEDED=18]="NO_LONGER_NEEDED",e[e.OTHER=19]="OTHER",e[e.REQUIRE_COMPLETIONS_FEATURE=20]="REQUIRE_COMPLETIONS_FEATURE",e[e.REQUIRE_NEXT_EDIT_FEATURE=21]="REQUIRE_NEXT_EDIT_FEATURE"})(qZ||(qZ={}));var t2=k("Ci5zZXJ2aWNlcy9iaWxsaW5nL21ldGVyaW5nL21ldGVyaW5nX2V2ZW50LnByb3RvEg5tZXRlcmluZ19ldmVudCKRBAoOUmVxdWVzdENvbnRleHQSFgoOcmVxdWVzdF9zb3VyY2UYASABKAkSEgoKcmVxdWVzdF9pZBgCIAEoCRISCgpzZXNzaW9uX2lkGAMgASgJEhEKCXRlbmFudF9pZBgFIAEoCRImCgd1c2VyX2lkGAYgASgLMhUuYXV0aF9lbnRpdGllcy5Vc2VySWQSGwoTdXNlcl9lbWFpbF9vdmVycmlkZRgHIAEoCRIXCg9jb252ZXJzYXRpb25faWQYCCABKAkSHgoWcGFyZW50X2NvbnZlcnNhdGlvbl9pZBgJIAEoCRIcChRyb290X2NvbnZlcnNhdGlvbl9pZBgKIAEoCRIPCgd0dXJuX2lkGAsgASgJEioKCXVzZXJfdHlwZRgMIAEoDjIXLmF1dGhfZW50aXRpZXMuVXNlclR5cGUSKAoIYm90X3R5cGUYDSABKA4yFi5hdXRoX2VudGl0aWVzLkJvdFR5cGUSDwoHaXNfYnlvaxgOIAEoCBIRCglleHBlcnRfaWQYDyABKAkSGQoRZXVfaW5mZXJlbmNlX29ubHkYECABKAgSEwoLd29ya2Zsb3dfaWQYESABKAkSEwoLcmVzaWRlbnRfaWQYEiABKAkSFgoOZW52aXJvbm1lbnRfaWQYEyABKAkSEAoIYWdlbnRfaWQYFCABKAkSEAoIc3BhY2VfaWQYFSABKAlKBAgEEAUiiAEKFUFnZW50TWV0ZXJpbmdNZXRhZGF0YRIdChVhY3Rpdml0eV9kaXNwbGF5X25hbWUYASABKAkSGgoSbW9kZWxfZGlzcGxheV9uYW1lGAIgASgJEhwKFHJlcXVlc3RlZF9tb2RlbF9uYW1lGAMgASgJEhYKDnJvdXRpbmdfcmVhc29uGAQgASgJIloKHUNvbnRleHRFbmdpbmVNZXRlcmluZ01ldGFkYXRhEh0KFWFjdGl2aXR5X2Rpc3BsYXlfbmFtZRgBIAEoCRIaChJtb2RlbF9kaXNwbGF5X25hbWUYAiABKAkiYwoXQ29tcHV0ZU1ldGVyaW5nTWV0YWRhdGESHQoVYWN0aXZpdHlfZGlzcGxheV9uYW1lGAEgASgJEhoKEm1vZGVsX2Rpc3BsYXlfbmFtZRgCIAEoCRINCgV2bV9pZBgDIAEoCSKgBAoLQ29zdENvbnRleHQSGwoTYWN0aXZpdHlfbXVsdGlwbGllchgBIAEoARIUCgxpbnB1dF90b2tlbnMYAiABKAUSFQoNb3V0cHV0X3Rva2VucxgDIAEoBRIZChFjYWNoZV9yZWFkX3Rva2VucxgEIAEoBRIaChJjYWNoZV93cml0ZV90b2tlbnMYBSABKAUSEgoKbW9kZWxfbmFtZRgGIAEoCRIWCg50b3RhbF9jb3N0X3VzZBgHIAEoARIaChJieW9rX3Byb3ZpZGVyX25hbWUYCCABKAkSFgoOc3VyY2hhcmdlX3JhdGUYCSABKAESFQoNc3VyY2hhcmdlX3VzZBgKIAEoCRIVCg1iYXNlX2Nvc3RfdXNkGAsgASgJEhAKCHZtX2NvdW50GAwgASgFEhoKEnRvdGFsX2NwdV9jb3N0X3VzZBgNIAEoARIdChV0b3RhbF9tZW1vcnlfY29zdF91c2QYDiABKAESHgoWdG90YWxfYmlsbGFibGVfc2Vjb25kcxgPIAEoARIRCgljcHVfY29yZXMYECABKAISFwoPbWVtb3J5X3NpemVfbWliGBEgASgFEhcKD3Byb3ZpZGVyX3JlZ2lvbhgSIAEoCRIWCg5lbmRwb2ludF9zY29wZRgTIAEoCRIgChNyZWdpb25hbF9tdWx0aXBsaWVyGBQgASgBSACIAQFCFgoUX3JlZ2lvbmFsX211bHRpcGxpZXIizwUKDU1ldGVyaW5nRXZlbnQSFgoOaWRlbXBvdGVuY3lfaWQYASABKAkSOwoKdXNhZ2VfdHlwZRgCIAEoDjInLm1ldGVyaW5nX2V2ZW50Lk1ldGVyaW5nRXZlbnQuVXNhZ2VUeXBlEjcKD3JlcXVlc3RfY29udGV4dBgDIAEoCzIeLm1ldGVyaW5nX2V2ZW50LlJlcXVlc3RDb250ZXh0EkgKF2FnZW50X21ldGVyaW5nX21ldGFkYXRhGAQgASgLMiUubWV0ZXJpbmdfZXZlbnQuQWdlbnRNZXRlcmluZ01ldGFkYXRhSAASWQogY29udGV4dF9lbmdpbmVfbWV0ZXJpbmdfbWV0YWRhdGEYByABKAsyLS5tZXRlcmluZ19ldmVudC5Db250ZXh0RW5naW5lTWV0ZXJpbmdNZXRhZGF0YUgAEkwKGWNvbXB1dGVfbWV0ZXJpbmdfbWV0YWRhdGEYCyABKAsyJy5tZXRlcmluZ19ldmVudC5Db21wdXRlTWV0ZXJpbmdNZXRhZGF0YUgAEi0KCXRpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQY3JlZGl0c19jb25zdW1lZBgGIAEoARIxCgxjb3N0X2NvbnRleHQYCCABKAsyGy5tZXRlcmluZ19ldmVudC5Db3N0Q29udGV4dBIPCgdkcnlfcnVuGAkgASgIEhMKB2lzX2J5b2sYCiABKAhCAhgBEhkKEWJpbGxlZF9hbW91bnRfdXNkGA4gASgJEiMKG2VzdGltYXRlZF9jdXN0b21lcl9jb3N0X3VzZBgPIAEoCSJPCglVc2FnZVR5cGUSFgoSVVNBR0VfVFlQRV9VTktOT1dOEAASCQoFQUdFTlQQARISCg5DT05URVhUX0VOR0lORRACEgsKB0NPTVBVVEUQA0IKCghtZXRhZGF0YUJGWkRnaXRodWIuY29tL2F1Z21lbnRjb2RlL2F1Z21lbnQvc2VydmljZXMvYmlsbGluZy9tZXRlcmluZ19ldmVudF9wcm90b2IGcHJvdG8z",[ee,$e]);var e2;(function(e){e[e.USAGE_TYPE_UNKNOWN=0]="USAGE_TYPE_UNKNOWN",e[e.AGENT=1]="AGENT",e[e.CONTEXT_ENGINE=2]="CONTEXT_ENGINE",e[e.COMPUTE=3]="COMPUTE"})(e2||(e2={}));var n2=k("CilzZXJ2aWNlcy9jb21wbGV0aW9uX2hvc3QvY29tcGxldGlvbi5wcm90bxIKY29tcGxldGlvbiJECg9HaXREaWZmRmlsZUluZm8SGQoRY29udGVudF9ibG9iX25hbWUYASABKAkSFgoOZmlsZV9ibG9iX25hbWUYAiABKAki6wEKC1JlY2VuY3lJbmZvEjUKEXRhYl9zd2l0Y2hfZXZlbnRzGAEgAygLMhouY29tcGxldGlvbi5UYWJTd2l0Y2hFdmVudBI3ChJnaXRfZGlmZl9maWxlX2luZm8YAiADKAsyGy5jb21wbGV0aW9uLkdpdERpZmZGaWxlSW5mbxIzCg5yZWNlbnRfY2hhbmdlcxgDIAMoCzIbLmNvbXBsZXRpb24uUmVwbGFjZW1lbnRUZXh0EjcKD3ZpZXdlZF9jb250ZW50cxgEIAMoCzIeLmNvbXBsZXRpb24uVmlld2VkQ29udGVudEV2ZW50IoUCCg9SZXBsYWNlbWVudFRleHQSEQoJYmxvYl9uYW1lGAEgASgJEgwKBHBhdGgYAiABKAkSEgoKY2hhcl9zdGFydBgDIAEoDRIQCghjaGFyX2VuZBgEIAEoDRIYChByZXBsYWNlbWVudF90ZXh0GAUgASgJEhcKD3ByZXNlbnRfaW5fYmxvYhgGIAEoCBIfChJleHBlY3RlZF9ibG9iX25hbWUYByABKAlIAIgBARIyCgl0aW1lc3RhbXAYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQFCFQoTX2V4cGVjdGVkX2Jsb2JfbmFtZUIMCgpfdGltZXN0YW1wIjYKDlRhYlN3aXRjaEV2ZW50EgwKBHBhdGgYASABKAkSFgoOZmlsZV9ibG9iX25hbWUYAiABKAkizgEKElZpZXdlZENvbnRlbnRFdmVudBIMCgRwYXRoGAEgASgJEhYKDmZpbGVfYmxvYl9uYW1lGAIgASgJEhcKD3Zpc2libGVfY29udGVudBgDIAEoCRISCgpsaW5lX3N0YXJ0GAQgASgNEhAKCGxpbmVfZW5kGAUgASgNEhIKCmNoYXJfc3RhcnQYBiABKA0SEAoIY2hhcl9lbmQYByABKA0SLQoJdGltZXN0YW1wGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcGIGcHJvdG8z",[Vt,Da,ee]);var r2=k("Ch1zZXJ2aWNlcy9lZGl0X2hvc3QvZWRpdC5wcm90bxIEZWRpdCJLCgxFZGl0UG9zaXRpb24SFAoMcHJlZml4X2JlZ2luGAEgASgFEhIKCnN1ZmZpeF9lbmQYAiABKAUSEQoJYmxvYl9uYW1lGAMgASgJIvEBCgtFZGl0UmVxdWVzdBISCgptb2RlbF9uYW1lGAEgASgJEgwKBHBhdGgYAiABKAkSDgoGcHJlZml4GAMgASgJEhUKDXNlbGVjdGVkX3RleHQYBCABKAkSDgoGc3VmZml4GAUgASgJEhMKC2luc3RydWN0aW9uGAYgASgJEiQKCHBvc2l0aW9uGAcgASgLMhIuZWRpdC5FZGl0UG9zaXRpb24SDAoEbGFuZxgJIAEoCRITCgtzZXF1ZW5jZV9pZBgKIAEoDRIlCgVibG9icxgLIAEoCzIWLmJhc2UuYmxvYl9uYW1lcy5CbG9ic0oECAgQCSJWCgxFZGl0UmVzcG9uc2USDAoEdGV4dBgBIAEoCRIaChJ1bmtub3duX2Jsb2JfbmFtZXMYAiADKAkSHAoUY2hlY2twb2ludF9ub3RfZm91bmQYAyABKAgieQoIRXhjaGFuZ2USFwoPcmVxdWVzdF9tZXNzYWdlGAEgASgJEhoKDXJlc3BvbnNlX3RleHQYAiABKAlIAIgBARIXCgpyZXF1ZXN0X2lkGAMgASgJSAGIAQFCEAoOX3Jlc3BvbnNlX3RleHRCDQoLX3JlcXVlc3RfaWQijwEKHEluc3RydWN0aW9uQWdncmVnYXRlUmVzcG9uc2USDAoEdGV4dBgBIAEoCRIaChJ1bmtub3duX2Jsb2JfbmFtZXMYAiADKAkSHAoUY2hlY2twb2ludF9ub3RfZm91bmQYAyABKAgSJwoMcmVwbGFjZV90ZXh0GAQgAygLMhEuZWRpdC5SZXBsYWNlVGV4dCLwBAoSSW5zdHJ1Y3Rpb25SZXF1ZXN0EhIKCm1vZGVsX25hbWUYASABKAkSDAoEcGF0aBgCIAEoCRIOCgZwcmVmaXgYAyABKAkSFQoNc2VsZWN0ZWRfdGV4dBgEIAEoCRIOCgZzdWZmaXgYBSABKAkSEwoLaW5zdHJ1Y3Rpb24YBiABKAkSJAoIcG9zaXRpb24YByABKAsyEi5lZGl0LkVkaXRQb3NpdGlvbhIMCgRsYW5nGAggASgJEhMKC3NlcXVlbmNlX2lkGAkgASgNEiUKBWJsb2JzGAogASgLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEiQKDGNoYXRfaGlzdG9yeRgLIAMoCzIOLmVkaXQuRXhjaGFuZ2USFwoKY29kZV9ibG9jaxgMIAEoCUgAiAEBEh0KEHRhcmdldF9maWxlX3BhdGgYDSABKAlIAYgBARIgChN0YXJnZXRfZmlsZV9jb250ZW50GA4gASgJSAKIAQESLQogY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWQYDyABKAlIA4gBARIcCg91c2VyX2d1aWRlbGluZXMYECABKAlIBIgBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgRIAEoCUgFiAEBQg0KC19jb2RlX2Jsb2NrQhMKEV90YXJnZXRfZmlsZV9wYXRoQhYKFF90YXJnZXRfZmlsZV9jb250ZW50QiMKIV9jb250ZXh0X2NvZGVfZXhjaGFuZ2VfcmVxdWVzdF9pZEISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lcyKuAQoLUmVwbGFjZVRleHQSEQoEdGV4dBgBIAEoCUgAiAEBEhcKCnN0YXJ0X2xpbmUYAiABKA1IAYgBARIVCghlbmRfbGluZRgDIAEoDUgCiAEBEhUKCG9sZF90ZXh0GAQgASgJSAOIAQESEwoLc2VxdWVuY2VfaWQYBSABKA1CBwoFX3RleHRCDQoLX3N0YXJ0X2xpbmVCCwoJX2VuZF9saW5lQgsKCV9vbGRfdGV4dGIGcHJvdG8z",[Vt]);var o2=k("Ci9zZXJ2aWNlcy9pbnRlZ3JhdGlvbnMvZ2l0aHViL2dpdGh1Yl9ldmVudC5wcm90bxIMZ2l0aHViX2V2ZW50InkKDUV2ZW50TWV0YWRhdGESFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgDEhEKCXRlbmFudF9pZBgCIAEoCRITCgt0ZW5hbnRfbmFtZRgEIAEoCRISCgpyZXF1ZXN0X2lkGAMgASgJEhMKC2RlbGl2ZXJ5X2lkGAUgASgJIkQKClJlcG9zaXRvcnkSEQoEbmFtZRgBIAEoCUIDgAEBEhIKBW93bmVyGAIgASgJQgOAAQESDwoHbm9kZV9pZBgDIAEoCSKAAgoJUHVzaEV2ZW50EiwKCnJlcG9zaXRvcnkYASABKAsyGC5naXRodWJfZXZlbnQuUmVwb3NpdG9yeRIQCgNyZWYYAiABKAlCA4ABARIXCgpiZWZvcmVfc2hhGAMgASgJQgOAAQESFgoJYWZ0ZXJfc2hhGAQgASgJQgOAAQESNwoTcHVzaGVkX2F0X3RpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZm9yY2VkGAYgASgIEjkKFWhlYWRfY29tbWl0X3RpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiQwoIVXNlckluZm8SEgoFbG9naW4YASABKAlCA4ABARISCgVlbWFpbBgCIAEoCUIDgAEBEg8KB25vZGVfaWQYAyABKAkiwgEKEUluc3RhbGxhdGlvbkV2ZW50EicKBXJlcG9zGAEgAygLMhguZ2l0aHViX2V2ZW50LlJlcG9zaXRvcnkSDgoGYWN0aW9uGAIgASgJEisKBnNlbmRlchgDIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mb0gAiAEBEi4KCXJlcXVlc3RlchgEIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mb0gBiAEBQgkKB19zZW5kZXJCDAoKX3JlcXVlc3RlciKtBQoQUHVsbFJlcXVlc3RFdmVudBIsCgpyZXBvc2l0b3J5GAEgASgLMhguZ2l0aHViX2V2ZW50LlJlcG9zaXRvcnkSDgoGYWN0aW9uGAIgASgJEg4KBm51bWJlchgDIAEoDRISCgV0aXRsZRgEIAEoCUIDgAEBEhEKBGJvZHkYBSABKAlCA4ABARINCgVzdGF0ZRgGIAEoCRImCgZhdXRob3IYByABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SLQoIYXNzaWduZWUYCCABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm9IAIgBARITCgZsYWJlbHMYCSADKAlCA4ABARIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCghoZWFkX3JlZhgMIAEoCUIDgAEBEhUKCGhlYWRfc2hhGA0gASgJQgOAAQESFQoIYmFzZV9yZWYYDiABKAlCA4ABARIVCghiYXNlX3NoYRgPIAEoCUIDgAEBEjMKE3JlcXVlc3RlZF9yZXZpZXdlcnMYECADKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SDQoFZHJhZnQYESABKAgSDgoGbWVyZ2VkGBIgASgIEjIKCW1lcmdlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIWCglhZGRpdGlvbnMYFCABKANIAogBARIWCglkZWxldGlvbnMYFSABKANIA4gBAUILCglfYXNzaWduZWVCDAoKX21lcmdlZF9hdEIMCgpfYWRkaXRpb25zQgwKCl9kZWxldGlvbnMi4gEKB0NvbW1lbnQSEQoEYm9keRgBIAEoCUIDgAEBEgoKAmlkGAIgASgDEiQKBHVzZXIYAyABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEQoEcGF0aBgGIAEoCUIDgAEBEgwKBGxpbmUYByABKAUSEQoJY29tbWl0X2lkGAggASgJIocCCh1QdWxsUmVxdWVzdFJldmlld0NvbW1lbnRFdmVudBIsCgpyZXBvc2l0b3J5GAEgASgLMhguZ2l0aHViX2V2ZW50LlJlcG9zaXRvcnkSDgoGYWN0aW9uGAIgASgJEg4KBm51bWJlchgDIAEoDRImCgdjb21tZW50GAQgASgLMhUuZ2l0aHViX2V2ZW50LkNvbW1lbnQSHwoScHVsbF9yZXF1ZXN0X3RpdGxlGAUgASgJQgOAAQESGgoScHVsbF9yZXF1ZXN0X3N0YXRlGAYgASgJEjMKE3B1bGxfcmVxdWVzdF9hdXRob3IYByABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8i7gEKCkNoZWNrU3VpdGUSCgoCaWQYASABKAMSFQoIaGVhZF9zaGEYAiABKAlCA4ABARIOCgZzdGF0dXMYAyABKAkSEgoKY29uY2x1c2lvbhgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI5Cg1wdWxsX3JlcXVlc3RzGAcgAygLMiIuZ2l0aHViX2V2ZW50LlB1bGxSZXF1ZXN0UmVmZXJlbmNlInEKFFB1bGxSZXF1ZXN0UmVmZXJlbmNlEg4KBm51bWJlchgBIAEoDRISCgV0aXRsZRgCIAEoCUIDgAEBEg0KBXN0YXRlGAMgASgJEiYKBmF1dGhvchgEIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mbyJ+Cg9DaGVja1N1aXRlRXZlbnQSLAoKcmVwb3NpdG9yeRgBIAEoCzIYLmdpdGh1Yl9ldmVudC5SZXBvc2l0b3J5Eg4KBmFjdGlvbhgCIAEoCRItCgtjaGVja19zdWl0ZRgDIAEoCzIYLmdpdGh1Yl9ldmVudC5DaGVja1N1aXRlIrMBCgxJc3N1ZUNvbW1lbnQSEQoEYm9keRgBIAEoCUIDgAEBEgoKAmlkGAIgASgDEiQKBHVzZXIYAyABKAsyFi5naXRodWJfZXZlbnQuVXNlckluZm8SLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAihAIKEUlzc3VlQ29tbWVudEV2ZW50EiwKCnJlcG9zaXRvcnkYASABKAsyGC5naXRodWJfZXZlbnQuUmVwb3NpdG9yeRIOCgZhY3Rpb24YAiABKAkSDgoGbnVtYmVyGAMgASgNEisKB2NvbW1lbnQYBCABKAsyGi5naXRodWJfZXZlbnQuSXNzdWVDb21tZW50EhgKC2lzc3VlX3RpdGxlGAUgASgJQgOAAQESEwoLaXNzdWVfc3RhdGUYBiABKAkSFwoPaXNfcHVsbF9yZXF1ZXN0GAcgASgIEiwKDGlzc3VlX2F1dGhvchgIIAEoCzIWLmdpdGh1Yl9ldmVudC5Vc2VySW5mbyLQAQoMQ29tbWl0U3RhdHVzEg0KBXN0YXRlGAEgASgJEhcKCnRhcmdldF91cmwYAiABKAlCA4ABARIYCgtkZXNjcmlwdGlvbhgDIAEoCUIDgAEBEhQKB2NvbnRleHQYBCABKAlCA4ABARIzCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIDgAEBEjMKCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgOAAQEiwwEKC1N0YXR1c0V2ZW50EjEKCnJlcG9zaXRvcnkYASABKAsyGC5naXRodWJfZXZlbnQuUmVwb3NpdG9yeUIDgAEBEgsKA3NoYRgCIAEoCRINCgVzdGF0ZRgDIAEoCRIqCgZzdGF0dXMYBCABKAsyGi5naXRodWJfZXZlbnQuQ29tbWl0U3RhdHVzEjkKDXB1bGxfcmVxdWVzdHMYBSADKAsyIi5naXRodWJfZXZlbnQuUHVsbFJlcXVlc3RSZWZlcmVuY2Ui+wMKC0dpdGh1YkV2ZW50Ei0KCG1ldGFkYXRhGAEgASgLMhsuZ2l0aHViX2V2ZW50LkV2ZW50TWV0YWRhdGESEgoKZXZlbnRfdHlwZRgCIAEoCRInCgRwdXNoGAMgASgLMhcuZ2l0aHViX2V2ZW50LlB1c2hFdmVudEgAEjcKDGluc3RhbGxhdGlvbhgEIAEoCzIfLmdpdGh1Yl9ldmVudC5JbnN0YWxsYXRpb25FdmVudEgAEjYKDHB1bGxfcmVxdWVzdBgFIAEoCzIeLmdpdGh1Yl9ldmVudC5QdWxsUmVxdWVzdEV2ZW50SAASUgobcHVsbF9yZXF1ZXN0X3Jldmlld19jb21tZW50GAYgASgLMisuZ2l0aHViX2V2ZW50LlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudEV2ZW50SAASNAoLY2hlY2tfc3VpdGUYByABKAsyHS5naXRodWJfZXZlbnQuQ2hlY2tTdWl0ZUV2ZW50SAASOAoNaXNzdWVfY29tbWVudBgIIAEoCzIfLmdpdGh1Yl9ldmVudC5Jc3N1ZUNvbW1lbnRFdmVudEgAEisKBnN0YXR1cxgJIAEoCzIZLmdpdGh1Yl9ldmVudC5TdGF0dXNFdmVudEgAEhUKCHJhd19qc29uGAogASgJQgOAAQFCBwoFZXZlbnRiBnByb3RvMw",[ee]);var La=k("CidzZXJ2aWNlcy9pbnRlZ3JhdGlvbnMvZ2xlYW4vZ2xlYW4ucHJvdG8SBWdsZWFuIq8FCghEb2N1bWVudBITCgtkb2N1bWVudF9pZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIPCgdjb250ZW50GAMgASgJEioKDWRvY3VtZW50X3R5cGUYBCABKA4yEy5nbGVhbi5Eb2N1bWVudFR5cGUSJgoLZGF0YV9zb3VyY2UYBSABKA4yES5nbGVhbi5EYXRhU291cmNlEgsKA3VybBgGIAEoCRIhCghjaGlsZHJlbhgHIAMoCzIPLmdsZWFuLkRvY3VtZW50Eh0KBmF1dGhvchgIIAEoCzINLmdsZWFuLlBlcnNvbhIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp2aXNpYmlsaXR5GAsgASgOMhouZ2xlYW4uRG9jdW1lbnQuVmlzaWJpbGl0eRIpCghzbmlwcGV0cxgMIAMoCzIXLmdsZWFuLkRvY3VtZW50LlNuaXBwZXQSGAoQZGF0YV9zb3VyY2VfbmFtZRgNIAEoCRpUCgdTbmlwcGV0EgwKBHRleHQYASABKAkSEwoLc3RhcnRfcmFuZ2UYAiABKAUSEQoJZW5kX3JhbmdlGAMgASgFEhMKC2RvY3VtZW50X2lkGAQgASgJIp8BCgpWaXNpYmlsaXR5EhoKFlVOU1BFQ0lGSUVEX1ZJU0lCSUxJVFkQABIPCgtQVUJMSUNfTElOSxABEhIKDlBVQkxJQ19WSVNJQkxFEAISEgoORE9NQUlOX1ZJU0lCTEUQAxIPCgtET01BSU5fTElOSxAEEgsKB1BSSVZBVEUQBRIeChpTUEVDSUZJQ19QRU9QTEVfQU5EX0dST1VQUxAGIiIKBlBlcnNvbhIMCgRuYW1lGAEgASgJEgoKAmlkGAIgASgJImEKDVNlYXJjaFJlcXVlc3QSDQoFcXVlcnkYASABKAkSHAoUaW5jbHVkZV9wcml2YXRlX2RvY3MYAiABKAgSDwoHdXNlcl9pZBgDIAEoCRISCgp1c2VyX2VtYWlsGAQgASgJIlwKDlNlYXJjaFJlc3BvbnNlEiIKCWRvY3VtZW50cxgBIAMoCzIPLmdsZWFuLkRvY3VtZW50EhEKCW9hdXRoX3VybBgCIAEoCRITCgtzdGF0dXNfY29kZRgDIAEoBSpYCgpEYXRhU291cmNlEhsKF1VOU1BFQ0lGSUVEX0RBVEFfU09VUkNFEAASCQoFU0xBQ0sQARIKCgZOT1RJT04QAhIKCgZMSU5FQVIQAxIKCgZHSVRIVUIQBCpuCgxEb2N1bWVudFR5cGUSHQoZVU5TUEVDSUZJRURfRE9DVU1FTlRfVFlQRRAAEggKBFBBR0UQARILCgdNRVNTQUdFEAISCwoHQ0hBTk5FTBADEhAKDENPTlZFUlNBVElPThAEEgkKBUlTU1VFEAVCQlpAZ2l0aHViLmNvbS9hdWdtZW50Y29kZS9hdWdtZW50L3NlcnZpY2VzL2ludGVncmF0aW9ucy9nbGVhbi9wcm90b2IGcHJvdG8z",[ee]);var i2;(function(e){e[e.UNSPECIFIED_VISIBILITY=0]="UNSPECIFIED_VISIBILITY",e[e.PUBLIC_LINK=1]="PUBLIC_LINK",e[e.PUBLIC_VISIBLE=2]="PUBLIC_VISIBLE",e[e.DOMAIN_VISIBLE=3]="DOMAIN_VISIBLE",e[e.DOMAIN_LINK=4]="DOMAIN_LINK",e[e.PRIVATE=5]="PRIVATE",e[e.SPECIFIC_PEOPLE_AND_GROUPS=6]="SPECIFIC_PEOPLE_AND_GROUPS"})(i2||(i2={}));var s2;(function(e){e[e.UNSPECIFIED_DATA_SOURCE=0]="UNSPECIFIED_DATA_SOURCE",e[e.SLACK=1]="SLACK",e[e.NOTION=2]="NOTION",e[e.LINEAR=3]="LINEAR",e[e.GITHUB=4]="GITHUB"})(s2||(s2={}));var l2;(function(e){e[e.UNSPECIFIED_DOCUMENT_TYPE=0]="UNSPECIFIED_DOCUMENT_TYPE",e[e.PAGE=1]="PAGE",e[e.MESSAGE=2]="MESSAGE",e[e.CHANNEL=3]="CHANNEL",e[e.CONVERSATION=4]="CONVERSATION",e[e.ISSUE=5]="ISSUE"})(l2||(l2={}));var a2=k("CjFzZXJ2aWNlcy9pbnRlZ3JhdGlvbnMvc2xhY2tfYm90L3NsYWNrX2V2ZW50LnByb3RvEghzbGFja2JvdCKzAQoNRXZlbnRNZXRhZGF0YRIPCgd0ZWFtX2lkGAEgASgJEhUKDWVudGVycHJpc2VfaWQYAiABKAkSEQoJdGVuYW50X2lkGAMgASgJEhIKCnJlcXVlc3RfaWQYBCABKAkSEwoLdGVuYW50X25hbWUYBSABKAkSFwoPc2hhcmRfbmFtZXNwYWNlGAYgASgJEhMKC3JpX2V2ZW50X2lkGAcgASgJEhAKCGV2ZW50X2lkGAggASgJIrEBCg9BcHBNZW50aW9uRXZlbnQSEQoEdGV4dBgDIAEoCUIDgAEBEgwKBHVzZXIYBCABKAkSEQoJdGltZXN0YW1wGAUgASgJEhgKEHRocmVhZF90aW1lc3RhbXAYBiABKAkSDwoHY2hhbm5lbBgHIAEoCRIXCg9ldmVudF90aW1lc3RhbXAYCCABKAkSEQoJdXNlcl90ZWFtGAkgASgJEhMKC3NvdXJjZV90ZWFtGAogASgJIvcBCgxNZXNzYWdlRXZlbnQSFQoNY2xpZW50X21zZ19pZBgBIAEoCRIMCgR1c2VyGAIgASgJEgwKBHRleHQYAyABKAkSGAoQdGhyZWFkX3RpbWVzdGFtcBgEIAEoCRIRCgl0aW1lc3RhbXAYBSABKAkSDwoHY2hhbm5lbBgGIAEoCRIUCgxjaGFubmVsX3R5cGUYByABKAkSFwoPZXZlbnRfdGltZXN0YW1wGAggASgJEhEKCXVzZXJfdGVhbRgJIAEoCRITCgtzb3VyY2VfdGVhbRgKIAEoCRIPCgdzdWJ0eXBlGAsgASgJEg4KBmJvdF9pZBgMIAEoCSKhAQoSUmVhY3Rpb25BZGRlZEV2ZW50EgwKBHVzZXIYASABKAkSEQoJaXRlbV91c2VyGAIgASgJEhcKD2V2ZW50X3RpbWVzdGFtcBgDIAEoCRIRCglpdGVtX3R5cGUYBCABKAkSFAoMaXRlbV9jaGFubmVsGAUgASgJEhAKCHJlYWN0aW9uGAYgASgJEhYKDml0ZW1fdGltZXN0YW1wGAcgASgJImMKGE1lbWJlckpvaW5lZENoYW5uZWxFdmVudBIMCgR1c2VyGAEgASgJEg8KB2NoYW5uZWwYAiABKAkSFwoPZXZlbnRfdGltZXN0YW1wGAMgASgJEg8KB2ludml0ZXIYBCABKAkiPgoTQXBwVW5pbnN0YWxsZWRFdmVudBIXCg9ldmVudF90aW1lc3RhbXAYASABKAMSDgoGYXBwX2lkGAIgASgJIkwKEkFwcEhvbWVPcGVuZWRFdmVudBIMCgR1c2VyGAEgASgJEg8KB2NoYW5uZWwYAiABKAkSFwoPZXZlbnRfdGltZXN0YW1wGAMgASgJImQKEkNoYW5uZWxDcmVhdGVkSW5mbxIKCgJpZBgBIAEoCRISCgppc19jaGFubmVsGAIgASgIEgwKBG5hbWUYAyABKAkSDwoHY3JlYXRlZBgEIAEoAxIPCgdjcmVhdG9yGAUgASgJIl0KE0NoYW5uZWxDcmVhdGVkRXZlbnQSLQoHY2hhbm5lbBgBIAEoCzIcLnNsYWNrYm90LkNoYW5uZWxDcmVhdGVkSW5mbxIXCg9ldmVudF90aW1lc3RhbXAYAiABKAki7QMKClNsYWNrRXZlbnQSKQoIbWV0YWRhdGEYASABKAsyFy5zbGFja2JvdC5FdmVudE1ldGFkYXRhEhIKCmV2ZW50X3R5cGUYAiABKAkSMAoLYXBwX21lbnRpb24YAyABKAsyGS5zbGFja2JvdC5BcHBNZW50aW9uRXZlbnRIABIpCgdtZXNzYWdlGAQgASgLMhYuc2xhY2tib3QuTWVzc2FnZUV2ZW50SAASNgoOcmVhY3Rpb25fYWRkZWQYBSABKAsyHC5zbGFja2JvdC5SZWFjdGlvbkFkZGVkRXZlbnRIABJDChVtZW1iZXJfam9pbmVkX2NoYW5uZWwYBiABKAsyIi5zbGFja2JvdC5NZW1iZXJKb2luZWRDaGFubmVsRXZlbnRIABI4Cg9hcHBfdW5pbnN0YWxsZWQYByABKAsyHS5zbGFja2JvdC5BcHBVbmluc3RhbGxlZEV2ZW50SAASNwoPYXBwX2hvbWVfb3BlbmVkGAggASgLMhwuc2xhY2tib3QuQXBwSG9tZU9wZW5lZEV2ZW50SAASOAoPY2hhbm5lbF9jcmVhdGVkGAogASgLMh0uc2xhY2tib3QuQ2hhbm5lbENyZWF0ZWRFdmVudEgAEhAKCHJhd19qc29uGAkgASgJQgcKBWV2ZW50YgZwcm90bzM");var c2=k("CiBzZXJ2aWNlcy9zZXR0aW5ncy9zZXR0aW5ncy5wcm90bxIIc2V0dGluZ3Mi9AUKE01jcE9BdXRoQ3JlZGVudGlhbHMSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhoKDXJlZnJlc2hfdG9rZW4YAiABKAlIAIgBARJAChdhY2Nlc3NfdG9rZW5fZXhwaXJlc19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIXCgp0b2tlbl90eXBlGAQgASgJSAKIAQESEgoFc2NvcGUYBSABKAlIA4gBARIeChZhdXRob3JpemF0aW9uX2VuZHBvaW50GAYgASgJEhYKDnRva2VuX2VuZHBvaW50GAcgASgJEhMKBmlzc3VlchgIIAEoCUgEiAEBEhEKCWNsaWVudF9pZBgJIAEoCRIaCg1jbGllbnRfc2VjcmV0GAogASgJSAWIAQESHgoRaGFzX3JlZnJlc2hfdG9rZW4YCyABKAhIBogBARIdChBvYXV0aF9zZWNyZXRfa2V5GAwgASgJSAeIAQESKQocb2F1dGhfc2VjcmV0X293bmVyX2NvbmZpZ19pZBgNIAEoCUgIiAEBEicKGnRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kGA4gASgJSAmIAQESLAokb2F1dGhfc2VjcmV0X293bmVyX2NvbmZpZ19pZF9hbGlhc2VzGA8gAygJEhwKD29hdXRoX3NlY3JldF9pZBgQIAEoCUgKiAEBQhAKDl9yZWZyZXNoX3Rva2VuQhoKGF9hY2Nlc3NfdG9rZW5fZXhwaXJlc19hdEINCgtfdG9rZW5fdHlwZUIICgZfc2NvcGVCCQoHX2lzc3VlckIQCg5fY2xpZW50X3NlY3JldEIUChJfaGFzX3JlZnJlc2hfdG9rZW5CEwoRX29hdXRoX3NlY3JldF9rZXlCHwodX29hdXRoX3NlY3JldF9vd25lcl9jb25maWdfaWRCHQobX3Rva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kQhIKEF9vYXV0aF9zZWNyZXRfaWRiBnByb3RvMw",[nn,ee,$e,La]);var m2=k("CipzZXJ2aWNlcy9yZW1vdGVfYWdlbnRzL3JlbW90ZV9hZ2VudHMucHJvdG8SDXJlbW90ZV9hZ2VudHMiQAoQQWRkU1NIS2V5UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSEwoLcHVibGljX2tleXMYAiADKAkiRgoRQWRkU1NIS2V5UmVzcG9uc2USMQoKc3NoX2NvbmZpZxgBIAEoCzIdLnJlbW90ZV9hZ2VudHMuQWdlbnRTU0hDb25maWcixwMKBUFnZW50EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIqCgZzdGF0dXMYAiABKA4yGi5yZW1vdGVfYWdlbnRzLkFnZW50U3RhdHVzEioKBmNvbmZpZxgDIAEoCzIaLnJlbW90ZV9hZ2VudHMuQWdlbnRDb25maWcSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoKc3NoX2NvbmZpZxgGIAEoCzIdLnJlbW90ZV9hZ2VudHMuQWdlbnRTU0hDb25maWdIAIgBARIYCgtoYXNfdXBkYXRlcxgHIAEoCEgBiAEBEjgKEHdvcmtzcGFjZV9zdGF0dXMYCCABKA4yHi5yZW1vdGVfYWdlbnRzLldvcmtzcGFjZVN0YXR1cxIzCgpleHBpcmVzX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBQg0KC19zc2hfY29uZmlnQg4KDF9oYXNfdXBkYXRlc0INCgtfZXhwaXJlc19hdCL2BgoLQWdlbnRDb25maWcSNgoPd29ya3NwYWNlX3NldHVwGAEgASgLMh0ucmVtb3RlX2FnZW50cy5Xb3Jrc3BhY2VTZXR1cBItCg5zdGFydGluZ19ub2RlcxgCIAMoCzIVLmNoYXQuQ2hhdFJlcXVlc3ROb2RlEhwKD3VzZXJfZ3VpZGVsaW5lcxgDIAEoCUgAiAEBEiEKFHdvcmtzcGFjZV9ndWlkZWxpbmVzGAQgASgJSAGIAQESEgoFbW9kZWwYBiABKAlIAogBARIiChVpc19zZXR1cF9zY3JpcHRfYWdlbnQYByABKAhIA4gBARIzCgttY3Bfc2VydmVycxgIIAMoCzIeLnJlbW90ZV9hZ2VudHMuTWNwU2VydmVyQ29uZmlnEhIKBXRpdGxlGAkgASgJSASIAQESOQoOcmVxdWVzdF9zb3VyY2UYCiABKA4yHC5yZW1vdGVfYWdlbnRzLlJlcXVlc3RTb3VyY2VIBYgBARIWCg5kaXNhYmxlZF90b29scxgMIAMoCRJSChVtY3Bfb2F1dGhfY3JlZGVudGlhbHMYDSADKAsyMy5yZW1vdGVfYWdlbnRzLkFnZW50Q29uZmlnLk1jcE9hdXRoQ3JlZGVudGlhbHNFbnRyeRItCghib3RfdHlwZRgOIAEoDjIWLmF1dGhfZW50aXRpZXMuQm90VHlwZUgGiAEBEhsKDmNvcnJlbGF0aW9uX2lkGA8gASgJSAeIAQESLwoic2tpcF9mZWF0dXJlX2dhdGluZ19mb3JfZnJlZV90cmlhbBgQIAEoCEgIiAEBGlkKGE1jcE9hdXRoQ3JlZGVudGlhbHNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5zZXR0aW5ncy5NY3BPQXV0aENyZWRlbnRpYWxzOgI4AUISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lc0IICgZfbW9kZWxCGAoWX2lzX3NldHVwX3NjcmlwdF9hZ2VudEIICgZfdGl0bGVCEQoPX3JlcXVlc3Rfc291cmNlQgsKCV9ib3RfdHlwZUIRCg9fY29ycmVsYXRpb25faWRCJQojX3NraXBfZmVhdHVyZV9nYXRpbmdfZm9yX2ZyZWVfdHJpYWxKBAgFEAZKBAgLEAwicwoOQWdlbnRTU0hDb25maWcSEwoLcHVibGljX2tleXMYASADKAkSEAoIaG9zdG5hbWUYAiABKAkSOgoSc3NoX2NvbmZpZ19vcHRpb25zGAMgAygLMh4ucmVtb3RlX2FnZW50cy5TU0hDb25maWdPcHRpb24iYgoLQ2hhdFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEjoKD3JlcXVlc3RfZGV0YWlscxgCIAEoCzIhLnJlbW90ZV9hZ2VudHMuQ2hhdFJlcXVlc3REZXRhaWxzIo8CChJDaGF0UmVxdWVzdERldGFpbHMSLAoNcmVxdWVzdF9ub2RlcxgBIAMoCzIVLmNoYXQuQ2hhdFJlcXVlc3ROb2RlEhwKD3VzZXJfZ3VpZGVsaW5lcxgCIAEoCUgAiAEBEiEKFHdvcmtzcGFjZV9ndWlkZWxpbmVzGAMgASgJSAGIAQESFQoIbW9kZWxfaWQYBSABKAlIAogBARIzCgttY3Bfc2VydmVycxgGIAMoCzIeLnJlbW90ZV9hZ2VudHMuTWNwU2VydmVyQ29uZmlnQhIKEF91c2VyX2d1aWRlbGluZXNCFwoVX3dvcmtzcGFjZV9ndWlkZWxpbmVzQgsKCV9tb2RlbF9pZEoECAQQBSIOCgxDaGF0UmVzcG9uc2UiaAoSQ3JlYXRlQWdlbnRSZXF1ZXN0EioKBmNvbmZpZxgBIAEoCzIaLnJlbW90ZV9hZ2VudHMuQWdlbnRDb25maWcSFwoKaW1hZ2VfbmFtZRgCIAEoCUgAiAEBQg0KC19pbWFnZV9uYW1lIjoKE0NyZWF0ZUFnZW50UmVzcG9uc2USIwoFYWdlbnQYASABKAsyFC5yZW1vdGVfYWdlbnRzLkFnZW50Ii0KEkRlbGV0ZUFnZW50UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiFQoTRGVsZXRlQWdlbnRSZXNwb25zZSJ4ChZEaWZmRXhwbGFuYXRpb25TZWN0aW9uEg0KBXRpdGxlGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEjoKCHNlY3Rpb25zGAMgAygLMigucmVtb3RlX2FnZW50cy5EaWZmRXhwbGFuYXRpb25TdWJTZWN0aW9uIqEBChlEaWZmRXhwbGFuYXRpb25TdWJTZWN0aW9uEg0KBXRpdGxlGAEgASgJEkkKDGRlc2NyaXB0aW9ucxgCIAMoCzIzLnJlbW90ZV9hZ2VudHMuRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbkRlc2NyaXB0aW9uEioKCWRpZmZfdHlwZRgDIAEoDjIXLnJlbW90ZV9hZ2VudHMuRGlmZlR5cGUifgokRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbkRlc2NyaXB0aW9uEgwKBHBhdGgYASABKAkSDAoEdGV4dBgCIAEoCRIjCgVyYW5nZRgDIAEoCzIULnJlbW90ZV9hZ2VudHMuUmFuZ2USFQoNc2VsZWN0ZWRfY29kZRgEIAEoCSJlChZHZW5lcmF0ZVN1bW1hcnlSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIZChFzdGFydF9zZXF1ZW5jZV9pZBgCIAEoDRIXCg9lbmRfc2VxdWVuY2VfaWQYAyABKA0iWwoXR2VuZXJhdGVTdW1tYXJ5UmVzcG9uc2USQAoRZGlmZl9kZXNjcmlwdGlvbnMYASADKAsyJS5yZW1vdGVfYWdlbnRzLkRpZmZFeHBsYW5hdGlvblNlY3Rpb24iJQoJR2l0aHViUmVmEgsKA3VybBgBIAEoCRILCgNyZWYYAiABKAkiMAoVSW50ZXJydXB0QWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIYChZJbnRlcnJ1cHRBZ2VudFJlc3BvbnNlIoMDCg9NY3BTZXJ2ZXJDb25maWcSFAoHY29tbWFuZBgBIAEoCUgAiAEBEgwKBGFyZ3MYAiADKAkSFwoKdGltZW91dF9tcxgDIAEoBUgBiAEBEjQKA2VudhgEIAMoCzInLnJlbW90ZV9hZ2VudHMuTWNwU2VydmVyQ29uZmlnLkVudkVudHJ5EiQKF3VzZV9zaGVsbF9pbnRlcnBvbGF0aW9uGAUgASgISAKIAQESEQoEbmFtZRgGIAEoCUgDiAEBEhUKCGRpc2FibGVkGAcgASgISASIAQESEQoEdHlwZRgIIAEoCUgFiAEBEhAKA3VybBgJIAEoCUgGiAEBGioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCgoIX2NvbW1hbmRCDQoLX3RpbWVvdXRfbXNCGgoYX3VzZV9zaGVsbF9pbnRlcnBvbGF0aW9uQgcKBV9uYW1lQgsKCV9kaXNhYmxlZEIHCgVfdHlwZUIGCgRfdXJsIiwKEVBhdXNlQWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIUChJQYXVzZUFnZW50UmVzcG9uc2UiIwoFUmFuZ2USDQoFc3RhcnQYASABKAUSCwoDZW5kGAIgASgFIi0KElJlc3VtZUFnZW50UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiFQoTUmVzdW1lQWdlbnRSZXNwb25zZSJsChZSZXN1bWVIaW50QWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRI5CgtoaW50X3JlYXNvbhgCIAEoDjIkLnJlbW90ZV9hZ2VudHMuUmVzdW1lSGludEFnZW50UmVhc29uIjEKF1Jlc3VtZUhpbnRBZ2VudFJlc3BvbnNlEhYKDnJlc3VtZV9zdGFydGVkGAEgASgIIi0KD1NTSENvbmZpZ09wdGlvbhILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiUwoSVXBkYXRlQWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIWCgluZXdfdGl0bGUYAiABKAlIAIgBAUIMCgpfbmV3X3RpdGxlIjoKE1VwZGF0ZUFnZW50UmVzcG9uc2USIwoFYWdlbnQYASABKAsyFC5yZW1vdGVfYWdlbnRzLkFnZW50ItACCg5Xb3Jrc3BhY2VTZXR1cBIuCgpnaXRodWJfcmVmGAEgASgLMhgucmVtb3RlX2FnZW50cy5HaXRodWJSZWZIABISCgVwYXRjaBgCIAEoCUgBiAEBEhkKDHNldHVwX3NjcmlwdBgDIAEoCUgCiAEBEhIKBXRva2VuGAQgASgJSAOIAQESFAoHYXBpX3VybBgFIAEoCUgEiAEBEkAKCmdpdF9jb25maWcYBiADKAsyLC5yZW1vdGVfYWdlbnRzLldvcmtzcGFjZVNldHVwLkdpdENvbmZpZ0VudHJ5GjAKDkdpdENvbmZpZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCEAoOc3RhcnRpbmdfZmlsZXNCCAoGX3BhdGNoQg8KDV9zZXR1cF9zY3JpcHRCCAoGX3Rva2VuQgoKCF9hcGlfdXJsKoACCgtBZ2VudFN0YXR1cxIcChhBR0VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIYChRBR0VOVF9TVEFUVVNfUEVORElORxAFEhkKFUFHRU5UX1NUQVRVU19TVEFSVElORxABEhgKFEFHRU5UX1NUQVRVU19SVU5OSU5HEAISFQoRQUdFTlRfU1RBVFVTX0lETEUQAxIXChNBR0VOVF9TVEFUVVNfRkFJTEVEEAQSGAoUQUdFTlRfU1RBVFVTX1BBVVNJTkcQBhIXChNBR0VOVF9TVEFUVVNfUEFVU0VEEAcSIQodQUdFTlRfU1RBVFVTX1BFTkRJTkdfREVMRVRJT04QCCqJAQoIRGlmZlR5cGUSDwoLVU5TUEVDSUZJRUQQABIHCgNGSVgQARILCgdGRUFUVVJFEAISDAoIUkVGQUNUT1IQAxIRCg1ET0NVTUVOVEFUSU9OEAQSCQoFU1RZTEUQBRIICgRURVNUEAYSCQoFQ0hPUkUQBxIKCgZSRVZFUlQQCBIJCgVPVEhFUhAJKt8BCg1SZXF1ZXN0U291cmNlEh4KGlJFUVVFU1RfU09VUkNFX1VOU1BFQ0lGSUVEEAASFgoSUkVRVUVTVF9TT1VSQ0VfSURFEAESIgoeUkVRVUVTVF9TT1VSQ0VfQVVHTUVOVF9BQ1RJT05TEAISHAoYUkVRVUVTVF9TT1VSQ0VfU0xBQ0tfQk9UEAMSHQoZUkVRVUVTVF9TT1VSQ0VfR0lUSFVCX0JPVBAEEh0KGVJFUVVFU1RfU09VUkNFX0xJTkVBUl9CT1QQBRIWChJSRVFVRVNUX1NPVVJDRV9DTEkQBiqaAQoVUmVzdW1lSGludEFnZW50UmVhc29uEigKJFJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9VTlNQRUNJRklFRBAAEisKJ1JFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9UWVBJTkdfTUVTU0FHRRABEioKJlJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9WSUVXSU5HX0FHRU5UEAIqygEKD1dvcmtzcGFjZVN0YXR1cxIgChxXT1JLU1BBQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHAoYV09SS1NQQUNFX1NUQVRVU19SVU5OSU5HEAESHAoYV09SS1NQQUNFX1NUQVRVU19QQVVTSU5HEAISGwoXV09SS1NQQUNFX1NUQVRVU19QQVVTRUQQAxIdChlXT1JLU1BBQ0VfU1RBVFVTX1JFU1VNSU5HEAQSHQoZV09SS1NQQUNFX1NUQVRVU19ERUxFVElORxAFYgZwcm90bzM",[ee,$e,yn,c2]);var d2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PENDING=5]="PENDING",e[e.STARTING=1]="STARTING",e[e.RUNNING=2]="RUNNING",e[e.IDLE=3]="IDLE",e[e.FAILED=4]="FAILED",e[e.PAUSING=6]="PAUSING",e[e.PAUSED=7]="PAUSED",e[e.PENDING_DELETION=8]="PENDING_DELETION"})(d2||(d2={}));var u2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.FIX=1]="FIX",e[e.FEATURE=2]="FEATURE",e[e.REFACTOR=3]="REFACTOR",e[e.DOCUMENTATION=4]="DOCUMENTATION",e[e.STYLE=5]="STYLE",e[e.TEST=6]="TEST",e[e.CHORE=7]="CHORE",e[e.REVERT=8]="REVERT",e[e.OTHER=9]="OTHER"})(u2||(u2={}));var h2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.IDE=1]="IDE",e[e.AUGMENT_ACTIONS=2]="AUGMENT_ACTIONS",e[e.SLACK_BOT=3]="SLACK_BOT",e[e.GITHUB_BOT=4]="GITHUB_BOT",e[e.LINEAR_BOT=5]="LINEAR_BOT",e[e.CLI=6]="CLI"})(h2||(h2={}));var b2;(function(e){e[e.RESUME_AGENT_HINT_REASON_UNSPECIFIED=0]="RESUME_AGENT_HINT_REASON_UNSPECIFIED",e[e.RESUME_AGENT_HINT_REASON_TYPING_MESSAGE=1]="RESUME_AGENT_HINT_REASON_TYPING_MESSAGE",e[e.RESUME_AGENT_HINT_REASON_VIEWING_AGENT=2]="RESUME_AGENT_HINT_REASON_VIEWING_AGENT"})(b2||(b2={}));var f2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.RUNNING=1]="RUNNING",e[e.PAUSING=2]="PAUSING",e[e.PAUSED=3]="PAUSED",e[e.RESUMING=4]="RESUMING",e[e.DELETING=5]="DELETING"})(f2||(f2={}));var A2=k("ChpzZXJ2aWNlcy9zaGFyZS9zaGFyZS5wcm90bxIFc2hhcmUicQoMQ2hhdEV4Y2hhbmdlEhIKCnJlcXVlc3RfaWQYASABKAkSFAoHbWVzc2FnZRgCIAEoCUIDgAEBEhUKCHJlc3BvbnNlGAMgASgJQgOAAQESIAoTcmVzcG9uc2Vfbm9kZXNfanNvbhgEIAEoCUIDgAEBIioKGkdldENoYXRDb252ZXJzYXRpb25SZXF1ZXN0EgwKBHV1aWQYASABKAkiswEKG0dldENoYXRDb252ZXJzYXRpb25SZXNwb25zZRIMCgR1dWlkGAEgASgJEigKBGRhdGUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBHVzZXIYAyABKAkSFwoPY29udmVyc2F0aW9uX2lkGAQgASgJEiEKBGNoYXQYBSADKAsyEy5zaGFyZS5DaGF0RXhjaGFuZ2USEgoFdGl0bGUYBiABKAlCA4ABASJ7ChtTYXZlQ2hhdENvbnZlcnNhdGlvblJlcXVlc3QSDAoEdXNlchgBIAEoCRIXCg9jb252ZXJzYXRpb25faWQYAiABKAkSIQoEY2hhdBgDIAMoCzITLnNoYXJlLkNoYXRFeGNoYW5nZRISCgV0aXRsZRgEIAEoCUIDgAEBIiwKHFNhdmVDaGF0Q29udmVyc2F0aW9uUmVzcG9uc2USDAoEdXVpZBgBIAEoCTLGAQoFU2hhcmUSXAoTR2V0Q2hhdENvbnZlcnNhdGlvbhIhLnNoYXJlLkdldENoYXRDb252ZXJzYXRpb25SZXF1ZXN0GiIuc2hhcmUuR2V0Q2hhdENvbnZlcnNhdGlvblJlc3BvbnNlEl8KFFNhdmVDaGF0Q29udmVyc2F0aW9uEiIuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXF1ZXN0GiMuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXNwb25zZWIGcHJvdG8z",[ee]);var D2=k("Ci5zZXJ2aWNlcy9yZXF1ZXN0X2luc2lnaHQvcmVxdWVzdF9pbnNpZ2h0LnByb3RvEg9yZXF1ZXN0X2luc2lnaHQiYgoNQWdlbnRGZWVkYmFjaxIvCgZyYXRpbmcYASABKA4yHy5yZXF1ZXN0X2luc2lnaHQuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgCIAEoCRISCgp1c2VyX2FnZW50GAMgASgJIk0KFUFnZW50SW50ZXJydXB0aW9uRGF0YRISCgpyZXF1ZXN0X2lkGAEgASgJEiAKGGN1cnJfY29udmVyc2F0aW9uX2xlbmd0aBgCIAEoDSKjAgoRQWdlbnRSZXF1ZXN0RXZlbnQSWAofY2hhdF9oaXN0b3J5X3N1bW1hcml6YXRpb25fZGF0YRgFIAEoCzItLnJlcXVlc3RfaW5zaWdodC5DaGF0SGlzdG9yeVN1bW1hcml6YXRpb25EYXRhSAASSAoXZmlyc3RfdG9rZW5fdGltaW5nX2RhdGEYBiABKAsyJS5yZXF1ZXN0X2luc2lnaHQuRmlyc3RUb2tlblRpbWluZ0RhdGFIABISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkSFwoPY29udmVyc2F0aW9uX2lkGAMgASgJEhsKE2NoYXRfaGlzdG9yeV9sZW5ndGgYBCABKA1CDAoKZXZlbnRfZGF0YSIUChJBZ2VudFJldmVyc2lvbkRhdGEiugoKEUFnZW50U2Vzc2lvbkV2ZW50EkMKFGFnZW50X3JldmVyc2lvbl9kYXRhGAQgASgLMiMucmVxdWVzdF9pbnNpZ2h0LkFnZW50UmV2ZXJzaW9uRGF0YUgAEkkKF2FnZW50X2ludGVycnVwdGlvbl9kYXRhGAUgASgLMiYucmVxdWVzdF9pbnNpZ2h0LkFnZW50SW50ZXJydXB0aW9uRGF0YUgAEkgKF3JlbWVtYmVyX3Rvb2xfY2FsbF9kYXRhGAYgASgLMiUucmVxdWVzdF9pbnNpZ2h0LlJlbWVtYmVyVG9vbENhbGxEYXRhSAASSAoXbWVtb3JpZXNfZmlsZV9vcGVuX2RhdGEYByABKAsyJS5yZXF1ZXN0X2luc2lnaHQuTWVtb3JpZXNGaWxlT3BlbkRhdGFIABJLChhpbml0aWFsX29yaWVudGF0aW9uX2RhdGEYCCABKAsyJy5yZXF1ZXN0X2luc2lnaHQuSW5pdGlhbE9yaWVudGF0aW9uRGF0YUgAEkwKGWNsYXNzaWZ5X2FuZF9kaXN0aWxsX2RhdGEYCSABKAsyJy5yZXF1ZXN0X2luc2lnaHQuQ2xhc3NpZnlBbmREaXN0aWxsRGF0YUgAEkEKE2ZsdXNoX21lbW9yaWVzX2RhdGEYCiABKAsyIi5yZXF1ZXN0X2luc2lnaHQuRmx1c2hNZW1vcmllc0RhdGFIABI/ChJtZW1vcmllc19tb3ZlX2RhdGEYCyABKAsyIS5yZXF1ZXN0X2luc2lnaHQuTWVtb3JpZXNNb3ZlRGF0YUgAEkEKE3J1bGVzX2ltcG9ydGVkX2RhdGEYDCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuUnVsZXNJbXBvcnRlZERhdGFIABJCChR0YXNrX2xpc3RfdXNhZ2VfZGF0YRgNIAEoCzIiLnJlcXVlc3RfaW5zaWdodC5UYXNrTGlzdFVzYWdlRGF0YUgAEkkKF2NvbnRlbnRfdHJ1bmNhdGlvbl9kYXRhGA4gASgLMiYucmVxdWVzdF9pbnNpZ2h0LkNvbnRlbnRUcnVuY2F0aW9uRGF0YUgAElAKG21vZGVsX3NlbGVjdGlvbl9jaGFuZ2VfZGF0YRgPIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5Nb2RlbFNlbGVjdGlvbkNoYW5nZURhdGFIABJMChlzY3JpcHRfY2FwdHVyZV9iYXNpY19kYXRhGBAgASgLMicucmVxdWVzdF9pbnNpZ2h0LlNjcmlwdENhcHR1cmVCYXNpY0RhdGFIABI9ChFtZW1vcnlfdXNhZ2VfZGF0YRgRIAEoCzIgLnJlcXVlc3RfaW5zaWdodC5NZW1vcnlVc2FnZURhdGFIABJRChxza2lsbHNfaW5jbHVkZWRfaW5fY2hhdF9kYXRhGBIgASgLMikucmVxdWVzdF9pbnNpZ2h0LlNraWxsc0luY2x1ZGVkSW5DaGF0RGF0YUgAEkwKGXNraWxsX2NvbnRlbnRfbG9hZGVkX2RhdGEYEyABKAsyJy5yZXF1ZXN0X2luc2lnaHQuU2tpbGxDb250ZW50TG9hZGVkRGF0YUgAEkEKE3JldHJpZXZhbF90b29sX2RhdGEYFCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuUmV0cmlldmFsVG9vbERhdGFIABISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkSFwoPY29udmVyc2F0aW9uX2lkGAMgASgJQgwKCmV2ZW50X2RhdGEivggKEEFnZW50VHJhY2luZ0RhdGESOwoFZmxhZ3MYAyADKAsyLC5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YS5GbGFnc0VudHJ5EjkKBG51bXMYBCADKAsyKy5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YS5OdW1zRW50cnkSSAoMc3RyaW5nX3N0YXRzGAUgAygLMjIucmVxdWVzdF9pbnNpZ2h0LkFnZW50VHJhY2luZ0RhdGEuU3RyaW5nU3RhdHNFbnRyeRJGCgtyZXF1ZXN0X2lkcxgGIAMoCzIxLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlJlcXVlc3RJZHNFbnRyeRozCgtTdHJpbmdTdGF0cxIRCgludW1fbGluZXMYASABKAUSEQoJbnVtX2NoYXJzGAIgASgFGkwKDFRpbWVkQm9vbGVhbhINCgV2YWx1ZRgBIAEoCBItCgl0aW1lc3RhbXAYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGksKC1RpbWVkTnVtYmVyEg0KBXZhbHVlGAEgASgBEi0KCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAafwoQVGltZWRTdHJpbmdTdGF0cxI8CgV2YWx1ZRgBIAEoCzItLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlN0cmluZ1N0YXRzEi0KCXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaSwoLVGltZWRTdHJpbmcSDQoFdmFsdWUYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBpcCgpGbGFnc0VudHJ5EgsKA2tleRgBIAEoCRI9CgV2YWx1ZRgCIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlRpbWVkQm9vbGVhbjoCOAEaWgoJTnVtc0VudHJ5EgsKA2tleRgBIAEoCRI8CgV2YWx1ZRgCIAEoCzItLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlRpbWVkTnVtYmVyOgI4ARpmChBTdHJpbmdTdGF0c0VudHJ5EgsKA2tleRgBIAEoCRJBCgV2YWx1ZRgCIAEoCzIyLnJlcXVlc3RfaW5zaWdodC5BZ2VudFRyYWNpbmdEYXRhLlRpbWVkU3RyaW5nU3RhdHM6AjgBGmAKD1JlcXVlc3RJZHNFbnRyeRILCgNrZXkYASABKAkSPAoFdmFsdWUYAiABKAsyLS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YS5UaW1lZFN0cmluZzoCOAEipwEKFUFwaUh0dHBSZXF1ZXN0RGV0YWlscxITCgtoZWFkZXJfanNvbhgBIAEoCRItCg5vcGFxdWVfdXNlcl9pZBgCIAEoCzIVLmF1dGhfZW50aXRpZXMuVXNlcklkEjIKDHJlcXVlc3RfdHlwZRgDIAEoDjIcLnJlcXVlc3RfaW5zaWdodC5SZXF1ZXN0VHlwZRIWCg5yZXF1ZXN0X3BhcmFtcxgEIAEoCSI2Cg9BcGlIdHRwUmVzcG9uc2USDAoEY29kZRgBIAEoDRIVCg1lcnJvcl9tZXNzYWdlGAIgASgJIqYCChBBdXRvVG9wVXBTZXR0aW5nEhcKD29yYl9jdXN0b21lcl9pZBgBIAEoCRJBCgZhY3Rpb24YAiABKA4yMS5yZXF1ZXN0X2luc2lnaHQuQXV0b1RvcFVwU2V0dGluZy5BdXRvVG9wVXBBY3Rpb24SEQoJdGhyZXNob2xkGAMgASgDEg4KBmFtb3VudBgEIAEoAxIZChFiaWxsaW5nX2VudGl0eV9pZBgFIAEoCRIYChB0b3BfdXBfdGhyZXNob2xkGAYgASgJEhUKDXRvcF91cF9hbW91bnQYByABKAkiRwoPQXV0b1RvcFVwQWN0aW9uEhkKFVVOS05PV05fVE9QX1VQX0FDVElPThAAEgsKB0VOQUJMRUQQARIMCghESVNBQkxFRBACImsKFEJ1dGxlclBsYW5uZXJBdHRlbXB0Eg8KB2F0dGVtcHQYASABKAUSFAoMcmF3X3Jlc3BvbnNlGAIgASgJEhoKDWVycm9yX21lc3NhZ2UYAyABKAlIAIgBAUIQCg5fZXJyb3JfbWVzc2FnZSLoBgoVQnV0bGVyUm91dGluZ1Jlc3BvbnNlEhYKDnNlbGVjdGVkX21vZGVsGAEgASgJEhUKDXJvdXRpbmdfbW9kZWwYAiABKAkSFgoOcm91dGluZ19yZWFzb24YAyABKAkSGQoMcGxhbm5lcl90aWVyGAQgASgJSACIAQESNwoIYXR0ZW1wdHMYBSADKAsyJS5yZXF1ZXN0X2luc2lnaHQuQnV0bGVyUGxhbm5lckF0dGVtcHQSFAoMcm91dGluZ19wYXRoGAYgASgJEiUKGHBsYW5uZXJfZXN0aW1hdGVkX3JvdW5kcxgHIAEoBUgBiAEBEiMKFnBsYW5uZXJfaGlnaF9yZWFzb25pbmcYCCABKAhIAogBARIeChFwbGFubmVyX2Jhc2VfdGllchgJIAEoCUgDiAEBEigKG3BsYW5uZXJfdXNlcl9yZXF1ZXN0ZWRfdGllchgKIAEoCUgEiAEBEiAKE3BsYW5uZXJfcHJvbXB0X2hhc2gYCyABKAlIBYgBARIXCg9jb252ZXJzYXRpb25faWQYDCABKAkSDwoHdHVybl9pZBgNIAEoCRIZChFidXRsZXJfbW9kZWxfbmFtZRgOIAEoCRIRCglpc19zaWxlbnQYDyABKAgSGwoTaXNfdG9vbF9yZXN1bHRfdHVybhgQIAEoCBJECg1zZXNzaW9uX3N0YXRlGBEgASgLMigucmVxdWVzdF9pbnNpZ2h0LkJ1dGxlclNlc3Npb25DYWNoZVN0YXRlSAaIAQESUQoWcGVuZGluZ19yZXRyeV9kZWNpc2lvbhgSIAEoCzIsLnJlcXVlc3RfaW5zaWdodC5CdXRsZXJTdW1tYXJpemVSZXRyeVBlbmRpbmdIB4gBARIUCgxzcnBfZGVjaXNpb24YEyABKAlCDwoNX3BsYW5uZXJfdGllckIbChlfcGxhbm5lcl9lc3RpbWF0ZWRfcm91bmRzQhkKF19wbGFubmVyX2hpZ2hfcmVhc29uaW5nQhQKEl9wbGFubmVyX2Jhc2VfdGllckIeChxfcGxhbm5lcl91c2VyX3JlcXVlc3RlZF90aWVyQhYKFF9wbGFubmVyX3Byb21wdF9oYXNoQhAKDl9zZXNzaW9uX3N0YXRlQhkKF19wZW5kaW5nX3JldHJ5X2RlY2lzaW9uInAKF0J1dGxlclNlc3Npb25DYWNoZVN0YXRlEhIKCmxhc3RfbW9kZWwYASABKAkSGQoRY29uc2VjdXRpdmVfdHVybnMYAiABKAUSFQoNY2FjaGVkX3Rva2VucxgDIAEoAxIPCgdsYXN0X3RzGAQgASgBIkYKG0J1dGxlclN1bW1hcml6ZVJldHJ5UGVuZGluZxIPCgd0dXJuX2lkGAEgASgJEhYKDnNlbGVjdGVkX21vZGVsGAIgASgJIuIBChJDYW5jZWxTdWJzY3JpcHRpb24SGwoTb3JiX3N1YnNjcmlwdGlvbl9pZBgBIAEoCRI6CghmZWVkYmFjaxgCIAEoCzIoLmF1dGguQ2FuY2VsU3Vic2NyaXB0aW9uUmVxdWVzdC5GZWVkYmFjaxIbChNjYW5jZWxsYXRpb25fcmVhc29uGAMgASgJEh4KFnN0cmlwZV9zdWJzY3JpcHRpb25faWQYBCABKAkSGQoRYmlsbGluZ19lbnRpdHlfaWQYBSABKAkSGwoTYWRkaXRpb25hbF9mZWVkYmFjaxgGIAEoCSIUChJDaGFuZ2VzQXBwbGllZERhdGEiYQoMQ2hhdEZlZWRiYWNrEi8KBnJhdGluZxgBIAEoDjIfLnJlcXVlc3RfaW5zaWdodC5GZWVkYmFja1JhdGluZxIMCgRub3RlGAIgASgJEhIKCnVzZXJfYWdlbnQYAyABKAki6wQKHENoYXRIaXN0b3J5U3VtbWFyaXphdGlvbkRhdGESIAoYdG90YWxfaGlzdG9yeV9jaGFyX2NvdW50GAEgASgNEiQKHHRvdGFsX2hpc3RvcnlfZXhjaGFuZ2VfY291bnQYAiABKA0SFwoPaGVhZF9jaGFyX2NvdW50GAMgASgNEhsKE2hlYWRfZXhjaGFuZ2VfY291bnQYBCABKA0SHAoUaGVhZF9sYXN0X3JlcXVlc3RfaWQYBSABKAkSFwoPdGFpbF9jaGFyX2NvdW50GAYgASgNEhsKE3RhaWxfZXhjaGFuZ2VfY291bnQYByABKA0SHAoUdGFpbF9sYXN0X3JlcXVlc3RfaWQYCCABKAkSGgoSc3VtbWFyeV9jaGFyX2NvdW50GAkgASgNEiEKGXN1bW1hcml6YXRpb25fZHVyYXRpb25fbXMYCiABKA0SIAoYaXNfY2FjaGVfYWJvdXRfdG9fZXhwaXJlGAsgASgIEhIKCmlzX2Fib3J0ZWQYDCABKAgSJgoZdG90YWxfaGlzdG9yeV90b2tlbl9jb3VudBgNIAEoDUgAiAEBEh0KEGhlYWRfdG9rZW5fY291bnQYDiABKA1IAYgBARIdChB0YWlsX3Rva2VuX2NvdW50GA8gASgNSAKIAQESIAoTdG9rZW5zX2Zyb21fYmFja2VuZBgQIAEoCEgDiAEBQhwKGl90b3RhbF9oaXN0b3J5X3Rva2VuX2NvdW50QhMKEV9oZWFkX3Rva2VuX2NvdW50QhMKEV90YWlsX3Rva2VuX2NvdW50QhYKFF90b2tlbnNfZnJvbV9iYWNrZW5kIhkKF0NoYXRJbnB1dENvbXBsZXRpb25FbWl0IjEKHUNoYXRJbnB1dENvbXBsZXRpb25SZXNvbHV0aW9uEhAKCGFjY2VwdGVkGAEgASgIIqAGCg9DaGF0VXNlck1lc3NhZ2USPAoJY2hhdF9tb2RlGAEgASgOMikucmVxdWVzdF9pbnNpZ2h0LkNoYXRVc2VyTWVzc2FnZS5DaGF0TW9kZRIbChNjaGF0X2hpc3RvcnlfbGVuZ3RoGAIgASgNEhgKEGltYWdlX25vZGVfY291bnQYAyABKA0SFwoPY2hhcmFjdGVyX2NvdW50GAQgASgNEhIKCmxpbmVfY291bnQYBSABKA0SLQoOb3BhcXVlX3VzZXJfaWQYBiABKAsyFS5hdXRoX2VudGl0aWVzLlVzZXJJZBIXCgptb2RlbF9uYW1lGAcgASgJSACIAQESHAoPY29udmVyc2F0aW9uX2lkGAggASgJSAGIAQESKAoIYm90X3R5cGUYCSABKA4yFi5hdXRoX2VudGl0aWVzLkJvdFR5cGUSHQoQYWdlbnRfcGVyc29uYV9pZBgKIAEoCUgCiAEBIoMDCghDaGF0TW9kZRISCg5DSEFUX01PREVfQ0hBVBAAEhMKD0NIQVRfTU9ERV9BR0VOVBABEhYKEkNIQVRfTU9ERV9NRU1PUklFUxACEhkKFUNIQVRfTU9ERV9PUklFTlRBVElPThADEiIKHkNIQVRfTU9ERV9NRU1PUklFU19DT01QUkVTU0lPThAEEhoKFkNIQVRfTU9ERV9SRU1PVEVfQUdFTlQQBRIXChNDSEFUX01PREVfQ0xJX0FHRU5UEAYSIAocQ0hBVF9NT0RFX0NMSV9OT05JTlRFUkFDVElWRRAHEhkKFUNIQVRfTU9ERV9DT0RFX1JFVklFVxAIEh8KG0NIQVRfTU9ERV9BR0VOVElDX1NMQUNLX0JPVBAJEiAKHENIQVRfTU9ERV9DT05URVhUX0VOR0lORV9TREsQChIgChxDSEFUX01PREVfQ09OVEVYVF9FTkdJTkVfTUNQEAsSIAocQ0hBVF9NT0RFX1BPU0VJRE9OX0NMSV9BR0VOVBAMQg0KC19tb2RlbF9uYW1lQhIKEF9jb252ZXJzYXRpb25faWRCEwoRX2FnZW50X3BlcnNvbmFfaWQiUQoWQ2xhc3NpZnlBbmREaXN0aWxsRGF0YRI3Cgx0cmFjaW5nX2RhdGEYASABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSJlChBDbGlBZ2VudEZlZWRiYWNrEi8KBnJhdGluZxgBIAEoDjIfLnJlcXVlc3RfaW5zaWdodC5GZWVkYmFja1JhdGluZxIMCgRub3RlGAIgASgJEhIKCnVzZXJfYWdlbnQYAyABKAki6QEKGENsaWVudENvbXBsZXRpb25UaW1lbGluZRI4ChRpbml0aWFsX3JlcXVlc3RfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoOYXBpX3N0YXJ0X3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGFwaV9lbmRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLQoJZW1pdF90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJcCgxDbGllbnRNZXRyaWMSEgoKZXZlbnRfbmFtZRgBIAEoCRISCgp1c2VyX2FnZW50GAIgASgJEhUKDWNsaWVudF9tZXRyaWMYAyABKAkSDQoFdmFsdWUYBCABKAQiawoRQ2xvc2VTdWJzY3JpcHRpb24SGwoTb3JiX3N1YnNjcmlwdGlvbl9pZBgBIAEoCRIeChZzdHJpcGVfc3Vic2NyaXB0aW9uX2lkGAIgASgJEhkKEWJpbGxpbmdfZW50aXR5X2lkGAMgASgJImEKH0NvbW1pdEF0dHJpYnV0aW9uTW9kZWxCcmVha2Rvd24SEgoKbW9kZWxfbmFtZRgBIAEoCRITCgtsaW5lc19hZGRlZBgCIAEoBRIVCg1saW5lc19kZWxldGVkGAMgASgFIu0CChhDb21taXRBdHRyaWJ1dGlvblN1bW1hcnkSGwoTYXR0cmlidXRpb25fdmVyc2lvbhgBIAEoCRIUCgxjb250ZW50X2hhc2gYAiABKAkSNAoQY29tbWl0X3RpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoRdG90YWxfbGluZXNfYWRkZWQYBCABKAUSGwoTdG90YWxfbGluZXNfZGVsZXRlZBgFIAEoBRJJCg9tb2RlbF9icmVha2Rvd24YBiADKAsyMC5yZXF1ZXN0X2luc2lnaHQuQ29tbWl0QXR0cmlidXRpb25Nb2RlbEJyZWFrZG93bhISCgp3aW5kb3dfc2VjGAcgASgFEhcKD3NvdXJjZV9ldmVudF9pZBgIIAEoCRIgChNpc19mcm9tX21haW5fYnJhbmNoGAkgASgISACIAQFCFgoUX2lzX2Zyb21fbWFpbl9icmFuY2gihAEKEENvbW1pdEZpbGVDaGFuZ2USEwoLY2hhbmdlX3R5cGUYASABKAkSEQoJZmlsZV9wYXRoGAIgASgJEhoKDW9sZF9maWxlX3BhdGgYAyABKAlIAIgBARIRCgRkaWZmGAQgASgJSAGIAQFCEAoOX29sZF9maWxlX3BhdGhCBwoFX2RpZmYivAIKEkNvbW1pdFNlc3Npb25FdmVudBIMCgRoYXNoGAEgASgJEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHc3ViamVjdBgFIAEoCRIMCgRib2R5GAYgASgJEjcKDGZpbGVfY2hhbmdlcxgHIAMoCzIhLnJlcXVlc3RfaW5zaWdodC5Db21taXRGaWxlQ2hhbmdlEhIKCnVzZXJfYWdlbnQYCCABKAkSNwoTY29tbWl0dGVyX3RpbWVzdGFtcBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIAoTaXNfZnJvbV9tYWluX2JyYW5jaBgKIAEoCEgAiAEBQhYKFF9pc19mcm9tX21haW5fYnJhbmNoSgQIAhADSgQIAxAEIhAKDkNvbXBsZXRpb25FbWl0IlMKEkNvbXBsZXRpb25GZWVkYmFjaxIvCgZyYXRpbmcYASABKA4yHy5yZXF1ZXN0X2luc2lnaHQuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgCIAEoCSLbBQoVQ29tcGxldGlvbkhvc3RSZXF1ZXN0EgwKBHNlZWQYAiABKAQSFAoMZW9zX3Rva2VuX2lkGAQgAygFEg0KBXRvcF9rGAUgASgFEg0KBXRvcF9wGAYgASgCEhMKC3RlbXBlcmF0dXJlGAcgASgCEhIKCm91dHB1dF9sZW4YCCABKAUSGgoSZW5hYmxlX3BhdGhfcHJlZml4GAkgASgIEiAKGGVuYWJsZV9wcmVmZXJlbmNlX3Rva2VucxgKIAEoCBIhChllbmFibGVfZmlsbF9pbl90aGVfbWlkZGxlGAsgASgIEhMKC2VuYWJsZV9ibTI1GA0gASgIEh4KFmVuYWJsZV9kZW5zZV9yZXRyaWV2YWwYDiABKAgSDQoFbW9kZWwYDyABKAkSDgoGcHJlZml4GBAgASgJEgwKBHBhdGgYESABKAkSDgoGc3VmZml4GBIgASgJEhIKCmJsb2JfbmFtZXMYEyADKAkSDAoEbGFuZxgUIAEoCRJACghwb3NpdGlvbhgVIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uSG9zdFJlcXVlc3RQb3NpdGlvbhISCgpwcm9iZV9vbmx5GBYgASgIEiUKBWJsb2JzGBcgASgLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEi0KDHJlY2VuY3lfaW5mbxgYIAEoCzIXLmNvbXBsZXRpb24uUmVjZW5jeUluZm8SMwoMdG9rZW5pemF0aW9uGBkgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIiChV1c2VyX2ZpbHRlcl90aHJlc2hvbGQYGiABKAJIAIgBARI3CgtlZGl0X2V2ZW50cxgbIAMoCzIiLmJhc2UuZGlmZl91dGlscy5HcmFudWxhckVkaXRFdmVudEIYChZfdXNlcl9maWx0ZXJfdGhyZXNob2xkSgQIARACSgQIDBANInUKHUNvbXBsZXRpb25Ib3N0UmVxdWVzdFBvc2l0aW9uEhQKDHByZWZpeF9iZWdpbhgBIAEoBRIXCg9jdXJzb3JfcG9zaXRpb24YAiABKAUSEgoKc3VmZml4X2VuZBgDIAEoBRIRCglibG9iX25hbWUYBCABKAkihgMKFkNvbXBsZXRpb25Ib3N0UmVzcG9uc2USDAoEdGV4dBgCIAEoCRIaChJ1bmtub3duX2Jsb2JfbmFtZXMYAyADKAkSFgoOc2tpcHBlZF9zdWZmaXgYBiABKAkSHwoXc3VmZml4X3JlcGxhY2VtZW50X3RleHQYByABKAkSHAoUY2hlY2twb2ludF9ub3RfZm91bmQYCCABKAgSMwoMdG9rZW5pemF0aW9uGAkgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIeChFpc19lbXB0eV9yZXNwb25zZRgKIAEoCEgAiAEBEiAKE2NvbnRhaW5zX3NraXBfdG9rZW4YCyABKAhIAYgBARIeChF2YWxpZF9yZXBsYWNlbWVudBgMIAEoCEgCiAEBQhQKEl9pc19lbXB0eV9yZXNwb25zZUIWChRfY29udGFpbnNfc2tpcF90b2tlbkIUChJfdmFsaWRfcmVwbGFjZW1lbnRKBAgBEAJKBAgEEAVKBAgFEAYi5QIKFUNvbXBsZXRpb25Qb3N0UHJvY2VzcxIfCg5pc19sb3dfcXVhbGl0eRgBIAEoCEICGAFIAIgBARIUCgxmaWx0ZXJfc2NvcmUYDCABKAISJQoYYXBwbGllZF9maWx0ZXJfdGhyZXNob2xkGA0gASgCSAGIAQESTwoNZmlsdGVyX3JlYXNvbhgOIAEoDjIzLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uUG9zdFByb2Nlc3MuRmlsdGVyUmVhc29uSAKIAQEiWwoMRmlsdGVyUmVhc29uEhkKFVVOS05PV05fRklMVEVSX1JFQVNPThAAEhAKDE5PVF9GSUxURVJFRBABEg8KC0xPV19RVUFMSVRZEAISDQoJREVOWV9MSVNUEANCEQoPX2lzX2xvd19xdWFsaXR5QhsKGV9hcHBsaWVkX2ZpbHRlcl90aHJlc2hvbGRCEAoOX2ZpbHRlcl9yZWFzb24iWgoeQ29tcGxldGlvblJlcXVlc3RJZElzc3VlZEV2ZW50EhIKCnJlcXVlc3RfaWQYASABKAkSFgoJZmlsZV9wYXRoGAIgASgJSACIAQFCDAoKX2ZpbGVfcGF0aCIsChRDb21wbGV0aW9uUmVzb2x1dGlvbhIUCgxhY2NlcHRlZF9pZHgYASABKAUiRAoNQ29udGVudENoYW5nZRIMCgR0ZXh0GAEgASgJEiUKBXJhbmdlGAIgASgLMhYucmVxdWVzdF9pbnNpZ2h0LlJhbmdlIo4BCh1Db250ZW50TWFuYWdlckNoZWNrcG9pbnRCbG9icxIVCg1jaGVja3BvaW50X2lkGAEgASgJEh4KFmJhc2VsaW5lX2NoZWNrcG9pbnRfaWQYAiABKAkSGQoRYWRkZWRfYmxvYnNfY291bnQYAyABKA0SGwoTZGVsZXRlZF9ibG9ic19jb3VudBgEIAEoDSK8AQoZQ29udGVudE1hbmFnZXJVcGxvYWRCbG9icxJTCg51cGxvYWRlZF9ibG9icxgBIAMoCzI7LnJlcXVlc3RfaW5zaWdodC5Db250ZW50TWFuYWdlclVwbG9hZEJsb2JzLlVwbG9hZGVkQmxvYkluZm8aSgoQVXBsb2FkZWRCbG9iSW5mbxIRCglibG9iX25hbWUYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoBBIPCgdleGlzdGVkGAMgASgIIqABChVDb250ZW50VHJ1bmNhdGlvbkRhdGESGwoTb3JpZ2luYWxfY2hhcl9jb3VudBgBIAEoDRIbChNvcmlnaW5hbF9saW5lX2NvdW50GAIgASgNEhwKFHRydW5jYXRlZF9jaGFyX2NvdW50GAMgASgNEhwKFHRydW5jYXRlZF9saW5lX2NvdW50GAQgASgNEhEKCXRvb2xfdHlwZRgFIAEoCSK+AQoOQ29zbW9zRmVlZGJhY2sSLwoGcmF0aW5nGAEgASgOMh8ucmVxdWVzdF9pbnNpZ2h0LkZlZWRiYWNrUmF0aW5nEgwKBG5vdGUYAiABKAkSEgoKdXNlcl9hZ2VudBgDIAEoCRIUCgxyZWFzb25fY29kZXMYBCADKAkSEwoLZXhwZXJ0X25hbWUYBSABKAkSEwoLdGVuYW50X3RpZXIYBiABKAkSGQoRdGVhbV9kaXNwbGF5X25hbWUYByABKAkiDwoNQ3JlYXRlZFBSRGF0YSKPAwoWQ3VzdG9tZXJVSVNlc3Npb25FdmVudBJNCg1zZXNzaW9uX3N0YXJ0GAIgASgLMjQucmVxdWVzdF9pbnNpZ2h0LkN1c3RvbWVyVUlTZXNzaW9uRXZlbnQuU2Vzc2lvblN0YXJ0SAASSQoLc2Vzc2lvbl9lbmQYAyABKAsyMi5yZXF1ZXN0X2luc2lnaHQuQ3VzdG9tZXJVSVNlc3Npb25FdmVudC5TZXNzaW9uRW5kSAASDwoHdXNlcl9pZBgBIAEoCRokCgxTZXNzaW9uU3RhcnQSFAoMcmVkaXJlY3RfdXJsGAEgASgJGpoBCgpTZXNzaW9uRW5kEkkKBnJlYXNvbhgBIAEoDjI5LnJlcXVlc3RfaW5zaWdodC5DdXN0b21lclVJU2Vzc2lvbkV2ZW50LlNlc3Npb25FbmQuUmVhc29uIkEKBlJlYXNvbhIeChpVTktOT1dOX1NFU1NJT05fRU5EX1JFQVNPThAAEgoKBkxPR09VVBABEgsKB1RJTUVPVVQQAkIHCgVldmVudCJZChlEYWlseVJlcXVlc3RMaW1pdEV4Y2VlZGVkEi0KDm9wYXF1ZV91c2VyX2lkGAEgASgLMhUuYXV0aF9lbnRpdGllcy5Vc2VySWQSDQoFbGltaXQYAiABKAUiOQoNRGlmZlBhbmVsRGF0YRIXCg9sb2FkaW5nX3RpbWVfbXMYASABKAUSDwoHYXBwbGllZBgCIAEoCCIKCghFZGl0RW1pdCJUChhFZGl0UmVxdWVzdElkSXNzdWVkRXZlbnQSEgoKcmVxdWVzdF9pZBgBIAEoCRIWCglmaWxlX3BhdGgYAiABKAlIAIgBAUIMCgpfZmlsZV9wYXRoIpMBCg5FZGl0UmVzb2x1dGlvbhITCgtpc19hY2NlcHRlZBgBIAEoCBIbCg5hbm5vdGF0ZWRfdGV4dBgCIAEoCUgAiAEBEiIKFWFubm90YXRlZF9pbnN0cnVjdGlvbhgDIAEoCUgBiAEBQhEKD19hbm5vdGF0ZWRfdGV4dEIYChZfYW5ub3RhdGVkX2luc3RydWN0aW9uIqkBChdFbWJlZGRpbmdzU2VhcmNoUmVxdWVzdBISCgpibG9iX25hbWVzGAEgAygJEhMKC251bV9yZXN1bHRzGAIgASgFEhoKEnRyYW5zZm9ybWF0aW9uX2tleRgDIAEoCRIPCgdzdWJfa2V5GAQgASgJEiUKBWJsb2JzGAUgAygLMhYuYmFzZS5ibG9iX25hbWVzLkJsb2JzEhEKCW51bV9ibG9icxgGIAEoBSKEAQoYRW1iZWRkaW5nc1NlYXJjaFJlc3BvbnNlEhoKEm1pc3NpbmdfYmxvYl9uYW1lcxgBIAMoCRI4CgdyZXN1bHRzGAIgAygLMicucmVxdWVzdF9pbnNpZ2h0LkVtYmVkZGluZ3NTZWFyY2hSZXN1bHQSEgoKYmxvYl9jb3VudBgDIAEoDSJPChZFbWJlZGRpbmdzU2VhcmNoUmVzdWx0EhEKCWJsb2JfbmFtZRgBIAEoCRITCgtjaHVua19pbmRleBgCIAEoDRINCgV2YWx1ZRgDIAEoAiLrAQoORXh0ZW5zaW9uRXJyb3ISIAoTb3JpZ2luYWxfcmVxdWVzdF9pZBgBIAEoCUgAiAEBEg8KB21lc3NhZ2UYAiABKAkSEwoLc3RhY2tfdHJhY2UYAyABKAkSRQoLZGlhZ25vc3RpY3MYBCADKAsyMC5yZXF1ZXN0X2luc2lnaHQuRXh0ZW5zaW9uRXJyb3IuRGlhZ25vc3RpY3NFbnRyeRoyChBEaWFnbm9zdGljc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCFgoUX29yaWdpbmFsX3JlcXVlc3RfaWQisQEKFUV4dGVuc2lvblNlc3Npb25FdmVudBISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkSSAoPYWRkaXRpb25hbF9kYXRhGAMgAygLMi8ucmVxdWVzdF9pbnNpZ2h0LkV4dGVuc2lvblNlc3Npb25FdmVudC5LZXlWYWx1ZRomCghLZXlWYWx1ZRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiiQEKFEZpcnN0VG9rZW5UaW1pbmdEYXRhEiYKHnVzZXJfbWVzc2FnZV9zZW50X3RpbWVzdGFtcF9tcxgBIAEoBBIpCiFmaXJzdF90b2tlbl9yZWNlaXZlZF90aW1lc3RhbXBfbXMYAiABKAQSHgoWdGltZV90b19maXJzdF90b2tlbl9tcxgDIAEoDSJMChFGbHVzaE1lbW9yaWVzRGF0YRI3Cgx0cmFjaW5nX2RhdGEYASABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSImChBHaXRodWJBUElGYWlsdXJlEhIKCmVycm9yX2NvZGUYASABKAUimgMKHEdpdGh1YlB1bGxSZXF1ZXN0TWVyZ2VkRXZlbnQSFwoKcmVwb19vd25lchgBIAEoCUgAiAEBEhYKCXJlcG9fbmFtZRgCIAEoCUgBiAEBEhYKCXByX251bWJlchgDIAEoDUgCiAEBEjIKCW1lcmdlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARIcCg9tZXJnZWRfYnlfbG9naW4YBSABKAlIBIgBARIWCglhZGRpdGlvbnMYBiABKA1IBYgBARIWCglkZWxldGlvbnMYByABKA1IBogBARIVCghoZWFkX3NoYRgIIAEoCUgHiAEBEhUKCGJhc2VfcmVmGAkgASgJSAiIAQFCDQoLX3JlcG9fb3duZXJCDAoKX3JlcG9fbmFtZUIMCgpfcHJfbnVtYmVyQgwKCl9tZXJnZWRfYXRCEgoQX21lcmdlZF9ieV9sb2dpbkIMCgpfYWRkaXRpb25zQgwKCl9kZWxldGlvbnNCCwoJX2hlYWRfc2hhQgsKCV9iYXNlX3JlZiItChNHaXRodWJVc2VyQXV0aG9yaXplEhYKDmdpdGh1Yl91c2VyX2lkGAEgASgDItYDCgxJbmZlclJlcXVlc3QSDQoFbW9kZWwYASABKAkSDgoGcHJvbXB0GAIgASgJEgwKBHBhdGgYAyABKAkSDgoGc3VmZml4GAQgASgJEhAKCG1lbW9yaWVzGAUgAygJEg0KBXRvcF9rGAYgASgFEg0KBXRvcF9wGAcgASgCEhMKC3RlbXBlcmF0dXJlGAggASgCEhIKCm1heF90b2tlbnMYCSABKAUSEgoKc2Vzc2lvbl9pZBgLIAEoCRIMCgRsYW5nGAwgASgJEhIKCnVzZXJfYWdlbnQYDSABKAkSEwoLc2VxdWVuY2VfaWQYDiABKA0SEgoKcHJvYmVfb25seRgPIAEoCBIlCgVibG9icxgQIAEoCzIWLmJhc2UuYmxvYl9uYW1lcy5CbG9icxItCgxyZWNlbmN5X2luZm8YESABKAsyFy5jb21wbGV0aW9uLlJlY2VuY3lJbmZvEiIKFXVzZXJfZmlsdGVyX3RocmVzaG9sZBgSIAEoAkgAiAEBEjcKC2VkaXRfZXZlbnRzGBMgAygLMiIuYmFzZS5kaWZmX3V0aWxzLkdyYW51bGFyRWRpdEV2ZW50QhgKFl91c2VyX2ZpbHRlcl90aHJlc2hvbGRKBAgKEAsiaQoVSW5mZXJlbmNlSG9zdFJlc3BvbnNlEhUKDWN1bV9sb2dfcHJvYnMYAiABKAISMwoMdG9rZW5pemF0aW9uGAMgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbkoECAEQAiLfAQoWSW5pdGlhbE9yaWVudGF0aW9uRGF0YRJJCgZjYWxsZXIYASABKA4yOS5yZXF1ZXN0X2luc2lnaHQuSW5pdGlhbE9yaWVudGF0aW9uRGF0YS5PcmllbnRhdGlvbkNhbGxlchI3Cgx0cmFjaW5nX2RhdGEYAiABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSJBChFPcmllbnRhdGlvbkNhbGxlchIPCgtVTlNQRUNJRklFRBAAEg4KCk9OQk9BUkRJTkcQARILCgdDT01NQU5EEAIiEQoPSW5zdHJ1Y3Rpb25FbWl0ImEKFUluc3RydWN0aW9uUmVzb2x1dGlvbhIaChJpc19hY2NlcHRlZF9jaHVua3MYASADKAgSFQoNaXNfYWNjZXB0X2FsbBgCIAEoCBIVCg1pc19yZWplY3RfYWxsGAMgASgIImUKEE1lbW9yaWVzRmVlZGJhY2sSLwoGcmF0aW5nGAEgASgOMh8ucmVxdWVzdF9pbnNpZ2h0LkZlZWRiYWNrUmF0aW5nEgwKBG5vdGUYAiABKAkSEgoKdXNlcl9hZ2VudBgDIAEoCSI3ChRNZW1vcmllc0ZpbGVPcGVuRGF0YRIfChdtZW1vcmllc19wYXRoX3VuZGVmaW5lZBgBIAEoCCKfAQoQTWVtb3JpZXNNb3ZlRGF0YRI4CgZ0YXJnZXQYASABKA4yKC5yZXF1ZXN0X2luc2lnaHQuTWVtb3JpZXNNb3ZlRGF0YS5UYXJnZXQiUQoGVGFyZ2V0Eg8KC1VOU1BFQ0lGSUVEEAASEwoPVVNFUl9HVUlERUxJTkVTEAESFgoSQVVHTUVOVF9HVUlERUxJTkVTEAISCQoFUlVMRVMQAyK5AQoPTWVtb3J5VXNhZ2VEYXRhEg4KBmFjdGlvbhgBIAEoBRIWCgltZW1vcnlfaWQYAiABKAlIAIgBARIUCgx0cmlnZ2VyZWRfYnkYAyABKAUSGQoMbWVtb3J5X3N0YXRlGAQgASgJSAGIAQESGwoObWVtb3J5X3ZlcnNpb24YBSABKAlIAogBAUIMCgpfbWVtb3J5X2lkQg8KDV9tZW1vcnlfc3RhdGVCEQoPX21lbW9yeV92ZXJzaW9uIu4CChBNb2RlU2VsZWN0b3JEYXRhEkQKBmFjdGlvbhgBIAEoDjI0LnJlcXVlc3RfaW5zaWdodC5Nb2RlU2VsZWN0b3JEYXRhLk1vZGVTZWxlY3RvckFjdGlvbhI0CgRtb2RlGAIgASgOMiYucmVxdWVzdF9pbnNpZ2h0Lk1vZGVTZWxlY3RvckRhdGEuTW9kZRI6Cg5zb3VyY2VfY29udHJvbBgDIAEoDjIiLnJlcXVlc3RfaW5zaWdodC5Tb3VyY2VDb250cm9sVHlwZSI/CgRNb2RlEhAKDFVOS05PV05fTU9ERRAAEggKBENIQVQQARIJCgVBR0VOVBACEhAKDFJFTU9URV9BR0VOVBADImEKEk1vZGVTZWxlY3RvckFjdGlvbhIgChxVTktOT1dOX01PREVfU0VMRUNUT1JfQUNUSU9OEAASCAoET1BFThABEgkKBUNMT1NFEAISCgoGU0VMRUNUEAMSCAoESU5JVBAEIoABChhNb2RlbFNlbGVjdGlvbkNoYW5nZURhdGESGQoRcHJldmlvdXNfbW9kZWxfaWQYASABKAkSGwoTcHJldmlvdXNfbW9kZWxfbmFtZRgCIAEoCRIUCgxuZXdfbW9kZWxfaWQYAyABKAkSFgoObmV3X21vZGVsX25hbWUYBCABKAkiyQEKFE5vdGlmaWNhdGlvbkJlbGxEYXRhEk8KCmJlbGxfc3RhdGUYASABKA4yOy5yZXF1ZXN0X2luc2lnaHQuTm90aWZpY2F0aW9uQmVsbERhdGEuTm90aWZpY2F0aW9uQmVsbFN0YXRlImAKFU5vdGlmaWNhdGlvbkJlbGxTdGF0ZRILCgdVTktOT1dOEAASDQoJQUNUSVZBVEVEEAESDwoLREVBQ1RJVkFURUQQAhIMCghOT1RJRklFRBAEEgwKCEFDQ0VQVEVEEAMiQAoWT25ib2FyZGluZ1Nlc3Npb25FdmVudBISCgpldmVudF9uYW1lGAEgASgJEhIKCnVzZXJfYWdlbnQYAiABKAkiiQEKFVBhcmVudGhlc2lzVHJ1bmNhdGlvbhIVCg1vcmlnaW5hbF90ZXh0GAEgASgJEhYKDnRydW5jYXRlZF90ZXh0GAIgASgJEhUKDXdhc190cnVuY2F0ZWQYAyABKAgSHAoUY291bGRfaGF2ZV90cnVuY2F0ZWQYBCABKAgSDAoEcGF0aBgFIAEoCSJMChRQYXJzZWRSb3V0ZXJSZXNwb25zZRIQCghjYXRlZ29yeRgBIAEoCRIRCglmaWxlbmFtZXMYAiADKAkSDwoHZG9jc2V0cxgDIAMoCSLCAgoWUG9zZWlkb25BbmFseXRpY3NFdmVudBJKChVwb3NlaWRvbl9wcl9hbmFseXRpY3MYBCABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUG9zZWlkb25QckFuYWx5dGljc0V2ZW50SAASTwoTb3V0Y29tZV9vYnNlcnZhdGlvbhgFIAEoCzIwLnJlcXVlc3RfaW5zaWdodC5Qb3NlaWRvbk91dGNvbWVPYnNlcnZhdGlvbkV2ZW50SAASLQoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIVCghldmVudF9pZBgCIAEoCUgCiAEBEhcKCnJlcXVlc3RfaWQYAyABKAlIA4gBAUIHCgVldmVudEIHCgVfdGltZUILCglfZXZlbnRfaWRCDQoLX3JlcXVlc3RfaWQirgQKH1Bvc2VpZG9uT3V0Y29tZU9ic2VydmF0aW9uRXZlbnQSEQoEbmFtZRgBIAEoCUgAiAEBEhQKB3N1YmplY3QYAiABKAlIAYgBARIZCgxzdWJqZWN0X3R5cGUYAyABKAlIAogBARITCgZzb3VyY2UYBCABKAlIA4gBARI0CgtvYnNlcnZlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARJICgR0YWdzGAYgAygLMjoucmVxdWVzdF9pbnNpZ2h0LlBvc2VpZG9uT3V0Y29tZU9ic2VydmF0aW9uRXZlbnQuVGFnc0VudHJ5EhoKDW1ldGFkYXRhX2pzb24YCCABKAlIBYgBARJOCgdtZXRyaWNzGAkgAygLMj0ucmVxdWVzdF9pbnNpZ2h0LlBvc2VpZG9uT3V0Y29tZU9ic2VydmF0aW9uRXZlbnQuTWV0cmljc0VudHJ5GisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGi4KDE1ldHJpY3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBQgcKBV9uYW1lQgoKCF9zdWJqZWN0Qg8KDV9zdWJqZWN0X3R5cGVCCQoHX3NvdXJjZUIOCgxfb2JzZXJ2ZWRfYXRCEAoOX21ldGFkYXRhX2pzb25KBAgHEAhSEGF0dHJpYnV0aW9uX3RhZ3Mi4gkKGFBvc2VpZG9uUHJBbmFseXRpY3NFdmVudBIRCgRyZXBvGAEgASgJSACIAQESFgoJcHJfbnVtYmVyGAIgASgDSAGIAQESGgoNZXZlbnRfdHJpZ2dlchgDIAEoCUgCiAEBEjMKCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQESGQoMYXV0aG9yX2xvZ2luGAUgASgJSASIAQESMgoJbWVyZ2VkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEiYKGWFwcHJvdmVkX2J5X3Jpc2tfYW5hbHl6ZXIYByABKAhIBogBARIwCiNudW1fY29tbWVudHNfYWRkcmVzc2VkX2J5X3ByX2F1dGhvchgIIAEoA0gHiAEBEh8KEnByX2F1dGhvcl9hc3Npc3RlZBgJIAEoCEgIiAEBEi0KIGRlZXBfcmV2aWV3ZXJfbnVtYmVyX29mX2NvbW1lbnRzGAogASgDSAmIAQESLQogcGFpcl9yZXZpZXdlcl9udW1iZXJfb2ZfY29tbWVudHMYCyABKANICogBARIWCglpc19yZXZlcnQYDCABKAhIC4gBARIXCgppc19idWdfZml4GA0gASgISAyIAQESGAoLbG9jX2NoYW5nZWQYDiABKANIDYgBARIfChJudW1faHVtYW5fY29tbWVudHMYDyABKANIDogBARIgChNudW1fY29zbW9zX2NvbW1lbnRzGBAgASgDSA+IAQESFQoIcGxhdGZvcm0YESABKAlIEIgBARIqCh1kZWVwX2NvZGVfcmV2aWV3ZXJfc2Vzc2lvbl9pZBgSIAEoCUgRiAEBEigKG3ByX3Jpc2tfYW5hbHl6ZXJfc2Vzc2lvbl9pZBgTIAEoCUgSiAEBEiUKGHBhaXJfcmV2aWV3ZXJfc2Vzc2lvbl9pZBgUIAEoCUgTiAEBEiEKFHByX2F1dGhvcl9zZXNzaW9uX2lkGBUgASgJSBSIAQFCBwoFX3JlcG9CDAoKX3ByX251bWJlckIQCg5fZXZlbnRfdHJpZ2dlckINCgtfY3JlYXRlZF9hdEIPCg1fYXV0aG9yX2xvZ2luQgwKCl9tZXJnZWRfYXRCHAoaX2FwcHJvdmVkX2J5X3Jpc2tfYW5hbHl6ZXJCJgokX251bV9jb21tZW50c19hZGRyZXNzZWRfYnlfcHJfYXV0aG9yQhUKE19wcl9hdXRob3JfYXNzaXN0ZWRCIwohX2RlZXBfcmV2aWV3ZXJfbnVtYmVyX29mX2NvbW1lbnRzQiMKIV9wYWlyX3Jldmlld2VyX251bWJlcl9vZl9jb21tZW50c0IMCgpfaXNfcmV2ZXJ0Qg0KC19pc19idWdfZml4Qg4KDF9sb2NfY2hhbmdlZEIVChNfbnVtX2h1bWFuX2NvbW1lbnRzQhYKFF9udW1fY29zbW9zX2NvbW1lbnRzQgsKCV9wbGF0Zm9ybUIgCh5fZGVlcF9jb2RlX3Jldmlld2VyX3Nlc3Npb25faWRCHgocX3ByX3Jpc2tfYW5hbHl6ZXJfc2Vzc2lvbl9pZEIbChlfcGFpcl9yZXZpZXdlcl9zZXNzaW9uX2lkQhcKFV9wcl9hdXRob3Jfc2Vzc2lvbl9pZCKOAQoTUG9zdHByb2Nlc3NSZXNwb25zZRI4Cgx0b2tlbml6YXRpb24YASABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uSACIAQESGgoNZXJyb3JfbWVzc2FnZRgCIAEoCUgBiAEBQg8KDV90b2tlbml6YXRpb25CEAoOX2Vycm9yX21lc3NhZ2UipwEKEFByZWZlcmVuY2VTYW1wbGUSEwoLcmVxdWVzdF9pZHMYASADKAkSPQoGc2NvcmVzGAIgAygLMi0ucmVxdWVzdF9pbnNpZ2h0LlByZWZlcmVuY2VTYW1wbGUuU2NvcmVzRW50cnkSEAoIZmVlZGJhY2sYAyABKAkaLQoLU2NvcmVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASK0AgoQUHJvbXB0Q2FjaGVVc2FnZRIUCgxpbnB1dF90b2tlbnMYASABKA0SHwoXY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMYAiABKA0SIwobY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zGAMgASgNEhkKEXRleHRfaW5wdXRfdG9rZW5zGAQgASgNEhkKEXRvb2xfaW5wdXRfdG9rZW5zGAUgASgNEhoKEnRleHRfb3V0cHV0X3Rva2VucxgGIAEoDRIaChJ0b29sX291dHB1dF90b2tlbnMYByABKA0SGQoMbW9kZWxfY2FsbGVyGAggASgJSACIAQESGQoMc2VydmljZV90aWVyGAkgASgJSAGIAQFCDwoNX21vZGVsX2NhbGxlckIPCg1fc2VydmljZV90aWVyIj8KD1B1cmNoYXNlQ3JlZGl0cxIbChNvcmJfc3Vic2NyaXB0aW9uX2lkGAEgASgJEg8KB2NyZWRpdHMYAiABKAIiUwomUklBZ2VudGljU2xhY2tib3RSZWFjdGlvblJlY2VpdmVkRXZlbnQSKQoLc2xhY2tfZXZlbnQYASABKAsyFC5zbGFja2JvdC5TbGFja0V2ZW50IjcKDVJJQmF0Y2hVcGxvYWQSEgoKYmxvYl9jb3VudBgBIAEoBRISCgp0b3RhbF9zaXplGAIgASgDIvcDChNSSUNoYXRNZXRlcmluZ0V2ZW50EjUKDm1ldGVyaW5nX2V2ZW50GAEgASgLMh0ubWV0ZXJpbmdfZXZlbnQuTWV0ZXJpbmdFdmVudBIbChNhY3Rpdml0eV9tdWx0aXBsaWVyGAIgASgBEhQKDGlucHV0X3Rva2VucxgDIAEoBRIVCg1vdXRwdXRfdG9rZW5zGAQgASgFEhkKEWNhY2hlX3JlYWRfdG9rZW5zGAUgASgFEhoKEmNhY2hlX3dyaXRlX3Rva2VucxgGIAEoBRIWCg50b3RhbF9jb3N0X3VzZBgLIAEoARISCgptb2RlbF9uYW1lGAwgASgJEhwKD2NvbnZlcnNhdGlvbl9pZBgNIAEoCUgAiAEBEhsKDnJvdXRpbmdfcmVhc29uGA4gASgJSAGIAQESHAoPcHJvdmlkZXJfcmVnaW9uGA8gASgJSAKIAQESGwoOZW5kcG9pbnRfc2NvcGUYECABKAlIA4gBARIgChNyZWdpb25hbF9tdWx0aXBsaWVyGBEgASgBSASIAQFCEgoQX2NvbnZlcnNhdGlvbl9pZEIRCg9fcm91dGluZ19yZWFzb25CEgoQX3Byb3ZpZGVyX3JlZ2lvbkIRCg9fZW5kcG9pbnRfc2NvcGVCFgoUX3JlZ2lvbmFsX211bHRpcGxpZXIi3gEKDVJJQ2hhdFJlcXVlc3QSIgoHcmVxdWVzdBgBIAEoCzIRLmNoYXQuQ2hhdFJlcXVlc3QSOQoQcmV0cmlldmVkX2NodW5rcxgDIAMoCzIfLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxDaHVuaxIzCgx0b2tlbml6YXRpb24YBCABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uEhsKE2V4dGVybmFsX3NvdXJjZV9pZHMYBSADKAkSFgoOcmVxdWVzdF9zb3VyY2UYBiABKAlKBAgCEAMiwAIKDlJJQ2hhdFJlc3BvbnNlEiQKCHJlc3BvbnNlGAEgASgLMhIuY2hhdC5DaGF0UmVzcG9uc2USMwoMdG9rZW5pemF0aW9uGAMgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSACIAQESDgoGc2lsZW50GAUgASgIEioKC3NpbGVudF90eXBlGAYgASgOMhAuY2hhdC5TaWxlbnRUeXBlSAGIAQESPwoPcmVmdXNhbF9zdW1tYXJ5GAcgASgLMiEucmVxdWVzdF9pbnNpZ2h0LlJJUmVmdXNhbFN1bW1hcnlIAogBAUIQCg5fZXJyb3JfbWVzc2FnZUIOCgxfc2lsZW50X3R5cGVCEgoQX3JlZnVzYWxfc3VtbWFyeUoECAIQAyKpAQoNUklFZGl0UmVxdWVzdBIiCgdyZXF1ZXN0GAEgASgLMhEuZWRpdC5FZGl0UmVxdWVzdBI5ChByZXRyaWV2ZWRfY2h1bmtzGAMgAygLMh8ucmVxdWVzdF9pbnNpZ2h0LlJldHJpZXZhbENodW5rEjMKDHRva2VuaXphdGlvbhgEIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5Ub2tlbml6YXRpb25KBAgCEAMicQoOUklFZGl0UmVzcG9uc2USJAoIcmVzcG9uc2UYASABKAsyEi5lZGl0LkVkaXRSZXNwb25zZRIzCgx0b2tlbml6YXRpb24YAyABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uSgQIAhADImgKDVJJRmluZE1pc3NpbmcSEgoKbW9kZWxfbmFtZRgBIAEoCRISCgpibG9iX2NvdW50GAIgASgFEhUKDW1pc3NpbmdfY291bnQYAyABKAUSGAoQbm9uaW5kZXhlZF9jb3VudBgEIAEoBSJ5ChxSSUdpdGh1YkFwcEluc3RhbGxhdGlvbkV2ZW50EiIKBnN0YXR1cxgBIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzEjUKCmV2ZW50X3R5cGUYAiABKA4yIS5yZXF1ZXN0X2luc2lnaHQuSW5zdGFsbEV2ZW50VHlwZSJACg1SSUdpdGh1YkV2ZW50Ei8KDGdpdGh1Yl9ldmVudBgBIAEoCzIZLmdpdGh1Yl9ldmVudC5HaXRodWJFdmVudCLRBAoYUklHaXRodWJQcm9jZXNzaW5nUmVzdWx0EiIKBnN0YXR1cxgBIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzEhsKE2xhc3RfdXBkYXRlZF9jb21taXQYAiABKAkSRgoKZGlmZl9pbmZvcxgDIAMoCzIyLnJlcXVlc3RfaW5zaWdodC5SSUdpdGh1YlByb2Nlc3NpbmdSZXN1bHQuRGlmZkluZm8SHQoVZmlsZW5hbWVzX3RvX2Rvd25sb2FkGAQgAygJEk0KEWlnbm9yZV9kaWZmX2luZm9zGAcgAygLMjIucmVxdWVzdF9pbnNpZ2h0LlJJR2l0aHViUHJvY2Vzc2luZ1Jlc3VsdC5EaWZmSW5mbxIkChxpZ25vcmVfZmlsZW5hbWVzX3RvX2Rvd25sb2FkGAggAygJEjAKEGNoZWNrcG9pbnRfYmxvYnMYBSABKAsyFi5iYXNlLmJsb2JfbmFtZXMuQmxvYnMSFwoPZ2l0X2FwcGx5X2Vycm9yGAYgASgJEhsKE2ZpbGVfZG93bmxvYWRfZXJyb3IYCSABKAkSFgoOZGlmZl9ibG9iX25hbWUYCiABKAkSFQoNaWdub3JlZF9maWxlcxgLIAMoCRqAAQoIRGlmZkluZm8SEAoIZmlsZW5hbWUYASABKAkSFAoMb2xkX2Jsb2JuYW1lGAIgASgJEhQKDG5ld19ibG9ibmFtZRgDIAEoCRIUCgxvbGRfZmlsZW5hbWUYBCABKAkSDwoHcmVtb3ZlZBgFIAEoCBIPCgdyZW5hbWVkGAYgASgIIhgKFlJJR2xlYW5PQXV0aFVSTFJlcXVlc3QiLAoXUklHbGVhbk9BdXRoVVJMUmVzcG9uc2USEQoJb2F1dGhfdXJsGAEgASgJItECCg5SSUdsZWFuUmVxdWVzdBIlCgdyZXF1ZXN0GAEgASgLMhQuZ2xlYW4uU2VhcmNoUmVxdWVzdBIWCg5yZXF1ZXN0X3NvdXJjZRgCIAEoCRJbChZxdWVyeV9wcm9jZXNzb3JfY29uZmlnGAMgASgLMjsucmVxdWVzdF9pbnNpZ2h0LlJJR2xlYW5SZXF1ZXN0LlJJR2xlYW5RdWVyeVByb2Nlc3NvckNvbmZpZxqiAQobUklHbGVhblF1ZXJ5UHJvY2Vzc29yQ29uZmlnEhYKDmdjcF9wcm9qZWN0X2lkGAEgASgJEhIKCmdjcF9yZWdpb24YAiABKAkSEgoKbW9kZWxfbmFtZRgDIAEoCRITCgt0ZW1wZXJhdHVyZRgEIAEoAhIZChFtYXhfb3V0cHV0X3Rva2VucxgFIAEoBRITCgttYXhfcmVzdWx0cxgGIAEoBSK2AQoPUklHbGVhblJlc3BvbnNlEicKCHJlc3BvbnNlGAEgASgLMhUuZ2xlYW4uU2VhcmNoUmVzcG9uc2USUAofZ2VuZXJhdGVfc2VhcmNoX3F1ZXJpZXNfcmVxdWVzdBgCIAEoCzInLnJlcXVlc3RfaW5zaWdodC5UaGlyZFBhcnR5TW9kZWxSZXF1ZXN0EigKIGdlbmVyYXRlX3NlYXJjaF9xdWVyaWVzX3Jlc3BvbnNlGAMgAygJIrEBChRSSUluc3RydWN0aW9uUmVxdWVzdBIpCgdyZXF1ZXN0GAEgASgLMhguZWRpdC5JbnN0cnVjdGlvblJlcXVlc3QSOQoQcmV0cmlldmVkX2NodW5rcxgCIAMoCzIfLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxDaHVuaxIzCgx0b2tlbml6YXRpb24YAyABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uIrABChVSSUluc3RydWN0aW9uUmVzcG9uc2USNAoIcmVzcG9uc2UYASABKAsyIi5lZGl0Lkluc3RydWN0aW9uQWdncmVnYXRlUmVzcG9uc2USMwoMdG9rZW5pemF0aW9uGAIgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbhIaCg1lcnJvcl9tZXNzYWdlGAMgASgJSACIAQFCEAoOX2Vycm9yX21lc3NhZ2UirwEKHlJJSW50ZWdyYXRpb25JbnN0YWxsYXRpb25FdmVudBIiCgZzdGF0dXMYASABKAsyEi5nb29nbGUucnBjLlN0YXR1cxI1CgpldmVudF90eXBlGAIgASgOMiEucmVxdWVzdF9pbnNpZ2h0Lkluc3RhbGxFdmVudFR5cGUSEwoLaW50ZWdyYXRpb24YAyABKAkSDQoFc2NvcGUYBCABKAkSDgoGbWV0aG9kGAUgASgJItABCg5SSU1vZGVsQVBJQ2FsbBISCgptb2RlbF9uYW1lGAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhMKBnJlZ2lvbhgDIAEoCUgAiAEBEiAKE3JlcXVlc3RfcGFyYW1zX2pzb24YBCABKAlIAYgBARIjChZyZXNwb25zZV9tZXRhZGF0YV9qc29uGAUgASgJSAKIAQFCCQoHX3JlZ2lvbkIWChRfcmVxdWVzdF9wYXJhbXNfanNvbkIZChdfcmVzcG9uc2VfbWV0YWRhdGFfanNvbiJoChBSSVJlZnVzYWxTdW1tYXJ5EhAKCHByb3ZpZGVyGAEgASgJEhIKCm1vZGVsX25hbWUYAiABKAkSDAoEdHlwZRgDIAEoCRIQCghjYXRlZ29yeRgEIAEoCRIOCgZzb3VyY2UYBSABKAkixgIKF1JJUmVtb3RlVG9vbENhbGxSZXF1ZXN0EkYKGmNvZGViYXNlX3JldHJpZXZhbF9yZXF1ZXN0GAEgASgLMiAuYWdlbnRzLkNvZGViYXNlUmV0cmlldmFsUmVxdWVzdEgAEjQKEWVkaXRfZmlsZV9yZXF1ZXN0GAIgASgLMhcuYWdlbnRzLkVkaXRGaWxlUmVxdWVzdEgAEk0KGnJpX3J1bl9yZW1vdGVfdG9vbF9yZXF1ZXN0GAQgASgLMicucmVxdWVzdF9pbnNpZ2h0LlJJUnVuUmVtb3RlVG9vbFJlcXVlc3RIABJNCh5jb2RlYmFzZV9yZXRyaWV2YWxfcmF3X3JlcXVlc3QYBSABKAsyIy5hZ2VudHMuQ29kZWJhc2VSZXRyaWV2YWxSYXdSZXF1ZXN0SABCCQoHcmVxdWVzdEoECAMQBCK8AgoYUklSZW1vdGVUb29sQ2FsbFJlc3BvbnNlEkgKG2NvZGViYXNlX3JldHJpZXZhbF9yZXNwb25zZRgBIAEoCzIhLmFnZW50cy5Db2RlYmFzZVJldHJpZXZhbFJlc3BvbnNlSAASNgoSZWRpdF9maWxlX3Jlc3BvbnNlGAIgASgLMhguYWdlbnRzLkVkaXRGaWxlUmVzcG9uc2VIABJBChhydW5fcmVtb3RlX3Rvb2xfcmVzcG9uc2UYAyABKAsyHS5hZ2VudHMuUnVuUmVtb3RlVG9vbFJlc3BvbnNlSAASTwofY29kZWJhc2VfcmV0cmlldmFsX3Jhd19yZXNwb25zZRgEIAEoCzIkLmFnZW50cy5Db2RlYmFzZVJldHJpZXZhbFJhd1Jlc3BvbnNlSABCCgoIcmVzcG9uc2UibwoWUklSdW5SZW1vdGVUb29sUmVxdWVzdBIVCgl0b29sX25hbWUYASABKAlCAhgBEhcKD3Rvb2xfaW5wdXRfanNvbhgCIAEoCRIlCgd0b29sX2lkGAMgASgOMhQuYWdlbnRzLlJlbW90ZVRvb2xJZCJLChVSSVNoYXJlR2V0Q2hhdFJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnNoYXJlLkdldENoYXRDb252ZXJzYXRpb25SZXF1ZXN0Ik4KFlJJU2hhcmVHZXRDaGF0UmVzcG9uc2USNAoIcmVzcG9uc2UYASABKAsyIi5zaGFyZS5HZXRDaGF0Q29udmVyc2F0aW9uUmVzcG9uc2UiTQoWUklTaGFyZVNhdmVDaGF0UmVxdWVzdBIzCgdyZXF1ZXN0GAEgASgLMiIuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXF1ZXN0IlAKF1JJU2hhcmVTYXZlQ2hhdFJlc3BvbnNlEjUKCHJlc3BvbnNlGAEgASgLMiMuc2hhcmUuU2F2ZUNoYXRDb252ZXJzYXRpb25SZXNwb25zZSJ4ChtSSVNsYWNrYm90SW5zdGFsbGF0aW9uRXZlbnQSIgoGc3RhdHVzGAEgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMSNQoKZXZlbnRfdHlwZRgCIAEoDjIhLnJlcXVlc3RfaW5zaWdodC5JbnN0YWxsRXZlbnRUeXBlIosCChFSSVNsYWNrYm90UmVxdWVzdBIpCgtzbGFja19ldmVudBgBIAEoCzIULnNsYWNrYm90LlNsYWNrRXZlbnQSRAoMY2hhbm5lbF90eXBlGAIgASgOMi4ucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXF1ZXN0LkNoYW5uZWxUeXBlIoQBCgtDaGFubmVsVHlwZRIYChRVTktOT1dOX0NIQU5ORUxfVFlQRRAAEgYKAklNEAESCAoETVBJTRACEhIKDlNIQVJFRF9DSEFOTkVMEAMSEwoPUFJJVkFURV9DSEFOTkVMEAQSEwoPR0VORVJBTF9DSEFOTkVMEAUSCwoHQ0hBTk5FTBAGIv0DChJSSVNsYWNrYm90UmVzcG9uc2USDwoHY2hhbm5lbBgBIAEoCRIYChB0aHJlYWRfdGltZXN0YW1wGAIgASgJEiEKGXJlcXVlc3RfbWVzc2FnZV90aW1lc3RhbXAYAyABKAkSQgoPcmVzcG9uc2VfZXZlbnRzGAQgAygLMikucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXNwb25zZS5FdmVudBrQAQoFRXZlbnQSRwoMcG9zdF9tZXNzYWdlGAIgASgLMi8ucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXNwb25zZS5Qb3N0TWVzc2FnZUgAEksKDnVwZGF0ZV9tZXNzYWdlGAMgASgLMjEucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXNwb25zZS5VcGRhdGVNZXNzYWdlSAASKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBwoFZXZlbnQaPwoLUG9zdE1lc3NhZ2USIgoacmVzcG9uc2VfbWVzc2FnZV90aW1lc3RhbXAYASABKAkSDAoEdGV4dBgCIAEoCRpBCg1VcGRhdGVNZXNzYWdlEiIKGnJlc3BvbnNlX21lc3NhZ2VfdGltZXN0YW1wGAEgASgJEgwKBHRleHQYAiABKAkiIwoFUmFuZ2USDQoFc3RhcnQYASABKAUSCwoDZW5kGAIgASgFIqECChRSZW1lbWJlclRvb2xDYWxsRGF0YRJICgZjYWxsZXIYASABKA4yOC5yZXF1ZXN0X2luc2lnaHQuUmVtZW1iZXJUb29sQ2FsbERhdGEuUmVtZW1iZXJUb29sQ2FsbGVyEh0KFWlzX2NvbXBsZXhfbmV3X21lbW9yeRgCIAEoCBI3Cgx0cmFjaW5nX2RhdGEYAyABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQWdlbnRUcmFjaW5nRGF0YSJnChJSZW1lbWJlclRvb2xDYWxsZXISDwoLVU5TUEVDSUZJRUQQABIYChRDTEFTU0lGWV9BTkRfRElTVElMTBABEg8KC09SSUVOVEFUSU9OEAISFQoRTUVNT1JZX0FDQ0VQVEFOQ0UQAyJCChJSZW1vdGVBZ2VudENyZWF0ZWQSFAoMY2hhbmdlZF9yZXBvGAEgASgIEhYKDmNoYW5nZWRfYnJhbmNoGAIgASgIImgKE1JlbW90ZUFnZW50RmVlZGJhY2sSLwoGcmF0aW5nGAEgASgOMh8ucmVxdWVzdF9pbnNpZ2h0LkZlZWRiYWNrUmF0aW5nEgwKBG5vdGUYAiABKAkSEgoKdXNlcl9hZ2VudBgDIAEoCSLaAQoWUmVtb3RlQWdlbnRMYXRlbmN5RGF0YRJUCgxsYXRlbmN5X3R5cGUYASABKA4yPi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRMYXRlbmN5RGF0YS5SZW1vdGVBZ2VudExhdGVuY3lUeXBlEhIKCmxhdGVuY3lfbXMYAiABKA0iVgoWUmVtb3RlQWdlbnRMYXRlbmN5VHlwZRIYChRVTktOT1dOX0xBVEVOQ1lfVFlQRRAAEhAKDENSRUFURV9BR0VOVBABEhAKDFJFU1VNRV9BR0VOVBACItsBCg5SZW1vdGVBZ2VudExvZxI1CgdlbnRyaWVzGAEgAygLMiQucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50TG9nRW50cnkSFwoPcmVtb3RlX2FnZW50X2lkGAIgASgJEhEKCWNvbXBvbmVudBgDIAEoCRIzCg9zdGFydF90aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDWVuZF90aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImgKE1JlbW90ZUFnZW50TG9nRW50cnkSDwoHbWVzc2FnZRgBIAEoCRIRCgl0cmFuc3BvcnQYAiABKAkSLQoJdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLHAwoeUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25EYXRhEmAKBmFjdGlvbhgBIAEoDjJQLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudE5ld1RocmVhZEJ1dHRvbkRhdGEuUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25BY3Rpb24STwoLdGhyZWFkX3R5cGUYAiABKA4yOi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25EYXRhLlRocmVhZFR5cGUSOgoOc291cmNlX2NvbnRyb2wYAyABKA4yIi5yZXF1ZXN0X2luc2lnaHQuU291cmNlQ29udHJvbFR5cGUiaAogUmVtb3RlQWdlbnROZXdUaHJlYWRCdXR0b25BY3Rpb24SJAogVU5LTk9XTl9ORVdfVEhSRUFEX0JVVFRPTl9BQ1RJT04QABIJCgVDTElDSxABEggKBE9QRU4QAhIJCgVDTE9TRRADIkwKClRocmVhZFR5cGUSFwoTVU5LTk9XTl9USFJFQURfVFlQRRAAEggKBENIQVQQARIJCgVBR0VOVBACEhAKDFJFTU9URV9BR0VOVBADIqUJChdSZW1vdGVBZ2VudFNlc3Npb25FdmVudBJIChdyZW1vdGVfYWdlbnRfc2V0dXBfZGF0YRgEIAEoCzIlLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudFNldHVwRGF0YUgAEkgKEXNldHVwX3NjcmlwdF9kYXRhGAUgASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2V0dXBTY3JpcHREYXRhSAASQwoUc3NoX2ludGVyYWN0aW9uX2RhdGEYBiABKAsyIy5yZXF1ZXN0X2luc2lnaHQuU1NISW50ZXJhY3Rpb25EYXRhSAASRwoWbm90aWZpY2F0aW9uX2JlbGxfZGF0YRgHIAEoCzIlLnJlcXVlc3RfaW5zaWdodC5Ob3RpZmljYXRpb25CZWxsRGF0YUgAEjkKD2RpZmZfcGFuZWxfZGF0YRgIIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5EaWZmUGFuZWxEYXRhSAASPQoRc2V0dXBfcGFnZV9vcGVuZWQYCSABKAsyIC5yZXF1ZXN0X2luc2lnaHQuU2V0dXBQYWdlT3BlbmVkSAASPwoSZ2l0aHViX2FwaV9mYWlsdXJlGAogASgLMiEucmVxdWVzdF9pbnNpZ2h0LkdpdGh1YkFQSUZhaWx1cmVIABJDChRyZW1vdGVfYWdlbnRfY3JlYXRlZBgLIAEoCzIjLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudENyZWF0ZWRIABJDChRjaGFuZ2VzX2FwcGxpZWRfZGF0YRgMIAEoCzIjLnJlcXVlc3RfaW5zaWdodC5DaGFuZ2VzQXBwbGllZERhdGFIABI5Cg9jcmVhdGVkX3ByX2RhdGEYDSABKAsyHi5yZXF1ZXN0X2luc2lnaHQuQ3JlYXRlZFBSRGF0YUgAEj8KEm1vZGVfc2VsZWN0b3JfZGF0YRgOIAEoCzIhLnJlcXVlc3RfaW5zaWdodC5Nb2RlU2VsZWN0b3JEYXRhSAASVQoecmVtb3RlX2FnZW50X3NldHVwX3dpbmRvd19kYXRhGA8gASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2V0dXBXaW5kb3dEYXRhSAASUwodcmVtb3RlX2FnZW50X3RocmVhZF9saXN0X2RhdGEYECABKAsyKi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRUaHJlYWRMaXN0RGF0YUgAEl4KI3JlbW90ZV9hZ2VudF9uZXdfdGhyZWFkX2J1dHRvbl9kYXRhGBEgASgLMi8ucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50TmV3VGhyZWFkQnV0dG9uRGF0YUgAEkwKGXJlbW90ZV9hZ2VudF9sYXRlbmN5X2RhdGEYEiABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRMYXRlbmN5RGF0YUgAEhIKCmV2ZW50X25hbWUYASABKAkSEgoKdXNlcl9hZ2VudBgCIAEoCRIXCg9yZW1vdGVfYWdlbnRfaWQYAyABKAlCDAoKZXZlbnRfZGF0YSLOAQoUUmVtb3RlQWdlbnRTZXR1cERhdGESIwobdXNlZF9nZW5lcmF0ZWRfc2V0dXBfc2NyaXB0GAEgASgIElAKC3NldHVwX3N0YXRlGAIgASgOMjsucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2V0dXBEYXRhLlJlbW90ZUFnZW50U2V0dXBTdGF0ZSI/ChVSZW1vdGVBZ2VudFNldHVwU3RhdGUSCwoHVU5LTk9XThAAEg0KCUNPTVBMRVRFRBABEgoKBkZBSUxFRBACIoMBChpSZW1vdGVBZ2VudFNldHVwU2NyaXB0RGF0YRIRCgludW1fdHJpZXMYASABKAUSGQoRbnVtX21lc3NhZ2VzX3NlbnQYAyABKAUSGgoSZ2VuZXJhdGlvbl90aW1lX21zGAQgASgFEhsKE21hbnVhbF9tb2RpZmljYXRpb24YBSABKAgilgUKGlJlbW90ZUFnZW50U2V0dXBXaW5kb3dEYXRhElgKBmFjdGlvbhgBIAEoDjJILnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudFNldHVwV2luZG93RGF0YS5SZW1vdGVBZ2VudFNldHVwV2luZG93QWN0aW9uEhEKCXJlcG9faGFzaBgCIAEoCRITCgticmFuY2hfaGFzaBgDIAEoCRIhChloYXNfc2V0dXBfc2NyaXB0X3NlbGVjdGVkGAQgASgIEiIKGmdpdGh1Yl9pbnRlZ3JhdGlvbl9lbmFibGVkGAUgASgIEhsKE251bV9yZXBvc19hdmFpbGFibGUYBiABKA0SOgoOc291cmNlX2NvbnRyb2wYByABKA4yIi5yZXF1ZXN0X2luc2lnaHQuU291cmNlQ29udHJvbFR5cGUi1QIKHFJlbW90ZUFnZW50U2V0dXBXaW5kb3dBY3Rpb24SHwobVU5LTk9XTl9TRVRVUF9XSU5ET1dfQUNUSU9OEAASCAoET1BFThABEgkKBUNMT1NFEAISDwoLU0VMRUNUX1JFUE8QAxIRCg1TRUxFQ1RfQlJBTkNIEAQSFwoTU0VMRUNUX1NFVFVQX1NDUklQVBAFEh4KGkFVVE9fR0VORVJBVEVfU0VUVVBfU0NSSVBUEAYSIAocTUFOVUFMTFlfQ1JFQVRFX1NFVFVQX1NDUklQVBAHEhkKFVRZUEVfSU5fUFJPTVBUX1dJTkRPVxAIEhgKFENMSUNLX1JFV1JJVEVfUFJPTVBUEAkSGAoURU5BQkxFX05PVElGSUNBVElPTlMQChIZChVESVNBQkxFX05PVElGSUNBVElPTlMQCxIWChJDTElDS19DUkVBVEVfQUdFTlQQDCLjAgoZUmVtb3RlQWdlbnRUaHJlYWRMaXN0RGF0YRJWCgZhY3Rpb24YASABKA4yRi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRUaHJlYWRMaXN0RGF0YS5SZW1vdGVBZ2VudFRocmVhZExpc3RBY3Rpb24SGgoSbnVtX2FnZW50c19pbl9saXN0GAIgASgNEjoKDnNvdXJjZV9jb250cm9sGAMgASgOMiIucmVxdWVzdF9pbnNpZ2h0LlNvdXJjZUNvbnRyb2xUeXBlIpUBChtSZW1vdGVBZ2VudFRocmVhZExpc3RBY3Rpb24SHQoZVU5LTk9XTl9BR0VOVF9MSVNUX0FDVElPThAAEggKBE9QRU4QARIJCgVDTE9TRRACEhAKDFNFTEVDVF9BR0VOVBADEhAKDERFTEVURV9BR0VOVBAEEg0KCVBJTl9BR0VOVBAFEg8KC1VOUElOX0FHRU5UEAYifgoaUmVtb3RlQWdlbnRXb3Jrc3BhY2VVcHRpbWUSMAoMdXB0aW1lX3N0YXJ0GAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cHRpbWVfZW5kGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJQChxSZW1vdGVBZ2VudHNBZGRTU0hLZXlSZXF1ZXN0EjAKB3JlcXVlc3QYASABKAsyHy5yZW1vdGVfYWdlbnRzLkFkZFNTSEtleVJlcXVlc3QiUwodUmVtb3RlQWdlbnRzQWRkU1NIS2V5UmVzcG9uc2USMgoIcmVzcG9uc2UYASABKAsyIC5yZW1vdGVfYWdlbnRzLkFkZFNTSEtleVJlc3BvbnNlIkYKF1JlbW90ZUFnZW50c0NoYXRSZXF1ZXN0EisKB3JlcXVlc3QYASABKAsyGi5yZW1vdGVfYWdlbnRzLkNoYXRSZXF1ZXN0IkkKGFJlbW90ZUFnZW50c0NoYXRSZXNwb25zZRItCghyZXNwb25zZRgBIAEoCzIbLnJlbW90ZV9hZ2VudHMuQ2hhdFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c0NyZWF0ZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuQ3JlYXRlQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c0NyZWF0ZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5DcmVhdGVBZ2VudFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c0RlbGV0ZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuRGVsZXRlQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c0RlbGV0ZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5EZWxldGVBZ2VudFJlc3BvbnNlIlwKIlJlbW90ZUFnZW50c0dlbmVyYXRlU3VtbWFyeVJlcXVlc3QSNgoHcmVxdWVzdBgBIAEoCzIlLnJlbW90ZV9hZ2VudHMuR2VuZXJhdGVTdW1tYXJ5UmVxdWVzdCJfCiNSZW1vdGVBZ2VudHNHZW5lcmF0ZVN1bW1hcnlSZXNwb25zZRI4CghyZXNwb25zZRgBIAEoCzImLnJlbW90ZV9hZ2VudHMuR2VuZXJhdGVTdW1tYXJ5UmVzcG9uc2UiVQocUmVtb3RlQWdlbnRzSW50ZXJydXB0UmVxdWVzdBI1CgdyZXF1ZXN0GAEgASgLMiQucmVtb3RlX2FnZW50cy5JbnRlcnJ1cHRBZ2VudFJlcXVlc3QiWAodUmVtb3RlQWdlbnRzSW50ZXJydXB0UmVzcG9uc2USNwoIcmVzcG9uc2UYASABKAsyJS5yZW1vdGVfYWdlbnRzLkludGVycnVwdEFnZW50UmVzcG9uc2UiTQoYUmVtb3RlQWdlbnRzUGF1c2VSZXF1ZXN0EjEKB3JlcXVlc3QYASABKAsyIC5yZW1vdGVfYWdlbnRzLlBhdXNlQWdlbnRSZXF1ZXN0IlAKGVJlbW90ZUFnZW50c1BhdXNlUmVzcG9uc2USMwoIcmVzcG9uc2UYASABKAsyIS5yZW1vdGVfYWdlbnRzLlBhdXNlQWdlbnRSZXNwb25zZSJcCiJSZW1vdGVBZ2VudHNSZXN1bWVIaW50QWdlbnRSZXF1ZXN0EjYKB3JlcXVlc3QYASABKAsyJS5yZW1vdGVfYWdlbnRzLlJlc3VtZUhpbnRBZ2VudFJlcXVlc3QiXwojUmVtb3RlQWdlbnRzUmVzdW1lSGludEFnZW50UmVzcG9uc2USOAoIcmVzcG9uc2UYASABKAsyJi5yZW1vdGVfYWdlbnRzLlJlc3VtZUhpbnRBZ2VudFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c1Jlc3VtZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuUmVzdW1lQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c1Jlc3VtZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5SZXN1bWVBZ2VudFJlc3BvbnNlIk8KGVJlbW90ZUFnZW50c1VwZGF0ZVJlcXVlc3QSMgoHcmVxdWVzdBgBIAEoCzIhLnJlbW90ZV9hZ2VudHMuVXBkYXRlQWdlbnRSZXF1ZXN0IlIKGlJlbW90ZUFnZW50c1VwZGF0ZVJlc3BvbnNlEjQKCHJlc3BvbnNlGAEgASgLMiIucmVtb3RlX2FnZW50cy5VcGRhdGVBZ2VudFJlc3BvbnNlImcKDlJlcXVlc3RCbG9ja2VkEi0KDm9wYXF1ZV91c2VyX2lkGAEgASgLMhUuYXV0aF9lbnRpdGllcy5Vc2VySWQSEgoKdXNlcl9lbWFpbBgCIAEoCRISCgpjaGVja190eXBlGAMgASgJIoM+CgxSZXF1ZXN0RXZlbnQSNgoNaW5mZXJfcmVxdWVzdBgCIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5JbmZlclJlcXVlc3RIABJJChdjb21wbGV0aW9uX2hvc3RfcmVxdWVzdBgIIAEoCzImLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uSG9zdFJlcXVlc3RIABJJChdpbmZlcmVuY2VfaG9zdF9yZXNwb25zZRgKIAEoCzImLnJlcXVlc3RfaW5zaWdodC5JbmZlcmVuY2VIb3N0UmVzcG9uc2VIABJLChhjb21wbGV0aW9uX2hvc3RfcmVzcG9uc2UYCSABKAsyJy5yZXF1ZXN0X2luc2lnaHQuQ29tcGxldGlvbkhvc3RSZXNwb25zZUgAEj0KEWFwaV9odHRwX3Jlc3BvbnNlGAcgASgLMiAucmVxdWVzdF9pbnNpZ2h0LkFwaUh0dHBSZXNwb25zZUgAEk0KGWVtYmVkZGluZ3Nfc2VhcmNoX3JlcXVlc3QYCyABKAsyKC5yZXF1ZXN0X2luc2lnaHQuRW1iZWRkaW5nc1NlYXJjaFJlcXVlc3RIABJPChplbWJlZGRpbmdzX3NlYXJjaF9yZXNwb25zZRgMIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5FbWJlZGRpbmdzU2VhcmNoUmVzcG9uc2VIABI6Cg9jb21wbGV0aW9uX2VtaXQYDSABKAsyHy5yZXF1ZXN0X2luc2lnaHQuQ29tcGxldGlvbkVtaXRIABJGChVjb21wbGV0aW9uX3Jlc29sdXRpb24YDiABKAsyJS5yZXF1ZXN0X2luc2lnaHQuQ29tcGxldGlvblJlc29sdXRpb25IABI7ChFlZGl0X2hvc3RfcmVxdWVzdBgPIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5SSUVkaXRSZXF1ZXN0SAASPQoSZWRpdF9ob3N0X3Jlc3BvbnNlGBAgASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlJJRWRpdFJlc3BvbnNlSAASQgoTY29tcGxldGlvbl9mZWVkYmFjaxgRIAEoCzIjLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uRmVlZGJhY2tIABIuCgllZGl0X2VtaXQYEiABKAsyGS5yZXF1ZXN0X2luc2lnaHQuRWRpdEVtaXRIABI6Cg9lZGl0X3Jlc29sdXRpb24YEyABKAsyHy5yZXF1ZXN0X2luc2lnaHQuRWRpdFJlc29sdXRpb25IABI8ChByZXF1ZXN0X21ldGFkYXRhGBQgASgLMiAucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RNZXRhZGF0YUgAEkAKEnJldHJpZXZhbF9yZXNwb25zZRgVIAEoCzIiLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxSZXNwb25zZUgAEjsKEWNoYXRfaG9zdF9yZXF1ZXN0GBYgASgLMh4ucmVxdWVzdF9pbnNpZ2h0LlJJQ2hhdFJlcXVlc3RIABI9ChJjaGF0X2hvc3RfcmVzcG9uc2UYFyABKAsyHy5yZXF1ZXN0X2luc2lnaHQuUklDaGF0UmVzcG9uc2VIABI6Cg9leHRlbnNpb25fZXJyb3IYGCABKAsyHy5yZXF1ZXN0X2luc2lnaHQuRXh0ZW5zaW9uRXJyb3JIABJJChdjb21wbGV0aW9uX3Bvc3RfcHJvY2VzcxgZIAEoCzImLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uUG9zdFByb2Nlc3NIABI+ChFwcmVmZXJlbmNlX3NhbXBsZRgbIAEoCzIhLnJlcXVlc3RfaW5zaWdodC5QcmVmZXJlbmNlU2FtcGxlSAASNgoNY2hhdF9mZWVkYmFjaxgcIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5DaGF0RmVlZGJhY2tIABI+ChFyZXJhbmtlcl9yZXNwb25zZRgdIAEoCzIhLnJlcXVlc3RfaW5zaWdodC5SZXJhbmtlclJlc3BvbnNlSAASTwoaY2xpZW50X2NvbXBsZXRpb25fdGltZWxpbmUYICABKAsyKS5yZXF1ZXN0X2luc2lnaHQuQ2xpZW50Q29tcGxldGlvblRpbWVsaW5lSAASSQoYaW5zdHJ1Y3Rpb25faG9zdF9yZXF1ZXN0GCYgASgLMiUucmVxdWVzdF9pbnNpZ2h0LlJJSW5zdHJ1Y3Rpb25SZXF1ZXN0SAASSwoZaW5zdHJ1Y3Rpb25faG9zdF9yZXNwb25zZRgnIAEoCzImLnJlcXVlc3RfaW5zaWdodC5SSUluc3RydWN0aW9uUmVzcG9uc2VIABI+ChBzbGFja2JvdF9yZXF1ZXN0GCggASgLMiIucmVxdWVzdF9pbnNpZ2h0LlJJU2xhY2tib3RSZXF1ZXN0SAASQAoRc2xhY2tib3RfcmVzcG9uc2UYKSABKAsyIy5yZXF1ZXN0X2luc2lnaHQuUklTbGFja2JvdFJlc3BvbnNlSAASNgoMZ2l0aHViX2V2ZW50GCogASgLMh4ucmVxdWVzdF9pbnNpZ2h0LlJJR2l0aHViRXZlbnRIABJNChhnaXRodWJfcHJvY2Vzc2luZ19yZXN1bHQYKyABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUklHaXRodWJQcm9jZXNzaW5nUmVzdWx0SAASSgoXc2hhcmVfc2F2ZV9jaGF0X3JlcXVlc3QYLCABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUklTaGFyZVNhdmVDaGF0UmVxdWVzdEgAEkwKGHNoYXJlX3NhdmVfY2hhdF9yZXNwb25zZRgtIAEoCzIoLnJlcXVlc3RfaW5zaWdodC5SSVNoYXJlU2F2ZUNoYXRSZXNwb25zZUgAEkgKFnNoYXJlX2dldF9jaGF0X3JlcXVlc3QYLiABKAsyJi5yZXF1ZXN0X2luc2lnaHQuUklTaGFyZUdldENoYXRSZXF1ZXN0SAASSgoXc2hhcmVfZ2V0X2NoYXRfcmVzcG9uc2UYLyABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUklTaGFyZUdldENoYXRSZXNwb25zZUgAElAKG3NtYXJ0X3Bhc3RlX2NsaWVudF90aW1lbGluZRgwIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5TbWFydFBhc3RlQ2xpZW50VGltZWxpbmVIABJHChZzbWFydF9wYXN0ZV9yZXNvbHV0aW9uGDEgASgLMiUucmVxdWVzdF9pbnNpZ2h0LlNtYXJ0UGFzdGVSZXNvbHV0aW9uSAASVgodZ2l0aHViX2FwcF9pbnN0YWxsYXRpb25fZXZlbnQYMiABKAsyLS5yZXF1ZXN0X2luc2lnaHQuUklHaXRodWJBcHBJbnN0YWxsYXRpb25FdmVudEgAElMKG3NsYWNrYm90X2luc3RhbGxhdGlvbl9ldmVudBgzIAEoCzIsLnJlcXVlc3RfaW5zaWdodC5SSVNsYWNrYm90SW5zdGFsbGF0aW9uRXZlbnRIABJIChZpbnN0cnVjdGlvbl9yZXNvbHV0aW9uGDQgASgLMiYucmVxdWVzdF9pbnNpZ2h0Lkluc3RydWN0aW9uUmVzb2x1dGlvbkgAEjwKEGluc3RydWN0aW9uX2VtaXQYNSABKAsyIC5yZXF1ZXN0X2luc2lnaHQuSW5zdHJ1Y3Rpb25FbWl0SAASPgoRc2xhY2tib3RfZmVlZGJhY2sYNiABKAsyIS5yZXF1ZXN0X2luc2lnaHQuU2xhY2tib3RGZWVkYmFja0gAEjgKDWdsZWFuX3JlcXVlc3QYOyABKAsyHy5yZXF1ZXN0X2luc2lnaHQuUklHbGVhblJlcXVlc3RIABI6Cg5nbGVhbl9yZXNwb25zZRg8IAEoCzIgLnJlcXVlc3RfaW5zaWdodC5SSUdsZWFuUmVzcG9uc2VIABJKChdnbGVhbl9vYXV0aF91cmxfcmVxdWVzdBg9IAEoCzInLnJlcXVlc3RfaW5zaWdodC5SSUdsZWFuT0F1dGhVUkxSZXF1ZXN0SAASTAoYZ2xlYW5fb2F1dGhfdXJsX3Jlc3BvbnNlGD4gASgLMigucmVxdWVzdF9pbnNpZ2h0LlJJR2xlYW5PQXV0aFVSTFJlc3BvbnNlSAASTAoYcmVtb3RlX3Rvb2xfY2FsbF9yZXF1ZXN0GEEgASgLMigucmVxdWVzdF9pbnNpZ2h0LlJJUmVtb3RlVG9vbENhbGxSZXF1ZXN0SAASTgoZcmVtb3RlX3Rvb2xfY2FsbF9yZXNwb25zZRhCIAEoCzIpLnJlcXVlc3RfaW5zaWdodC5SSVJlbW90ZVRvb2xDYWxsUmVzcG9uc2VIABI7ChBzdWJfYWdlbnRfZGlhbG9nGEMgASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlN1YkFnZW50RGlhbG9nSAASPwoScHJvbXB0X2NhY2hlX3VzYWdlGEQgASgLMiEucmVxdWVzdF9pbnNpZ2h0LlByb21wdENhY2hlVXNhZ2VIABI1Cg10b29sX3VzZV9kYXRhGEUgASgLMhwucmVxdWVzdF9pbnNpZ2h0LlRvb2xVc2VEYXRhSAASOgoPcm91dGVyX3Jlc3BvbnNlGEYgASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlJvdXRlclJlc3BvbnNlSAASRAoUcG9zdHByb2Nlc3NfcmVzcG9uc2UYRyABKAsyJC5yZXF1ZXN0X2luc2lnaHQuUG9zdHByb2Nlc3NSZXNwb25zZUgAEkEKE2FnZW50X3JlcXVlc3RfZXZlbnQYSCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuQWdlbnRSZXF1ZXN0RXZlbnRIABI4Cg5hZ2VudF9mZWVkYmFjaxhJIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5BZ2VudEZlZWRiYWNrSAASOgoPcmVxdWVzdF9ibG9ja2VkGEogASgLMh8ucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RCbG9ja2VkSAASQAoScmVxdWVzdF9zdXNwaWNpb3VzGEsgASgLMiIucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RTdXNwaWNpb3VzSAASQwoUdG9rZW5fZXhjaGFuZ2VfZXJyb3IYTCABKAsyIy5yZXF1ZXN0X2luc2lnaHQuVG9rZW5FeGNoYW5nZUVycm9ySAASNgoMZmluZF9taXNzaW5nGE0gASgLMh4ucmVxdWVzdF9pbnNpZ2h0LlJJRmluZE1pc3NpbmdIABI2CgxiYXRjaF91cGxvYWQYTiABKAsyHi5yZXF1ZXN0X2luc2lnaHQuUklCYXRjaFVwbG9hZEgAElIKHHJlbW90ZV9hZ2VudHNfY3JlYXRlX3JlcXVlc3QYTyABKAsyKi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzQ3JlYXRlUmVxdWVzdEgAElQKHXJlbW90ZV9hZ2VudHNfY3JlYXRlX3Jlc3BvbnNlGFAgASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50c0NyZWF0ZVJlc3BvbnNlSAASTgoacmVtb3RlX2FnZW50c19jaGF0X3JlcXVlc3QYUSABKAsyKC5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzQ2hhdFJlcXVlc3RIABJQChtyZW1vdGVfYWdlbnRzX2NoYXRfcmVzcG9uc2UYUiABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzQ2hhdFJlc3BvbnNlSAASWAofcmVtb3RlX2FnZW50c19pbnRlcnJ1cHRfcmVxdWVzdBhTIAEoCzItLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNJbnRlcnJ1cHRSZXF1ZXN0SAASWgogcmVtb3RlX2FnZW50c19pbnRlcnJ1cHRfcmVzcG9uc2UYVCABKAsyLi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzSW50ZXJydXB0UmVzcG9uc2VIABJSChxyZW1vdGVfYWdlbnRzX2RlbGV0ZV9yZXF1ZXN0GFUgASgLMioucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50c0RlbGV0ZVJlcXVlc3RIABJUCh1yZW1vdGVfYWdlbnRzX2RlbGV0ZV9yZXNwb25zZRhWIAEoCzIrLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNEZWxldGVSZXNwb25zZUgAEloKIXJlbW90ZV9hZ2VudHNfYWRkX3NzaF9rZXlfcmVxdWVzdBhXIAEoCzItLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNBZGRTU0hLZXlSZXF1ZXN0SAASXAoicmVtb3RlX2FnZW50c19hZGRfc3NoX2tleV9yZXNwb25zZRhYIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNBZGRTU0hLZXlSZXNwb25zZUgAElIKHGRhaWx5X3JlcXVlc3RfbGltaXRfZXhjZWVkZWQYWSABKAsyKi5yZXF1ZXN0X2luc2lnaHQuRGFpbHlSZXF1ZXN0TGltaXRFeGNlZWRlZEgAEj0KEWNoYXRfdXNlcl9tZXNzYWdlGFogASgLMiAucmVxdWVzdF9pbnNpZ2h0LkNoYXRVc2VyTWVzc2FnZUgAEkgKFnBhcmVudGhlc2lzX3RydW5jYXRpb24YWyABKAsyJi5yZXF1ZXN0X2luc2lnaHQuUGFyZW50aGVzaXNUcnVuY2F0aW9uSAASRQoVcmVtb3RlX2FnZW50X2ZlZWRiYWNrGFwgASgLMiQucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50RmVlZGJhY2tIABJQChtyZW1vdGVfYWdlbnRzX3BhdXNlX3JlcXVlc3QYXSABKAsyKS5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzUGF1c2VSZXF1ZXN0SAASUgoccmVtb3RlX2FnZW50c19wYXVzZV9yZXNwb25zZRheIAEoCzIqLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNQYXVzZVJlc3BvbnNlSAASUgoccmVtb3RlX2FnZW50c19yZXN1bWVfcmVxdWVzdBhfIAEoCzIqLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNSZXN1bWVSZXF1ZXN0SAASVAodcmVtb3RlX2FnZW50c19yZXN1bWVfcmVzcG9uc2UYYCABKAsyKy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzUmVzdW1lUmVzcG9uc2VIABI5Cg5tb2RlbF9hcGlfY2FsbBhhIAEoCzIfLnJlcXVlc3RfaW5zaWdodC5SSU1vZGVsQVBJQ2FsbEgAEmYKJ3JlbW90ZV9hZ2VudHNfcmVzdW1lX2hpbnRfYWdlbnRfcmVxdWVzdBhiIAEoCzIzLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNSZXN1bWVIaW50QWdlbnRSZXF1ZXN0SAASaAoocmVtb3RlX2FnZW50c19yZXN1bWVfaGludF9hZ2VudF9yZXNwb25zZRhjIAEoCzI0LnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNSZXN1bWVIaW50QWdlbnRSZXNwb25zZUgAElIKHHJlbW90ZV9hZ2VudHNfdXBkYXRlX3JlcXVlc3QYZCABKAsyKi5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzVXBkYXRlUmVxdWVzdEgAElQKHXJlbW90ZV9hZ2VudHNfdXBkYXRlX3Jlc3BvbnNlGGUgASgLMisucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50c1VwZGF0ZVJlc3BvbnNlSAASZQomcmVtb3RlX2FnZW50c19nZW5lcmF0ZV9zdW1tYXJ5X3JlcXVlc3QYZiABKAsyMy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRzR2VuZXJhdGVTdW1tYXJ5UmVxdWVzdEgAEmcKJ3JlbW90ZV9hZ2VudHNfZ2VuZXJhdGVfc3VtbWFyeV9yZXNwb25zZRhnIAEoCzI0LnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudHNHZW5lcmF0ZVN1bW1hcnlSZXNwb25zZUgAEj4KEW1lbW9yaWVzX2ZlZWRiYWNrGGggASgLMiEucmVxdWVzdF9pbnNpZ2h0Lk1lbW9yaWVzRmVlZGJhY2tIABI/ChJjbGlfYWdlbnRfZmVlZGJhY2sYaSABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQ2xpQWdlbnRGZWVkYmFja0gAEkoKGGFwaV9odHRwX3JlcXVlc3RfZGV0YWlscxhqIAEoCzImLnJlcXVlc3RfaW5zaWdodC5BcGlIdHRwUmVxdWVzdERldGFpbHNIABJZCiByZXZpZXdfYm90X3B1bGxfcmVxdWVzdF9yZXZpZXdlZBhrIAEoCzItLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RQdWxsUmVxdWVzdFJldmlld2VkSAASTAoZcmV2aWV3X2JvdF9lbW9qaV9yZWFjdGlvbhhsIAEoCzInLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RFbW9qaVJlYWN0aW9uSAASQwoTY2hhdF9tZXRlcmluZ19ldmVudBhtIAEoCzIkLnJlcXVlc3RfaW5zaWdodC5SSUNoYXRNZXRlcmluZ0V2ZW50SAASTAoZcmV2aWV3X2JvdF9hdXRvbWF0ZWRfZXZhbBhuIAEoCzInLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RBdXRvbWF0ZWRFdmFsSAASSgoYcmV2aWV3X2JvdF9wb3N0ZWRfcmV2aWV3GG8gASgLMiYucmVxdWVzdF9pbnNpZ2h0LlJldmlld0JvdFBvc3RlZFJldmlld0gAEkwKGXJldmlld19ib3RfcG9zdGVkX2NvbW1lbnQYcCABKAsyJy5yZXF1ZXN0X2luc2lnaHQuUmV2aWV3Qm90UG9zdGVkQ29tbWVudEgAEk4KGmNoYXRfaW5wdXRfY29tcGxldGlvbl9lbWl0GHEgASgLMigucmVxdWVzdF9pbnNpZ2h0LkNoYXRJbnB1dENvbXBsZXRpb25FbWl0SAASWgogY2hhdF9pbnB1dF9jb21wbGV0aW9uX3Jlc29sdXRpb24YciABKAsyLi5yZXF1ZXN0X2luc2lnaHQuQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb25IABJOChpyZXZpZXdfYm90X3JlcG9zX2Nvbm5lY3RlZBhzIAEoCzIoLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RSZXBvc0Nvbm5lY3RlZEgAEmsKKGFnZW50aWNfc2xhY2tib3RfcmVhY3Rpb25fcmVjZWl2ZWRfZXZlbnQYdCABKAsyNy5yZXF1ZXN0X2luc2lnaHQuUklBZ2VudGljU2xhY2tib3RSZWFjdGlvblJlY2VpdmVkRXZlbnRIABJOChpyZXZpZXdfYm90X2FnZW50X2NvbXBsZXRlZBh2IAEoCzIoLnJlcXVlc3RfaW5zaWdodC5SZXZpZXdCb3RBZ2VudENvbXBsZXRlZEgAElMKGmdpdGh1Yl9wdWxsX3JlcXVlc3RfbWVyZ2VkGHcgASgLMi0ucmVxdWVzdF9pbnNpZ2h0LkdpdGh1YlB1bGxSZXF1ZXN0TWVyZ2VkRXZlbnRIABJJChdidXRsZXJfcm91dGluZ19yZXNwb25zZRh4IAEoCzImLnJlcXVlc3RfaW5zaWdodC5CdXRsZXJSb3V0aW5nUmVzcG9uc2VIABI6Cg9jb3Ntb3NfZmVlZGJhY2sYeSABKAsyHy5yZXF1ZXN0X2luc2lnaHQuQ29zbW9zRmVlZGJhY2tIABJZCh5pbnRlZ3JhdGlvbl9pbnN0YWxsYXRpb25fZXZlbnQYeiABKAsyLy5yZXF1ZXN0X2luc2lnaHQuUklJbnRlZ3JhdGlvbkluc3RhbGxhdGlvbkV2ZW50SAASKAoEdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoIZXZlbnRfaWQYJSABKAlIAYgBAUIHCgVldmVudEILCglfZXZlbnRfaWRKBAgDEARKBAgEEAVKBAgFEAZKBAg3EDhKBAg4EDlKBAg5EDpKBAg6EDtKBAg/EEBKBAhAEEFKBAgaEBtKBAgeEB9KBAgfECBKBAghECJKBAgiECNKBAgjECRKBAgkECVKBAh1EHZSFGxsbV9nZW5lcmF0ZV9yZXF1ZXN0UhVsbG1fZ2VuZXJhdGVfcmVzcG9uc2VSFm5leHRfZWRpdF9ob3N0X3JlcXVlc3RSF25leHRfZWRpdF9ob3N0X3Jlc3BvbnNlUhJuZXh0X2VkaXRfZmVlZGJhY2tSFG5leHRfZWRpdF9yZXNvbHV0aW9uUg5uZXh0X2VkaXRfZW1pdCLEAgoPUmVxdWVzdE1ldGFkYXRhEjIKDHJlcXVlc3RfdHlwZRgBIAEoDjIcLnJlcXVlc3RfaW5zaWdodC5SZXF1ZXN0VHlwZRISCgpzZXNzaW9uX2lkGAIgASgJEg8KB3VzZXJfaWQYAyABKAkSEgoKdXNlcl9hZ2VudBgEIAEoCRItCg5vcGFxdWVfdXNlcl9pZBgFIAEoCzIVLmF1dGhfZW50aXRpZXMuVXNlcklkEhcKCnVzZXJfZW1haWwYBiABKAlIAIgBARIRCglzb3VyY2VfaXAYByABKAkSKAoIYm90X3R5cGUYCCABKA4yFi5hdXRoX2VudGl0aWVzLkJvdFR5cGUSHAoPY29udmVyc2F0aW9uX2lkGAkgASgJSAGIAQFCDQoLX3VzZXJfZW1haWxCEgoQX2NvbnZlcnNhdGlvbl9pZCJqChFSZXF1ZXN0U3VzcGljaW91cxItCg5vcGFxdWVfdXNlcl9pZBgBIAEoCzIVLmF1dGhfZW50aXRpZXMuVXNlcklkEhIKCnVzZXJfZW1haWwYAiABKAkSEgoKY2hlY2tfdHlwZRgDIAEoCSK0AQoNUmVyYW5rZXJDaHVuaxIMCgR0ZXh0GAEgASgJEgwKBHBhdGgYAiABKAkSEwoLY2hhcl9vZmZzZXQYAyABKAUSEAoIY2hhcl9lbmQYBCABKAUSEQoJYmxvYl9uYW1lGAUgASgJEhMKC2NodW5rX2luZGV4GAYgASgFEg4KBm9yaWdpbhgHIAEoCRINCgVzY29yZRgIIAEoAhIZChFzaG9ydF9kZXNjcmlwdGlvbhgJIAEoCSKKAQoQUmVyYW5rZXJSZXNwb25zZRI3Cg9yZXJhbmtlZF9jaHVua3MYASADKAsyHi5yZXF1ZXN0X2luc2lnaHQuUmVyYW5rZXJDaHVuaxI3ChByZXJhbmtlcl9wcm9tcHRzGAMgAygLMh0ucmVxdWVzdF9pbnNpZ2h0LlRva2VuaXphdGlvbkoECAIQAyLiAQoOUmV0cmlldmFsQ2h1bmsSDAoEdGV4dBgFIAEoCRIMCgRwYXRoGAYgASgJEhMKC2NoYXJfb2Zmc2V0GAQgASgFEhAKCGNoYXJfZW5kGAcgASgFEhEKCWJsb2JfbmFtZRgCIAEoCRITCgtjaHVua19pbmRleBgDIAEoBRIOCgZvcmlnaW4YCCABKAkSDQoFc2NvcmUYCSABKAISMgoJdGltZXN0YW1wGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgwKCl90aW1lc3RhbXBKBAgBEAIiwQEKEVJldHJpZXZhbFJlc3BvbnNlEjYKDnJldHJpZXZhbF90eXBlGAEgASgOMh4ucmVxdWVzdF9pbnNpZ2h0LlJldHJpZXZhbFR5cGUSOQoQcmV0cmlldmVkX2NodW5rcxgDIAMoCzIfLnJlcXVlc3RfaW5zaWdodC5SZXRyaWV2YWxDaHVuaxIzCgxxdWVyeV9wcm9tcHQYBCABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uSgQIAhADItsHChFSZXRyaWV2YWxUb29sRGF0YRIWCg5yZXRyaWV2YWxfbW9kZRgBIAEoCRIYChB0b3RhbF9lbGFwc2VkX21zGAIgASgFEhsKE2FwaV9jYWxsX2VsYXBzZWRfbXMYAyABKAUSGQoRcmVyYW5rX2VsYXBzZWRfbXMYBCABKAUSGQoRZW5yaWNoX2VsYXBzZWRfbXMYBSABKAUSJQodY29kZWJhc2VfcmV0cmlldmFsX2VsYXBzZWRfbXMYBiABKAUSKQohY29udmVyc2F0aW9uX3JldHJpZXZhbF9lbGFwc2VkX21zGAcgASgFEikKIWNvbnZlcnNhdGlvbl9pbml0aWFsX3JldHJpZXZhbF9tcxgIIAEoBRInCh9jb252ZXJzYXRpb25fcXVlcnlfcmV3cml0aW5nX21zGAkgASgFEioKImNvbnZlcnNhdGlvbl9mb2xsb3d1cF9yZXRyaWV2YWxfbXMYCiABKAUSGwoTYmxvYl9uYW1lX2xvb2t1cF9tcxgLIAEoBRIhChljb2RlYmFzZV9jaHVua3NfcmV0cmlldmVkGAwgASgFEiMKG2NvbnZlcnNhdGlvbl9jaHVua3NfaW5pdGlhbBgNIAEoBRImCh5jb252ZXJzYXRpb25fcXVlcmllc19nZW5lcmF0ZWQYDiABKAUSJAocY29udmVyc2F0aW9uX2NodW5rc19mb2xsb3d1cBgPIAEoBRIkChxjb252ZXJzYXRpb25fY2h1bmtzX2NvbWJpbmVkGBAgASgFEigKIGNvbnZlcnNhdGlvbl9jaHVua3NfYWZ0ZXJfcmVyYW5rGBEgASgFEioKImNvZGViYXNlX3Jlc3VsdF9sZW5fcHJlX3RydW5jYXRpb24YEiABKAUSGwoTY29kZWJhc2VfcmVzdWx0X2xlbhgTIAEoBRIuCiZjb252ZXJzYXRpb25fcmVzdWx0X2xlbl9wcmVfdHJ1bmNhdGlvbhgUIAEoBRIfChdjb252ZXJzYXRpb25fcmVzdWx0X2xlbhgVIAEoBRIbChNjb21iaW5lZF9yZXN1bHRfbGVuGBYgASgFEhQKDHRvdGFsX2J1ZGdldBgXIAEoBRIXCg9jb2RlYmFzZV9idWRnZXQYGCABKAUSGwoTY29udmVyc2F0aW9uX2J1ZGdldBgZIAEoBRIaChJjb2RlYmFzZV90cnVuY2F0ZWQYGiABKAgSHgoWY29udmVyc2F0aW9uX3RydW5jYXRlZBgbIAEoCBIXCg9maW5hbF90cnVuY2F0ZWQYHCABKAgSFAoMaXNfc3ViX2FnZW50GB0gASgIIqkBChdSZXZpZXdCb3RBZ2VudENvbXBsZXRlZBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSEgoKcmVwb19vd25lchgCIAEoCRIRCglyZXBvX25hbWUYAyABKAkSEQoJcHJfbnVtYmVyGAQgASgNEg8KB291dGNvbWUYBSABKAkSDwoHYXR0ZW1wdBgGIAEoBRIZChFyZXZpZXdfcmVxdWVzdF9pZBgHIAEoCSKxAgoWUmV2aWV3Qm90QXV0b21hdGVkRXZhbBIUCgxyZXBvX25vZGVfaWQYASABKAkSEQoJcHJfbnVtYmVyGAIgASgNEhcKD3JlbW90ZV9hZ2VudF9pZBgDIAEoCRIRCglhZGRyZXNzZWQYBCABKAgSEgoKY29tbWVudF9pZBgFIAEoCRIYChBwcmltYXJ5X2NhdGVnb3J5GAYgASgJEhMKC3N1YmNhdGVnb3J5GAcgASgJEhsKE2F1Z21lbnRfYm90X2NvbW1lbnQYCCABKAgSHQoVY3VzdG9tX2d1aWRlbGluZV9hcmVhGAkgASgJEhsKE2N1c3RvbV9ndWlkZWxpbmVfaWQYCiABKAkSFwoKYWN0aW9uYWJsZRgLIAEoCEgAiAEBQg0KC19hY3Rpb25hYmxlIm8KFlJldmlld0JvdEVtb2ppUmVhY3Rpb24SFAoMcmVwb19ub2RlX2lkGAEgASgJEhEKCXByX251bWJlchgCIAEoDRIdChVjb21tZW50X2Rpc2N1c3Npb25faWQYAyABKA0SDQoFZW1vamkYBCABKAkiewoWUmV2aWV3Qm90UG9zdGVkQ29tbWVudBIRCglyZXZpZXdfaWQYASABKAkSEgoKY29tbWVudF9pZBgCIAEoCRIRCglwcl9udW1iZXIYAyABKA0SEAoIc2V2ZXJpdHkYBCABKAkSFQoNZnBfbGlrZWxpaG9vZBgFIAEoAiJAChVSZXZpZXdCb3RQb3N0ZWRSZXZpZXcSFAoMbnVtX2NvbW1lbnRzGAEgASgNEhEKCXJldmlld19pZBgCIAEoCSKPCQocUmV2aWV3Qm90UHVsbFJlcXVlc3RSZXZpZXdlZBIUCgxyZXBvX25vZGVfaWQYASABKAkSEQoJcHJfbnVtYmVyGAIgASgNEg8KB3RyaWdnZXIYAyABKAkSFwoPcmVtb3RlX2FnZW50X2lkGAQgASgJEhIKCnJlcG9fb3duZXIYBSABKAkSEQoJcmVwb19uYW1lGAYgASgJEhsKE2F1dGhvcl9naXRodWJfbG9naW4YByABKAkSGwoTYXV0aG9yX2dpdGh1Yl9lbWFpbBgIIAEoCRIdChVhdXRob3JfZ2l0aHViX25vZGVfaWQYCSABKAkSKAobY29tbWVudF9hdXRob3JfZ2l0aHViX2xvZ2luGAogASgJSACIAQESKAobY29tbWVudF9hdXRob3JfZ2l0aHViX2VtYWlsGAsgASgJSAGIAQESKgodY29tbWVudF9hdXRob3JfZ2l0aHViX25vZGVfaWQYDCABKAlIAogBARIYCgtsaW5lc19hZGRlZBgNIAEoDUgDiAEBEhoKDWxpbmVzX3JlbW92ZWQYDiABKA1IBIgBARISCgptb2RlbF9uYW1lGA8gASgJEh0KEGVzdGltYXRlZF90b2tlbnMYECABKA1IBYgBARIYChB1c2VkX2xhcmdlX21vZGVsGBEgASgIEh4KEWRpZmZfcGF0Y2hfbGVuZ3RoGBIgASgDSAaIAQESJQoYY3VzdG9tX2d1aWRlbGluZXNfbGVuZ3RoGBMgASgDSAeIAQESIwoWd29ya3NwYWNlX3J1bGVzX2xlbmd0aBgUIAEoA0gIiAEBEiQKF3dvcmtzcGFjZV9ydWxlc19lbmFibGVkGBUgASgISAmIAQESHgoRcnVsZV9maWxlc19sb2FkZWQYFiABKAVICogBARIlChhleGlzdGluZ19jb21tZW50c19sZW5ndGgYFyABKANIC4gBARIbCg5wcl9ib2R5X2xlbmd0aBgYIAEoA0gMiAEBEiAKE2NoYW5nZWRfZmlsZXNfY291bnQYGSABKAVIDYgBARIUCgdvdXRjb21lGBogASgJSA6IAQFCHgocX2NvbW1lbnRfYXV0aG9yX2dpdGh1Yl9sb2dpbkIeChxfY29tbWVudF9hdXRob3JfZ2l0aHViX2VtYWlsQiAKHl9jb21tZW50X2F1dGhvcl9naXRodWJfbm9kZV9pZEIOCgxfbGluZXNfYWRkZWRCEAoOX2xpbmVzX3JlbW92ZWRCEwoRX2VzdGltYXRlZF90b2tlbnNCFAoSX2RpZmZfcGF0Y2hfbGVuZ3RoQhsKGV9jdXN0b21fZ3VpZGVsaW5lc19sZW5ndGhCGQoXX3dvcmtzcGFjZV9ydWxlc19sZW5ndGhCGgoYX3dvcmtzcGFjZV9ydWxlc19lbmFibGVkQhQKEl9ydWxlX2ZpbGVzX2xvYWRlZEIbChlfZXhpc3RpbmdfY29tbWVudHNfbGVuZ3RoQhEKD19wcl9ib2R5X2xlbmd0aEIWChRfY2hhbmdlZF9maWxlc19jb3VudEIKCghfb3V0Y29tZSKaAQoXUmV2aWV3Qm90UmVwb3NDb25uZWN0ZWQSEwoLdG90YWxfY291bnQYASABKA0SJQodYXV0b19yZXZpZXdfb25fcHJfcmVhZHlfY291bnQYAiABKA0SKwojbWFudWFsX3dpdGhfY29tbWVudF9rZXlwaHJhc2VfY291bnQYAyABKA0SFgoOZGlzYWJsZWRfY291bnQYBCABKA0ingIKDlJvdXRlclJlc3BvbnNlEjQKDXByb21wdF90b2tlbnMYASABKAsyHS5yZXF1ZXN0X2luc2lnaHQuVG9rZW5pemF0aW9uEjsKD3Jlc3BvbnNlX3Rva2VucxgCIAEoCzIdLnJlcXVlc3RfaW5zaWdodC5Ub2tlbml6YXRpb25IAIgBARJDCg9wYXJzZWRfcmVzcG9uc2UYAyABKAsyJS5yZXF1ZXN0X2luc2lnaHQuUGFyc2VkUm91dGVyUmVzcG9uc2VIAYgBARIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSAKIAQFCEgoQX3Jlc3BvbnNlX3Rva2Vuc0ISChBfcGFyc2VkX3Jlc3BvbnNlQhAKDl9lcnJvcl9tZXNzYWdlItEBChFSdWxlc0ltcG9ydGVkRGF0YRI1CgR0eXBlGAEgASgOMicucmVxdWVzdF9pbnNpZ2h0LlJ1bGVzSW1wb3J0ZWREYXRhLlR5cGUSEQoJbnVtX2ZpbGVzGAIgASgNEg4KBnNvdXJjZRgDIAEoCSJiCgRUeXBlEg8KC1VOU1BFQ0lGSUVEEAASFAoQTUFOVUFMTFlfQ1JFQVRFRBABEggKBEFVVE8QAhIWChJTRUxFQ1RFRF9ESVJFQ1RPUlkQAxIRCg1TRUxFQ1RFRF9GSUxFEAQirAEKElNTSEludGVyYWN0aW9uRGF0YRJNChBpbnRlcmFjdGlvbl90eXBlGAEgASgOMjMucmVxdWVzdF9pbnNpZ2h0LlNTSEludGVyYWN0aW9uRGF0YS5JbnRlcmFjdGlvblR5cGUiRwoPSW50ZXJhY3Rpb25UeXBlEgsKB1VOS05PV04QABILCgdDTElDS0VEEAESGgoWUkVNT1RFX1NFU1NJT05fU1RBUlRFRBACIk8KFlNjcmlwdENhcHR1cmVCYXNpY0RhdGESEgoKc2hlbGxfbmFtZRgBIAEoCRIQCghwbGF0Zm9ybRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIv8OCgxTZXNzaW9uRXZlbnQSSwoYb25ib2FyZGluZ19zZXNzaW9uX2V2ZW50GAQgASgLMicucmVxdWVzdF9pbnNpZ2h0Lk9uYm9hcmRpbmdTZXNzaW9uRXZlbnRIABI2Cg1jbGllbnRfbWV0cmljGAUgASgLMh0ucmVxdWVzdF9pbnNpZ2h0LkNsaWVudE1ldHJpY0gAEkkKF2V4dGVuc2lvbl9zZXNzaW9uX2V2ZW50GAogASgLMiYucmVxdWVzdF9pbnNpZ2h0LkV4dGVuc2lvblNlc3Npb25FdmVudEgAEkwKGWN1c3RvbWVyX3VpX3Nlc3Npb25fZXZlbnQYCyABKAsyJy5yZXF1ZXN0X2luc2lnaHQuQ3VzdG9tZXJVSVNlc3Npb25FdmVudEgAEkEKE2FnZW50X3Nlc3Npb25fZXZlbnQYDCABKAsyIi5yZXF1ZXN0X2luc2lnaHQuQWdlbnRTZXNzaW9uRXZlbnRIABJSChxjb250ZW50X21hbmFnZXJfdXBsb2FkX2Jsb2JzGA0gASgLMioucmVxdWVzdF9pbnNpZ2h0LkNvbnRlbnRNYW5hZ2VyVXBsb2FkQmxvYnNIABJaCiBjb250ZW50X21hbmFnZXJfY2hlY2twb2ludF9ibG9icxgOIAEoCzIuLnJlcXVlc3RfaW5zaWdodC5Db250ZW50TWFuYWdlckNoZWNrcG9pbnRCbG9ic0gAEk4KGnJlbW90ZV9hZ2VudF9zZXNzaW9uX2V2ZW50GA8gASgLMigucmVxdWVzdF9pbnNpZ2h0LlJlbW90ZUFnZW50U2Vzc2lvbkV2ZW50SAASPAoQcHVyY2hhc2VfY3JlZGl0cxgQIAEoCzIgLnJlcXVlc3RfaW5zaWdodC5QdXJjaGFzZUNyZWRpdHNIABJCChNjYW5jZWxfc3Vic2NyaXB0aW9uGBEgASgLMiMucmVxdWVzdF9pbnNpZ2h0LkNhbmNlbFN1YnNjcmlwdGlvbkgAEnIKLHVuc2NoZWR1bGVfcGVuZGluZ19zdWJzY3JpcHRpb25fY2FuY2VsbGF0aW9uGBIgASgLMjoucmVxdWVzdF9pbnNpZ2h0LlVuc2NoZWR1bGVQZW5kaW5nU3Vic2NyaXB0aW9uQ2FuY2VsbGF0aW9uSAASOwoQcmVtb3RlX2FnZW50X2xvZxgTIAEoCzIfLnJlcXVlc3RfaW5zaWdodC5SZW1vdGVBZ2VudExvZ0gAEkkKF3Vuc2NoZWR1bGVfcGxhbl9jaGFuZ2VzGBUgASgLMiYucmVxdWVzdF9pbnNpZ2h0LlVuc2NoZWR1bGVQbGFuQ2hhbmdlc0gAEkUKFWdpdGh1Yl91c2VyX2F1dGhvcml6ZRgWIAEoCzIkLnJlcXVlc3RfaW5zaWdodC5HaXRodWJVc2VyQXV0aG9yaXplSAASVAodcmVtb3RlX2FnZW50X3dvcmtzcGFjZV91cHRpbWUYFyABKAsyKy5yZXF1ZXN0X2luc2lnaHQuUmVtb3RlQWdlbnRXb3Jrc3BhY2VVcHRpbWVIABJIChd1c2VyX2dpdGh1Yl9vcmdfbWFwcGluZxgYIAEoCzIlLnJlcXVlc3RfaW5zaWdodC5Vc2VyR2l0aHViT3JnTWFwcGluZ0gAEkAKE2F1dG9fdG9wX3VwX3NldHRpbmcYGSABKAsyIS5yZXF1ZXN0X2luc2lnaHQuQXV0b1RvcFVwU2V0dGluZ0gAEkMKFGNvbW1pdF9zZXNzaW9uX2V2ZW50GBogASgLMiMucmVxdWVzdF9pbnNpZ2h0LkNvbW1pdFNlc3Npb25FdmVudEgAEk8KGmNvbW1pdF9hdHRyaWJ1dGlvbl9zdW1tYXJ5GBsgASgLMikucmVxdWVzdF9pbnNpZ2h0LkNvbW1pdEF0dHJpYnV0aW9uU3VtbWFyeUgAEkAKEmNsb3NlX3N1YnNjcmlwdGlvbhgcIAEoCzIiLnJlcXVlc3RfaW5zaWdodC5DbG9zZVN1YnNjcmlwdGlvbkgAEjMKCXRleHRfZWRpdBgGIAEoCzIeLnJlcXVlc3RfaW5zaWdodC5UZXh0RWRpdEV2ZW50SAASVwocY29tcGxldGlvbl9yZXF1ZXN0X2lkX2lzc3VlZBgHIAEoCzIvLnJlcXVlc3RfaW5zaWdodC5Db21wbGV0aW9uUmVxdWVzdElkSXNzdWVkRXZlbnRIABJLChZlZGl0X3JlcXVlc3RfaWRfaXNzdWVkGAggASgLMikucmVxdWVzdF9pbnNpZ2h0LkVkaXRSZXF1ZXN0SWRJc3N1ZWRFdmVudEgAEigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKCGV2ZW50X2lkGAMgASgJSAGIAQFCBwoFZXZlbnRCCwoJX2V2ZW50X2lkSgQIAhADSgQICRAKSgQIFBAVUhduZXh0X2VkaXRfc2Vzc2lvbl9ldmVudFIbbmV4dF9lZGl0X3JlcXVlc3RfaWRfaXNzdWVkUhVmZWF0dXJlX3ZlY3Rvcl9yZXBvcnQiEQoPU2V0dXBQYWdlT3BlbmVkIm8KFlNraWxsQ29udGVudExvYWRlZERhdGESEgoKc2tpbGxfbmFtZRgBIAEoCRIUCgxza2lsbF9zb3VyY2UYAiABKAkSFgoOY29udGVudF9sZW5ndGgYAyABKA0SEwoLc291cmNlX3Rvb2wYBCABKAkiNQoJU2tpbGxJbmZvEhIKCnNraWxsX25hbWUYASABKAkSFAoMc2tpbGxfc291cmNlGAIgASgJIlsKGFNraWxsc0luY2x1ZGVkSW5DaGF0RGF0YRIqCgZza2lsbHMYASADKAsyGi5yZXF1ZXN0X2luc2lnaHQuU2tpbGxJbmZvEhMKC3NraWxsX2NvdW50GAIgASgNIo0BChBTbGFja2JvdEZlZWRiYWNrEiAKGHNsYWNrX3Jlc3BvbnNlX3RpbWVzdGFtcBgBIAEoCRIYChBzbGFja19jaGFubmVsX2lkGAIgASgJEi8KBnJhdGluZxgDIAEoDjIfLnJlcXVlc3RfaW5zaWdodC5GZWVkYmFja1JhdGluZxIMCgRub3RlGAQgASgJIrwBChhTbWFydFBhc3RlQ2xpZW50VGltZWxpbmUSOAoUaW5pdGlhbF9yZXF1ZXN0X3RpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjYKEnN0cmVhbV9maW5pc2hfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKYXBwbHlfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiYAoUU21hcnRQYXN0ZVJlc29sdXRpb24SGgoSaXNfYWNjZXB0ZWRfY2h1bmtzGAEgAygIEhUKDWlzX2FjY2VwdF9hbGwYAiABKAgSFQoNaXNfcmVqZWN0X2FsbBgDIAEoCCIwCg5TdWJBZ2VudERpYWxvZxIeCgZkaWFsb2cYAyADKAsyDi5jaGF0LkV4Y2hhbmdlIqkEChFUYXNrTGlzdFVzYWdlRGF0YRJBCgZhY3Rpb24YASABKA4yMS5yZXF1ZXN0X2luc2lnaHQuVGFza0xpc3RVc2FnZURhdGEuVGFza0xpc3RBY3Rpb24SGQoRdG90YWxfdGFza3NfY291bnQYAiABKA0SRgoMdHJpZ2dlcmVkX2J5GAMgASgOMjAucmVxdWVzdF9pbnNpZ2h0LlRhc2tMaXN0VXNhZ2VEYXRhLkFjdGlvblRyaWdnZXIisgIKDlRhc2tMaXN0QWN0aW9uEg8KC1VOU1BFQ0lGSUVEEAASDAoIQUREX1RBU0sQARIPCgtBRERfU1VCVEFTSxACEhYKElVQREFURV9UQVNLX1NUQVRVUxADEhQKEFVQREFURV9UQVNLX05BTUUQBBIbChdVUERBVEVfVEFTS19ERVNDUklQVElPThAFEhgKFFJFT1JHQU5JWkVfVEFTS19MSVNUEAYSDwoLREVMRVRFX1RBU0sQBxITCg9SVU5fU0lOR0xFX1RBU0sQCBIRCg1SVU5fQUxMX1RBU0tTEAkSEgoOVklFV19UQVNLX0xJU1QQChIUChBFWFBPUlRfVEFTS19MSVNUEAsSFAoQSU1QT1JUX1RBU0tfTElTVBAMEhIKDlNZTkNfVEFTS19MSVNUEA0iOQoNQWN0aW9uVHJpZ2dlchITCg9VTktOT1dOX1RSSUdHRVIQABIICgRVU0VSEAESCQoFQUdFTlQQAiK9AwoNVGV4dEVkaXRFdmVudBI6CgZyZWFzb24YASABKA4yJS5yZXF1ZXN0X2luc2lnaHQuVGV4dEVkaXRFdmVudC5SZWFzb25IAIgBARI3Cg9jb250ZW50X2NoYW5nZXMYAiADKAsyHi5yZXF1ZXN0X2luc2lnaHQuQ29udGVudENoYW5nZRIWCglmaWxlX3BhdGgYAyABKAlIAYgBARIfChJhZnRlcl9jaGFuZ2VzX2hhc2gYBCABKAlIAogBARIwChBoYXNoX2NoYXJfcmFuZ2VzGAUgAygLMhYucmVxdWVzdF9pbnNpZ2h0LlJhbmdlEh8KEnNvdXJjZV9mb2xkZXJfcm9vdBgGIAEoCUgDiAEBEh0KEGFmdGVyX2RvY19sZW5ndGgYByABKA1IBIgBASIwCgZSZWFzb24SEgoOVU5LTk9XTl9SRUFTT04QABIICgRVTkRPEAESCAoEUkVETxACQgkKB19yZWFzb25CDAoKX2ZpbGVfcGF0aEIVChNfYWZ0ZXJfY2hhbmdlc19oYXNoQhUKE19zb3VyY2VfZm9sZGVyX3Jvb3RCEwoRX2FmdGVyX2RvY19sZW5ndGgiUAodVGhpcmRQYXJ0eU1vZGVsTWVzc2FnZUhpc3RvcnkSFAoMdXNlcl9tZXNzYWdlGAEgASgJEhkKEWFzc2lzdGFudF9tZXNzYWdlGAIgASgJIoEBChZUaGlyZFBhcnR5TW9kZWxSZXF1ZXN0Eg4KBnByb21wdBgBIAEoCRIVCg1zeXN0ZW1fcHJvbXB0GAIgASgJEkAKCG1lc3NhZ2VzGAMgAygLMi4ucmVxdWVzdF9pbnNpZ2h0LlRoaXJkUGFydHlNb2RlbE1lc3NhZ2VIaXN0b3J5IsMBChJUb2tlbkV4Y2hhbmdlRXJyb3ISOgoGcmVhc29uGAEgASgOMioucmVxdWVzdF9pbnNpZ2h0LlRva2VuRXhjaGFuZ2VFcnJvci5SZWFzb24SLQoOb3BhcXVlX3VzZXJfaWQYAiABKAsyFS5hdXRoX2VudGl0aWVzLlVzZXJJZBISCgp1c2VyX2VtYWlsGAMgASgJIi4KBlJlYXNvbhILCgdVTktOT1dOEAASFwoTVEVOQU5UX05PVF9JTl9TSEFSRBABIlMKDFRva2VuaXphdGlvbhIRCgl0b2tlbl9pZHMYASADKAUSDwoHb2Zmc2V0cxgCIAMoDRIRCglsb2dfcHJvYnMYAyADKAISDAoEdGV4dBgEIAEoCSLHBgoLVG9vbFVzZURhdGESEQoJdG9vbF9uYW1lGAEgASgJEhMKC3Rvb2xfdXNlX2lkGAIgASgJEiEKFHRvb2xfb3V0cHV0X2lzX2Vycm9yGAMgASgISACIAQESHAoUdG9vbF9ydW5fZHVyYXRpb25fbXMYBCABKA0SEgoKdG9vbF9pbnB1dBgFIAEoCRIYCgtpc19tY3BfdG9vbBgGIAEoCEgBiAEBEhwKD2NvbnZlcnNhdGlvbl9pZBgHIAEoCUgCiAEBEiAKE2NoYXRfaGlzdG9yeV9sZW5ndGgYCCABKA1IA4gBARIcCg90b29sX3JlcXVlc3RfaWQYCSABKAlIBIgBARIcCg90b29sX291dHB1dF9sZW4YCiABKA1IBYgBARIbCg50b29sX2lucHV0X2xlbhgLIAEoDUgGiAEBEh0KEHRvb2xfbGluZXNfYWRkZWQYDCABKA1IB4gBARIfChJ0b29sX2xpbmVzX2RlbGV0ZWQYDSABKA1ICIgBARI4Cg10b29sX3VzZV9kaWZmGA4gASgLMhwucmVxdWVzdF9pbnNpZ2h0LlRvb2xVc2VEaWZmSAmIAQESFwoKbWNwX3NlcnZlchgPIAEoCUgKiAEBEhoKDW1jcF90b29sX25hbWUYECABKAlIC4gBARIdChB0b29sX2Vycm9yX2NsYXNzGBEgASgJSAyIAQESHwoSdG9vbF9lcnJvcl9zbmlwcGV0GBIgASgJSA2IAQFCFwoVX3Rvb2xfb3V0cHV0X2lzX2Vycm9yQg4KDF9pc19tY3BfdG9vbEISChBfY29udmVyc2F0aW9uX2lkQhYKFF9jaGF0X2hpc3RvcnlfbGVuZ3RoQhIKEF90b29sX3JlcXVlc3RfaWRCEgoQX3Rvb2xfb3V0cHV0X2xlbkIRCg9fdG9vbF9pbnB1dF9sZW5CEwoRX3Rvb2xfbGluZXNfYWRkZWRCFQoTX3Rvb2xfbGluZXNfZGVsZXRlZEIQCg5fdG9vbF91c2VfZGlmZkINCgtfbWNwX3NlcnZlckIQCg5fbWNwX3Rvb2xfbmFtZUITChFfdG9vbF9lcnJvcl9jbGFzc0IVChNfdG9vbF9lcnJvcl9zbmlwcGV0IlsKC1Rvb2xVc2VEaWZmEhEKCXJvb3RfcGF0aBgBIAEoCRIMCgRwYXRoGAIgASgJEisKBWVkaXRzGAMgAygLMhwucmVxdWVzdF9pbnNpZ2h0LlRvb2xVc2VFZGl0IkoKC1Rvb2xVc2VFZGl0EhMKC2JlZm9yZV90ZXh0GAEgASgJEhIKCmFmdGVyX3RleHQYAiABKAkSEgoKbGluZV9zdGFydBgDIAEoDSJICilVbnNjaGVkdWxlUGVuZGluZ1N1YnNjcmlwdGlvbkNhbmNlbGxhdGlvbhIbChNvcmJfc3Vic2NyaXB0aW9uX2lkGAEgASgJIjQKFVVuc2NoZWR1bGVQbGFuQ2hhbmdlcxIbChNvcmJfc3Vic2NyaXB0aW9uX2lkGAEgASgJIoUCChRVc2VyR2l0aHViT3JnTWFwcGluZxIKCgJpZBgBIAEoAxINCgVsb2dpbhgCIAEoCRIMCgRuYW1lGAMgASgJEg8KB2NvbXBhbnkYBCABKAkSEAoIbG9jYXRpb24YBSABKAkSDQoFZW1haWwYBiABKAkSGAoQdHdpdHRlcl91c2VybmFtZRgHIAEoCRITCgtkZXNjcmlwdGlvbhgIIAEoCRIXCg9mb2xsb3dlcnNfY291bnQYCSABKAUSEgoKZGlza191c2FnZRgKIAEoBRIRCglwbGFuX25hbWUYCyABKAkSFAoMZmlsbGVkX3NlYXRzGAwgASgFEg0KBXNlYXRzGA0gASgFKjcKDkZlZWRiYWNrUmF0aW5nEgkKBVVOU0VUEAASDAoIUE9TSVRJVkUQARIMCghORUdBVElWRRACKk4KEEluc3RhbGxFdmVudFR5cGUSHgoaVU5LTk9XTl9JTlNUQUxMX0VWRU5UX1RZUEUQABINCglVTklOU1RBTEwQARILCgdJTlNUQUxMEAIqvAUKC1JlcXVlc3RUeXBlEhgKFFVOS05PV05fUkVRVUVTVF9UWVBFEAASDgoKQ09NUExFVElPThABEggKBEVESVQQAhIICgRDSEFUEAMSEwoPRVhURU5TSU9OX0VSUk9SEAQSEQoNU0xBQ0tCT1RfQ0hBVBAGEhMKD1NIQVJFX1NBVkVfQ0hBVBAHEhIKDlNIQVJFX0dFVF9DSEFUEAgSEQoNQVVUT0ZJWF9DSEVDSxAJEhAKDEFVVE9GSVhfUExBThAKEhAKDExMTV9HRU5FUkFURRALEhQKEFJFTU9URV9UT09MX0NBTEwQDBIQCgxSRU1PVEVfQUdFTlQQDRIOCgpBR0VOVF9DSEFUEA4SEAoMTElORUFSX09BVVRIEA8SDAoITUVNT1JJRVMQEBIPCgtPUklFTlRBVElPThAREhgKFE1FTU9SSUVTX0NPTVBSRVNTSU9OEBISFQoRUkVNT1RFX0FHRU5UX0NIQVQQExIUChBSRU1PVEVfQUdFTlRfTE9HEBQSEgoOQ0xJX0FHRU5UX0NIQVQQFRITCg9UT0tFTl9GUk9NX0NPREUQFhIhCh1DTElfQUdFTlRfQ0hBVF9OT05JTlRFUkFDVElWRRAXEhkKFUNIQVRfSU5QVVRfQ09NUExFVElPThAYEg8KC0NPREVfUkVWSUVXEBkSHwobUkVNT1RFX01DUF9TRVJWRVJfVE9PTF9DQUxMEBoSHwobRFlOQU1JQ19DTElFTlRfUkVHSVNUUkFUSU9OEBsSFQoRQUdFTlRJQ19TTEFDS19CT1QQHBIbChdDT05URVhUX0VOR0lORV9TREtfQ0hBVBAdEhsKF0NPTlRFWFRfRU5HSU5FX01DUF9DSEFUEB4SGwoXUE9TRUlET05fQ0xJX0FHRU5UX0NIQVQQHyIECAUQBSoJTkVYVF9FRElUKm0KDVJldHJpZXZhbFR5cGUSGgoWVU5LTk9XTl9SRVRSSUVWQUxfVFlQRRAAEgkKBURFTlNFEAESDQoJU0lHTkFUVVJFEAISCwoHUkVDRU5DWRADEg8KC1VTRVJfR1VJREVEEAQSCAoERElGRhAFKkQKEVNvdXJjZUNvbnRyb2xUeXBlEhoKFlVOS05PV05fU09VUkNFX0NPTlRST0wQABIHCgNHSVQQARIKCgZHSVRIVUIQAmIGcHJvdG8z",[Vt,Da,ee,Yn,MZ,$Z,$e,t2,yn,n2,r2,o2,La,a2,m2,A2]);var V2;(function(e){e[e.UNKNOWN_TOP_UP_ACTION=0]="UNKNOWN_TOP_UP_ACTION",e[e.ENABLED=1]="ENABLED",e[e.DISABLED=2]="DISABLED"})(V2||(V2={}));var g2;(function(e){e[e.CHAT=0]="CHAT",e[e.AGENT=1]="AGENT",e[e.MEMORIES=2]="MEMORIES",e[e.ORIENTATION=3]="ORIENTATION",e[e.MEMORIES_COMPRESSION=4]="MEMORIES_COMPRESSION",e[e.REMOTE_AGENT=5]="REMOTE_AGENT",e[e.CLI_AGENT=6]="CLI_AGENT",e[e.CLI_NONINTERACTIVE=7]="CLI_NONINTERACTIVE",e[e.CODE_REVIEW=8]="CODE_REVIEW",e[e.AGENTIC_SLACK_BOT=9]="AGENTIC_SLACK_BOT",e[e.CONTEXT_ENGINE_SDK=10]="CONTEXT_ENGINE_SDK",e[e.CONTEXT_ENGINE_MCP=11]="CONTEXT_ENGINE_MCP",e[e.POSEIDON_CLI_AGENT=12]="POSEIDON_CLI_AGENT"})(g2||(g2={}));var p2;(function(e){e[e.UNKNOWN_FILTER_REASON=0]="UNKNOWN_FILTER_REASON",e[e.NOT_FILTERED=1]="NOT_FILTERED",e[e.LOW_QUALITY=2]="LOW_QUALITY",e[e.DENY_LIST=3]="DENY_LIST"})(p2||(p2={}));var E2;(function(e){e[e.UNKNOWN_SESSION_END_REASON=0]="UNKNOWN_SESSION_END_REASON",e[e.LOGOUT=1]="LOGOUT",e[e.TIMEOUT=2]="TIMEOUT"})(E2||(E2={}));var R2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ONBOARDING=1]="ONBOARDING",e[e.COMMAND=2]="COMMAND"})(R2||(R2={}));var Z2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.USER_GUIDELINES=1]="USER_GUIDELINES",e[e.AUGMENT_GUIDELINES=2]="AUGMENT_GUIDELINES",e[e.RULES=3]="RULES"})(Z2||(Z2={}));var S2;(function(e){e[e.UNKNOWN_MODE=0]="UNKNOWN_MODE",e[e.CHAT=1]="CHAT",e[e.AGENT=2]="AGENT",e[e.REMOTE_AGENT=3]="REMOTE_AGENT"})(S2||(S2={}));var X2;(function(e){e[e.UNKNOWN_MODE_SELECTOR_ACTION=0]="UNKNOWN_MODE_SELECTOR_ACTION",e[e.OPEN=1]="OPEN",e[e.CLOSE=2]="CLOSE",e[e.SELECT=3]="SELECT",e[e.INIT=4]="INIT"})(X2||(X2={}));var W2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.ACTIVATED=1]="ACTIVATED",e[e.DEACTIVATED=2]="DEACTIVATED",e[e.NOTIFIED=4]="NOTIFIED",e[e.ACCEPTED=3]="ACCEPTED"})(W2||(W2={}));var G2;(function(e){e[e.UNKNOWN_CHANNEL_TYPE=0]="UNKNOWN_CHANNEL_TYPE",e[e.IM=1]="IM",e[e.MPIM=2]="MPIM",e[e.SHARED_CHANNEL=3]="SHARED_CHANNEL",e[e.PRIVATE_CHANNEL=4]="PRIVATE_CHANNEL",e[e.GENERAL_CHANNEL=5]="GENERAL_CHANNEL",e[e.CHANNEL=6]="CHANNEL"})(G2||(G2={}));var I2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CLASSIFY_AND_DISTILL=1]="CLASSIFY_AND_DISTILL",e[e.ORIENTATION=2]="ORIENTATION",e[e.MEMORY_ACCEPTANCE=3]="MEMORY_ACCEPTANCE"})(I2||(I2={}));var N2;(function(e){e[e.UNKNOWN_LATENCY_TYPE=0]="UNKNOWN_LATENCY_TYPE",e[e.CREATE_AGENT=1]="CREATE_AGENT",e[e.RESUME_AGENT=2]="RESUME_AGENT"})(N2||(N2={}));var F2;(function(e){e[e.UNKNOWN_NEW_THREAD_BUTTON_ACTION=0]="UNKNOWN_NEW_THREAD_BUTTON_ACTION",e[e.CLICK=1]="CLICK",e[e.OPEN=2]="OPEN",e[e.CLOSE=3]="CLOSE"})(F2||(F2={}));var B2;(function(e){e[e.UNKNOWN_THREAD_TYPE=0]="UNKNOWN_THREAD_TYPE",e[e.CHAT=1]="CHAT",e[e.AGENT=2]="AGENT",e[e.REMOTE_AGENT=3]="REMOTE_AGENT"})(B2||(B2={}));var C2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COMPLETED=1]="COMPLETED",e[e.FAILED=2]="FAILED"})(C2||(C2={}));var Y2;(function(e){e[e.UNKNOWN_SETUP_WINDOW_ACTION=0]="UNKNOWN_SETUP_WINDOW_ACTION",e[e.OPEN=1]="OPEN",e[e.CLOSE=2]="CLOSE",e[e.SELECT_REPO=3]="SELECT_REPO",e[e.SELECT_BRANCH=4]="SELECT_BRANCH",e[e.SELECT_SETUP_SCRIPT=5]="SELECT_SETUP_SCRIPT",e[e.AUTO_GENERATE_SETUP_SCRIPT=6]="AUTO_GENERATE_SETUP_SCRIPT",e[e.MANUALLY_CREATE_SETUP_SCRIPT=7]="MANUALLY_CREATE_SETUP_SCRIPT",e[e.TYPE_IN_PROMPT_WINDOW=8]="TYPE_IN_PROMPT_WINDOW",e[e.CLICK_REWRITE_PROMPT=9]="CLICK_REWRITE_PROMPT",e[e.ENABLE_NOTIFICATIONS=10]="ENABLE_NOTIFICATIONS",e[e.DISABLE_NOTIFICATIONS=11]="DISABLE_NOTIFICATIONS",e[e.CLICK_CREATE_AGENT=12]="CLICK_CREATE_AGENT"})(Y2||(Y2={}));var y2;(function(e){e[e.UNKNOWN_AGENT_LIST_ACTION=0]="UNKNOWN_AGENT_LIST_ACTION",e[e.OPEN=1]="OPEN",e[e.CLOSE=2]="CLOSE",e[e.SELECT_AGENT=3]="SELECT_AGENT",e[e.DELETE_AGENT=4]="DELETE_AGENT",e[e.PIN_AGENT=5]="PIN_AGENT",e[e.UNPIN_AGENT=6]="UNPIN_AGENT"})(y2||(y2={}));var w2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MANUALLY_CREATED=1]="MANUALLY_CREATED",e[e.AUTO=2]="AUTO",e[e.SELECTED_DIRECTORY=3]="SELECTED_DIRECTORY",e[e.SELECTED_FILE=4]="SELECTED_FILE"})(w2||(w2={}));var U2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CLICKED=1]="CLICKED",e[e.REMOTE_SESSION_STARTED=2]="REMOTE_SESSION_STARTED"})(U2||(U2={}));var x2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ADD_TASK=1]="ADD_TASK",e[e.ADD_SUBTASK=2]="ADD_SUBTASK",e[e.UPDATE_TASK_STATUS=3]="UPDATE_TASK_STATUS",e[e.UPDATE_TASK_NAME=4]="UPDATE_TASK_NAME",e[e.UPDATE_TASK_DESCRIPTION=5]="UPDATE_TASK_DESCRIPTION",e[e.REORGANIZE_TASK_LIST=6]="REORGANIZE_TASK_LIST",e[e.DELETE_TASK=7]="DELETE_TASK",e[e.RUN_SINGLE_TASK=8]="RUN_SINGLE_TASK",e[e.RUN_ALL_TASKS=9]="RUN_ALL_TASKS",e[e.VIEW_TASK_LIST=10]="VIEW_TASK_LIST",e[e.EXPORT_TASK_LIST=11]="EXPORT_TASK_LIST",e[e.IMPORT_TASK_LIST=12]="IMPORT_TASK_LIST",e[e.SYNC_TASK_LIST=13]="SYNC_TASK_LIST"})(x2||(x2={}));var v2;(function(e){e[e.UNKNOWN_TRIGGER=0]="UNKNOWN_TRIGGER",e[e.USER=1]="USER",e[e.AGENT=2]="AGENT"})(v2||(v2={}));var J2;(function(e){e[e.UNKNOWN_REASON=0]="UNKNOWN_REASON",e[e.UNDO=1]="UNDO",e[e.REDO=2]="REDO"})(J2||(J2={}));var k2;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TENANT_NOT_IN_SHARD=1]="TENANT_NOT_IN_SHARD"})(k2||(k2={}));var _2;(function(e){e[e.UNSET=0]="UNSET",e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=2]="NEGATIVE"})(_2||(_2={}));var Q2;(function(e){e[e.UNKNOWN_INSTALL_EVENT_TYPE=0]="UNKNOWN_INSTALL_EVENT_TYPE",e[e.UNINSTALL=1]="UNINSTALL",e[e.INSTALL=2]="INSTALL"})(Q2||(Q2={}));var T2;(function(e){e[e.UNKNOWN_REQUEST_TYPE=0]="UNKNOWN_REQUEST_TYPE",e[e.COMPLETION=1]="COMPLETION",e[e.EDIT=2]="EDIT",e[e.CHAT=3]="CHAT",e[e.EXTENSION_ERROR=4]="EXTENSION_ERROR",e[e.SLACKBOT_CHAT=6]="SLACKBOT_CHAT",e[e.SHARE_SAVE_CHAT=7]="SHARE_SAVE_CHAT",e[e.SHARE_GET_CHAT=8]="SHARE_GET_CHAT",e[e.AUTOFIX_CHECK=9]="AUTOFIX_CHECK",e[e.AUTOFIX_PLAN=10]="AUTOFIX_PLAN",e[e.LLM_GENERATE=11]="LLM_GENERATE",e[e.REMOTE_TOOL_CALL=12]="REMOTE_TOOL_CALL",e[e.REMOTE_AGENT=13]="REMOTE_AGENT",e[e.AGENT_CHAT=14]="AGENT_CHAT",e[e.LINEAR_OAUTH=15]="LINEAR_OAUTH",e[e.MEMORIES=16]="MEMORIES",e[e.ORIENTATION=17]="ORIENTATION",e[e.MEMORIES_COMPRESSION=18]="MEMORIES_COMPRESSION",e[e.REMOTE_AGENT_CHAT=19]="REMOTE_AGENT_CHAT",e[e.REMOTE_AGENT_LOG=20]="REMOTE_AGENT_LOG",e[e.CLI_AGENT_CHAT=21]="CLI_AGENT_CHAT",e[e.TOKEN_FROM_CODE=22]="TOKEN_FROM_CODE",e[e.CLI_AGENT_CHAT_NONINTERACTIVE=23]="CLI_AGENT_CHAT_NONINTERACTIVE",e[e.CHAT_INPUT_COMPLETION=24]="CHAT_INPUT_COMPLETION",e[e.CODE_REVIEW=25]="CODE_REVIEW",e[e.REMOTE_MCP_SERVER_TOOL_CALL=26]="REMOTE_MCP_SERVER_TOOL_CALL",e[e.DYNAMIC_CLIENT_REGISTRATION=27]="DYNAMIC_CLIENT_REGISTRATION",e[e.AGENTIC_SLACK_BOT=28]="AGENTIC_SLACK_BOT",e[e.CONTEXT_ENGINE_SDK_CHAT=29]="CONTEXT_ENGINE_SDK_CHAT",e[e.CONTEXT_ENGINE_MCP_CHAT=30]="CONTEXT_ENGINE_MCP_CHAT",e[e.POSEIDON_CLI_AGENT_CHAT=31]="POSEIDON_CLI_AGENT_CHAT"})(T2||(T2={}));var K2;(function(e){e[e.UNKNOWN_RETRIEVAL_TYPE=0]="UNKNOWN_RETRIEVAL_TYPE",e[e.DENSE=1]="DENSE",e[e.SIGNATURE=2]="SIGNATURE",e[e.RECENCY=3]="RECENCY",e[e.USER_GUIDED=4]="USER_GUIDED",e[e.DIFF=5]="DIFF"})(K2||(K2={}));var z2;(function(e){e[e.UNKNOWN_SOURCE_CONTROL=0]="UNKNOWN_SOURCE_CONTROL",e[e.GIT=1]="GIT",e[e.GITHUB=2]="GITHUB"})(z2||(z2={}));var L2=k("CjdzZXJ2aWNlcy9saWIvZ3JwYy9jb25uZWN0X2ZvcndhcmQvZm9yd2FyZF9vcHRpb25zLnByb3RvEg9mb3J3YXJkX29wdGlvbnMiRAoXUmVxdWlyZWRGZWF0dXJlRmxhZ0Jvb2wSEQoJZmxhZ19uYW1lGAEgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAIgASgIIkYKGVJlcXVpcmVkRmVhdHVyZUZsYWdTdHJpbmcSEQoJZmxhZ19uYW1lGAEgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAIgASgJOlAKE2ZvcndhcmRfbWV0aG9kX25hbWUSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjThgMgASgJUhFmb3J3YXJkTWV0aG9kTmFtZTphChxza2lwX3RlbmFudF91c2VyX2VuZm9yY2VtZW50Eh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY1IYDIAEoCFIZc2tpcFRlbmFudFVzZXJFbmZvcmNlbWVudDpZChhza2lwX3VzZXJfaWRfZW5mb3JjZW1lbnQSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjVhgMgASgIUhVza2lwVXNlcklkRW5mb3JjZW1lbnQ6SQoPZW50ZXJwcmlzZV9vbmx5Eh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY1oYDIAEoCFIOZW50ZXJwcmlzZU9ubHk6hwEKGnJlcXVpcmVkX2ZlYXR1cmVfZmxhZ19ib29sEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY14YDIAMoCzIoLmZvcndhcmRfb3B0aW9ucy5SZXF1aXJlZEZlYXR1cmVGbGFnQm9vbFIXcmVxdWlyZWRGZWF0dXJlRmxhZ0Jvb2w6jQEKHHJlcXVpcmVkX2ZlYXR1cmVfZmxhZ19zdHJpbmcSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjYhgMgAygLMiouZm9yd2FyZF9vcHRpb25zLlJlcXVpcmVkRmVhdHVyZUZsYWdTdHJpbmdSGXJlcXVpcmVkRmVhdHVyZUZsYWdTdHJpbmc6QwoMc2tpcF9jb2RlZ2VuEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY2YYDIAEoCFILc2tpcENvZGVnZW46PwoKYWRtaW5fb25seRIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGNqGAyABKAhSCWFkbWluT25seTpRChNyZXF1aXJlZF9wZXJtaXNzaW9uEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMY24YDIAMoCVIScmVxdWlyZWRQZXJtaXNzaW9uYgZwcm90bzM",[nn]);var Ha=k("CihzZXJ2aWNlcy93ZWJfcnBjX3Byb3h5L2ZsZWV0X3Byb3h5LnByb3RvEg13ZWJfcnBjX3Byb3h5IiYKFEZsZWV0U3RyaW5nTGlzdFZhbHVlEg4KBnZhbHVlcxgBIAMoCSLxAQoXRmxlZXRDb25maWd1cmF0aW9uVmFsdWUSCwoDa2V5GAEgASgJEhQKCnRleHRfdmFsdWUYAiABKAlIABJAChFzdHJpbmdfbGlzdF92YWx1ZRgDIAEoCzIjLndlYl9ycGNfcHJveHkuRmxlZXRTdHJpbmdMaXN0VmFsdWVIABIYCg5lbnZpcm9ubWVudF9pZBgEIAEoCUgAEhoKEHNlY3JldF9yZWZlcmVuY2UYBSABKAlIABIZCg9pbnRlZ3JhdGlvbl9rZXkYBiABKAlIABIXCg1ib29sZWFuX3ZhbHVlGAcgASgISABCBwoFdmFsdWUilQIKFUFwcGx5RmxlZXRGbG93UmVxdWVzdBIQCghzcGFjZV9pZBgBIAEoCRIQCghmbG93X2tleRgCIAEoCRITCgt2YXJpYW50X2tleRgDIAEoCRIXCg9jYXRhbG9nX3ZlcnNpb24YBCABKAUSPQoNY29uZmlndXJhdGlvbhgFIAMoCzImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uVmFsdWUSFwoPaWRlbXBvdGVuY3lfa2V5GAYgASgJEjIKC3J1bl9hc19tb2RlGAcgASgOMh0ud2ViX3JwY19wcm94eS5GbGVldFJ1bkFzTW9kZRIeChZzZWxlY3RlZF9hY3Rvcl91c2VyX2lkGAggASgJIjsKFEZsZWV0SW5zdGFsbGVkRXhwZXJ0EhAKCHNsb3Rfa2V5GAEgASgJEhEKCWV4cGVydF9pZBgCIAEoCSLwAQoWQXBwbHlGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSLwoGc3RhdHVzGAIgASgOMh8ud2ViX3JwY19wcm94eS5GbGVldEFwcGx5U3RhdHVzEhEKCWV4cGVydF9pZBgDIAEoCRIZChFpZGVtcG90ZW50X3JlcGxheRgEIAEoCBI+ChFpbnN0YWxsZWRfZXhwZXJ0cxgFIAMoCzIjLndlYl9ycGNfcHJveHkuRmxlZXRJbnN0YWxsZWRFeHBlcnQSHgoWZGlzYWJsZWRfdHJpZ2dlcl9jb3VudBgGIAEoBSJBChNBcm1GbGVldEZsb3dSZXF1ZXN0EhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRIRCgljb25maXJtZWQYAiABKAgidgoUQXJtRmxlZXRGbG93UmVzcG9uc2USFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEg0KBWFybWVkGAIgASgIEhsKE2FybWVkX3RyaWdnZXJfY291bnQYAyABKAUSGQoRaWRlbXBvdGVudF9yZXBsYXkYBCABKAgiSAoaRGVhY3RpdmF0ZUZsZWV0Rmxvd1JlcXVlc3QSFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEhEKCWNvbmZpcm1lZBgCIAEoCCJ0ChtEZWFjdGl2YXRlRmxlZXRGbG93UmVzcG9uc2USFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEiEKGWRlYWN0aXZhdGVkX3RyaWdnZXJfY291bnQYAiABKAUSGQoRaWRlbXBvdGVudF9yZXBsYXkYAyABKAgiRwoZVW5pbnN0YWxsRmxlZXRGbG93UmVxdWVzdBIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSEQoJY29uZmlybWVkGAIgASgIIvUBChpVbmluc3RhbGxGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSHAoUZGVsZXRlZF9leHBlcnRfY291bnQYAiABKAUSHgoWZGVsZXRlZF93b3JrZmxvd19jb3VudBgDIAEoBRIZChFpZGVtcG90ZW50X3JlcGxheRgEIAEoCBJLChNyZW1haW5pbmdfcmVzb3VyY2VzGAUgAygLMi4ud2ViX3JwY19wcm94eS5GbGVldFVuaW5zdGFsbFJlbWFpbmluZ1Jlc291cmNlEhgKEGNsZWFudXBfY29tcGxldGUYBiABKAgiTQofRmxlZXRVbmluc3RhbGxSZW1haW5pbmdSZXNvdXJjZRIVCg1yZXNvdXJjZV90eXBlGAEgASgJEhMKC3Jlc291cmNlX2lkGAIgASgJIvABChlDb25maWd1cmVGbGVldEZsb3dSZXF1ZXN0EhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRI9Cg1jb25maWd1cmF0aW9uGAIgAygLMiYud2ViX3JwY19wcm94eS5GbGVldENvbmZpZ3VyYXRpb25WYWx1ZRIjChtleHBlY3RlZF9jb25maWd1cmF0aW9uX2hhc2gYBSABKAkSPwoJaW5zdGFuY2VzGAMgAygLMiwud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSW5zdGFuY2VJbnB1dBIVCg1oYXNfaW5zdGFuY2VzGAQgASgIIooBCh1GbGVldEluc3RhbGxhYmxlSW5zdGFuY2VJbnB1dBITCgtpbnN0YW5jZV9pZBgBIAEoCRIXCg9pbnN0YWxsYWJsZV9rZXkYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEg8KB2VuYWJsZWQYBCABKAgSFAoMZXh0cmFfcHJvbXB0GAUgASgJIvYBChpDb25maWd1cmVGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSQwoTY29uZmlndXJhdGlvbl9zdGF0ZRgCIAEoDjImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uU3RhdGUSIgoabWlzc2luZ19jb25maWd1cmF0aW9uX2tleXMYAyADKAkSOgoJaW5zdGFuY2VzGAQgAygLMicud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSW5zdGFuY2USGgoSY29uZmlndXJhdGlvbl9oYXNoGAUgASgJIkQKFlJlcGFpckZsZWV0Rmxvd1JlcXVlc3QSFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJEhEKCWNvbmZpcm1lZBgCIAEoCCJ4ChdSZXBhaXJGbGVldEZsb3dSZXNwb25zZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSHQoVcmVzdG9yZWRfZXhwZXJ0X2NvdW50GAIgASgFEiUKHXJlc3RvcmVkX3dvcmtmbG93X2FjdG9yX2NvdW50GAMgASgFIlcKHEdldEZsZWV0Rmxvd0xpZmVjeWNsZVJlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkSEAoIZmxvd19rZXkYAiABKAkSEwoLdmFyaWFudF9rZXkYAyABKAkitwEKEkZsZWV0TWFuYWdlZEV4cGVydBIQCghzbG90X2tleRgBIAEoCRIRCglleHBlcnRfaWQYAiABKAkSDwoHbWFuYWdlZBgDIAEoCBIVCg1hY3Rvcl91c2VyX2lkGAQgASgJEhgKEGFjdG9yX292ZXJyaWRkZW4YBSABKAgSDAoEbmFtZRgGIAEoCRITCgtpbnN0YW5jZV9pZBgHIAEoCRIXCg9pbnN0YWxsYWJsZV9rZXkYCCABKAkizAYKEkZsZWV0Rmxvd0xpZmVjeWNsZRIXCg9pbnN0YWxsYXRpb25faWQYASABKAkSEAoIZmxvd19rZXkYAiABKAkSEwoLdmFyaWFudF9rZXkYAyABKAkSLwoGc3RhdHVzGAQgASgOMh8ud2ViX3JwY19wcm94eS5GbGVldEFwcGx5U3RhdHVzEjIKB2V4cGVydHMYBSADKAsyIS53ZWJfcnBjX3Byb3h5LkZsZWV0TWFuYWdlZEV4cGVydBIeChZkaXNhYmxlZF90cmlnZ2VyX2NvdW50GAYgASgFEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKEW1hbmFnZXJfZXhwZXJ0X2lkGAkgASgJEj8KFGFsbG93ZWRfbmV4dF9hY3Rpb25zGAsgAygOMiEud2ViX3JwY19wcm94eS5GbGVldEFsbG93ZWRBY3Rpb24SQwoTY29uZmlndXJhdGlvbl9zdGF0ZRgMIAEoDjImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uU3RhdGUSIgoabWlzc2luZ19jb25maWd1cmF0aW9uX2tleXMYDSADKAkSGAoQcmVwb3NpdG9yeV9zY29wZRgOIAMoCRIXCg90cmlnZ2Vyc19hY3RpdmUYDyABKAgSFQoNYWN0b3JfdXNlcl9pZBgQIAEoCRIyCgtydW5fYXNfbW9kZRgRIAEoDjIdLndlYl9ycGNfcHJveHkuRmxlZXRSdW5Bc01vZGUSGAoQYWN0b3Jfb3ZlcnJpZGRlbhgSIAEoCBIXCg9pZGVtcG90ZW5jeV9rZXkYEyABKAkSMwoLYWN0b3Jfc3RhdGUYFCABKA4yHi53ZWJfcnBjX3Byb3h5LkZsZWV0QWN0b3JTdGF0ZRI6CglpbnN0YW5jZXMYFSADKAsyJy53ZWJfcnBjX3Byb3h5LkZsZWV0SW5zdGFsbGFibGVJbnN0YW5jZRIqCiJ1bmV4cGVjdGVkbHlfZW5hYmxlZF90cmlnZ2VyX2NvdW50GBYgASgFIoUBChhGbGVldEluc3RhbGxhYmxlSW5zdGFuY2USEwoLaW5zdGFuY2VfaWQYASABKAkSFwoPaW5zdGFsbGFibGVfa2V5GAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRIPCgdlbmFibGVkGAQgASgIEhQKDGV4dHJhX3Byb21wdBgFIAEoCSJZCh1HZXRGbGVldEZsb3dMaWZlY3ljbGVSZXNwb25zZRI4Cg1pbnN0YWxsYXRpb25zGAEgAygLMiEud2ViX3JwY19wcm94eS5GbGVldEZsb3dMaWZlY3ljbGUiMQodTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1JlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkiWgoeTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1Jlc3BvbnNlEjgKDWluc3RhbGxhdGlvbnMYASADKAsyIS53ZWJfcnBjX3Byb3h5LkZsZWV0Rmxvd0xpZmVjeWNsZSI/CiRHZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudFJlcXVlc3QSFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgJIscCCiVHZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudFJlc3BvbnNlEhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRIXCg9jYXRhbG9nX3ZlcnNpb24YAiABKAUSEAoIZmxvd19rZXkYAyABKAkSEwoLdmFyaWFudF9rZXkYBCABKAkSPQoNY29uZmlndXJhdGlvbhgFIAMoCzImLndlYl9ycGNfcHJveHkuRmxlZXRDb25maWd1cmF0aW9uVmFsdWUSOgoJaW5zdGFuY2VzGAYgAygLMicud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSW5zdGFuY2USGgoSY29uZmlndXJhdGlvbl9oYXNoGAcgASgJEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIioKFkdldEZsZWV0Q2F0YWxvZ1JlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkizAEKF0dldEZsZWV0Q2F0YWxvZ1Jlc3BvbnNlEj0KDGF2YWlsYWJpbGl0eRgBIAEoDjInLndlYl9ycGNfcHJveHkuRmxlZXRDYXRhbG9nQXZhaWxhYmlsaXR5EhcKD2NhdGFsb2dfdmVyc2lvbhgCIAEoBRInCgVmbG93cxgDIAMoCzIYLndlYl9ycGNfcHJveHkuRmxlZXRGbG93EjAKCmNhdGVnb3JpZXMYBCADKAsyHC53ZWJfcnBjX3Byb3h5LkZsZWV0Q2F0ZWdvcnkiRgoQRmxlZXRSZXF1aXJlbWVudBILCgNrZXkYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIcmVxdWlyZWQYAyABKAgijgEKEUZsZWV0QXZhaWxhYmlsaXR5EjQKBXN0YXRlGAEgASgOMiUud2ViX3JwY19wcm94eS5GbGVldEF2YWlsYWJpbGl0eVN0YXRlEj0KFG1pc3NpbmdfcmVxdWlyZW1lbnRzGAMgAygLMh8ud2ViX3JwY19wcm94eS5GbGVldFJlcXVpcmVtZW50SgQIAhADIlYKDUZsZWV0Q29yZVNsb3QSCwoDa2V5GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCHJlcXVpcmVkGAMgASgIEhEKCWZ1bGZpbGxlZBgEIAEoCCLuAgoMRmxlZXRWYXJpYW50EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjYKDGF2YWlsYWJpbGl0eRgFIAEoCzIgLndlYl9ycGNfcHJveHkuRmxlZXRBdmFpbGFiaWxpdHkSMAoKY29yZV9zbG90cxgGIAMoCzIcLndlYl9ycGNfcHJveHkuRmxlZXRDb3JlU2xvdBI6Cg9hbGxvd2VkX2FjdGlvbnMYByADKA4yIS53ZWJfcnBjX3Byb3h5LkZsZWV0QWxsb3dlZEFjdGlvbhJDChNpbnN0YWxsYXRpb25fc3RhdHVzGAggASgOMiYud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhdGlvblN0YXR1cxIUCgxleHBlcnRfbmFtZXMYCSADKAkSLQoEa2luZBgKIAEoDjIfLndlYl9ycGNfcHJveHkuRmxlZXRWYXJpYW50S2luZCJCChBGbGVldFNldHVwT3B0aW9uEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJImEKE0ZsZWV0U2V0dXBDb25kaXRpb24SCwoDa2V5GAEgASgJEhgKDmJvb2xlYW5fZXF1YWxzGAIgASgISAASFwoNY2hvaWNlX2VxdWFscxgDIAEoCUgAQgoKCGV4cGVjdGVkIqQCCg9GbGVldFNldHVwSW5wdXQSCwoDa2V5GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEjAKBHR5cGUYAyABKA4yIi53ZWJfcnBjX3Byb3h5LkZsZWV0U2V0dXBJbnB1dFR5cGUSEAoIcmVxdWlyZWQYBCABKAgSFQoNZGVmYXVsdF92YWx1ZRgFIAEoCRIwCgdvcHRpb25zGAYgAygLMh8ud2ViX3JwY19wcm94eS5GbGVldFNldHVwT3B0aW9uEjgKDHZpc2libGVfd2hlbhgIIAEoCzIiLndlYl9ycGNfcHJveHkuRmxlZXRTZXR1cENvbmRpdGlvbhIRCgltdWx0aWxpbmUYCSABKAhKBAgHEAhSD2VtcHR5X21lYW5zX2FsbCJAChxGbGVldFBhcnRpY2lwYXRpb25NZXRyaWNQYXJ0EgsKA2tleRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSKcAQoYRmxlZXRQYXJ0aWNpcGF0aW9uTWV0cmljEj4KCW51bWVyYXRvchgBIAEoCzIrLndlYl9ycGNfcHJveHkuRmxlZXRQYXJ0aWNpcGF0aW9uTWV0cmljUGFydBJACgtkZW5vbWluYXRvchgCIAEoCzIrLndlYl9ycGNfcHJveHkuRmxlZXRQYXJ0aWNpcGF0aW9uTWV0cmljUGFydCLoAQoSRmxlZXRQYXJ0aWNpcGF0aW9uEjMKBG1vZGUYASABKA4yJS53ZWJfcnBjX3Byb3h5LkZsZWV0UGFydGljaXBhdGlvbk1vZGUSOQoHY2FkZW5jZRgCIAEoDjIoLndlYl9ycGNfcHJveHkuRmxlZXRQYXJ0aWNpcGF0aW9uQ2FkZW5jZRIpCgZhY3RvcnMYAyADKA4yGS53ZWJfcnBjX3Byb3h5LkZsZWV0QWN0b3ISNwoGbWV0cmljGAQgASgLMicud2ViX3JwY19wcm94eS5GbGVldFBhcnRpY2lwYXRpb25NZXRyaWMiKgoNRmxlZXRDYXRlZ29yeRILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCSKYBAoJRmxlZXRGbG93EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEjYKDGF2YWlsYWJpbGl0eRgHIAEoCzIgLndlYl9ycGNfcHJveHkuRmxlZXRBdmFpbGFiaWxpdHkSMAoKY29yZV9zbG90cxgJIAMoCzIcLndlYl9ycGNfcHJveHkuRmxlZXRDb3JlU2xvdBItCgh2YXJpYW50cxgKIAMoCzIbLndlYl9ycGNfcHJveHkuRmxlZXRWYXJpYW50EjQKDHNldHVwX2lucHV0cxgLIAMoCzIeLndlYl9ycGNfcHJveHkuRmxlZXRTZXR1cElucHV0EjgKDXBhcnRpY2lwYXRpb24YDCABKAsyIS53ZWJfcnBjX3Byb3h5LkZsZWV0UGFydGljaXBhdGlvbhI6Cg9hbGxvd2VkX2FjdGlvbnMYDSADKA4yIS53ZWJfcnBjX3Byb3h5LkZsZWV0QWxsb3dlZEFjdGlvbhJDChNpbnN0YWxsYXRpb25fc3RhdHVzGA4gASgOMiYud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhdGlvblN0YXR1cxIUCgxjYXRlZ29yeV9rZXkYDyABKAkSNQoMaW5zdGFsbGFibGVzGBAgAygLMh8ud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlSgQICBAJIqcCChBGbGVldEluc3RhbGxhYmxlEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEj8KC2NhcmRpbmFsaXR5GAQgASgOMioud2ViX3JwY19wcm94eS5GbGVldEluc3RhbGxhYmxlQ2FyZGluYWxpdHkSHQoVc3VwcG9ydHNfZXh0cmFfcHJvbXB0GAUgASgIEhwKFGluc3RhbGxlZF9ieV9kZWZhdWx0GAYgASgIEjQKDHNldHVwX2lucHV0cxgHIAMoCzIeLndlYl9ycGNfcHJveHkuRmxlZXRTZXR1cElucHV0EhQKDHZhcmlhbnRfa2V5cxgIIAMoCRIZChFleHRyYV9pbnB1dF9sYWJlbBgJIAEoCSqpAQoORmxlZXRSdW5Bc01vZGUSIQodRkxFRVRfUlVOX0FTX01PREVfVU5TUEVDSUZJRUQQABIdChlGTEVFVF9SVU5fQVNfTU9ERV9NQU5BR0VEEAESJQohRkxFRVRfUlVOX0FTX01PREVfSU5TVEFMTElOR19VU0VSEAISLgoqRkxFRVRfUlVOX0FTX01PREVfRVhJU1RJTkdfU0VSVklDRV9BQ0NPVU5UEAMqeAoPRmxlZXRBY3RvclN0YXRlEiEKHUZMRUVUX0FDVE9SX1NUQVRFX1VOU1BFQ0lGSUVEEAASHwobRkxFRVRfQUNUT1JfU1RBVEVfQVZBSUxBQkxFEAESIQodRkxFRVRfQUNUT1JfU1RBVEVfVU5BVkFJTEFCTEUQAirJAQoQRmxlZXRBcHBseVN0YXR1cxIiCh5GTEVFVF9BUFBMWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtGTEVFVF9BUFBMWV9TVEFUVVNfQVBQTFlJTkcQARIjCh9GTEVFVF9BUFBMWV9TVEFUVVNfUkVBRFlfVE9fQVJNEAISJwojRkxFRVRfQVBQTFlfU1RBVFVTX0ZBSUxFRF9SRVRSWUFCTEUQAxIcChhGTEVFVF9BUFBMWV9TVEFUVVNfQVJNRUQQBSIECAQQBCrCAQoYRmxlZXRDYXRhbG9nQXZhaWxhYmlsaXR5EioKJkZMRUVUX0NBVEFMT0dfQVZBSUxBQklMSVRZX1VOU1BFQ0lGSUVEEAASKAokRkxFRVRfQ0FUQUxPR19BVkFJTEFCSUxJVFlfQVZBSUxBQkxFEAESJAogRkxFRVRfQ0FUQUxPR19BVkFJTEFCSUxJVFlfU1RBTEUQAhIqCiZGTEVFVF9DQVRBTE9HX0FWQUlMQUJJTElUWV9VTkFWQUlMQUJMRRADKskBChZGbGVldEF2YWlsYWJpbGl0eVN0YXRlEigKJEZMRUVUX0FWQUlMQUJJTElUWV9TVEFURV9VTlNQRUNJRklFRBAAEiYKIkZMRUVUX0FWQUlMQUJJTElUWV9TVEFURV9BVkFJTEFCTEUQARIxCi1GTEVFVF9BVkFJTEFCSUxJVFlfU1RBVEVfQkxPQ0tFRF9SRVFVSVJFTUVOVFMQAhIqCiZGTEVFVF9BVkFJTEFCSUxJVFlfU1RBVEVfTk9UX0FWQUlMQUJMRRADKsoCChNGbGVldFNldHVwSW5wdXRUeXBlEiYKIkZMRUVUX1NFVFVQX0lOUFVUX1RZUEVfVU5TUEVDSUZJRUQQABIfChtGTEVFVF9TRVRVUF9JTlBVVF9UWVBFX1RFWFQQARImCiJGTEVFVF9TRVRVUF9JTlBVVF9UWVBFX1NUUklOR19MSVNUEAISJgoiRkxFRVRfU0VUVVBfSU5QVVRfVFlQRV9FTlZJUk9OTUVOVBADEisKJ0ZMRUVUX1NFVFVQX0lOUFVUX1RZUEVfU0VDUkVUX1JFRkVSRU5DRRAEEiYKIkZMRUVUX1NFVFVQX0lOUFVUX1RZUEVfSU5URUdSQVRJT04QBRIiCh5GTEVFVF9TRVRVUF9JTlBVVF9UWVBFX0JPT0xFQU4QBhIhCh1GTEVFVF9TRVRVUF9JTlBVVF9UWVBFX0NIT0lDRRAHKuYBChZGbGVldFBhcnRpY2lwYXRpb25Nb2RlEigKJEZMRUVUX1BBUlRJQ0lQQVRJT05fTU9ERV9VTlNQRUNJRklFRBAAEigKJEZMRUVUX1BBUlRJQ0lQQVRJT05fTU9ERV9JTlRFUkFDVElWRRABEioKJkZMRUVUX1BBUlRJQ0lQQVRJT05fTU9ERV9IVU1BTl9PTl9MT09QEAISJwojRkxFRVRfUEFSVElDSVBBVElPTl9NT0RFX0FVVE9OT01PVVMQAxIjCh9GTEVFVF9QQVJUSUNJUEFUSU9OX01PREVfSFlCUklEEAQq+AEKGUZsZWV0UGFydGljaXBhdGlvbkNhZGVuY2USKwonRkxFRVRfUEFSVElDSVBBVElPTl9DQURFTkNFX1VOU1BFQ0lGSUVEEAASKQolRkxFRVRfUEFSVElDSVBBVElPTl9DQURFTkNFX09OX0RFTUFORBABEiwKKEZMRUVUX1BBUlRJQ0lQQVRJT05fQ0FERU5DRV9FVkVOVF9EUklWRU4QAhIpCiVGTEVFVF9QQVJUSUNJUEFUSU9OX0NBREVOQ0VfU0NIRURVTEVEEAMSKgomRkxFRVRfUEFSVElDSVBBVElPTl9DQURFTkNFX0NPTlRJTlVPVVMQBCrFAQoKRmxlZXRBY3RvchIbChdGTEVFVF9BQ1RPUl9VTlNQRUNJRklFRBAAEhsKF0ZMRUVUX0FDVE9SX0VOR0lORUVSSU5HEAESFwoTRkxFRVRfQUNUT1JfUFJPRFVDVBACEhoKFkZMRUVUX0FDVE9SX09QRVJBVElPTlMQAxIYChRGTEVFVF9BQ1RPUl9CVVNJTkVTUxAEEhcKE0ZMRUVUX0FDVE9SX1NVUFBPUlQQBRIVChFGTEVFVF9BQ1RPUl9TQUxFUxAGKuQBChJGbGVldEFsbG93ZWRBY3Rpb24SJAogRkxFRVRfQUxMT1dFRF9BQ1RJT05fVU5TUEVDSUZJRUQQABIdChlGTEVFVF9BTExPV0VEX0FDVElPTl9WSUVXEAESIAocRkxFRVRfQUxMT1dFRF9BQ1RJT05fSU5TVEFMTBACEhwKGEZMRUVUX0FMTE9XRURfQUNUSU9OX0FSTRAEEiIKHkZMRUVUX0FMTE9XRURfQUNUSU9OX0NPTkZJR1VSRRAFEh8KG0ZMRUVUX0FMTE9XRURfQUNUSU9OX1JFUEFJUhAGIgQIAxADKlIKEEZsZWV0VmFyaWFudEtpbmQSIgoeRkxFRVRfVkFSSUFOVF9LSU5EX1VOU1BFQ0lGSUVEEAASGgoWRkxFRVRfVkFSSUFOVF9LSU5EX1NDTRABKroBChdGbGVldENvbmZpZ3VyYXRpb25TdGF0ZRIpCiVGTEVFVF9DT05GSUdVUkFUSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASIwofRkxFRVRfQ09ORklHVVJBVElPTl9TVEFURV9SRUFEWRABEigKJEZMRUVUX0NPTkZJR1VSQVRJT05fU1RBVEVfSU5DT01QTEVURRACEiUKIUZMRUVUX0NPTkZJR1VSQVRJT05fU1RBVEVfVU5LTk9XThADKqACChdGbGVldEluc3RhbGxhdGlvblN0YXR1cxIpCiVGTEVFVF9JTlNUQUxMQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASJQohRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19VTktOT1dOEAESKwonRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19OT1RfSU5TVEFMTEVEEAISMQotRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19QQVJUSUFMTFlfSU5TVEFMTEVEEAMSJwojRkxFRVRfSU5TVEFMTEFUSU9OX1NUQVRVU19JTlNUQUxMRUQQBBIqCiZGTEVFVF9JTlNUQUxMQVRJT05fU1RBVFVTX05FRURTX1JFUEFJUhAFKt0BChtGbGVldEluc3RhbGxhYmxlQ2FyZGluYWxpdHkSLQopRkxFRVRfSU5TVEFMTEFCTEVfQ0FSRElOQUxJVFlfVU5TUEVDSUZJRUQQABIrCidGTEVFVF9JTlNUQUxMQUJMRV9DQVJESU5BTElUWV9TSU5HTEVUT04QARI0CjBGTEVFVF9JTlNUQUxMQUJMRV9DQVJESU5BTElUWV9PUFRJT05BTF9TSU5HTEVUT04QAhIsCihGTEVFVF9JTlNUQUxMQUJMRV9DQVJESU5BTElUWV9SRVBFQVRBQkxFEAMy2Q4KEUZsZWV0UHJveHlTZXJ2aWNlEqoBCg9HZXRGbGVldENhdGFsb2cSJS53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q2F0YWxvZ1JlcXVlc3QaJi53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q2F0YWxvZ1Jlc3BvbnNlIkiatRglcG9zZWlkb24uRmxlZXRTZXJ2aWNlL0dldEZsZWV0Q2F0YWxvZ7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAESpgEKDkFwcGx5RmxlZXRGbG93EiQud2ViX3JwY19wcm94eS5BcHBseUZsZWV0Rmxvd1JlcXVlc3QaJS53ZWJfcnBjX3Byb3h5LkFwcGx5RmxlZXRGbG93UmVzcG9uc2UiR5q1GCRwb3NlaWRvbi5GbGVldFNlcnZpY2UvQXBwbHlGbGVldEZsb3e6tRgbChdmbGVldF93b3JrZmxvd3NfZW5hYmxlZBABEp4BCgxBcm1GbGVldEZsb3cSIi53ZWJfcnBjX3Byb3h5LkFybUZsZWV0Rmxvd1JlcXVlc3QaIy53ZWJfcnBjX3Byb3h5LkFybUZsZWV0Rmxvd1Jlc3BvbnNlIkWatRgicG9zZWlkb24uRmxlZXRTZXJ2aWNlL0FybUZsZWV0Rmxvd7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAESugEKE0RlYWN0aXZhdGVGbGVldEZsb3cSKS53ZWJfcnBjX3Byb3h5LkRlYWN0aXZhdGVGbGVldEZsb3dSZXF1ZXN0Gioud2ViX3JwY19wcm94eS5EZWFjdGl2YXRlRmxlZXRGbG93UmVzcG9uc2UiTJq1GClwb3NlaWRvbi5GbGVldFNlcnZpY2UvRGVhY3RpdmF0ZUZsZWV0Rmxvd7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAEStgEKElVuaW5zdGFsbEZsZWV0RmxvdxIoLndlYl9ycGNfcHJveHkuVW5pbnN0YWxsRmxlZXRGbG93UmVxdWVzdBopLndlYl9ycGNfcHJveHkuVW5pbnN0YWxsRmxlZXRGbG93UmVzcG9uc2UiS5q1GChwb3NlaWRvbi5GbGVldFNlcnZpY2UvVW5pbnN0YWxsRmxlZXRGbG93urUYGwoXZmxlZXRfd29ya2Zsb3dzX2VuYWJsZWQQARK2AQoSQ29uZmlndXJlRmxlZXRGbG93Eigud2ViX3JwY19wcm94eS5Db25maWd1cmVGbGVldEZsb3dSZXF1ZXN0Gikud2ViX3JwY19wcm94eS5Db25maWd1cmVGbGVldEZsb3dSZXNwb25zZSJLmrUYKHBvc2VpZG9uLkZsZWV0U2VydmljZS9Db25maWd1cmVGbGVldEZsb3e6tRgbChdmbGVldF93b3JrZmxvd3NfZW5hYmxlZBABEqoBCg9SZXBhaXJGbGVldEZsb3cSJS53ZWJfcnBjX3Byb3h5LlJlcGFpckZsZWV0Rmxvd1JlcXVlc3QaJi53ZWJfcnBjX3Byb3h5LlJlcGFpckZsZWV0Rmxvd1Jlc3BvbnNlIkiatRglcG9zZWlkb24uRmxlZXRTZXJ2aWNlL1JlcGFpckZsZWV0Rmxvd7q1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAESwgEKFUdldEZsZWV0Rmxvd0xpZmVjeWNsZRIrLndlYl9ycGNfcHJveHkuR2V0RmxlZXRGbG93TGlmZWN5Y2xlUmVxdWVzdBosLndlYl9ycGNfcHJveHkuR2V0RmxlZXRGbG93TGlmZWN5Y2xlUmVzcG9uc2UiTpq1GCtwb3NlaWRvbi5GbGVldFNlcnZpY2UvR2V0RmxlZXRGbG93TGlmZWN5Y2xlurUYGwoXZmxlZXRfd29ya2Zsb3dzX2VuYWJsZWQQARLGAQoWTGlzdEZsZWV0SW5zdGFsbGF0aW9ucxIsLndlYl9ycGNfcHJveHkuTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1JlcXVlc3QaLS53ZWJfcnBjX3Byb3h5Lkxpc3RGbGVldEluc3RhbGxhdGlvbnNSZXNwb25zZSJPmrUYLHBvc2VpZG9uLkZsZWV0U2VydmljZS9MaXN0RmxlZXRJbnN0YWxsYXRpb25zurUYGwoXZmxlZXRfd29ya2Zsb3dzX2VuYWJsZWQQARLiAQodR2V0RmxlZXRDb25maWd1cmF0aW9uRG9jdW1lbnQSMy53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q29uZmlndXJhdGlvbkRvY3VtZW50UmVxdWVzdBo0LndlYl9ycGNfcHJveHkuR2V0RmxlZXRDb25maWd1cmF0aW9uRG9jdW1lbnRSZXNwb25zZSJWmrUYM3Bvc2VpZG9uLkZsZWV0U2VydmljZS9HZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudLq1GBsKF2ZsZWV0X3dvcmtmbG93c19lbmFibGVkEAFiBnByb3RvMw",[ee,L2]);var H2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MANAGED=1]="MANAGED",e[e.INSTALLING_USER=2]="INSTALLING_USER",e[e.EXISTING_SERVICE_ACCOUNT=3]="EXISTING_SERVICE_ACCOUNT"})(H2||(H2={}));var M2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.UNAVAILABLE=2]="UNAVAILABLE"})(M2||(M2={}));var O2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.APPLYING=1]="APPLYING",e[e.READY_TO_ARM=2]="READY_TO_ARM",e[e.FAILED_RETRYABLE=3]="FAILED_RETRYABLE",e[e.ARMED=5]="ARMED"})(O2||(O2={}));var j2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.STALE=2]="STALE",e[e.UNAVAILABLE=3]="UNAVAILABLE"})(j2||(j2={}));var P2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.BLOCKED_REQUIREMENTS=2]="BLOCKED_REQUIREMENTS",e[e.NOT_AVAILABLE=3]="NOT_AVAILABLE"})(P2||(P2={}));var q2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TEXT=1]="TEXT",e[e.STRING_LIST=2]="STRING_LIST",e[e.ENVIRONMENT=3]="ENVIRONMENT",e[e.SECRET_REFERENCE=4]="SECRET_REFERENCE",e[e.INTEGRATION=5]="INTEGRATION",e[e.BOOLEAN=6]="BOOLEAN",e[e.CHOICE=7]="CHOICE"})(q2||(q2={}));var $2;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INTERACTIVE=1]="INTERACTIVE",e[e.HUMAN_ON_LOOP=2]="HUMAN_ON_LOOP",e[e.AUTONOMOUS=3]="AUTONOMOUS",e[e.HYBRID=4]="HYBRID"})($2||($2={}));var e0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ON_DEMAND=1]="ON_DEMAND",e[e.EVENT_DRIVEN=2]="EVENT_DRIVEN",e[e.SCHEDULED=3]="SCHEDULED",e[e.CONTINUOUS=4]="CONTINUOUS"})(e0||(e0={}));var t0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ENGINEERING=1]="ENGINEERING",e[e.PRODUCT=2]="PRODUCT",e[e.OPERATIONS=3]="OPERATIONS",e[e.BUSINESS=4]="BUSINESS",e[e.SUPPORT=5]="SUPPORT",e[e.SALES=6]="SALES"})(t0||(t0={}));var n0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.VIEW=1]="VIEW",e[e.INSTALL=2]="INSTALL",e[e.ARM=4]="ARM",e[e.CONFIGURE=5]="CONFIGURE",e[e.REPAIR=6]="REPAIR"})(n0||(n0={}));var r0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SCM=1]="SCM"})(r0||(r0={}));var o0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.READY=1]="READY",e[e.INCOMPLETE=2]="INCOMPLETE",e[e.UNKNOWN=3]="UNKNOWN"})(o0||(o0={}));var i0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.UNKNOWN=1]="UNKNOWN",e[e.NOT_INSTALLED=2]="NOT_INSTALLED",e[e.PARTIALLY_INSTALLED=3]="PARTIALLY_INSTALLED",e[e.INSTALLED=4]="INSTALLED",e[e.NEEDS_REPAIR=5]="NEEDS_REPAIR"})(i0||(i0={}));var s0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SINGLETON=1]="SINGLETON",e[e.OPTIONAL_SINGLETON=2]="OPTIONAL_SINGLETON",e[e.REPEATABLE=3]="REPEATABLE"})(s0||(s0={}));var go=k("CiNzZXJ2aWNlcy9hcGlfcHJveHkvcHVibGljX2FwaS5wcm90bxIKcHVibGljX2FwaSI1CgpBY3Rpb25JdGVtEg0KBXRpdGxlGAEgASgJEhAKA3VybBgCIAEoCUgAiAEBQgYKBF91cmwiKQoaQWN0aW9uc0dldFVzZXJTdGF0ZVJlcXVlc3QSCwoDa2V5GAEgASgJIkQKG0FjdGlvbnNHZXRVc2VyU3RhdGVSZXNwb25zZRINCgV2YWx1ZRgBIAEoCRIWCg52ZXJzaW9uX251bWJlchgCIAEoAyJoChpBY3Rpb25zU2V0VXNlclN0YXRlUmVxdWVzdBILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkSGwoOdmVyc2lvbl9udW1iZXIYAyABKANIAIgBAUIRCg9fdmVyc2lvbl9udW1iZXIiNQobQWN0aW9uc1NldFVzZXJTdGF0ZVJlc3BvbnNlEhYKDnZlcnNpb25fbnVtYmVyGAEgASgDImIKEkFjdGl2ZVN1YnNjcmlwdGlvbhIsCghlbmRfZGF0ZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoWdXNhZ2VfYmFsYW5jZV9kZXBsZXRlZBgCIAEoCCLhAQoPQWdlbnRDYXBhYmlsaXR5EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSLwoFc2NvcGUYAyABKA4yIC5wdWJsaWNfYXBpLkFnZW50Q2FwYWJpbGl0eVNjb3BlEj8KDG5hdGl2ZV90b29scxgEIAMoCzIpLnB1YmxpY19hcGkuQWdlbnRDYXBhYmlsaXR5VG9vbERlZmluaXRpb24SOQoLbWNwX3NlcnZlcnMYBSADKAsyJC5wdWJsaWNfYXBpLkFnZW50Q2FwYWJpbGl0eU1DUFNlcnZlciJkChhBZ2VudENhcGFiaWxpdHlNQ1BTZXJ2ZXISEwoLc2VydmVyX25hbWUYASABKAkSEgoKc2VydmVyX3VybBgCIAEoCRIfChdyZXF1aXJlZF9jcmVkZW50aWFsX2tleRgDIAEoCSJhChhBZ2VudENhcGFiaWxpdHlSZWZlcmVuY2USFwoPY2FwYWJpbGl0eV9uYW1lGAEgASgJEhUKDWFsbG93ZWRfdG9vbHMYAiADKAkSFQoNYmxvY2tlZF90b29scxgDIAMoCSIyCh1BZ2VudENhcGFiaWxpdHlUb29sRGVmaW5pdGlvbhIRCgl0b29sX25hbWUYASABKAki+gMKC0FnZW50Q29uZmlnEjMKD3dvcmtzcGFjZV9zZXR1cBgBIAEoCzIaLnB1YmxpY19hcGkuV29ya3NwYWNlU2V0dXASMwoOc3RhcnRpbmdfbm9kZXMYAiADKAsyGy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0Tm9kZRIcCg91c2VyX2d1aWRlbGluZXMYAyABKAlIAIgBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgEIAEoCUgBiAEBEhIKBW1vZGVsGAYgASgJSAKIAQESIgoVaXNfc2V0dXBfc2NyaXB0X2FnZW50GAcgASgISAOIAQESMAoLbWNwX3NlcnZlcnMYCCADKAsyGy5wdWJsaWNfYXBpLk1jcFNlcnZlckNvbmZpZxISCgV0aXRsZRgJIAEoCUgEiAEBEjYKDnJlcXVlc3Rfc291cmNlGAogASgOMhkucHVibGljX2FwaS5SZXF1ZXN0U291cmNlSAWIAQESFgoOZGlzYWJsZWRfdG9vbHMYCyADKAlCEgoQX3VzZXJfZ3VpZGVsaW5lc0IXChVfd29ya3NwYWNlX2d1aWRlbGluZXNCCAoGX21vZGVsQhgKFl9pc19zZXR1cF9zY3JpcHRfYWdlbnRCCAoGX3RpdGxlQhEKD19yZXF1ZXN0X3NvdXJjZUoECAUQBiKQAgoSQWdlbnRIaXN0b3J5VXBkYXRlEjAKBHR5cGUYASABKA4yIi5wdWJsaWNfYXBpLkFnZW50SGlzdG9yeVVwZGF0ZVR5cGUSNgoIZXhjaGFuZ2UYAiABKAsyHy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50RXhjaGFuZ2VIAIgBARI4Cg9leGNoYW5nZV91cGRhdGUYAyABKAsyGi5wdWJsaWNfYXBpLkV4Y2hhbmdlVXBkYXRlSAGIAQESKwoFYWdlbnQYBCABKAsyFy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50SAKIAQFCCwoJX2V4Y2hhbmdlQhIKEF9leGNoYW5nZV91cGRhdGVCCAoGX2FnZW50IuwCCg9BZ2VudExpc3RVcGRhdGUSLQoEdHlwZRgBIAEoDjIfLnB1YmxpY19hcGkuQWdlbnRMaXN0VXBkYXRlVHlwZRI0ChB1cGRhdGVfdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgVhZ2VudBgDIAEoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRIAIgBARIdChBkZWxldGVkX2FnZW50X2lkGAQgASgJSAGIAQESKwoKYWxsX2FnZW50cxgFIAMoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnQSFwoKbWF4X2FnZW50cxgGIAEoBUgCiAEBEh4KEW1heF9hY3RpdmVfYWdlbnRzGAcgASgFSAOIAQFCCAoGX2FnZW50QhMKEV9kZWxldGVkX2FnZW50X2lkQg0KC19tYXhfYWdlbnRzQhQKEl9tYXhfYWN0aXZlX2FnZW50cyKiAQoMQWdlbnRQZXJzb25hEgoKAmlkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEiwKBXNjb3BlGAMgASgOMh0ucHVibGljX2FwaS5BZ2VudFBlcnNvbmFTY29wZRJDChVyZXF1aXJlZF9jYXBhYmlsaXRpZXMYBCADKAsyJC5wdWJsaWNfYXBpLkFnZW50Q2FwYWJpbGl0eVJlZmVyZW5jZSJfChlBZ2VudFdvcmtzcGFjZUNoYXRSZXF1ZXN0EkIKD3JlcXVlc3RfZGV0YWlscxgBIAEoCzIpLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRDaGF0UmVxdWVzdERldGFpbHMiQQomQWdlbnRXb3Jrc3BhY2VHZXRMYXN0U2VxdWVuY2VJZFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJIk0KJ0FnZW50V29ya3NwYWNlR2V0TGFzdFNlcXVlbmNlSWRSZXNwb25zZRIiChpsYXN0X3Byb2Nlc3NlZF9zZXF1ZW5jZV9pZBgBIAEoDSIZChdBZ2VudFdvcmtzcGFjZUludGVycnVwdCJeCh9BZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIiChpsYXN0X3Byb2Nlc3NlZF9zZXF1ZW5jZV9pZBgCIAEoDSJVCiBBZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXNwb25zZRIxCgd1cGRhdGVzGAEgAygLMiAucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVVwZGF0ZSJ4CiZBZ2VudFdvcmtzcGFjZVJlcG9ydENoYXRIaXN0b3J5UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSNQoMY2hhdF9oaXN0b3J5GAIgAygLMh8ucHVibGljX2FwaS5SZW1vdGVBZ2VudEV4Y2hhbmdlIikKJ0FnZW50V29ya3NwYWNlUmVwb3J0Q2hhdEhpc3RvcnlSZXNwb25zZSJoCilBZ2VudFdvcmtzcGFjZVJlcG9ydExhc3RTZXF1ZW5jZUlkUmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSIgoabGFzdF9wcm9jZXNzZWRfc2VxdWVuY2VfaWQYAiABKA0iLAoqQWdlbnRXb3Jrc3BhY2VSZXBvcnRMYXN0U2VxdWVuY2VJZFJlc3BvbnNlIocBCiRBZ2VudFdvcmtzcGFjZVJlcG9ydFNldHVwTG9nc1JlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEkYKFndvcmtzcGFjZV9zZXR1cF9zdGF0dXMYAyABKAsyJi5wdWJsaWNfYXBpLlJlbW90ZVdvcmtzcGFjZVNldHVwU3RhdHVzIicKJUFnZW50V29ya3NwYWNlUmVwb3J0U2V0dXBMb2dzUmVzcG9uc2UisQEKIUFnZW50V29ya3NwYWNlUmVwb3J0U3RhdHVzUmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSLQoGc3RhdHVzGAIgASgOMh0ucHVibGljX2FwaS5SZW1vdGVBZ2VudFN0YXR1cxImChloYXNfYWN0aXZlX3NzaF9jb25uZWN0aW9uGAMgASgISACIAQFCHAoaX2hhc19hY3RpdmVfc3NoX2Nvbm5lY3Rpb24iJAoiQWdlbnRXb3Jrc3BhY2VSZXBvcnRTdGF0dXNSZXNwb25zZSJaChtBZ2VudFdvcmtzcGFjZVN0cmVhbVJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEiIKGmxhc3RfcHJvY2Vzc2VkX3NlcXVlbmNlX2lkGAIgASgNIlcKHEFnZW50V29ya3NwYWNlU3RyZWFtUmVzcG9uc2USNwoHdXBkYXRlcxgBIAMoCzImLnB1YmxpY19hcGkuQWdlbnRXb3Jrc3BhY2VTdHJlYW1VcGRhdGUigwIKGkFnZW50V29ya3NwYWNlU3RyZWFtVXBkYXRlEjIKBHR5cGUYASABKA4yJC5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlVXBkYXRlVHlwZRITCgtzZXF1ZW5jZV9pZBgCIAEoDRI7CglpbnRlcnJ1cHQYAyABKAsyIy5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlSW50ZXJydXB0SACIAQESQAoMY2hhdF9yZXF1ZXN0GAQgASgLMiUucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZUNoYXRSZXF1ZXN0SAGIAQFCDAoKX2ludGVycnVwdEIPCg1fY2hhdF9yZXF1ZXN0Iq4BChRBZ2VudFdvcmtzcGFjZVVwZGF0ZRI4CglpbnRlcnJ1cHQYAiABKAsyIy5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlSW50ZXJydXB0SAASPQoMY2hhdF9yZXF1ZXN0GAMgASgLMiUucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZUNoYXRSZXF1ZXN0SAASEwoLc2VxdWVuY2VfaWQYASABKA1CCAoGdXBkYXRlInsKGEFnZ3JlZ2F0ZWRPdXRjb21lTWV0cmljcxIMCgRuYW1lGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRINCgVjb3VudBgDIAEoBBIsCgZ2YWx1ZXMYBCABKAsyHC5wdWJsaWNfYXBpLkFnZ3JlZ2F0ZWRWYWx1ZXMilAEKEEFnZ3JlZ2F0ZWRWYWx1ZXMSCwoDc3VtGAEgASgBEgsKA2F2ZxgCIAEoARILCgNtaW4YAyABKAESCwoDbWF4GAQgASgBEgsKA3AyNRgFIAEoARILCgNwNTAYBiABKAESCwoDcDc1GAcgASgBEgsKA3A5MBgIIAEoARILCgNwOTUYCSABKAESCwoDcDk5GAogASgBIuYBChNBbmFseXRpY3NUYWdTdW1tYXJ5EgsKA2tleRgBIAEoCRIVCg1zZXNzaW9uX2NvdW50GAIgASgEEhkKEW9ic2VydmF0aW9uX2NvdW50GAQgASgEEh4KFmRpc3RpbmN0X3N1YmplY3RfY291bnQYBSABKAQSNAoGdmFsdWVzGAYgAygLMiQucHVibGljX2FwaS5BbmFseXRpY3NUYWdWYWx1ZVN1bW1hcnkSEwoLZGlzcGxheV9rZXkYByABKAkSJQoGc291cmNlGAggASgOMhUucHVibGljX2FwaS5UYWdTb3VyY2UikgEKGEFuYWx5dGljc1RhZ1ZhbHVlU3VtbWFyeRINCgV2YWx1ZRgBIAEoCRIVCg1kaXNwbGF5X3ZhbHVlGAIgASgJEhUKDXNlc3Npb25fY291bnQYAyABKAQSGQoRb2JzZXJ2YXRpb25fY291bnQYBSABKAQSHgoWZGlzdGluY3Rfc3ViamVjdF9jb3VudBgGIAEoBCJbChdBdGxhc3NpYW5Ub29sRXh0cmFJbnB1dBISCgpzZXJ2ZXJfdXJsGAEgASgJEhoKEnBlcnNvbmFsX2FwaV90b2tlbhgCIAEoCRIQCgh1c2VybmFtZRgDIAEoCSIqCgxCYW5uZXJCdXR0b24SDQoFdGl0bGUYASABKAkSCwoDdXJsGAIgASgJItcDChFCYW5uZXJJbmZvcm1hdGlvbhIPCgdtZXNzYWdlGAEgASgJEi0KBmJ1dHRvbhgCIAEoCzIYLnB1YmxpY19hcGkuQmFubmVyQnV0dG9uSACIAQESPQoLYmFubmVyX3R5cGUYAyABKA4yKC5wdWJsaWNfYXBpLkJhbm5lckluZm9ybWF0aW9uLkJhbm5lclR5cGUSRwoNZGlzcGxheV9zdHlsZRgEIAEoDjIwLnB1YmxpY19hcGkuQmFubmVySW5mb3JtYXRpb24uQmFubmVyRGlzcGxheVN0eWxlIoUBCgpCYW5uZXJUeXBlEhcKE0JBTk5FUl9UWVBFX1VOS05PV04QABIMCghVUkxfTElOSxABEhoKFlVTQUdFX0JBTEFOQ0VfREVQTEVURUQQAhIVChFVU0FHRV9CQUxBTkNFX0xPVxADEh0KGVJFUVVJUkVfUEFZTUVOVF9GT1JfVFJJQUwQBCJnChJCYW5uZXJEaXNwbGF5U3R5bGUSIAocQkFOTkVSX0RJU1BMQVlfU1RZTEVfVU5LTk9XThAAEggKBElORk8QARINCglQUk9NT1RJT04QAhILCgdXQVJOSU5HEAMSCQoFQUxFUlQQBEIJCgdfYnV0dG9uIjsKEkJhdGNoVXBsb2FkUmVxdWVzdBIlCgVibG9icxgBIAMoCzIWLnB1YmxpY19hcGkuVXBsb2FkQmxvYiIpChNCYXRjaFVwbG9hZFJlc3BvbnNlEhIKCmJsb2JfbmFtZXMYASADKAkiYQoFQmxvYnMSGgoNY2hlY2twb2ludF9pZBgBIAEoCUgAiAEBEhMKC2FkZGVkX2Jsb2JzGAIgAygJEhUKDWRlbGV0ZWRfYmxvYnMYAyADKAlCEAoOX2NoZWNrcG9pbnRfaWQiigEKEUJvb3RzdHJhcFNldHRpbmdzElMKHXJlcG9zaXRvcnlfYWxsb3dsaXN0X3NldHRpbmdzGAEgASgLMicucHVibGljX2FwaS5SZXBvc2l0b3J5QWxsb3dsaXN0U2V0dGluZ3NIAIgBAUIgCh5fcmVwb3NpdG9yeV9hbGxvd2xpc3Rfc2V0dGluZ3Mi3wEKC0NoYW5nZWRGaWxlEhAKCG9sZF9wYXRoGAEgASgJEhAKCG5ld19wYXRoGAIgASgJEjsKC2NoYW5nZV90eXBlGAMgASgOMiYucHVibGljX2FwaS5DaGFuZ2VkRmlsZS5GaWxlQ2hhbmdlVHlwZRIUCgxvbGRfY29udGVudHMYBCABKAkSFAoMbmV3X2NvbnRlbnRzGAUgASgJIkMKDkZpbGVDaGFuZ2VUeXBlEgkKBUFEREVEEAASCwoHREVMRVRFRBABEgwKCE1PRElGSUVEEAISCwoHUkVOQU1FRBADIpgEChBDaGFuZ2VkRmlsZVN0YXRzEj0KEGFkZGVkX2ZpbGVfc3RhdHMYASABKAsyIy5wdWJsaWNfYXBpLlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEj4KEWJyb2tlbl9maWxlX3N0YXRzGAIgASgLMiMucHVibGljX2FwaS5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxI+ChFjb3BpZWRfZmlsZV9zdGF0cxgDIAEoCzIjLnB1YmxpY19hcGkuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSPwoSZGVsZXRlZF9maWxlX3N0YXRzGAQgASgLMiMucHVibGljX2FwaS5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxJAChNtb2RpZmllZF9maWxlX3N0YXRzGAUgASgLMiMucHVibGljX2FwaS5QZXJUeXBlQ2hhbmdlZEZpbGVTdGF0cxI/ChJyZW5hbWVkX2ZpbGVfc3RhdHMYBiABKAsyIy5wdWJsaWNfYXBpLlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEkAKE3VubWVyZ2VkX2ZpbGVfc3RhdHMYByABKAsyIy5wdWJsaWNfYXBpLlBlclR5cGVDaGFuZ2VkRmlsZVN0YXRzEj8KEnVua25vd25fZmlsZV9zdGF0cxgIIAEoCzIjLnB1YmxpY19hcGkuUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMi2QIKGUNoYXRGZWF0dXJlRGV0ZWN0aW9uRmxhZ3MSIQoQc3VwcG9ydF9tYXJrZG93bhgBIAEoCEICGAFIAIgBARIjChJzdXBwb3J0X3Jhd19vdXRwdXQYAiABKAhCAhgBSAGIAQESJQoYc3VwcG9ydF9yZWxldmFudF9zb3VyY2VzGAMgASgISAKIAQESIwoWc3VwcG9ydF90b29sX3VzZV9zdGFydBgEIAEoCEgDiAEBEiYKGXN1cHBvcnRfcGFyYWxsZWxfdG9vbF91c2UYBSABKAhIBIgBAUITChFfc3VwcG9ydF9tYXJrZG93bkIVChNfc3VwcG9ydF9yYXdfb3V0cHV0QhsKGV9zdXBwb3J0X3JlbGV2YW50X3NvdXJjZXNCGQoXX3N1cHBvcnRfdG9vbF91c2Vfc3RhcnRCHAoaX3N1cHBvcnRfcGFyYWxsZWxfdG9vbF91c2UikAEKDENoYXRGZWVkYmFjaxISCgpyZXF1ZXN0X2lkGAEgASgJEioKBnJhdGluZxgCIAEoDjIaLnB1YmxpY19hcGkuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgDIAEoCRIcCgRtb2RlGAQgASgOMg4uY2hhdC5DaGF0TW9kZRIUCgxyZWFzb25fY29kZXMYBSADKAkiFgoUQ2hhdEZlZWRiYWNrUmVzcG9uc2Ui1QIKGkNoYXRJbnB1dENvbXBsZXRpb25SZXF1ZXN0EhIKBW1vZGVsGAEgASgJSACIAQESDgoGcHJvbXB0GAIgASgJEgwKBHBhdGgYAyABKAkSEwoGc3VmZml4GAQgASgJSAGIAQESIAoFYmxvYnMYBSABKAsyES5wdWJsaWNfYXBpLkJsb2JzEjIKDHJlY2VuY3lfaW5mbxgGIAEoCzIXLnB1YmxpY19hcGkuUmVjZW5jeUluZm9IAogBARIRCgRsYW5nGAcgASgJSAOIAQESGAoLc2VxdWVuY2VfaWQYCCABKA1IBIgBARIuCgtlZGl0X2V2ZW50cxgJIAMoCzIZLnB1YmxpY19hcGkuRmlsZUVkaXRFdmVudEIICgZfbW9kZWxCCQoHX3N1ZmZpeEIPCg1fcmVjZW5jeV9pbmZvQgcKBV9sYW5nQg4KDF9zZXF1ZW5jZV9pZCKpAQodQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb24SEgoKcmVxdWVzdF9pZBgBIAEoCRIVCg1lbWl0X3RpbWVfc2VjGAIgASgDEhYKDmVtaXRfdGltZV9uc2VjGAMgASgFEhgKEHJlc29sdmVfdGltZV9zZWMYBCABKAMSGQoRcmVzb2x2ZV90aW1lX25zZWMYBSABKAUSEAoIYWNjZXB0ZWQYBiABKAgiJwolQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb25SZXNwb25zZSLnAQobQ2hhdElucHV0Q29tcGxldGlvblJlc3BvbnNlEgwKBHRleHQYASABKAkSHAoUdW5rbm93bl9tZW1vcnlfbmFtZXMYAiADKAkSIwobc3VnZ2VzdGVkX3ByZWZpeF9jaGFyX2NvdW50GAMgASgNEiMKG3N1Z2dlc3RlZF9zdWZmaXhfY2hhcl9jb3VudBgEIAEoDRI0ChBjb21wbGV0aW9uX2l0ZW1zGAUgAygLMhoucHVibGljX2FwaS5Db21wbGV0aW9uSXRlbRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgGIAEoCCL5EQoLQ2hhdFJlcXVlc3QSEgoFbW9kZWwYASABKAlIAIgBARIRCgRwYXRoGAIgASgJSAGIAQESEwoGcHJlZml4GAMgASgJSAKIAQESGgoNc2VsZWN0ZWRfY29kZRgEIAEoCUgDiAEBEhMKBnN1ZmZpeBgFIAEoCUgEiAEBEg8KB21lc3NhZ2UYBiABKAkSKgoMY2hhdF9oaXN0b3J5GAcgAygLMhQucHVibGljX2FwaS5FeGNoYW5nZRIWCglibG9iX25hbWUYCCABKAlIBYgBARIZCgxwcmVmaXhfYmVnaW4YCSABKAVIBogBARIcCg9jdXJzb3JfcG9zaXRpb24YCiABKAVIB4gBARIXCgpzdWZmaXhfZW5kGAsgASgFSAiIAQESFgoKYmxvYl9uYW1lcxgMIAMoCUICGAESEQoEbGFuZxgNIAEoCUgJiAEBEhMKC3NlcXVlbmNlX2lkGA4gASgNEiAKBWJsb2JzGA8gASgLMhEucHVibGljX2FwaS5CbG9icxIZChF1c2VyX2d1aWRlZF9ibG9icxgRIAMoCRIbChNleHRlcm5hbF9zb3VyY2VfaWRzGBMgAygJEikKHGVuYWJsZV9wcmVmZXJlbmNlX2NvbGxlY3Rpb24YECABKAhICogBARItCiBjb250ZXh0X2NvZGVfZXhjaGFuZ2VfcmVxdWVzdF9pZBgSIAEoCUgLiAEBEioKHWRpc2FibGVfYXV0b19leHRlcm5hbF9zb3VyY2VzGBQgASgISAyIAQESSwoXZmVhdHVyZV9kZXRlY3Rpb25fZmxhZ3MYFSABKAsyJS5wdWJsaWNfYXBpLkNoYXRGZWF0dXJlRGV0ZWN0aW9uRmxhZ3NIDYgBARIcCg91c2VyX2d1aWRlbGluZXMYFiABKAlIDogBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgXIAEoCUgPiAEBEjQKEHRvb2xfZGVmaW5pdGlvbnMYGCADKAsyGi5wdWJsaWNfYXBpLlRvb2xEZWZpbml0aW9uEioKBW5vZGVzGBkgAygLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGUSHAoEbW9kZRgaIAEoDjIOLmNoYXQuQ2hhdE1vZGUSMgoMcGVyc29uYV90eXBlGBwgASgOMhcucHVibGljX2FwaS5QZXJzb25hVHlwZUgQiAEBEh8KBXJ1bGVzGB0gAygLMhAucHVibGljX2FwaS5SdWxlEhMKBnNpbGVudBgeIAEoCEgRiAEBEjsKFHRoaXJkX3BhcnR5X292ZXJyaWRlGB8gASgLMhguY2hhdC5UaGlyZFBhcnR5T3ZlcnJpZGVIEogBARIcCg9jb252ZXJzYXRpb25faWQYICABKAlIE4gBARIaCg1zeXN0ZW1fcHJvbXB0GCEgASgJSBSIAQESRwoac3lzdGVtX3Byb21wdF9yZXBsYWNlbWVudHMYIiADKAsyIy5wdWJsaWNfYXBpLlN5c3RlbVByb21wdFJlcGxhY2VtZW50EiEKBnNraWxscxgkIAMoCzIRLnB1YmxpY19hcGkuU2tpbGwSHQoQYWdlbnRfcGVyc29uYV9pZBglIAEoCUgViAEBEhQKB3R1cm5faWQYJiABKAlIFogBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGCcgASgJSBeIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYKCABKAlIGIgBARIhChRzeXN0ZW1fcHJvbXB0X2FwcGVuZBgpIAEoCUgZiAEBEjYKEmJyaW5nX3lvdXJfb3duX2tleRgqIAEoCzIVLmNoYXQuQnJpbmdZb3VyT3duS2V5SBqIAQESHAoPc3Vic2NyaXB0aW9uX2lkGCsgASgJSBuIAQESEwoLcGVyc29uYV9pZHMYLCADKAkSGwoOc2VuZGVyX3VzZXJfaWQYLSABKAlIHIgBARIkChdwb3NlaWRvbl9zZW5kZXJfdXNlcl9pZBguIAEoCUgdiAEBEjMKE3Zmc19maWxlX3JlZmVyZW5jZXMYLyADKAsyFi5jaGF0LlZGU0ZpbGVSZWZlcmVuY2USMwoTbWNwX3Rvb2xfcmVmZXJlbmNlcxgwIAMoCzIWLmNoYXQuTUNQVG9vbFJlZmVyZW5jZRIdChByZWFzb25pbmdfZWZmb3J0GDEgASgJSB6IAQFCCAoGX21vZGVsQgcKBV9wYXRoQgkKB19wcmVmaXhCEAoOX3NlbGVjdGVkX2NvZGVCCQoHX3N1ZmZpeEIMCgpfYmxvYl9uYW1lQg8KDV9wcmVmaXhfYmVnaW5CEgoQX2N1cnNvcl9wb3NpdGlvbkINCgtfc3VmZml4X2VuZEIHCgVfbGFuZ0IfCh1fZW5hYmxlX3ByZWZlcmVuY2VfY29sbGVjdGlvbkIjCiFfY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWRCIAoeX2Rpc2FibGVfYXV0b19leHRlcm5hbF9zb3VyY2VzQhoKGF9mZWF0dXJlX2RldGVjdGlvbl9mbGFnc0ISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lc0IPCg1fcGVyc29uYV90eXBlQgkKB19zaWxlbnRCFwoVX3RoaXJkX3BhcnR5X292ZXJyaWRlQhIKEF9jb252ZXJzYXRpb25faWRCEAoOX3N5c3RlbV9wcm9tcHRCEwoRX2FnZW50X3BlcnNvbmFfaWRCCgoIX3R1cm5faWRCGQoXX3BhcmVudF9jb252ZXJzYXRpb25faWRCFwoVX3Jvb3RfY29udmVyc2F0aW9uX2lkQhcKFV9zeXN0ZW1fcHJvbXB0X2FwcGVuZEIVChNfYnJpbmdfeW91cl9vd25fa2V5QhIKEF9zdWJzY3JpcHRpb25faWRCEQoPX3NlbmRlcl91c2VyX2lkQhoKGF9wb3NlaWRvbl9zZW5kZXJfdXNlcl9pZEITChFfcmVhc29uaW5nX2VmZm9ydEoECBsQHEoECCMQJFIJY2FudmFzX2lkIooBChVDaGF0UmVxdWVzdEVkaXRFdmVudHMSNAoLZWRpdF9ldmVudHMYASADKAsyHy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0RmlsZUVkaXQSMAoGc291cmNlGAIgASgOMhsucHVibGljX2FwaS5FZGl0RXZlbnRTb3VyY2VIAIgBAUIJCgdfc291cmNlIoYBCg9DaGF0UmVxdWVzdEZpbGUSEQoJZmlsZV9kYXRhGAEgASgJEhIKCm1lZGlhX3R5cGUYAiABKAkSFgoJZmlsZV9uYW1lGAMgASgJSACIAQESFwoKcGFnZV9jb3VudBgEIAEoBUgBiAEBQgwKCl9maWxlX25hbWVCDQoLX3BhZ2VfY291bnQiuwEKE0NoYXRSZXF1ZXN0RmlsZUVkaXQSDAoEcGF0aBgBIAEoCRIdChBiZWZvcmVfYmxvYl9uYW1lGAIgASgJSACIAQESHAoPYWZ0ZXJfYmxvYl9uYW1lGAMgASgJSAGIAQESMAoFZWRpdHMYBCADKAsyIS5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0U2luZ2xlRWRpdEITChFfYmVmb3JlX2Jsb2JfbmFtZUISChBfYWZ0ZXJfYmxvYl9uYW1lIsQBChNDaGF0UmVxdWVzdElkZVN0YXRlEjoKEXdvcmtzcGFjZV9mb2xkZXJzGAEgAygLMh8ucHVibGljX2FwaS5Xb3Jrc3BhY2VGb2xkZXJJbmZvEiMKG3dvcmtzcGFjZV9mb2xkZXJzX3VuY2hhbmdlZBgCIAEoCBI3ChBjdXJyZW50X3Rlcm1pbmFsGAMgASgLMhgucHVibGljX2FwaS5UZXJtaW5hbEluZm9IAIgBAUITChFfY3VycmVudF90ZXJtaW5hbCJTChBDaGF0UmVxdWVzdEltYWdlEhIKCmltYWdlX2RhdGEYASABKAkSKwoGZm9ybWF0GAIgASgOMhsucHVibGljX2FwaS5JbWFnZUZvcm1hdFR5cGUiowQKD0NoYXRSZXF1ZXN0Tm9kZRIKCgJpZBgBIAEoBRItCgR0eXBlGAIgASgOMh8ucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGVUeXBlEjMKCXRleHRfbm9kZRgDIAEoCzIbLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RUZXh0SACIAQESQAoQdG9vbF9yZXN1bHRfbm9kZRgEIAEoCzIhLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RUb29sUmVzdWx0SAGIAQESNQoKaW1hZ2Vfbm9kZRgFIAEoCzIcLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RJbWFnZUgCiAEBEjwKDmlkZV9zdGF0ZV9ub2RlGAcgASgLMh8ucHVibGljX2FwaS5DaGF0UmVxdWVzdElkZVN0YXRlSAOIAQESQAoQZWRpdF9ldmVudHNfbm9kZRgIIAEoCzIhLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RFZGl0RXZlbnRzSASIAQESMwoJZmlsZV9ub2RlGAogASgLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdEZpbGVIBYgBAUIMCgpfdGV4dF9ub2RlQhMKEV90b29sX3Jlc3VsdF9ub2RlQg0KC19pbWFnZV9ub2RlQhEKD19pZGVfc3RhdGVfbm9kZUITChFfZWRpdF9ldmVudHNfbm9kZUIMCgpfZmlsZV9ub2RlSgQIBhAHSgQICRAKInUKFUNoYXRSZXF1ZXN0U2luZ2xlRWRpdBIZChFiZWZvcmVfbGluZV9zdGFydBgBIAEoDRITCgtiZWZvcmVfdGV4dBgCIAEoCRIYChBhZnRlcl9saW5lX3N0YXJ0GAMgASgNEhIKCmFmdGVyX3RleHQYBCABKAkiIgoPQ2hhdFJlcXVlc3RUZXh0Eg8KB2NvbnRlbnQYASABKAki/QIKFUNoYXRSZXF1ZXN0VG9vbFJlc3VsdBITCgt0b29sX3VzZV9pZBgBIAEoCRIPCgdjb250ZW50GAIgASgJEhAKCGlzX2Vycm9yGAMgASgIEhcKCnJlcXVlc3RfaWQYBCABKAlIAIgBARI4Cg1jb250ZW50X25vZGVzGAUgAygLMiEucHVibGljX2FwaS5Ub29sUmVzdWx0Q29udGVudE5vZGUSGAoLZHVyYXRpb25fbXMYBiABKANIAYgBARIaCg1zdGFydF90aW1lX21zGAcgASgDSAKIAQESQQoIbWV0YWRhdGEYCCADKAsyLy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0VG9vbFJlc3VsdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUINCgtfcmVxdWVzdF9pZEIOCgxfZHVyYXRpb25fbXNCEAoOX3N0YXJ0X3RpbWVfbXMijwMKDENoYXRSZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCBI9ChV3b3Jrc3BhY2VfZmlsZV9jaHVua3MYBCADKAsyHi5wdWJsaWNfYXBpLldvcmtzcGFjZUZpbGVDaHVuaxJNCh1pbmNvcnBvcmF0ZWRfZXh0ZXJuYWxfc291cmNlcxgFIAMoCzImLnB1YmxpY19hcGkuSW5jb3Jwb3JhdGVkRXh0ZXJuYWxTb3VyY2USKQoFbm9kZXMYBiADKAsyGi5wdWJsaWNfYXBpLkNoYXRSZXN1bHROb2RlEjQKC3N0b3BfcmVhc29uGAcgASgOMhoucHVibGljX2FwaS5DaGF0U3RvcFJlYXNvbkgAiAEBEiAKE3N1bW1hcml6ZV9hbmRfcmV0cnkYCCABKAhIAYgBAUIOCgxfc3RvcF9yZWFzb25CFgoUX3N1bW1hcml6ZV9hbmRfcmV0cnkiyQIKGUNoYXRSZXN1bHRCaWxsaW5nTWV0YWRhdGESGwoOdHJhbnNhY3Rpb25faWQYASABKAlIAIgBARIYChBjcmVkaXRzX2NvbnN1bWVkGAIgASgFEhAKCGNvc3RfdXNkGAcgASgJEikKCnVzYWdlX3VuaXQYCCABKA4yFS5wdWJsaWNfYXBpLlVzYWdlVW5pdBIhChRlZmZlY3RpdmVfbW9kZWxfbmFtZRgJIAEoCUgBiAEBQhEKD190cmFuc2FjdGlvbl9pZEIXChVfZWZmZWN0aXZlX21vZGVsX25hbWVKBAgDEARKBAgEEAVKBAgFEAZKBAgGEAdSDGlucHV0X3Rva2Vuc1INb3V0cHV0X3Rva2Vuc1IXY2FjaGVfcmVhZF9pbnB1dF90b2tlbnNSG2NhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyKSBAoOQ2hhdFJlc3VsdE5vZGUSCgoCaWQYASABKAUSLAoEdHlwZRgCIAEoDjIeLnB1YmxpY19hcGkuQ2hhdFJlc3VsdE5vZGVUeXBlEg8KB2NvbnRlbnQYAyABKAkSNAoIdG9vbF91c2UYBCABKAsyHS5wdWJsaWNfYXBpLkNoYXRSZXN1bHRUb29sVXNlSACIAQESNQoIdGhpbmtpbmcYBSABKAsyHi5wdWJsaWNfYXBpLkNoYXRSZXN1bHRUaGlua2luZ0gBiAEBEkQKEGJpbGxpbmdfbWV0YWRhdGEYBiABKAsyJS5wdWJsaWNfYXBpLkNoYXRSZXN1bHRCaWxsaW5nTWV0YWRhdGFIAogBARI5CghtZXRhZGF0YRgHIAEoCzIiLnB1YmxpY19hcGkuQ2hhdFJlc3VsdE5vZGVNZXRhZGF0YUgDiAEBEjoKC3Rva2VuX3VzYWdlGAggASgLMiAucHVibGljX2FwaS5DaGF0UmVzdWx0VG9rZW5Vc2FnZUgEiAEBEhkKDHRpbWVzdGFtcF9tcxgKIAEoBEgFiAEBQgsKCV90b29sX3VzZUILCglfdGhpbmtpbmdCEwoRX2JpbGxpbmdfbWV0YWRhdGFCCwoJX21ldGFkYXRhQg4KDF90b2tlbl91c2FnZUIPCg1fdGltZXN0YW1wX21zSgQICRAKUg1jb250ZXh0X3VzYWdlIqYBChZDaGF0UmVzdWx0Tm9kZU1ldGFkYXRhEhYKCW9wZW5haV9pZBgBIAEoCUgAiAEBEhYKCWdvb2dsZV90cxgCIAEoDEgBiAEBEhUKCHByb3ZpZGVyGAMgASgJSAKIAQESEgoFcGhhc2UYBCABKAlIA4gBAUIMCgpfb3BlbmFpX2lkQgwKCl9nb29nbGVfdHNCCwoJX3Byb3ZpZGVyQggKBl9waGFzZSLaAQoSQ2hhdFJlc3VsdFRoaW5raW5nEhQKB3N1bW1hcnkYASABKAlIAIgBARIeChFlbmNyeXB0ZWRfY29udGVudBgCIAEoCUgBiAEBEhQKB2NvbnRlbnQYAyABKAlIAogBARIpChxvcGVuYWlfcmVzcG9uc2VzX2FwaV9pdGVtX2lkGAQgASgJSAOIAQFCCgoIX3N1bW1hcnlCFAoSX2VuY3J5cHRlZF9jb250ZW50QgoKCF9jb250ZW50Qh8KHV9vcGVuYWlfcmVzcG9uc2VzX2FwaV9pdGVtX2lkIuAFChRDaGF0UmVzdWx0VG9rZW5Vc2FnZRIZCgxpbnB1dF90b2tlbnMYASABKAVIAIgBARIaCg1vdXRwdXRfdG9rZW5zGAIgASgFSAGIAQESJAoXY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMYAyABKAVIAogBARIoChtjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMYBCABKAVIA4gBARIhChRzeXN0ZW1fcHJvbXB0X3Rva2VucxgFIAEoBUgEiAEBEiAKE2NoYXRfaGlzdG9yeV90b2tlbnMYBiABKAVIBYgBARIjChZjdXJyZW50X21lc3NhZ2VfdG9rZW5zGAcgASgFSAaIAQESHwoSbWF4X2NvbnRleHRfdG9rZW5zGAggASgFSAeIAQESJAoXdG9vbF9kZWZpbml0aW9uc190b2tlbnMYCSABKAVICIgBARIfChJ0b29sX3Jlc3VsdF90b2tlbnMYCiABKAVICYgBARImChlhc3Npc3RhbnRfcmVzcG9uc2VfdG9rZW5zGAsgASgFSAqIAQESHgoRbWF4X291dHB1dF90b2tlbnMYDSABKAVIC4gBAUIPCg1faW5wdXRfdG9rZW5zQhAKDl9vdXRwdXRfdG9rZW5zQhoKGF9jYWNoZV9yZWFkX2lucHV0X3Rva2Vuc0IeChxfY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zQhcKFV9zeXN0ZW1fcHJvbXB0X3Rva2Vuc0IWChRfY2hhdF9oaXN0b3J5X3Rva2Vuc0IZChdfY3VycmVudF9tZXNzYWdlX3Rva2Vuc0IVChNfbWF4X2NvbnRleHRfdG9rZW5zQhoKGF90b29sX2RlZmluaXRpb25zX3Rva2Vuc0IVChNfdG9vbF9yZXN1bHRfdG9rZW5zQhwKGl9hc3Npc3RhbnRfcmVzcG9uc2VfdG9rZW5zQhQKEl9tYXhfb3V0cHV0X3Rva2VucyJjChFDaGF0UmVzdWx0VG9vbFVzZRITCgt0b29sX3VzZV9pZBgBIAEoCRIRCgl0b29sX25hbWUYAiABKAkSEgoKaW5wdXRfanNvbhgDIAEoCRISCgppc19wYXJ0aWFsGAQgASgIIlwKFkNoZWNrVG9vbFNhZmV0eVJlcXVlc3QSKQoHdG9vbF9pZBgBIAEoDjIYLnB1YmxpY19hcGkuUmVtb3RlVG9vbElkEhcKD3Rvb2xfaW5wdXRfanNvbhgCIAEoCSIqChdDaGVja1Rvb2xTYWZldHlSZXNwb25zZRIPCgdpc19zYWZlGAEgASgIIjoKFkNoZWNrcG9pbnRCbG9ic1JlcXVlc3QSIAoFYmxvYnMYASABKAsyES5wdWJsaWNfYXBpLkJsb2JzIjQKF0NoZWNrcG9pbnRCbG9ic1Jlc3BvbnNlEhkKEW5ld19jaGVja3BvaW50X2lkGAEgASgJIpACChhDbGllbnRDb21wbGV0aW9uVGltZWxpbmUSEgoKcmVxdWVzdF9pZBgBIAEoCRIgChhpbml0aWFsX3JlcXVlc3RfdGltZV9zZWMYAiABKAMSIQoZaW5pdGlhbF9yZXF1ZXN0X3RpbWVfbnNlYxgDIAEoBRIaChJhcGlfc3RhcnRfdGltZV9zZWMYBCABKAMSGwoTYXBpX3N0YXJ0X3RpbWVfbnNlYxgFIAEoBRIYChBhcGlfZW5kX3RpbWVfc2VjGAYgASgDEhkKEWFwaV9lbmRfdGltZV9uc2VjGAcgASgFEhUKDWVtaXRfdGltZV9zZWMYCCABKAMSFgoOZW1pdF90aW1lX25zZWMYCSABKAUiWgofQ2xpZW50Q29tcGxldGlvblRpbWVsaW5lUmVxdWVzdBI3Cgl0aW1lbGluZXMYASADKAsyJC5wdWJsaWNfYXBpLkNsaWVudENvbXBsZXRpb25UaW1lbGluZSIiCiBDbGllbnRDb21wbGV0aW9uVGltZWxpbmVSZXNwb25zZSI6ChJDbGllbnRNZXRyaWNzRXZlbnQSFQoNY2xpZW50X21ldHJpYxgBIAEoCRINCgV2YWx1ZRgCIAEoBCJHChRDbGllbnRNZXRyaWNzUmVxdWVzdBIvCgdtZXRyaWNzGAEgAygLMh4ucHVibGljX2FwaS5DbGllbnRNZXRyaWNzRXZlbnQiFwoVQ2xpZW50TWV0cmljc1Jlc3BvbnNlIo8BChBDbG91ZEFjY2Vzc0VudHJ5EhYKDnByaW5jaXBhbF90eXBlGAEgASgJEhQKDHByaW5jaXBhbF9pZBgCIAEoCRIMCgRyb2xlGAMgASgJEhIKCmdyYW50ZWRfYnkYBCABKAkSEgoKY3JlYXRlZF9hdBgFIAEoCRIXCg9wcmluY2lwYWxfZW1haWwYBiABKAkihAEKF0Nsb3VkQWNjZXNzR3JhbnRSZXF1ZXN0EhMKC29iamVjdF90eXBlGAEgASgJEhEKCW9iamVjdF9pZBgCIAEoCRIzCglwcmluY2lwYWwYAyABKAsyIC5wdWJsaWNfYXBpLkNsb3VkQWNjZXNzUHJpbmNpcGFsEgwKBHJvbGUYBCABKAkiGgoYQ2xvdWRBY2Nlc3NHcmFudFJlc3BvbnNlIkAKFkNsb3VkQWNjZXNzTGlzdFJlcXVlc3QSEwoLb2JqZWN0X3R5cGUYASABKAkSEQoJb2JqZWN0X2lkGAIgASgJIkgKF0Nsb3VkQWNjZXNzTGlzdFJlc3BvbnNlEi0KB2VudHJpZXMYASADKAsyHC5wdWJsaWNfYXBpLkNsb3VkQWNjZXNzRW50cnkiWQoUQ2xvdWRBY2Nlc3NQcmluY2lwYWwSEQoHdXNlcl9pZBgBIAEoCUgAEg8KBWVtYWlsGAIgASgJSAASEAoGdGVuYW50GAMgASgISABCCwoJcHJpbmNpcGFsIncKGENsb3VkQWNjZXNzUmV2b2tlUmVxdWVzdBITCgtvYmplY3RfdHlwZRgBIAEoCRIRCglvYmplY3RfaWQYAiABKAkSMwoJcHJpbmNpcGFsGAMgASgLMiAucHVibGljX2FwaS5DbG91ZEFjY2Vzc1ByaW5jaXBhbCIbChlDbG91ZEFjY2Vzc1Jldm9rZVJlc3BvbnNlItwECgpDbG91ZEFnZW50EhAKCGFnZW50X2lkGAEgASgJEhIKCmFnZW50X25hbWUYAiABKAkSNgoMY2FwYWJpbGl0aWVzGAMgAygOMiAucHVibGljX2FwaS5DbG91ZEFnZW50Q2FwYWJpbGl0eRIsCgZzdGF0dXMYBCABKA4yHC5wdWJsaWNfYXBpLkNsb3VkQWdlbnRTdGF0dXMSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLd29ya2Zsb3dfaWQYByABKAkSGQoNbWVzc2FnZV9jb3VudBgIIAEoDUICGAESEQoJZXhwZXJ0X2lkGAkgASgJEh0KFWV4ZWN1dGlvbl9lbnZpcm9ubWVudBgKIAEoCRIQCghhcmNoaXZlZBgLIAEoCBIQCghzcGFjZV9pZBgMIAEoCRIWCg5lbnZpcm9ubWVudF9pZBgNIAEoCRIRCglkYWVtb25faWQYDiABKAkSFgoOZGFlbW9uX3Bvb2xfaWQYDyABKAkSEwoLcmVzaWRlbnRfaWQYECABKAkSEQoJdm1fc3RhdHVzGBEgASgJEhgKEHZtX2Vycm9yX21lc3NhZ2UYEiABKAkSPgoQdm1fZXJyb3JfZGV0YWlscxgTIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRBZ2VudFZtRXJyb3JEZXRhaWxzEhcKD3BhcmVudF9hZ2VudF9pZBgUIAEoCSJwChdDbG91ZEFnZW50U2Vzc2lvbkNvbmZpZxI3Cg9hZ2VudF9sb29wX3R5cGUYASABKA4yHi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRMb29wVHlwZRISCgVtb2RlbBgCIAEoCUgAiAEBQggKBl9tb2RlbCJxChhDbG91ZEFnZW50Vm1FcnJvckRldGFpbHMSDwoHc3VtbWFyeRgBIAEoCRIMCgRoaW50GAIgASgJEhEKCXJhd19lcnJvchgDIAEoCRIRCglidWlsZF9sb2cYBCABKAkSEAoIYnVpbGRfaWQYBSABKAkiMgoeQ2xvdWRBZ2VudHNBcmNoaXZlQWdlbnRSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJIjMKH0Nsb3VkQWdlbnRzQXJjaGl2ZUFnZW50UmVzcG9uc2USEAoIYWdlbnRfaWQYASABKAkiNAokQ2xvdWRBZ2VudHNBenVyZURldk9wc1Byb3ZpZGVyUGFyYW1zEgwKBGhvc3QYASABKAkiPAonQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHNSZXF1ZXN0EhEKCWFnZW50X2lkcxgBIAMoCSLJAQooQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHNSZXNwb25zZRJlChJjb3VudHNfYnlfYWdlbnRfaWQYASADKAsySS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQmF0Y2hHZXRNZXNzYWdlQ291bnRzUmVzcG9uc2UuQ291bnRzQnlBZ2VudElkRW50cnkaNgoUQ291bnRzQnlBZ2VudElkRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgNOgI4ASLLAgoXQ2xvdWRBZ2VudHNDb250ZW50QmxvY2sSMAoEdGV4dBgBIAEoCzIgLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUZXh0QmxvY2tIABI3Cgh0b29sX3VzZRgCIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUb29sVXNlQmxvY2tIABI9Cgt0b29sX3Jlc3VsdBgDIAEoCzImLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUb29sUmVzdWx0QmxvY2tIABI4Cgh0aGlua2luZxgEIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNUaGlua2luZ0Jsb2NrSAASQwoOZXh0ZXJuYWxfZXZlbnQYBSABKAsyKS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzRXh0ZXJuYWxFdmVudEJsb2NrSABCBwoFYmxvY2sitgIKHUNsb3VkQWdlbnRzQ3JlYXRlQWdlbnRSZXF1ZXN0EhIKCmFnZW50X25hbWUYASABKAkSNgoMY2FwYWJpbGl0aWVzGAIgAygOMiAucHVibGljX2FwaS5DbG91ZEFnZW50Q2FwYWJpbGl0eRIcCg9pbml0aWFsX21lc3NhZ2UYAyABKAlIAIgBARJACg5zZXNzaW9uX2NvbmZpZxgEIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRBZ2VudFNlc3Npb25Db25maWdIAYgBARIcCg9pZGVtcG90ZW5jeV9rZXkYBSABKAlIAogBARIQCghzcGFjZV9pZBgGIAEoCUISChBfaW5pdGlhbF9tZXNzYWdlQhEKD19zZXNzaW9uX2NvbmZpZ0ISChBfaWRlbXBvdGVuY3lfa2V5IkcKHkNsb3VkQWdlbnRzQ3JlYXRlQWdlbnRSZXNwb25zZRIlCgVhZ2VudBgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRBZ2VudCIxCh1DbG91ZEFnZW50c0RlbGV0ZUFnZW50UmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCSJDCh5DbG91ZEFnZW50c0RlbGV0ZUFnZW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIQCghhZ2VudF9pZBgCIAEoCSKXAQodQ2xvdWRBZ2VudHNFeHRlcm5hbEV2ZW50QmxvY2sSDgoGc291cmNlGAEgASgJEhIKCmV2ZW50X3R5cGUYAiABKAkSDwoHc3VtbWFyeRgDIAEoCRIPCgdkZXRhaWxzGAQgASgJEhwKD3N1YnNjcmlwdGlvbl9pZBgFIAEoCUgAiAEBQhIKEF9zdWJzY3JpcHRpb25faWQiLgoaQ2xvdWRBZ2VudHNHZXRBZ2VudFJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkiRAobQ2xvdWRBZ2VudHNHZXRBZ2VudFJlc3BvbnNlEiUKBWFnZW50GAEgASgLMhYucHVibGljX2FwaS5DbG91ZEFnZW50IucCCh1DbG91ZEFnZW50c0dldE1lc3NhZ2VzUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRIhChBhZnRlcl9tZXNzYWdlX2lkGAIgASgJQgIYAUgAiAEBEhIKBWxpbWl0GAMgASgNSAGIAQESOAoPYWZ0ZXJfdGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjkKEGJlZm9yZV90aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQESJAoXaW5jbHVkZV9yZXBsYXlfZmlkZWxpdHkYBiABKAhIBIgBAUITChFfYWZ0ZXJfbWVzc2FnZV9pZEIICgZfbGltaXRCEgoQX2FmdGVyX3RpbWVzdGFtcEITChFfYmVmb3JlX3RpbWVzdGFtcEIaChhfaW5jbHVkZV9yZXBsYXlfZmlkZWxpdHkihwQKHkNsb3VkQWdlbnRzR2V0TWVzc2FnZXNSZXNwb25zZRIwCghtZXNzYWdlcxgBIAMoCzIeLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNNZXNzYWdlEhAKCGhhc19uZXh0GAIgASgIEh0KEGZpcnN0X21lc3NhZ2VfaWQYAyABKAlIAIgBARIcCg9sYXN0X21lc3NhZ2VfaWQYBCABKAlIAYgBARIyCgxhZ2VudF9zdGF0dXMYBSABKA4yHC5wdWJsaWNfYXBpLkNsb3VkQWdlbnRTdGF0dXMSPgoQcGVuZGluZ19tZXNzYWdlcxgGIAMoCzIkLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNRdWV1ZWRNZXNzYWdlEhQKDHF1ZXVlX3BhdXNlZBgHIAEoCBIRCgloYXNfbmV3ZXIYCCABKAgSOQoQb2xkZXN0X3RpbWVzdGFtcBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARI5ChBuZXdlc3RfdGltZXN0YW1wGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBQhMKEV9maXJzdF9tZXNzYWdlX2lkQhIKEF9sYXN0X21lc3NhZ2VfaWRCEwoRX29sZGVzdF90aW1lc3RhbXBCEwoRX25ld2VzdF90aW1lc3RhbXAiawojQ2xvdWRBZ2VudHNHZXRNZXNzYWdlc1N0cmVhbVJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkSHQoQYWZ0ZXJfbWVzc2FnZV9pZBgCIAEoCUgAiAEBQhMKEV9hZnRlcl9tZXNzYWdlX2lkItcBCiRDbG91ZEFnZW50c0dldE1lc3NhZ2VzU3RyZWFtUmVzcG9uc2USEAoIYWdlbnRfaWQYASABKAkSMAoIbWVzc2FnZXMYAiADKAsyHi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzTWVzc2FnZRIdChVwZW5kaW5nX21lc3NhZ2VfY291bnQYAyABKA0SHgoRbGF0ZXN0X21lc3NhZ2VfaWQYBCABKAlIAIgBARIWCg5zdHJlYW1fdGltZW91dBgFIAEoCEIUChJfbGF0ZXN0X21lc3NhZ2VfaWQiPgofQ2xvdWRBZ2VudHNHaXRIdWJQcm92aWRlclBhcmFtcxIMCgRob3N0GAEgASgJEg0KBW93bmVyGAIgASgJIi8KH0Nsb3VkQWdlbnRzR2l0TGFiUHJvdmlkZXJQYXJhbXMSDAoEaG9zdBgBIAEoCSK6AgojQ2xvdWRBZ2VudHNIYW5kb2ZmVG9Qb3NlaWRvblJlcXVlc3QSGAoQdGFza19kZXNjcmlwdGlvbhgBIAEoCRIYChBpbml0aWFsX21lc3NhZ2VzGAIgAygJEhYKCWV4cGVydF9pZBgDIAEoCUgAiAEBEhcKCmFnZW50X25hbWUYBCABKAlIAYgBARIVCg10b3VjaGVkX2ZpbGVzGAUgAygJEh8KEndvcmtpbmdfdHJlZV9wYXRjaBgGIAEoCUgCiAEBEiUKGGV4aXN0aW5nX2NvbnZlcnNhdGlvbl9pZBgHIAEoCUgDiAEBQgwKCl9leHBlcnRfaWRCDQoLX2FnZW50X25hbWVCFQoTX3dvcmtpbmdfdHJlZV9wYXRjaEIbChlfZXhpc3RpbmdfY29udmVyc2F0aW9uX2lkIjgKJENsb3VkQWdlbnRzSGFuZG9mZlRvUG9zZWlkb25SZXNwb25zZRIQCghhZ2VudF9pZBgBIAEoCSKAAwocQ2xvdWRBZ2VudHNMaXN0QWdlbnRzUmVxdWVzdBIUCgxzZWFyY2hfcXVlcnkYASABKAkSGAoQaW5jbHVkZV9hcmNoaXZlZBgCIAEoCBIRCglleHBlcnRfaWQYAyABKAkSMQoNY3JlYXRlZF9hZnRlchgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoOY3JlYXRlZF9iZWZvcmUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKDmluY2x1ZGVfc2hhcmVkGAYgASgIEhsKE2luY2x1ZGVfb2xhY19zaGFyZWQYByABKAgSDQoFbGltaXQYCCABKA0SEgoKcGFnZV90b2tlbhgJIAEoCRIQCghzcGFjZV9pZBgKIAEoCRIaChJkZWZhdWx0X3NwYWNlX29ubHkYCyABKAgSHAoPcGFyZW50X2FnZW50X2lkGAwgASgJSACIAQFCEgoQX3BhcmVudF9hZ2VudF9pZCJyCh1DbG91ZEFnZW50c0xpc3RBZ2VudHNSZXNwb25zZRImCgZhZ2VudHMYASADKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQSEAoIaGFzX21vcmUYAiABKAgSFwoPbmV4dF9wYWdlX3Rva2VuGAMgASgJItEBCiNDbG91ZEFnZW50c01jcENyZWRlbnRpYWxSZXF1aXJlbWVudBIWCg5yZXF1aXJlbWVudF9pZBgBIAEoCRIVCg1tY3BfY29uZmlnX2lkGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRIRCglhdXRoX3R5cGUYBCABKAUSDgoGcmVhc29uGAUgASgJEi4KCmV4cGlyZXNfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCnJlcXVlc3RfaWQYByABKAkiVgobQ2xvdWRBZ2VudHNNY3BUb29sUmVmZXJlbmNlEhEKCXNlcnZlcl9pZBgBIAEoCRIWCgl0b29sX25hbWUYAiABKAlIAIgBAUIMCgpfdG9vbF9uYW1lIowCChJDbG91ZEFnZW50c01lc3NhZ2USCgoCaWQYASABKAkSDAoEcm9sZRgCIAEoCRI0Cgdjb250ZW50GAMgAygLMiMucHVibGljX2FwaS5DbG91ZEFnZW50c0NvbnRlbnRCbG9jaxIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI9CghtZXRhZGF0YRgFIAEoCzImLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNNZXNzYWdlTWV0YWRhdGFIAIgBARIZCgxjb21wb3NpdGVfaWQYBiABKAlIAYgBAUILCglfbWV0YWRhdGFCDwoNX2NvbXBvc2l0ZV9pZCLOAQohQ2xvdWRBZ2VudHNNZXNzYWdlQmlsbGluZ01ldGFkYXRhEhYKDnRyYW5zYWN0aW9uX2lkGAEgASgJEhgKEGNyZWRpdHNfY29uc3VtZWQYAiABKAUSEAoIY29zdF91c2QYAyABKAkSKQoKdXNhZ2VfdW5pdBgEIAEoDjIVLnB1YmxpY19hcGkuVXNhZ2VVbml0EiEKFGVmZmVjdGl2ZV9tb2RlbF9uYW1lGAUgASgJSACIAQFCFwoVX2VmZmVjdGl2ZV9tb2RlbF9uYW1lItgFChpDbG91ZEFnZW50c01lc3NhZ2VNZXRhZGF0YRIXCgpyZXF1ZXN0X2lkGAEgASgJSACIAQESGAoLc3RvcF9yZWFzb24YAiABKAlIAYgBARISCgVtb2RlbBgDIAEoCUgCiAEBEjsKC3Rva2VuX3VzYWdlGAQgASgLMiEucHVibGljX2FwaS5DbG91ZEFnZW50c1Rva2VuVXNhZ2VIA4gBARIcCg90dXJuX3JlcXVlc3RfaWQYBSABKAlIBIgBARIXCgppc19wYXJ0aWFsGAYgASgISAWIAQESFQoIaXNfZmluYWwYByABKAhIBogBARIoChtwZXJzaXN0ZWRfdGhyb3VnaF9ldmVudF9zZXEYCCABKANIB4gBARIcCg9zdWJzY3JpcHRpb25faWQYCSABKAlICIgBARIbCg5zZW5kZXJfdXNlcl9pZBgKIAEoCUgJiAEBEkcKEGJpbGxpbmdfbWV0YWRhdGEYCyADKAsyLS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzTWVzc2FnZUJpbGxpbmdNZXRhZGF0YRJEChN2ZnNfZmlsZV9yZWZlcmVuY2VzGAwgAygLMicucHVibGljX2FwaS5DbG91ZEFnZW50c1Zmc0ZpbGVSZWZlcmVuY2USRAoTbWNwX3Rvb2xfcmVmZXJlbmNlcxgNIAMoCzInLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNNY3BUb29sUmVmZXJlbmNlQg0KC19yZXF1ZXN0X2lkQg4KDF9zdG9wX3JlYXNvbkIICgZfbW9kZWxCDgoMX3Rva2VuX3VzYWdlQhIKEF90dXJuX3JlcXVlc3RfaWRCDQoLX2lzX3BhcnRpYWxCCwoJX2lzX2ZpbmFsQh4KHF9wZXJzaXN0ZWRfdGhyb3VnaF9ldmVudF9zZXFCEgoQX3N1YnNjcmlwdGlvbl9pZEIRCg9fc2VuZGVyX3VzZXJfaWQiUAoZQ2xvdWRBZ2VudHNQcm92aWRlclBhcmFtcxIQCghwcm92aWRlchgBIAEoCRIMCgRob3N0GAIgASgJEhMKC3BhdGhfcHJlZml4GAMgASgJIm4KGENsb3VkQWdlbnRzUXVldWVkTWVzc2FnZRIQCghldmVudF9pZBgBIAEoCRIvCgtyZWNlaXZlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHY29udGVudBgDIAEoCSKuAwonQ2xvdWRBZ2VudHNSZWZyZXNoR2l0Q3JlZGVudGlhbHNSZXF1ZXN0Ej0KBmdpdGh1YhgDIAEoCzIrLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNHaXRIdWJQcm92aWRlclBhcmFtc0gAEj0KBmdpdGxhYhgEIAEoCzIrLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNHaXRMYWJQcm92aWRlclBhcmFtc0gAEkgKDGF6dXJlX2Rldm9wcxgFIAEoCzIwLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNBenVyZURldk9wc1Byb3ZpZGVyUGFyYW1zSAASOAoHZ2VuZXJpYxgJIAEoCzIlLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNQcm92aWRlclBhcmFtc0gAEh4KFmNhcGFiaWxpdHlfaW5zdGFuY2VfaWQYASABKAkSEgoKc2tpcF9jYWNoZRgCIAEoCBIQCghhZ2VudF9pZBgGIAEoCRISCgpyZXF1ZXN0X2lkGAcgASgJEhQKDGRhZW1vbl92bV9pZBgIIAEoCUIRCg9wcm92aWRlcl9wYXJhbXMiKgooQ2xvdWRBZ2VudHNSZWZyZXNoR2l0Q3JlZGVudGlhbHNSZXNwb25zZSJDCh1DbG91ZEFnZW50c1JlbmFtZUFnZW50UmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRIQCghuZXdfbmFtZRgCIAEoCSJHCh5DbG91ZEFnZW50c1JlbmFtZUFnZW50UmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQiYQoiQ2xvdWRBZ2VudHNSZXF1ZXN0TWNwU2VydmVyUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRIVCg1tY3BfY29uZmlnX2lkGAIgASgJEhIKCnJlcXVlc3RfaWQYAyABKAkipgEKI0Nsb3VkQWdlbnRzUmVxdWVzdE1jcFNlcnZlclJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRJUChZjcmVkZW50aWFsX3JlcXVpcmVtZW50GAIgASgLMi8ucHVibGljX2FwaS5DbG91ZEFnZW50c01jcENyZWRlbnRpYWxSZXF1aXJlbWVudEgAiAEBQhkKF19jcmVkZW50aWFsX3JlcXVpcmVtZW50InQKHUNsb3VkQWdlbnRzU2VuZE1lc3NhZ2VSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSHAoPaWRlbXBvdGVuY3lfa2V5GAMgASgJSACIAQFCEgoQX2lkZW1wb3RlbmN5X2tleSJrCh5DbG91ZEFnZW50c1NlbmRNZXNzYWdlUmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQSDgoGcXVldWVkGAIgASgIEhIKCnJlcXVlc3RfaWQYAyABKAkijgEKFENsb3VkQWdlbnRzVGV4dEJsb2NrEgwKBHRleHQYASABKAkSFgoJZ29vZ2xlX3RzGAIgASgMSACIAQESFgoJb3BlbmFpX2lkGAMgASgJSAGIAQESEgoFcGhhc2UYBCABKAlIAogBAUIMCgpfZ29vZ2xlX3RzQgwKCl9vcGVuYWlfaWRCCAoGX3BoYXNlIs0BChhDbG91ZEFnZW50c1RoaW5raW5nQmxvY2sSDwoHY29udGVudBgBIAEoCRIUCgdzdW1tYXJ5GAIgASgJSACIAQESHgoRZW5jcnlwdGVkX2NvbnRlbnQYAyABKAlIAYgBARIVCghwcm92aWRlchgEIAEoCUgCiAEBEhYKCW9wZW5haV9pZBgFIAEoCUgDiAEBQgoKCF9zdW1tYXJ5QhQKEl9lbmNyeXB0ZWRfY29udGVudEILCglfcHJvdmlkZXJCDAoKX29wZW5haV9pZCL8AgoVQ2xvdWRBZ2VudHNUb2tlblVzYWdlEhQKDGlucHV0X3Rva2VucxgBIAEoDRIVCg1vdXRwdXRfdG9rZW5zGAIgASgNEh8KF2NhY2hlX3JlYWRfaW5wdXRfdG9rZW5zGAMgASgNEiMKG2NhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucxgEIAEoDRIcChRzeXN0ZW1fcHJvbXB0X3Rva2VucxgFIAEoDRIbChNjaGF0X2hpc3RvcnlfdG9rZW5zGAYgASgNEh4KFmN1cnJlbnRfbWVzc2FnZV90b2tlbnMYByABKA0SGgoSbWF4X2NvbnRleHRfdG9rZW5zGAggASgNEh8KF3Rvb2xfZGVmaW5pdGlvbnNfdG9rZW5zGAkgASgNEhoKEnRvb2xfcmVzdWx0X3Rva2VucxgKIAEoDRIhChlhc3Npc3RhbnRfcmVzcG9uc2VfdG9rZW5zGAsgASgNEhkKEW1heF9vdXRwdXRfdG9rZW5zGAwgASgNImYKGkNsb3VkQWdlbnRzVG9vbFJlc3VsdEJsb2NrEhMKC3Rvb2xfdXNlX2lkGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSFQoIaXNfZXJyb3IYAyABKAhIAIgBAUILCglfaXNfZXJyb3IirAEKF0Nsb3VkQWdlbnRzVG9vbFVzZUJsb2NrEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFaW5wdXQYAyABKAkSFgoJZ29vZ2xlX3RzGAQgASgMSACIAQESFgoJb3BlbmFpX2lkGAUgASgJSAGIAQESEgoFcGhhc2UYBiABKAlIAogBAUIMCgpfZ29vZ2xlX3RzQgwKCl9vcGVuYWlfaWRCCAoGX3BoYXNlIjQKIENsb3VkQWdlbnRzVW5hcmNoaXZlQWdlbnRSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJIjUKIUNsb3VkQWdlbnRzVW5hcmNoaXZlQWdlbnRSZXNwb25zZRIQCghhZ2VudF9pZBgBIAEoCSJoCihDbG91ZEFnZW50c1VwZGF0ZUFnZW50U2Vzc2lvblRhZ3NSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJEgsKA2tleRgCIAEoCRINCgV2YWx1ZRgDIAEoCRIOCgZkZWxldGUYBCABKAgiUgopQ2xvdWRBZ2VudHNVcGRhdGVBZ2VudFNlc3Npb25UYWdzUmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQidgolQ2xvdWRBZ2VudHNVcGRhdGVTZXNzaW9uQ29uZmlnUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRI7Cg5zZXNzaW9uX2NvbmZpZxgCIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRBZ2VudFNlc3Npb25Db25maWciTwomQ2xvdWRBZ2VudHNVcGRhdGVTZXNzaW9uQ29uZmlnUmVzcG9uc2USJQoFYWdlbnQYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkQWdlbnQidQobQ2xvdWRBZ2VudHNWZnNGaWxlUmVmZXJlbmNlEg8KB2ZpbGVfaWQYASABKAkSFQoNZmlsZXN5c3RlbV9pZBgCIAEoCRIMCgRwYXRoGAMgASgJEhAKCHNwYWNlX2lkGAQgASgJEg4KBmlzX2RpchgFIAEoCCL5AgoPQ2xvdWREYWVtb25Qb29sEgoKAmlkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRISCgp2aXNpYmlsaXR5GAQgASgFEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgFIAEoCRIcChRjcmVhdGVkX2J5X3VzZXJfbmFtZRgGIAEoCRISCgpjcmVhdGVkX2F0GAcgASgJEhIKCnVwZGF0ZWRfYXQYCCABKAkSGAoQcmVzb3VyY2VfdmVyc2lvbhgJIAEoAxISCgpkZWxldGVkX2F0GAogASgJEiAKGGRhZW1vbl9jb25uZWN0b3JfdXNlcl9pZBgLIAEoCRIQCghzcGFjZV9pZBgMIAEoCRJXChp3b3Jrc3BhY2VfaXNvbGF0aW9uX3BvbGljeRgNIAEoDjIzLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sV29ya3NwYWNlSXNvbGF0aW9uUG9saWN5Il8KHUNsb3VkRGFlbW9uUG9vbENvbm5lY3RvcklucHV0EhEKB3VzZXJfaWQYASABKAlIABIeChRzZXJ2aWNlX2FjY291bnRfbmFtZRgCIAEoCUgAQgsKCWNvbm5lY3RvciLLAQoVQ2xvdWREYWVtb25Qb29sRGFlbW9uEg0KBXZtX2lkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLc2xvdHNfdG90YWwYAyABKAUSFAoMc2xvdHNfaW5fdXNlGAQgASgFEhYKDndvcmtzcGFjZV9wYXRoGAUgASgJEhQKDGNvbm5lY3RlZF9hdBgGIAEoCRIWCg5sYXN0X2hlYXJ0YmVhdBgHIAEoCRIPCgdwb29sX2lkGAggASgJEhMKC2NsaV92ZXJzaW9uGAkgASgJIsIBChVDbG91ZERhZW1vblBvb2xTdGF0dXMSFgoOZGFlbW9uc19vbmxpbmUYASABKAUSEwoLc2xvdHNfdG90YWwYAiABKAUSFAoMc2xvdHNfaW5fdXNlGAMgASgFEhgKEGxhc3RfZGFlbW9uX3NlZW4YBCABKAkSKgodd29ya3RyZWVfY2FwYWJsZV9kYWVtb25fY291bnQYBSABKAVIAIgBAUIgCh5fd29ya3RyZWVfY2FwYWJsZV9kYWVtb25fY291bnQipQUKEENsb3VkRW52aXJvbm1lbnQSEAoIaW1hZ2VfaWQYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhcKD2N1cnJlbnRfdmVyc2lvbhgEIAEoCRISCgZzdGF0dXMYBSABKAVCAhgBEhIKCnZpc2liaWxpdHkYBiABKAUSFgoObW9kYWxfaW1hZ2VfaWQYByABKAkSEgoKY3JlYXRlZF9hdBgIIAEoCRISCgp1cGRhdGVkX2F0GAkgASgJEhgKEHJlc291cmNlX3ZlcnNpb24YCiABKAMSOgoFcmVwb3MYCyADKAsyKy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRDbG9uZVJlcG9zaXRvcnkSRAoVZW52aXJvbm1lbnRfdmFyaWFibGVzGAwgASgLMiUucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50VmFyaWFibGVzEhIKCmJhc2VfaW1hZ2UYDSABKAkSFwoPcmVmcmVzaF9lbmFibGVkGA4gASgIEhAKCHNwYWNlX2lkGA8gASgJEjQKBHRhZ3MYECADKAsyJi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnQuVGFnc0VudHJ5EjwKEGxpZmVjeWNsZV9zdGF0dXMYESABKA4yIi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRTdGF0dXMSGwoTc2FuZGJveF9wcm92aWRlcl9pZBgSIAEoCRI6ChBzYW5kYm94X3Byb3ZpZGVyGBMgASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlchorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJtCh9DbG91ZEVudmlyb25tZW50Q2xvbmVSZXBvc2l0b3J5Eg0KBW93bmVyGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGYnJhbmNoGAMgASgJEgwKBGhvc3QYBCABKAkSDwoHcHJvamVjdBgFIAEoCSKeAwoWQ2xvdWRFbnZpcm9ubWVudENvbmZpZxIUCgxkaXNwbGF5X25hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEgoKdmlzaWJpbGl0eRgDIAEoBRI6CgVyZXBvcxgEIAMoCzIrLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENsb25lUmVwb3NpdG9yeRJEChVlbnZpcm9ubWVudF92YXJpYWJsZXMYBSABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWYXJpYWJsZXMSEgoKYmFzZV9pbWFnZRgGIAEoCRIXCg9yZWZyZXNoX2VuYWJsZWQYByABKAgSEAoIc3BhY2VfaWQYCCABKAkSOgoEdGFncxgJIAMoCzIsLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENvbmZpZy5UYWdzRW50cnkSGwoTc2FuZGJveF9wcm92aWRlcl9pZBgKIAEoCRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK7BAoZQ2xvdWRFbnZpcm9ubWVudE9wZXJhdGlvbhIUCgxvcGVyYXRpb25faWQYASABKAkSQQoOb3BlcmF0aW9uX3R5cGUYAiABKA4yKS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25UeXBlEhYKDmVudmlyb25tZW50X2lkGAMgASgJEjkKBXN0YXRlGAQgASgOMioucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uU3RhdGUSOQoFcGhhc2UYBSABKA4yKi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25QaGFzZRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnN0YXJ0ZWRfYXQYByABKAkSEgoKdXBkYXRlZF9hdBgIIAEoCRIUCgxjb21wbGV0ZWRfYXQYCSABKAkSHQoQc3RhcnRpbmdfdmVyc2lvbhgKIAEoCUgAiAEBEiEKGXN0YXJ0aW5nX3Jlc291cmNlX3ZlcnNpb24YCyABKAMSOwoGcmVzdWx0GA0gASgLMisucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uUmVzdWx0EjkKBWVycm9yGA4gASgLMioucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uRXJyb3JCEwoRX3N0YXJ0aW5nX3ZlcnNpb25KBAgMEA1SEGNhbmNlbF9yZXF1ZXN0ZWQiggEKHkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25FcnJvchI8CgRjb2RlGAEgASgOMi4ucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uRXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSEQoJcmV0cnlhYmxlGAMgASgIImQKH0Nsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25SZXN1bHQSFgoObW9kYWxfaW1hZ2VfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIYChByZXNvdXJjZV92ZXJzaW9uGAMgASgDImoKE0Nsb3VkRW52aXJvbm1lbnRSZWYSFwoNYmFzZV9pbWFnZV9pZBgBIAEoCUgAEhgKDmRhZW1vbl9wb29sX2lkGAIgASgJSAASFgoMZGFlbW9uX3ZtX2lkGAMgASgJSABCCAoGdGFyZ2V0IocFChdDbG91ZEVudmlyb25tZW50U3VtbWFyeRI4Cgtwb29sX3N0YXR1cxgUIAEoCzIhLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sU3RhdHVzSAASOgoIdW5wb29sZWQYFSABKAsyJi5wdWJsaWNfYXBpLkNsb3VkVW5wb29sZWREYWVtb25TdW1tYXJ5SAASCgoCaWQYASABKAkSLgoEa2luZBgCIAEoDjIgLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEtpbmQSFAoMZGlzcGxheV9uYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhIKCnZpc2liaWxpdHkYBSABKAUSEgoKY3JlYXRlZF9hdBgGIAEoCRISCgp1cGRhdGVkX2F0GAcgASgJEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgIIAEoCRIcChRjcmVhdGVkX2J5X3VzZXJfbmFtZRgJIAEoCRIQCghzcGFjZV9pZBgKIAEoCRIXCg9jdXJyZW50X3ZlcnNpb24YCyABKAkSMgoGc3RhdHVzGAwgASgOMiIucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50U3RhdHVzElcKGndvcmtzcGFjZV9pc29sYXRpb25fcG9saWN5GA0gASgOMjMucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2xXb3Jrc3BhY2VJc29sYXRpb25Qb2xpY3kSGwoTc2FuZGJveF9wcm92aWRlcl9pZBgOIAEoCRI6ChBzYW5kYm94X3Byb3ZpZGVyGA8gASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlckIICgZleHRyYXMiNwoYQ2xvdWRFbnZpcm9ubWVudFZhcmlhYmxlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkiVAoZQ2xvdWRFbnZpcm9ubWVudFZhcmlhYmxlcxI3Cgl2YXJpYWJsZXMYASADKAsyJC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWYXJpYWJsZSKzAgoXQ2xvdWRFbnZpcm9ubWVudFZlcnNpb24SEAoIaW1hZ2VfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIVCg1nY3BfaW1hZ2VfdXJsGAMgASgJEhcKD3Vwc3RyZWFtX2RpZ2VzdBgEIAEoCRISCgpjcmVhdGVkX2F0GAUgASgJEhIKBnN0YXR1cxgGIAEoBUICGAESFQoNZXJyb3JfbWVzc2FnZRgHIAEoCRIWCg5tb2RhbF9pbWFnZV9pZBgIIAEoCRIVCg11cGRhdGVfc2NyaXB0GAkgASgJEhkKEWhhc191cGRhdGVfc2NyaXB0GAogASgIEjwKEGxpZmVjeWNsZV9zdGF0dXMYCyABKA4yIi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRTdGF0dXMiqwEKHENsb3VkRW52aXJvbm1lbnRWZXJzaW9uRW50cnkSGAoQcmVzb3VyY2VfdmVyc2lvbhgBIAEoAxIyCgZjb25maWcYAiABKAsyIi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRDb25maWcSEwoLbW9kaWZpZWRfYnkYAyABKAkSEwoLbW9kaWZpZWRfYXQYBCABKAkSEwoLY2hhbmdlX3R5cGUYBSABKAkiPwonQ2xvdWRFbnZpcm9ubWVudHNDYW5jZWxPcGVyYXRpb25SZXF1ZXN0EhQKDG9wZXJhdGlvbl9pZBgBIAEoCSJkCihDbG91ZEVudmlyb25tZW50c0NhbmNlbE9wZXJhdGlvblJlc3BvbnNlEjgKCW9wZXJhdGlvbhgBIAEoCzIlLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudE9wZXJhdGlvbiKFAQonQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVCYXNlSW1hZ2VSZXF1ZXN0EjIKBmNvbmZpZxgBIAEoCzIiLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENvbmZpZxIXCgpiYXNlX2ltYWdlGAIgASgJSACIAQFCDQoLX2Jhc2VfaW1hZ2UiXQooQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVCYXNlSW1hZ2VSZXNwb25zZRIxCgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudCKmAgooQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVEYWVtb25Qb29sUmVxdWVzdBIUCgxkaXNwbGF5X25hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSFwoKdmlzaWJpbGl0eRgDIAEoBUgAiAEBEjwKCWNvbm5lY3RvchgEIAEoCzIpLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sQ29ubmVjdG9ySW5wdXQSEAoIc3BhY2VfaWQYBSABKAkSVwoad29ya3NwYWNlX2lzb2xhdGlvbl9wb2xpY3kYBiABKA4yMy5wdWJsaWNfYXBpLkNsb3VkRGFlbW9uUG9vbFdvcmtzcGFjZUlzb2xhdGlvblBvbGljeUINCgtfdmlzaWJpbGl0eSJWCilDbG91ZEVudmlyb25tZW50c0NyZWF0ZURhZW1vblBvb2xSZXNwb25zZRIpCgRwb29sGAEgASgLMhsucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2wi2gEKLUNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIMCgRzbHVnGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIUCgdlbmFibGVkGAUgASgISACIAQESEQoJc3BhY2VfaWRzGAYgAygJEhcKCmFsbF9zcGFjZXMYByABKAhIAYgBAUIKCghfZW5hYmxlZEINCgtfYWxsX3NwYWNlc0oECAQQBVINcHJvdmlkZXJfdHlwZSJkCi5DbG91ZEVudmlyb25tZW50c0NyZWF0ZVNhbmRib3hQcm92aWRlclJlc3BvbnNlEjIKCHByb3ZpZGVyGAEgASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlciI7CidDbG91ZEVudmlyb25tZW50c0RlbGV0ZUJhc2VJbWFnZVJlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkiKgooQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVCYXNlSW1hZ2VSZXNwb25zZSI2CihDbG91ZEVudmlyb25tZW50c0RlbGV0ZURhZW1vblBvb2xSZXF1ZXN0EgoKAmlkGAEgASgJIisKKUNsb3VkRW52aXJvbm1lbnRzRGVsZXRlRGFlbW9uUG9vbFJlc3BvbnNlIl4KLUNsb3VkRW52aXJvbm1lbnRzRGVsZXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAIgASgDIjAKLkNsb3VkRW52aXJvbm1lbnRzRGVsZXRlU2FuZGJveFByb3ZpZGVyUmVzcG9uc2UihwEKKkNsb3VkRW52aXJvbm1lbnRzRHVwbGljYXRlQmFzZUltYWdlUmVxdWVzdBIXCg9zb3VyY2VfaW1hZ2VfaWQYASABKAkSGAoQbmV3X2Rpc3BsYXlfbmFtZRgCIAEoCRIXCgp2aXNpYmlsaXR5GAMgASgFSACIAQFCDQoLX3Zpc2liaWxpdHkiYAorQ2xvdWRFbnZpcm9ubWVudHNEdXBsaWNhdGVCYXNlSW1hZ2VSZXNwb25zZRIxCgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudCJECipDbG91ZEVudmlyb25tZW50c0dldEFjdGl2ZU9wZXJhdGlvblJlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYASABKAkiZworQ2xvdWRFbnZpcm9ubWVudHNHZXRBY3RpdmVPcGVyYXRpb25SZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24irgEKJkNsb3VkRW52aXJvbm1lbnRzR2V0RW52aXJvbm1lbnRSZXF1ZXN0EhQKCGltYWdlX2lkGAEgASgJQgIYARIcChBpbmNsdWRlX3ZlcnNpb25zGAIgASgIQgIYARIsCgNyZWYYAyABKAsyHy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRSZWYSIgoacmVzb2x2ZV91c2VyX2Rpc3BsYXlfbmFtZXMYBCABKAgihwMKJ0Nsb3VkRW52aXJvbm1lbnRzR2V0RW52aXJvbm1lbnRSZXNwb25zZRIyCgpiYXNlX2ltYWdlGAQgASgLMhwucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50SAASMgoLZGFlbW9uX3Bvb2wYBSABKAsyGy5wdWJsaWNfYXBpLkNsb3VkRGFlbW9uUG9vbEgAEkEKD3VucG9vbGVkX2RhZW1vbhgGIAEoCzImLnB1YmxpY19hcGkuQ2xvdWRVbnBvb2xlZERhZW1vblN1bW1hcnlIABI1CgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEICGAESOQoIdmVyc2lvbnMYAiADKAsyIy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWZXJzaW9uQgIYARI0CgdzdW1tYXJ5GAMgASgLMiMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50U3VtbWFyeUIJCgdkZXRhaWxzIjwKJENsb3VkRW52aXJvbm1lbnRzR2V0T3BlcmF0aW9uUmVxdWVzdBIUCgxvcGVyYXRpb25faWQYASABKAkiYQolQ2xvdWRFbnZpcm9ubWVudHNHZXRPcGVyYXRpb25SZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24idwoqQ2xvdWRFbnZpcm9ubWVudHNHZXRTYW5kYm94UHJvdmlkZXJSZXF1ZXN0EgwKBHNsdWcYASABKAkSFwoPaW5jbHVkZV9kZWxldGVkGAIgASgIEhUKCHNwYWNlX2lkGAMgASgJSACIAQFCCwoJX3NwYWNlX2lkImEKK0Nsb3VkRW52aXJvbm1lbnRzR2V0U2FuZGJveFByb3ZpZGVyUmVzcG9uc2USMgoIcHJvdmlkZXIYASABKAsyIC5wdWJsaWNfYXBpLkNsb3VkU2FuZGJveFByb3ZpZGVyIlAKIkNsb3VkRW52aXJvbm1lbnRzR2V0VmVyc2lvblJlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkSGAoQcmVzb3VyY2VfdmVyc2lvbhgCIAEoAyJgCiNDbG91ZEVudmlyb25tZW50c0dldFZlcnNpb25SZXNwb25zZRI5Cgd2ZXJzaW9uGAEgASgLMigucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50VmVyc2lvbkVudHJ5Il8KK0Nsb3VkRW52aXJvbm1lbnRzTGlzdEJhc2VJbWFnZUJ1aWxkc1JlcXVlc3QSEAoIaW1hZ2VfaWQYASABKAkSHgoWaW5jbHVkZV91cGRhdGVfc2NyaXB0cxgCIAEoCCJjCixDbG91ZEVudmlyb25tZW50c0xpc3RCYXNlSW1hZ2VCdWlsZHNSZXNwb25zZRIzCgZidWlsZHMYASADKAsyIy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWZXJzaW9uIkAKLUNsb3VkRW52aXJvbm1lbnRzTGlzdERhZW1vblBvb2xEYWVtb25zUmVxdWVzdBIPCgdwb29sX2lkGAEgASgJImQKLkNsb3VkRW52aXJvbm1lbnRzTGlzdERhZW1vblBvb2xEYWVtb25zUmVzcG9uc2USMgoHZGFlbW9ucxgBIAMoCzIhLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sRGFlbW9uIogDCihDbG91ZEVudmlyb25tZW50c0xpc3RFbnZpcm9ubWVudHNSZXF1ZXN0EhcKD2luY2x1ZGVfZGVsZXRlZBgBIAEoCBIiChpyZXNvbHZlX3VzZXJfZGlzcGxheV9uYW1lcxgCIAEoCBIvCgVraW5kcxgDIAMoDjIgLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEtpbmQSEQoJcGFnZV9zaXplGAQgASgFEhIKCnBhZ2VfdG9rZW4YBSABKAkSOQoIb3JkZXJfYnkYBiABKA4yJy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRMaXN0T3JkZXJCeRIUCgxzZWFyY2hfcXVlcnkYByABKAkSEgoKb3duZWRfb25seRgIIAEoCBI0CgVzY29wZRgJIAEoDjIlLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudExpc3RTY29wZRIQCghzcGFjZV9pZBgKIAEoCRIaChJkZWZhdWx0X3NwYWNlX29ubHkYCyABKAgi1QEKKUNsb3VkRW52aXJvbm1lbnRzTGlzdEVudmlyb25tZW50c1Jlc3BvbnNlEjYKDGVudmlyb25tZW50cxgBIAMoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudEICGAESQgoVZW52aXJvbm1lbnRfc3VtbWFyaWVzGAIgAygLMiMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50U3VtbWFyeRIXCg9uZXh0X3BhZ2VfdG9rZW4YAyABKAkSEwoLdG90YWxfY291bnQYBCABKAUiawosQ2xvdWRFbnZpcm9ubWVudHNMaXN0U2FuZGJveFByb3ZpZGVyc1JlcXVlc3QSFwoPaW5jbHVkZV9kZWxldGVkGAEgASgIEhUKCHNwYWNlX2lkGAIgASgJSACIAQFCCwoJX3NwYWNlX2lkImQKLUNsb3VkRW52aXJvbm1lbnRzTGlzdFNhbmRib3hQcm92aWRlcnNSZXNwb25zZRIzCglwcm92aWRlcnMYASADKAsyIC5wdWJsaWNfYXBpLkNsb3VkU2FuZGJveFByb3ZpZGVyIkcKJENsb3VkRW52aXJvbm1lbnRzTGlzdFZlcnNpb25zUmVxdWVzdBIQCghpbWFnZV9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBSJjCiVDbG91ZEVudmlyb25tZW50c0xpc3RWZXJzaW9uc1Jlc3BvbnNlEjoKCHZlcnNpb25zGAEgAygLMigucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50VmVyc2lvbkVudHJ5IvEBCihDbG91ZEVudmlyb25tZW50c1JlYnVpbGRCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEh0KEHByb3Zpc2lvbl9zY3JpcHQYAiABKAlIAIgBARIeChF2bV9zdGFydHVwX3NjcmlwdBgDIAEoCUgBiAEBEhsKDmJhc2VfaW1hZ2VfcmVmGAQgASgJSAKIAQFCEwoRX3Byb3Zpc2lvbl9zY3JpcHRCFAoSX3ZtX3N0YXJ0dXBfc2NyaXB0QhEKD19iYXNlX2ltYWdlX3JlZkoECAUQBlITdXNlX2RlZmF1bHRfc2NyaXB0cyJtCilDbG91ZEVudmlyb25tZW50c1JlYnVpbGRCYXNlSW1hZ2VSZXNwb25zZRIWCg5tb2RhbF9pbWFnZV9pZBgBIAEoCRISCgp1cGRhdGVkX2F0GAMgASgJSgQIAhADUg5hdWdtZW50X2NvbW1pdCJwCihDbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEh8KDmVudmlyb25tZW50X2lkGAIgASgJQgIYAUgAiAEBQhEKD19lbnZpcm9ubWVudF9pZCIrCilDbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXNwb25zZSI8CihDbG91ZEVudmlyb25tZW50c1Jlc3RvcmVCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJIl4KKUNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZUJhc2VJbWFnZVJlc3BvbnNlEjEKC2Vudmlyb25tZW50GAEgASgLMhwucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50IjcKKUNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2xSZXF1ZXN0EgoKAmlkGAEgASgJIlcKKkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2xSZXNwb25zZRIpCgRwb29sGAEgASgLMhsucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2wiXwouQ2xvdWRFbnZpcm9ubWVudHNSZXN0b3JlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAIgASgDImUKL0Nsb3VkRW52aXJvbm1lbnRzUmVzdG9yZVNhbmRib3hQcm92aWRlclJlc3BvbnNlEjIKCHByb3ZpZGVyGAEgASgLMiAucHVibGljX2FwaS5DbG91ZFNhbmRib3hQcm92aWRlciKjAQosQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZUNyZWF0ZVJlcXVlc3QSMgoGY29uZmlnGAEgASgLMiIucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50Q29uZmlnEhcKCmJhc2VfaW1hZ2UYAiABKAlIAIgBARIXCg9pZGVtcG90ZW5jeV9rZXkYAyABKAlCDQoLX2Jhc2VfaW1hZ2UinAEKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VDcmVhdGVSZXNwb25zZRIxCgtlbnZpcm9ubWVudBgBIAEoCzIcLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudBI4CglvcGVyYXRpb24YAiABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24i+gEKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkUmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSHQoQcHJvdmlzaW9uX3NjcmlwdBgDIAEoCUgAiAEBEh4KEXZtX3N0YXJ0dXBfc2NyaXB0GAQgASgJSAGIAQESGwoOYmFzZV9pbWFnZV9yZWYYBSABKAlIAogBAUITChFfcHJvdmlzaW9uX3NjcmlwdEIUChJfdm1fc3RhcnR1cF9zY3JpcHRCEQoPX2Jhc2VfaW1hZ2VfcmVmImoKLkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkUmVzcG9uc2USOAoJb3BlcmF0aW9uGAEgASgLMiUucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uImAKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWZyZXNoUmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkiagouQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlZnJlc2hSZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24izwEKOUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZXBvc2l0b3J5UmVjb25jaWxlUmVxdWVzdBJDCgZ1cGRhdGUYASABKAsyMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVxdWVzdBIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSJAoYZXhwZWN0ZWRfY3VycmVudF92ZXJzaW9uGAMgASgJQgIYARIOCgZyZXBhaXIYBCABKAgidgo6Q2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlcG9zaXRvcnlSZWNvbmNpbGVSZXNwb25zZRI4CglvcGVyYXRpb24YASABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb24iuwEKNENsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VTbmFwc2hvdFVwZGF0ZVJlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYASABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAIgASgJEg4KBnNjcmlwdBgDIAEoCRIlChhleHBlY3RlZF9jdXJyZW50X3ZlcnNpb24YBCABKAlIAIgBAUIbChlfZXhwZWN0ZWRfY3VycmVudF92ZXJzaW9uInEKNUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VTbmFwc2hvdFVwZGF0ZVJlc3BvbnNlEjgKCW9wZXJhdGlvbhgBIAEoCzIlLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudE9wZXJhdGlvbiLYBQonQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVCYXNlSW1hZ2VSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEhkKDGRpc3BsYXlfbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESFwoKdmlzaWJpbGl0eRgEIAEoBUgCiAEBEiYKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YBSABKANIA4gBARI6CgVyZXBvcxgGIAMoCzIrLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudENsb25lUmVwb3NpdG9yeRJEChVlbnZpcm9ubWVudF92YXJpYWJsZXMYByABKAsyJS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRWYXJpYWJsZXMSEQoJaGFzX3JlcG9zGAggASgIEhcKCmJhc2VfaW1hZ2UYCSABKAlIBIgBARIcCg9yZWZyZXNoX2VuYWJsZWQYCiABKAhIBYgBARIVCghzcGFjZV9pZBgLIAEoCUgGiAEBEksKBHRhZ3MYDCADKAsyPS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVxdWVzdC5UYWdzRW50cnkSEAoIaGFzX3RhZ3MYDSABKAgSIAoTc2FuZGJveF9wcm92aWRlcl9pZBgOIAEoCUgHiAEBGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg8KDV9kaXNwbGF5X25hbWVCDgoMX2Rlc2NyaXB0aW9uQg0KC192aXNpYmlsaXR5QhwKGl9leHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uQg0KC19iYXNlX2ltYWdlQhIKEF9yZWZyZXNoX2VuYWJsZWRCCwoJX3NwYWNlX2lkQhYKFF9zYW5kYm94X3Byb3ZpZGVyX2lkIl0KKENsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVzcG9uc2USMQoLZW52aXJvbm1lbnQYASABKAsyHC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnQi2QMKKENsb3VkRW52aXJvbm1lbnRzVXBkYXRlRGFlbW9uUG9vbFJlcXVlc3QSCgoCaWQYASABKAkSGQoMZGlzcGxheV9uYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARIXCgp2aXNpYmlsaXR5GAQgASgFSAKIAQESXAoad29ya3NwYWNlX2lzb2xhdGlvbl9wb2xpY3kYBSABKA4yMy5wdWJsaWNfYXBpLkNsb3VkRGFlbW9uUG9vbFdvcmtzcGFjZUlzb2xhdGlvblBvbGljeUgDiAEBEjwKCWNvbm5lY3RvchgGIAEoCzIpLnB1YmxpY19hcGkuQ2xvdWREYWVtb25Qb29sQ29ubmVjdG9ySW5wdXQSFQoIc3BhY2VfaWQYByABKAlIBIgBARImChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAggASgDSAWIAQFCDwoNX2Rpc3BsYXlfbmFtZUIOCgxfZGVzY3JpcHRpb25CDQoLX3Zpc2liaWxpdHlCHQobX3dvcmtzcGFjZV9pc29sYXRpb25fcG9saWN5QgsKCV9zcGFjZV9pZEIcChpfZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbiJWCilDbG91ZEVudmlyb25tZW50c1VwZGF0ZURhZW1vblBvb2xSZXNwb25zZRIpCgRwb29sGAEgASgLMhsucHVibGljX2FwaS5DbG91ZERhZW1vblBvb2wikQIKLUNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxkaXNwbGF5X25hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhQKB2VuYWJsZWQYBCABKAhIAogBARIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAUgASgDEhEKCXNwYWNlX2lkcxgGIAMoCRIXCgphbGxfc3BhY2VzGAcgASgISAOIAQFCDwoNX2Rpc3BsYXlfbmFtZUIOCgxfZGVzY3JpcHRpb25CCgoIX2VuYWJsZWRCDQoLX2FsbF9zcGFjZXMiZAouQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTYW5kYm94UHJvdmlkZXJSZXNwb25zZRIyCghwcm92aWRlchgBIAEoCzIgLnB1YmxpY19hcGkuQ2xvdWRTYW5kYm94UHJvdmlkZXIipwEKJkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU25hcHNob3RSZXF1ZXN0EhAKCGltYWdlX2lkGAEgASgJEg4KBnNjcmlwdBgCIAEoCRIlChhleHBlY3RlZF9jdXJyZW50X3ZlcnNpb24YAyABKAlIAIgBARIXCg9pZGVtcG90ZW5jeV9rZXkYBCABKAlCGwoZX2V4cGVjdGVkX2N1cnJlbnRfdmVyc2lvbiJSCidDbG91ZEVudmlyb25tZW50c1VwZGF0ZVNuYXBzaG90UmVzcG9uc2USFgoObW9kYWxfaW1hZ2VfaWQYASABKAkSDwoHdmVyc2lvbhgCIAEoCSLbAQoKQ2xvdWRFdmVudBIQCghldmVudF9pZBgBIAEoCRIOCgZzb3VyY2UYAiABKAkSEgoKZXZlbnRfdHlwZRgDIAEoCRIUCgxwYXlsb2FkX2pzb24YBCABKAkSLwoLcmVjZWl2ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhEKCXRlbmFudF9pZBgGIAEoCRIPCgd1c2VyX2lkGAcgASgJEhIKCndlYmhvb2tfaWQYCCABKAkSGAoQcGF5bG9hZF9yZWRhY3RlZBgJIAEoCCKbAQocQ2xvdWRFdmVudHNMaXN0RXZlbnRzUmVxdWVzdBINCgVsaW1pdBgBIAEoDRISCgpwYWdlX3Rva2VuGAIgASgJEg4KBnNvdXJjZRgDIAEoCRIWCg5maWx0ZXJfcGF5bG9hZBgEIAEoCRISCgpldmVudF90eXBlGAUgASgJEg0KBXNpbmNlGAYgASgJEg0KBXVudGlsGAcgASgJInUKHUNsb3VkRXZlbnRzTGlzdEV2ZW50c1Jlc3BvbnNlEiYKBmV2ZW50cxgBIAMoCzIWLnB1YmxpY19hcGkuQ2xvdWRFdmVudBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkSEwoLdG90YWxfY291bnQYAyABKAUi8gMKC0Nsb3VkRXhwZXJ0EhEKCWV4cGVydF9pZBgBIAEoCRIrCgVzY29wZRgCIAEoDjIcLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTY29wZRItCgZjb25maWcYAyABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnEg8KB3VzZXJfaWQYBCABKAkSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQcmVzb3VyY2VfdmVyc2lvbhgHIAEoAxIuCgpkZWxldGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5lZmZlY3RpdmVfcm9sZRgJIAEoCRI6Cg1zcGFjZV9zdW1tYXJ5GAsgASgLMiMucHVibGljX2FwaS5DbG91ZEV4cGVydFNwYWNlU3VtbWFyeRIMCgRzbHVnGAwgASgJEkIKEWRlcGVuZGVuY3lfaGVhbHRoGA0gASgLMicucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lIZWFsdGhKBAgKEAtSDXRhZ19zdW1tYXJpZXMiVwoaQ2xvdWRFeHBlcnRDbG9uZVJlcG9zaXRvcnkSDQoFb3duZXIYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZicmFuY2gYAyABKAkSDAoEaG9zdBgEIAEoCSKcBwoRQ2xvdWRFeHBlcnRDb25maWcSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIYChBpbml0aWFsX21lc3NhZ2VzGAMgAygJEkYKFGJ1aWx0aW5fY2FwYWJpbGl0aWVzGAQgAygOMigucHVibGljX2FwaS5DbG91ZEV4cGVydEJ1aWx0aW5DYXBhYmlsaXR5EjsKC3Rvb2xfY29uZmlnGAYgASgLMiEucHVibGljX2FwaS5DbG91ZEV4cGVydFRvb2xDb25maWdIAIgBARJBCg5zZXNzaW9uX2NvbmZpZxgHIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTZXNzaW9uQ29uZmlnSAGIAQESNwoJdm1fY29uZmlnGAggASgLMh8ucHVibGljX2FwaS5DbG91ZEV4cGVydFZNQ29uZmlnSAKIAQESGQoRd29ya2VyX2V4cGVydF9pZHMYCSADKAkSGQoRdXNlcl9pbnN0cnVjdGlvbnMYCiABKAkSHQoQcGxhY2Vob2xkZXJfdGV4dBgQIAEoCUgDiAEBEiIKGnVzZV9hbGxfZXhwZXJ0c19hc193b3JrZXJzGAsgASgIEhYKDm1jcF9jb25maWdfaWRzGAwgAygJEhoKEmhhc19tY3BfY29uZmlnX2lkcxgNIAEoCBITCgZoaWRkZW4YDiABKAhIBIgBARJBCg5yb3V0aW5nX3RhcmdldBgPIAEoCzIkLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRSb3V0aW5nVGFyZ2V0SAWIAQESNQoEdGFncxgRIAMoCzInLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRDb25maWcuVGFnc0VudHJ5EhAKCGhhc190YWdzGBIgASgIEhgKEGNhcGFiaWxpdHlfbmFtZXMYEyADKAkSKQocdXNlX2FsbF9idWlsdGluX2NhcGFiaWxpdGllcxgUIAEoCEgGiAEBGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg4KDF90b29sX2NvbmZpZ0IRCg9fc2Vzc2lvbl9jb25maWdCDAoKX3ZtX2NvbmZpZ0ITChFfcGxhY2Vob2xkZXJfdGV4dEIJCgdfaGlkZGVuQhEKD19yb3V0aW5nX3RhcmdldEIfCh1fdXNlX2FsbF9idWlsdGluX2NhcGFiaWxpdGllc0oECAUQBiJwChtDbG91ZEV4cGVydERlcGVuZGVuY3lIZWFsdGgSNgoGaXNzdWVzGAEgAygLMiYucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lJc3N1ZRIZChFibG9ja3NfbmV3X2xhdW5jaBgCIAEoCCKzAgoaQ2xvdWRFeHBlcnREZXBlbmRlbmN5SXNzdWUSQwoMcmVsYXRpb25zaGlwGAEgASgOMi0ucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lSZWxhdGlvbnNoaXASNwoGc3RhdHVzGAIgASgOMicucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lTdGF0dXMSGAoQdGFyZ2V0X2V4cGVydF9pZBgDIAEoCRIaChJ0YXJnZXRfZXhwZXJ0X3NsdWcYBCABKAkSGgoSdGFyZ2V0X2V4cGVydF9uYW1lGAUgASgJEkUKDnJlcGFpcl9hY3Rpb25zGAYgAygOMi0ucHVibGljX2FwaS5DbG91ZEV4cGVydERlcGVuZGVuY3lSZXBhaXJBY3Rpb24iPQoeQ2xvdWRFeHBlcnRFbnZpcm9ubWVudFZhcmlhYmxlEgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkiYAofQ2xvdWRFeHBlcnRFbnZpcm9ubWVudFZhcmlhYmxlcxI9Cgl2YXJpYWJsZXMYASADKAsyKi5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0RW52aXJvbm1lbnRWYXJpYWJsZSJEChtDbG91ZEV4cGVydE1hY2hpbmVSZXNvdXJjZXMSEQoJY3B1X2NvcmVzGAEgASgCEhIKCm1lbW9yeV9taWIYAiABKAUiTwoYQ2xvdWRFeHBlcnRSb3V0aW5nVGFyZ2V0EhYKDGRhZW1vbl92bV9pZBgBIAEoCUgAEhEKB3Bvb2xfaWQYAiABKAlIAEIICgZ0YXJnZXQiigMKGENsb3VkRXhwZXJ0U2Vzc2lvbkNvbmZpZxISCgVtb2RlbBgBIAEoCUgAiAEBEiUKHWluY2x1ZGVfZGVmYXVsdF9zeXN0ZW1fcHJvbXB0GAIgASgIEhUKDXN5c3RlbV9wcm9tcHQYAyABKAkSPAoKdmlzaWJpbGl0eRgEIAEoDjIoLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTZXNzaW9uVmlzaWJpbGl0eRJNCg11c2VyX21ldGFkYXRhGAUgAygLMjYucHVibGljX2FwaS5DbG91ZEV4cGVydFNlc3Npb25Db25maWcuVXNlck1ldGFkYXRhRW50cnkSHAoUYXV0b19jbGVhbnVwX29uX2lkbGUYBiABKAgSHQoQcmVhc29uaW5nX2VmZm9ydBgHIAEoCUgBiAEBGjMKEVVzZXJNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCAoGX21vZGVsQhMKEV9yZWFzb25pbmdfZWZmb3J0IkEKF0Nsb3VkRXhwZXJ0U3BhY2VTdW1tYXJ5EhAKCHNwYWNlX2lkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCSKfAQoVQ2xvdWRFeHBlcnRUb29sQ29uZmlnEhYKCXRvb2xfbmFtZRgBIAEoCUgAiAEBEh0KEHRvb2xfZGVzY3JpcHRpb24YAiABKAlIAYgBARIXCg90aW1lb3V0X3NlY29uZHMYAyABKA0SEwoLYWxsb3dfYXN5bmMYBCABKAhCDAoKX3Rvb2xfbmFtZUITChFfdG9vbF9kZXNjcmlwdGlvbiLJBAoTQ2xvdWRFeHBlcnRWTUNvbmZpZxISCgpiYXNlX2ltYWdlGAEgASgJEhMKC3NuYXBzaG90X2lkGAIgASgJEhEKCWNwdV9jb3JlcxgDIAEoBRISCgptZW1vcnlfbWliGAQgASgFEhcKD3RpbWVvdXRfc2Vjb25kcxgFIAEoBRIcChRpZGxlX3RpbWVvdXRfc2Vjb25kcxgGIAEoBRIfChdpbnN0YWxsX2dpdF9jcmVkZW50aWFscxgHIAEoCBIcChRpbnN0YWxsX3VzZXJfc2VjcmV0cxgIIAEoCBI6CgxpbWFnZV9zb3VyY2UYCSABKA4yJC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Vk1JbWFnZVNvdXJjZRIVCg1iYXNlX2ltYWdlX2lkGAogASgJEjsKC2Nsb25lX3JlcG9zGAsgAygLMiYucHVibGljX2FwaS5DbG91ZEV4cGVydENsb25lUmVwb3NpdG9yeRI/CglyZXNvdXJjZXMYDCABKAsyJy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0TWFjaGluZVJlc291cmNlc0gAiAEBEiIKGmJhc2VfaW1hZ2VfY3VycmVudF92ZXJzaW9uGA0gASgJEk8KFWVudmlyb25tZW50X3ZhcmlhYmxlcxgOIAEoCzIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRFbnZpcm9ubWVudFZhcmlhYmxlc0gBiAEBQgwKCl9yZXNvdXJjZXNCGAoWX2Vudmlyb25tZW50X3ZhcmlhYmxlcyLOAQoXQ2xvdWRFeHBlcnRWZXJzaW9uRW50cnkSGAoQcmVzb3VyY2VfdmVyc2lvbhgBIAEoAxItCgZjb25maWcYAiABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnEisKBXNjb3BlGAMgASgOMhwucHVibGljX2FwaS5DbG91ZEV4cGVydFNjb3BlEhMKC21vZGlmaWVkX2J5GAQgASgJEhMKC21vZGlmaWVkX2F0GAUgASgJEhMKC2NoYW5nZV90eXBlGAYgASgJIo4BChRDbG91ZEV4cGVydFdpdGhVc2FnZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0EjAKDGxhc3RfdXNlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoTd2Vla2x5X2FjdGl2ZV91c2VycxgDIAEoBSKzAwooQ2xvdWRFeHBlcnRzQ3JlYXRlQWdlbnRGcm9tRXhwZXJ0UmVxdWVzdBIRCglleHBlcnRfaWQYASABKAkSFwoKYWdlbnRfbmFtZRgCIAEoCUgAiAEBEiIKFXNlbmRfaW5pdGlhbF9tZXNzYWdlcxgDIAEoCEgBiAEBEiUKGGV4aXN0aW5nX2NvbnZlcnNhdGlvbl9pZBgEIAEoCUgCiAEBEhwKD2luaXRpYWxfbWVzc2FnZRgFIAEoCUgDiAEBEhwKD2lkZW1wb3RlbmN5X2tleRgGIAEoCUgEiAEBEhAKCHNwYWNlX2lkGAcgASgJEkEKDnJvdXRpbmdfdGFyZ2V0GAggASgLMiQucHVibGljX2FwaS5DbG91ZEV4cGVydFJvdXRpbmdUYXJnZXRIBYgBAUINCgtfYWdlbnRfbmFtZUIYChZfc2VuZF9pbml0aWFsX21lc3NhZ2VzQhsKGV9leGlzdGluZ19jb252ZXJzYXRpb25faWRCEgoQX2luaXRpYWxfbWVzc2FnZUISChBfaWRlbXBvdGVuY3lfa2V5QhEKD19yb3V0aW5nX3RhcmdldCJSCilDbG91ZEV4cGVydHNDcmVhdGVBZ2VudEZyb21FeHBlcnRSZXNwb25zZRIlCgVhZ2VudBgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRBZ2VudCL4AQofQ2xvdWRFeHBlcnRzQ3JlYXRlRXhwZXJ0UmVxdWVzdBIrCgVzY29wZRgBIAEoDjIcLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTY29wZRItCgZjb25maWcYAiABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnEhAKCHNwYWNlX2lkGAQgASgJEkIKEWNhcGFiaWxpdHlfc291cmNlGAUgASgOMicucHVibGljX2FwaS5DbG91ZEV4cGVydENhcGFiaWxpdHlTb3VyY2USFAoMZGVzaXJlZF9zbHVnGAYgASgJSgQIAxAEUgd0YWdfaWRzIksKIENsb3VkRXhwZXJ0c0NyZWF0ZUV4cGVydFJlc3BvbnNlEicKBmV4cGVydBgBIAEoCzIXLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnQiNQofQ2xvdWRFeHBlcnRzRGVsZXRlRXhwZXJ0UmVxdWVzdBISCgpleHBlcnRfaWRzGAEgAygJIlkKIENsb3VkRXhwZXJ0c0RlbGV0ZUV4cGVydFJlc3BvbnNlEhoKEmRlbGV0ZWRfZXhwZXJ0X2lkcxgBIAMoCRIZChFmYWlsZWRfZXhwZXJ0X2lkcxgCIAMoCSIxChxDbG91ZEV4cGVydHNHZXRFeHBlcnRSZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCSJICh1DbG91ZEV4cGVydHNHZXRFeHBlcnRSZXNwb25zZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0IkwKHUNsb3VkRXhwZXJ0c0dldFZlcnNpb25SZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCRIYChByZXNvdXJjZV92ZXJzaW9uGAIgASgDIlYKHkNsb3VkRXhwZXJ0c0dldFZlcnNpb25SZXNwb25zZRI0Cgd2ZXJzaW9uGAEgASgLMiMucHVibGljX2FwaS5DbG91ZEV4cGVydFZlcnNpb25FbnRyeSJnCh5DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1JlcXVlc3QSFwoPaW5jbHVkZV9kZWxldGVkGAEgASgIEhAKCHNwYWNlX2lkGAIgASgJEhoKEmRlZmF1bHRfc3BhY2Vfb25seRgDIAEoCCJLCh9DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1Jlc3BvbnNlEigKB2V4cGVydHMYASADKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0InAKJ0Nsb3VkRXhwZXJ0c0xpc3RFeHBlcnRzV2l0aFVzYWdlUmVxdWVzdBIXCg9tYXhfcGVyX3NlY3Rpb24YASABKAUSEAoIc3BhY2VfaWQYAiABKAkSGgoSZGVmYXVsdF9zcGFjZV9vbmx5GAMgASgIIscBCihDbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1dpdGhVc2FnZVJlc3BvbnNlEjcKDXJlY2VudGx5X3VzZWQYASADKAsyIC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0V2l0aFVzYWdlEjEKB3BvcHVsYXIYAiADKAsyIC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0V2l0aFVzYWdlEi8KBW90aGVyGAMgAygLMiAucHVibGljX2FwaS5DbG91ZEV4cGVydFdpdGhVc2FnZSJDCh9DbG91ZEV4cGVydHNMaXN0VmVyc2lvbnNSZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBSJZCiBDbG91ZEV4cGVydHNMaXN0VmVyc2lvbnNSZXNwb25zZRI1Cgh2ZXJzaW9ucxgBIAMoCzIjLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRWZXJzaW9uRW50cnkiNQogQ2xvdWRFeHBlcnRzUmVzdG9yZUV4cGVydFJlcXVlc3QSEQoJZXhwZXJ0X2lkGAEgASgJIkwKIUNsb3VkRXhwZXJ0c1Jlc3RvcmVFeHBlcnRSZXNwb25zZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0IuwCCh9DbG91ZEV4cGVydHNVcGRhdGVFeHBlcnRSZXF1ZXN0EhEKCWV4cGVydF9pZBgBIAEoCRIyCgZjb25maWcYAiABKAsyHS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0Q29uZmlnSACIAQESJgoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoA0gBiAEBEjAKBXNjb3BlGAQgASgOMhwucHVibGljX2FwaS5DbG91ZEV4cGVydFNjb3BlSAKIAQESFQoIc3BhY2VfaWQYBiABKAlIA4gBARJCChFjYXBhYmlsaXR5X3NvdXJjZRgHIAEoDjInLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRDYXBhYmlsaXR5U291cmNlQgkKB19jb25maWdCHAoaX2V4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb25CCAoGX3Njb3BlQgsKCV9zcGFjZV9pZEoECAUQBlIHdGFnX2lkcyJLCiBDbG91ZEV4cGVydHNVcGRhdGVFeHBlcnRSZXNwb25zZRInCgZleHBlcnQYASABKAsyFy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0In0KCkNsb3VkR3JvdXASEAoIZ3JvdXBfaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRISCgpjcmVhdGVkX2J5GAQgASgJEhIKCmNyZWF0ZWRfYXQYBSABKAkSEgoKdXBkYXRlZF9hdBgGIAEoCSLmAQoQQ2xvdWRHcm91cE1lbWJlchIPCgd1c2VyX2lkGAEgASgJEhAKCGFkZGVkX2F0GAIgASgJEhAKCGFkZGVkX2J5GAMgASgJEg0KBWVtYWlsGAQgASgJEhIKCmdpdmVuX25hbWUYBSABKAkSEwoLZmFtaWx5X25hbWUYBiABKAkSFQoNYWRkZWRfYnlfbmFtZRgHIAEoCRI4Cg5wcmluY2lwYWxfa2luZBgIIAEoDjIgLnB1YmxpY19hcGkuQ2xvdWRHcm91cE1lbWJlcktpbmQSFAoMc2VydmljZV9uYW1lGAkgASgJIlMKGENsb3VkR3JvdXBNZW1iZXJTZWxlY3RvchIQCgZtZW1iZXIYASABKAlIABIZCg9zZXJ2aWNlX2FjY291bnQYAiABKAlIAEIKCghzZWxlY3RvciJ6ChxDbG91ZEdyb3Vwc0FkZE1lbWJlcnNSZXF1ZXN0EhAKCGdyb3VwX2lkGAEgASgJEg8KB21lbWJlcnMYAiADKAkSNwoJc2VsZWN0b3JzGAMgAygLMiQucHVibGljX2FwaS5DbG91ZEdyb3VwTWVtYmVyU2VsZWN0b3IiWAodQ2xvdWRHcm91cHNBZGRNZW1iZXJzUmVzcG9uc2USFgoOYWRkZWRfdXNlcl9pZHMYASADKAkSHwoXYWxyZWFkeV9tZW1iZXJfdXNlcl9pZHMYAiADKAkiPQoYQ2xvdWRHcm91cHNDcmVhdGVSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkiQgoZQ2xvdWRHcm91cHNDcmVhdGVSZXNwb25zZRIlCgVncm91cBgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRHcm91cCIsChhDbG91ZEdyb3Vwc0RlbGV0ZVJlcXVlc3QSEAoIZ3JvdXBfaWQYASABKAkiGwoZQ2xvdWRHcm91cHNEZWxldGVSZXNwb25zZSJYCh1DbG91ZEdyb3Vwc0xpc3RNZW1iZXJzUmVxdWVzdBIQCghncm91cF9pZBgBIAEoCRIRCglwYWdlX3NpemUYAiABKA0SEgoKcGFnZV90b2tlbhgDIAEoCSKTAQoeQ2xvdWRHcm91cHNMaXN0TWVtYmVyc1Jlc3BvbnNlEi0KB21lbWJlcnMYASADKAsyHC5wdWJsaWNfYXBpLkNsb3VkR3JvdXBNZW1iZXISFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEikKIXNlcnZpY2VfYWNjb3VudF9zZWxlY3RvcnNfZW5hYmxlZBgDIAEoCCI/ChZDbG91ZEdyb3Vwc0xpc3RSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoDRISCgpwYWdlX3Rva2VuGAIgASgJIloKF0Nsb3VkR3JvdXBzTGlzdFJlc3BvbnNlEiYKBmdyb3VwcxgBIAMoCzIWLnB1YmxpY19hcGkuQ2xvdWRHcm91cBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkifQofQ2xvdWRHcm91cHNSZW1vdmVNZW1iZXJzUmVxdWVzdBIQCghncm91cF9pZBgBIAEoCRIPCgdtZW1iZXJzGAIgAygJEjcKCXNlbGVjdG9ycxgDIAMoCzIkLnB1YmxpY19hcGkuQ2xvdWRHcm91cE1lbWJlclNlbGVjdG9yIlkKIENsb3VkR3JvdXBzUmVtb3ZlTWVtYmVyc1Jlc3BvbnNlEhgKEHJlbW92ZWRfdXNlcl9pZHMYASADKAkSGwoTbm90X21lbWJlcl91c2VyX2lkcxgCIAMoCSJyChhDbG91ZEdyb3Vwc1VwZGF0ZVJlcXVlc3QSEAoIZ3JvdXBfaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uIkIKGUNsb3VkR3JvdXBzVXBkYXRlUmVzcG9uc2USJQoFZ3JvdXAYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkR3JvdXAiSgovQ2xvdWRJbnRlZ3JhdGlvbnNDYW5jZWxFdmVudFN1YnNjcmlwdGlvblJlcXVlc3QSFwoPc3Vic2NyaXB0aW9uX2lkGAEgASgJIjIKMENsb3VkSW50ZWdyYXRpb25zQ2FuY2VsRXZlbnRTdWJzY3JpcHRpb25SZXNwb25zZSIxCi9DbG91ZEludGVncmF0aW9uc0NoZWNrQXRsYXNzaWFuQXBwU3RhdHVzUmVxdWVzdCJ1CjBDbG91ZEludGVncmF0aW9uc0NoZWNrQXRsYXNzaWFuQXBwU3RhdHVzUmVzcG9uc2USFAoMaXNfaW5zdGFsbGVkGAEgASgIEhEKCXNpdGVfbmFtZRgCIAEoCRIYChBlbmFibGVkX3Byb2R1Y3RzGAMgAygJIi4KLENsb3VkSW50ZWdyYXRpb25zQ2hlY2tHaXRIdWJBcHBTdGF0dXNSZXF1ZXN0IkUKLUNsb3VkSW50ZWdyYXRpb25zQ2hlY2tHaXRIdWJBcHBTdGF0dXNSZXNwb25zZRIUCgxpc19pbnN0YWxsZWQYASABKAgiKwopQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0xpbmVhclN0YXR1c1JlcXVlc3QiQgoqQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0xpbmVhclN0YXR1c1Jlc3BvbnNlEhQKDGlzX2Nvbm5lY3RlZBgBIAEoCCIqCihDbG91ZEludGVncmF0aW9uc0NoZWNrU2xhY2tTdGF0dXNSZXF1ZXN0IkEKKUNsb3VkSW50ZWdyYXRpb25zQ2hlY2tTbGFja1N0YXR1c1Jlc3BvbnNlEhQKDGlzX2Nvbm5lY3RlZBgBIAEoCCKUAQovQ2xvdWRJbnRlZ3JhdGlvbnNDcmVhdGVFdmVudFN1YnNjcmlwdGlvblJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkSDgoGc291cmNlGAIgASgJEhIKCmV2ZW50X3R5cGUYAyABKAkSFgoOZmlsdGVyX3BheWxvYWQYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkiSwowQ2xvdWRJbnRlZ3JhdGlvbnNDcmVhdGVFdmVudFN1YnNjcmlwdGlvblJlc3BvbnNlEhcKD3N1YnNjcmlwdGlvbl9pZBgBIAEoCSLIAQoiQ2xvdWRJbnRlZ3JhdGlvbnNFdmVudFN1YnNjcmlwdGlvbhIXCg9zdWJzY3JpcHRpb25faWQYASABKAkSEAoIYWdlbnRfaWQYAiABKAkSDgoGc291cmNlGAMgASgJEhIKCmV2ZW50X3R5cGUYBCABKAkSFgoOZmlsdGVyX3BheWxvYWQYBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSEgoKY3JlYXRlZF9hdBgHIAEoCRISCgpleHBpcmVzX2F0GAggASgJIjMKMUNsb3VkSW50ZWdyYXRpb25zR2V0QXRsYXNzaWFuQXBwSW5zdGFsbFVybFJlcXVlc3QiSQoyQ2xvdWRJbnRlZ3JhdGlvbnNHZXRBdGxhc3NpYW5BcHBJbnN0YWxsVXJsUmVzcG9uc2USEwoLaW5zdGFsbF91cmwYASABKAkiMAouQ2xvdWRJbnRlZ3JhdGlvbnNHZXRHaXRIdWJBcHBJbnN0YWxsVXJsUmVxdWVzdCJGCi9DbG91ZEludGVncmF0aW9uc0dldEdpdEh1YkFwcEluc3RhbGxVcmxSZXNwb25zZRITCgtpbnN0YWxsX3VybBgBIAEoCSIrCilDbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsUmVxdWVzdCI/CipDbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsUmVzcG9uc2USEQoJb2F1dGhfdXJsGAEgASgJIioKKENsb3VkSW50ZWdyYXRpb25zR2V0U2xhY2tPQXV0aFVybFJlcXVlc3QiPgopQ2xvdWRJbnRlZ3JhdGlvbnNHZXRTbGFja09BdXRoVXJsUmVzcG9uc2USEQoJb2F1dGhfdXJsGAEgASgJIk4KIkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25BY3Rpb24SDAoEa2luZBgBIAEoCRINCgVsYWJlbBgCIAEoCRILCgN1cmwYAyABKAkimAIKJkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25EZWZpbml0aW9uEgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhEKCWNvbm5lY3RlZBgEIAEoCBITCgtzdGF0dXNfa2luZBgFIAEoCRIUCgxzdGF0dXNfbGFiZWwYBiABKAkSPwoHZGV0YWlscxgHIAMoCzIuLnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNJbnRlZ3JhdGlvbkRldGFpbBI/CgdhY3Rpb25zGAggAygLMi4ucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0ludGVncmF0aW9uQWN0aW9uIk8KIkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25EZXRhaWwSCwoDa2V5GAEgASgJEg0KBWxhYmVsGAIgASgJEg0KBXZhbHVlGAMgASgJIkwKJENsb3VkSW50ZWdyYXRpb25zSW52b2tlQWN0aW9uUmVxdWVzdBIWCg5pbnRlZ3JhdGlvbl9pZBgBIAEoCRIMCgRraW5kGAIgASgJIpYBCiVDbG91ZEludGVncmF0aW9uc0ludm9rZUFjdGlvblJlc3BvbnNlEhMKC3VybF90b19vcGVuGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSRwoLaW50ZWdyYXRpb24YAyABKAsyMi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zSW50ZWdyYXRpb25EZWZpbml0aW9uIkIKLkNsb3VkSW50ZWdyYXRpb25zTGlzdEV2ZW50U3Vic2NyaXB0aW9uc1JlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkieAovQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0RXZlbnRTdWJzY3JpcHRpb25zUmVzcG9uc2USRQoNc3Vic2NyaXB0aW9ucxgBIAMoCzIuLnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNFdmVudFN1YnNjcmlwdGlvbiIeChxDbG91ZEludGVncmF0aW9uc0xpc3RSZXF1ZXN0ImkKHUNsb3VkSW50ZWdyYXRpb25zTGlzdFJlc3BvbnNlEkgKDGludGVncmF0aW9ucxgBIAMoCzIyLnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNJbnRlZ3JhdGlvbkRlZmluaXRpb24iSgopQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0U2xhY2tDaGFubmVsc1JlcXVlc3QSDgoGY3Vyc29yGAEgASgJEg0KBWxpbWl0GAIgASgNIo0BCipDbG91ZEludGVncmF0aW9uc0xpc3RTbGFja0NoYW5uZWxzUmVzcG9uc2USOwoIY2hhbm5lbHMYASADKAsyKS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zU2xhY2tDaGFubmVsEhMKC25leHRfY3Vyc29yGAIgASgJEg0KBWVycm9yGAMgASgJIisKKUNsb3VkSW50ZWdyYXRpb25zUmV2b2tlR2l0aHViT0F1dGhSZXF1ZXN0IiwKKkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlR2l0aHViT0F1dGhSZXNwb25zZSIrCilDbG91ZEludGVncmF0aW9uc1Jldm9rZUxpbmVhck9BdXRoUmVxdWVzdCIsCipDbG91ZEludGVncmF0aW9uc1Jldm9rZUxpbmVhck9BdXRoUmVzcG9uc2UiYAodQ2xvdWRJbnRlZ3JhdGlvbnNTbGFja0NoYW5uZWwSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRISCgppc19wcml2YXRlGAMgASgIEhEKCWlzX21lbWJlchgEIAEoCCLyAQoMQ2xvdWRQcm9qZWN0EhIKCnByb2plY3RfaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpjcmVhdGVkX2J5GAYgASgJEjcKBmFnZW50cxgHIAMoCzInLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0QWdlbnRNZW1iZXJzaGlwIl0KG0Nsb3VkUHJvamVjdEFnZW50TWVtYmVyc2hpcBIQCghhZ2VudF9pZBgBIAEoCRIsCghhZGRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiRAocQ2xvdWRQcm9qZWN0c0FkZEFnZW50UmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEhAKCGFnZW50X2lkGAIgASgJIkoKHUNsb3VkUHJvamVjdHNBZGRBZ2VudFJlc3BvbnNlEikKB3Byb2plY3QYASABKAsyGC5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdCJGCiFDbG91ZFByb2plY3RzQ3JlYXRlUHJvamVjdFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSJPCiJDbG91ZFByb2plY3RzQ3JlYXRlUHJvamVjdFJlc3BvbnNlEikKB3Byb2plY3QYASABKAsyGC5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdCI3CiFDbG91ZFByb2plY3RzRGVsZXRlUHJvamVjdFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCSIkCiJDbG91ZFByb2plY3RzRGVsZXRlUHJvamVjdFJlc3BvbnNlIjQKHkNsb3VkUHJvamVjdHNHZXRQcm9qZWN0UmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJIkwKH0Nsb3VkUHJvamVjdHNHZXRQcm9qZWN0UmVzcG9uc2USKQoHcHJvamVjdBgBIAEoCzIYLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0IiIKIENsb3VkUHJvamVjdHNMaXN0UHJvamVjdHNSZXF1ZXN0Ik8KIUNsb3VkUHJvamVjdHNMaXN0UHJvamVjdHNSZXNwb25zZRIqCghwcm9qZWN0cxgBIAMoCzIYLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0IkcKH0Nsb3VkUHJvamVjdHNSZW1vdmVBZ2VudFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIQCghhZ2VudF9pZBgCIAEoCSJNCiBDbG91ZFByb2plY3RzUmVtb3ZlQWdlbnRSZXNwb25zZRIpCgdwcm9qZWN0GAEgASgLMhgucHVibGljX2FwaS5DbG91ZFByb2plY3QinwQKDUNsb3VkUmVzaWRlbnQSEwoLcmVzaWRlbnRfaWQYASABKAkSLQoFc2NvcGUYAiABKA4yHi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRTY29wZRIvCgZjb25maWcYAyABKAsyHy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRDb25maWcSDwoHdXNlcl9pZBgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChByZXNvdXJjZV92ZXJzaW9uGAcgASgDEhgKEGN1cnJlbnRfYWdlbnRfaWQYCCABKAkSLgoKc3RhcnRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFgoOZWZmZWN0aXZlX3JvbGUYCiABKAkSLgoKZGVsZXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASQAoPcHJlc2VuY2Vfc3RhdHVzGAwgASgLMicucHVibGljX2FwaS5DbG91ZFJlc2lkZW50UHJlc2VuY2VTdGF0dXMSOgoNc3BhY2Vfc3VtbWFyeRgNIAEoCzIjLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRTcGFjZVN1bW1hcnkixAMKE0Nsb3VkUmVzaWRlbnRDb25maWcSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIRCglleHBlcnRfaWQYAyABKAkSHAoPaW5pdGlhbF9tZXNzYWdlGAQgASgJSACIAQESOgoJb3ZlcnJpZGVzGAUgASgLMiIucHVibGljX2FwaS5DbG91ZFJlc2lkZW50T3ZlcnJpZGVzSAGIAQESGwoOcnVuX2FzX3VzZXJfaWQYBiABKAlIAogBARI4CghwcmVzZW5jZRgHIAEoCzIhLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudFByZXNlbmNlSAOIAQESDAoEaWNvbhgIIAEoCRI3CgR0YWdzGAkgAygLMikucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnLlRhZ3NFbnRyeRIQCghoYXNfdGFncxgKIAEoCBorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfaW5pdGlhbF9tZXNzYWdlQgwKCl9vdmVycmlkZXNCEQoPX3J1bl9hc191c2VyX2lkQgsKCV9wcmVzZW5jZSKCAQoYQ2xvdWRSZXNpZGVudEVudlZNQ29uZmlnEhUKDWJhc2VfaW1hZ2VfaWQYASABKAkSQQoJcmVzb3VyY2VzGAIgASgLMikucHVibGljX2FwaS5DbG91ZFJlc2lkZW50TWFjaGluZVJlc291cmNlc0gAiAEBQgwKCl9yZXNvdXJjZXMiRgodQ2xvdWRSZXNpZGVudE1hY2hpbmVSZXNvdXJjZXMSEQoJY3B1X2NvcmVzGAEgASgCEhIKCm1lbW9yeV9taWIYAiABKAUisgEKFkNsb3VkUmVzaWRlbnRPdmVycmlkZXMSOQoJdm1fY29uZmlnGAIgASgLMiQucHVibGljX2FwaS5DbG91ZFJlc2lkZW50RW52Vk1Db25maWdIABIWCgxkYWVtb25fdm1faWQYAyABKAlIABIYCg5kYWVtb25fcG9vbF9pZBgEIAEoCUgAEhIKBW1vZGVsGAEgASgJSAGIAQFCDQoLZW52aXJvbm1lbnRCCAoGX21vZGVsIlMKFUNsb3VkUmVzaWRlbnRQcmVzZW5jZRItCgVzbGFjaxgBIAEoCzIeLnB1YmxpY19hcGkuQ2xvdWRTbGFja1ByZXNlbmNlSgQIAhADUgV0ZWFtcyJfChtDbG91ZFJlc2lkZW50UHJlc2VuY2VTdGF0dXMSMwoFc2xhY2sYASABKAsyJC5wdWJsaWNfYXBpLkNsb3VkU2xhY2tQcmVzZW5jZVN0YXR1c0oECAIQA1IFdGVhbXMinQEKG0Nsb3VkUmVzaWRlbnRTZXNzaW9uU3VtbWFyeRIQCghhZ2VudF9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSLgoKc3RhcnRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItQBChlDbG91ZFJlc2lkZW50VmVyc2lvbkVudHJ5EhgKEHJlc291cmNlX3ZlcnNpb24YASABKAMSLwoGY29uZmlnGAIgASgLMh8ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnEi0KBXNjb3BlGAMgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGUSEwoLbW9kaWZpZWRfYnkYBCABKAkSEwoLbW9kaWZpZWRfYXQYBSABKAkSEwoLY2hhbmdlX3R5cGUYBiABKAkihQEKI0Nsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnRSZXF1ZXN0Ei0KBXNjb3BlGAEgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGUSLwoGY29uZmlnGAIgASgLMh8ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnIlMKJENsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudCJQCiNDbG91ZFJlc2lkZW50c0RlbGV0ZVJlc2lkZW50UmVxdWVzdBIUCgxyZXNpZGVudF9pZHMYASADKAkSEwoLaGFyZF9kZWxldGUYAiABKAgiYQokQ2xvdWRSZXNpZGVudHNEZWxldGVSZXNpZGVudFJlc3BvbnNlEhwKFGRlbGV0ZWRfcmVzaWRlbnRfaWRzGAEgAygJEhsKE2ZhaWxlZF9yZXNpZGVudF9pZHMYAiADKAkiNwogQ2xvdWRSZXNpZGVudHNHZXRSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkiUAohQ2xvdWRSZXNpZGVudHNHZXRSZXNpZGVudFJlc3BvbnNlEisKCHJlc2lkZW50GAEgASgLMhkucHVibGljX2FwaS5DbG91ZFJlc2lkZW50IlAKH0Nsb3VkUmVzaWRlbnRzR2V0VmVyc2lvblJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSGAoQcmVzb3VyY2VfdmVyc2lvbhgCIAEoAyJaCiBDbG91ZFJlc2lkZW50c0dldFZlcnNpb25SZXNwb25zZRI2Cgd2ZXJzaW9uGAEgASgLMiUucHVibGljX2FwaS5DbG91ZFJlc2lkZW50VmVyc2lvbkVudHJ5IqkBCiJDbG91ZFJlc2lkZW50c0xpc3RSZXNpZGVudHNSZXF1ZXN0EjIKBXNjb3BlGAEgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGVIAIgBARIXCg9pbmNsdWRlX2RlbGV0ZWQYAiABKAgSEAoIc3BhY2VfaWQYAyABKAkSGgoSZGVmYXVsdF9zcGFjZV9vbmx5GAQgASgIQggKBl9zY29wZSJTCiNDbG91ZFJlc2lkZW50c0xpc3RSZXNpZGVudHNSZXNwb25zZRIsCglyZXNpZGVudHMYASADKAsyGS5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnQiOAohQ2xvdWRSZXNpZGVudHNMaXN0U2Vzc2lvbnNSZXF1ZXN0EhMKC3Jlc2lkZW50X2lkGAEgASgJIl8KIkNsb3VkUmVzaWRlbnRzTGlzdFNlc3Npb25zUmVzcG9uc2USOQoIc2Vzc2lvbnMYASADKAsyJy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRTZXNzaW9uU3VtbWFyeSJHCiFDbG91ZFJlc2lkZW50c0xpc3RWZXJzaW9uc1JlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSDQoFbGltaXQYAiABKAUiXQoiQ2xvdWRSZXNpZGVudHNMaXN0VmVyc2lvbnNSZXNwb25zZRI3Cgh2ZXJzaW9ucxgBIAMoCzIlLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudFZlcnNpb25FbnRyeSI7CiRDbG91ZFJlc2lkZW50c1Jlc3RvcmVSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkiVAolQ2xvdWRSZXNpZGVudHNSZXN0b3JlUmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudCLNAQosQ2xvdWRSZXNpZGVudHNTZXRSZXNpZGVudFRlbmFudEFjY2Vzc1JlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSLQoFc2NvcGUYAiABKA4yHi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRTY29wZRITCgt0ZW5hbnRfcm9sZRgDIAEoCRImChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAQgASgDSACIAQFCHAoaX2V4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24iXAotQ2xvdWRSZXNpZGVudHNTZXRSZXNpZGVudFRlbmFudEFjY2Vzc1Jlc3BvbnNlEisKCHJlc2lkZW50GAEgASgLMhkucHVibGljX2FwaS5DbG91ZFJlc2lkZW50ImsKIkNsb3VkUmVzaWRlbnRzU3RhcnRSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSHAoPaW5pdGlhbF9tZXNzYWdlGAIgASgJSACIAQFCEgoQX2luaXRpYWxfbWVzc2FnZSJ5CiNDbG91ZFJlc2lkZW50c1N0YXJ0UmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudBIlCgVhZ2VudBgCIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRBZ2VudCI4CiFDbG91ZFJlc2lkZW50c1N0b3BSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkiUQoiQ2xvdWRSZXNpZGVudHNTdG9wUmVzaWRlbnRSZXNwb25zZRIrCghyZXNpZGVudBgBIAEoCzIZLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudCL/AQojQ2xvdWRSZXNpZGVudHNVcGRhdGVSZXNpZGVudFJlcXVlc3QSEwoLcmVzaWRlbnRfaWQYASABKAkSNAoGY29uZmlnGAIgASgLMh8ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50Q29uZmlnSACIAQESJgoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgDIAEoA0gBiAEBEjIKBXNjb3BlGAQgASgOMh4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50U2NvcGVIAogBAUIJCgdfY29uZmlnQhwKGl9leHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uQggKBl9zY29wZSJTCiRDbG91ZFJlc2lkZW50c1VwZGF0ZVJlc2lkZW50UmVzcG9uc2USKwoIcmVzaWRlbnQYASABKAsyGS5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnQi2AIKFENsb3VkU2FuZGJveFByb3ZpZGVyEgwKBHNsdWcYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB2VuYWJsZWQYBSABKAgSGgoSY3JlYXRlZF9ieV91c2VyX2lkGAYgASgJEhIKCmNyZWF0ZWRfYXQYByABKAkSEgoKdXBkYXRlZF9hdBgIIAEoCRIYChByZXNvdXJjZV92ZXJzaW9uGAkgASgDEhIKCmRlbGV0ZWRfYXQYCiABKAkSCgoCaWQYCyABKAkSOwoNcHJvdmlkZXJfdHlwZRgMIAEoDjIkLnB1YmxpY19hcGkuQ2xvdWRTYW5kYm94UHJvdmlkZXJUeXBlEhEKCXNwYWNlX2lkcxgNIAMoCRISCgphbGxfc3BhY2VzGA4gASgISgQIBBAFUg5zeXN0ZW1fbWFuYWdlZCKeAQoSQ2xvdWRTbGFja1ByZXNlbmNlEhMKC21lbnRpb25hYmxlGAEgASgIEhgKEHVzZXJncm91cF9oYW5kbGUYAiABKAkSFwoPaG9tZV9jaGFubmVsX2lkGAMgASgJEiQKF2RpcmVjdF9tZXNzYWdlc19lbmFibGVkGAQgASgISACIAQFCGgoYX2RpcmVjdF9tZXNzYWdlc19lbmFibGVkInEKGENsb3VkU2xhY2tQcmVzZW5jZVN0YXR1cxISCgpzdWJ0ZWFtX2lkGAEgASgJEjIKDmxhc3Rfc3luY2VkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVlcnJvchgDIAEoCSLcAQoKQ2xvdWRTcGFjZRIQCghzcGFjZV9pZBgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSFwoPbm9ybWFsaXplZF9uYW1lGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmNyZWF0ZWRfYnkYBiABKAkSGQoRcGlubmVkX2V4cGVydF9pZHMYByADKAkiNQodQ2xvdWRTcGFjZXNDcmVhdGVTcGFjZVJlcXVlc3QSFAoMZGlzcGxheV9uYW1lGAEgASgJIkcKHkNsb3VkU3BhY2VzQ3JlYXRlU3BhY2VSZXNwb25zZRIlCgVzcGFjZRgBIAEoCzIWLnB1YmxpY19hcGkuQ2xvdWRTcGFjZSIxCh1DbG91ZFNwYWNlc0RlbGV0ZVNwYWNlUmVxdWVzdBIQCghzcGFjZV9pZBgBIAEoCSIgCh5DbG91ZFNwYWNlc0RlbGV0ZVNwYWNlUmVzcG9uc2UiLgoaQ2xvdWRTcGFjZXNHZXRTcGFjZVJlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkiRAobQ2xvdWRTcGFjZXNHZXRTcGFjZVJlc3BvbnNlEiUKBXNwYWNlGAEgASgLMhYucHVibGljX2FwaS5DbG91ZFNwYWNlIh4KHENsb3VkU3BhY2VzTGlzdFNwYWNlc1JlcXVlc3QiRwodQ2xvdWRTcGFjZXNMaXN0U3BhY2VzUmVzcG9uc2USJgoGc3BhY2VzGAEgAygLMhYucHVibGljX2FwaS5DbG91ZFNwYWNlIkcKHUNsb3VkU3BhY2VzVXBkYXRlU3BhY2VSZXF1ZXN0EhAKCHNwYWNlX2lkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCSJHCh5DbG91ZFNwYWNlc1VwZGF0ZVNwYWNlUmVzcG9uc2USJQoFc3BhY2UYASABKAsyFi5wdWJsaWNfYXBpLkNsb3VkU3BhY2UiWAolQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVxdWVzdBIZChFldmVudF9zb3VyY2VfanNvbhgBIAEoCRIUCgxkZXNpcmVkX3NsdWcYAiABKAkiQwomQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVzcG9uc2USGQoRZXZlbnRfc291cmNlX2pzb24YASABKAkiUQoiQ2xvdWRUcmlnZ2Vyc0NyZWF0ZVdvcmtmbG93UmVxdWVzdBIVCg13b3JrZmxvd19qc29uGAEgASgJEhQKDGRlc2lyZWRfc2x1ZxgCIAEoCSI8CiNDbG91ZFRyaWdnZXJzQ3JlYXRlV29ya2Zsb3dSZXNwb25zZRIVCg13b3JrZmxvd19qc29uGAEgASgJIkIKJkNsb3VkVHJpZ2dlcnNEZWxldGVFdmVudFNvdXJjZXNSZXF1ZXN0EhgKEGV2ZW50X3NvdXJjZV9pZHMYASADKAkifQonQ2xvdWRUcmlnZ2Vyc0RlbGV0ZUV2ZW50U291cmNlc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSIAoYZGVsZXRlZF9ldmVudF9zb3VyY2VfaWRzGAIgAygJEh8KF2ZhaWxlZF9ldmVudF9zb3VyY2VfaWRzGAMgAygJImwKMkNsb3VkVHJpZ2dlcnNEZWxldGVXb3JrZmxvd0V4cGVjdGVkUmVzb3VyY2VWZXJzaW9uEhMKC3dvcmtmbG93X2lkGAEgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAiABKAMingEKIkNsb3VkVHJpZ2dlcnNEZWxldGVXb3JrZmxvd1JlcXVlc3QSFAoMd29ya2Zsb3dfaWRzGAEgAygJEmIKGmV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb25zGAIgAygLMj4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzRGVsZXRlV29ya2Zsb3dFeHBlY3RlZFJlc291cmNlVmVyc2lvbiKRAQojQ2xvdWRUcmlnZ2Vyc0RlbGV0ZVdvcmtmbG93UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIcChRkZWxldGVkX3dvcmtmbG93X2lkcxgCIAMoCRIbChNmYWlsZWRfd29ya2Zsb3dfaWRzGAMgAygJEh4KFm5vdF9mb3VuZF93b3JrZmxvd19pZHMYBCADKAkiPQoiQ2xvdWRUcmlnZ2Vyc0dldEV2ZW50U291cmNlUmVxdWVzdBIXCg9ldmVudF9zb3VyY2VfaWQYASABKAkiQAojQ2xvdWRUcmlnZ2Vyc0dldEV2ZW50U291cmNlUmVzcG9uc2USGQoRZXZlbnRfc291cmNlX2pzb24YASABKAkiNgofQ2xvdWRUcmlnZ2Vyc0dldFdvcmtmbG93UmVxdWVzdBITCgt3b3JrZmxvd19pZBgBIAEoCSI5CiBDbG91ZFRyaWdnZXJzR2V0V29ya2Zsb3dSZXNwb25zZRIVCg13b3JrZmxvd19qc29uGAEgASgJIiYKJENsb3VkVHJpZ2dlcnNMaXN0RXZlbnRTb3VyY2VzUmVxdWVzdCJDCiVDbG91ZFRyaWdnZXJzTGlzdEV2ZW50U291cmNlc1Jlc3BvbnNlEhoKEmV2ZW50X3NvdXJjZXNfanNvbhgBIAEoCSJPCiFDbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93c1JlcXVlc3QSFwoPZXZlbnRfc291cmNlX2lkGAEgASgJEhEKCWV4cGVydF9pZBgCIAEoCSI8CiJDbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93c1Jlc3BvbnNlEhYKDndvcmtmbG93c19qc29uGAEgASgJImUKJUNsb3VkVHJpZ2dlcnNVcGRhdGVFdmVudFNvdXJjZVJlcXVlc3QSGQoRZXZlbnRfc291cmNlX2pzb24YASABKAkSIQoZZXhwZWN0ZWRfcmVzb3VyY2VfdmVyc2lvbhgCIAEoAyJDCiZDbG91ZFRyaWdnZXJzVXBkYXRlRXZlbnRTb3VyY2VSZXNwb25zZRIZChFldmVudF9zb3VyY2VfanNvbhgBIAEoCSLDAwoiQ2xvdWRUcmlnZ2Vyc1VwZGF0ZVdvcmtmbG93UmVxdWVzdBITCgt3b3JrZmxvd19pZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESFAoHZW5hYmxlZBgDIAEoCEgBiAEBEiYKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YBCABKANIAogBARIqCh1vdmVycmlkZV9hdXRvX2NsZWFudXBfb25faWRsZRgFIAEoCEgDiAEBEioKHXBlcl9taW51dGVfY3JlYXRlX2FnZW50X2xpbWl0GAYgASgFSASIAQESIQoUaW5pdGlhbF9pbnN0cnVjdGlvbnMYByABKAlIBYgBARIaCg1hY3Rvcl91c2VyX2lkGAggASgJSAaIAQFCBwoFX25hbWVCCgoIX2VuYWJsZWRCHAoaX2V4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb25CIAoeX292ZXJyaWRlX2F1dG9fY2xlYW51cF9vbl9pZGxlQiAKHl9wZXJfbWludXRlX2NyZWF0ZV9hZ2VudF9saW1pdEIXChVfaW5pdGlhbF9pbnN0cnVjdGlvbnNCEAoOX2FjdG9yX3VzZXJfaWQiPAojQ2xvdWRUcmlnZ2Vyc1VwZGF0ZVdvcmtmbG93UmVzcG9uc2USFQoNd29ya2Zsb3dfanNvbhgBIAEoCSKIAgoLQ2xvdWRUdW5uZWwSEQoJdHVubmVsX2lkGAEgASgJEhAKCGFnZW50X2lkGAIgASgJEg0KBXZtX2lkGAMgASgJEhIKCmxvY2FsX2hvc3QYBCABKAkSEgoKbG9jYWxfcG9ydBgFIAEoBRINCgVsYWJlbBgGIAEoCRIpCgRtb2RlGAcgASgOMhsucHVibGljX2FwaS5DbG91ZFR1bm5lbE1vZGUSLQoGc3RhdHVzGAggASgOMh0ucHVibGljX2FwaS5DbG91ZFR1bm5lbFN0YXR1cxIMCgRob3N0GAkgASgJEhIKCmNyZWF0ZWRfYXQYCiABKAkSEgoKZXhwaXJlc19hdBgLIAEoCSI9ChhDbG91ZFR1bm5lbHNDbG9zZVJlcXVlc3QSEQoJdHVubmVsX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJEChlDbG91ZFR1bm5lbHNDbG9zZVJlc3BvbnNlEicKBnR1bm5lbBgBIAEoCzIXLnB1YmxpY19hcGkuQ2xvdWRUdW5uZWwiKwoXQ2xvdWRUdW5uZWxzTGlzdFJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkiRAoYQ2xvdWRUdW5uZWxzTGlzdFJlc3BvbnNlEigKB3R1bm5lbHMYASADKAsyFy5wdWJsaWNfYXBpLkNsb3VkVHVubmVsIoYBChdDbG91ZFR1bm5lbHNPcGVuUmVxdWVzdBIQCghhZ2VudF9pZBgBIAEoCRISCgpsb2NhbF9wb3J0GAIgASgFEhIKCmxvY2FsX2hvc3QYAyABKAkSDQoFbGFiZWwYBCABKAkSFQoIYWN0aXZhdGUYBSABKAhIAIgBAUILCglfYWN0aXZhdGUiQwoYQ2xvdWRUdW5uZWxzT3BlblJlc3BvbnNlEicKBnR1bm5lbBgBIAEoCzIXLnB1YmxpY19hcGkuQ2xvdWRUdW5uZWwisAEKGkNsb3VkVW5wb29sZWREYWVtb25TdW1tYXJ5Eg0KBXZtX2lkGAEgASgJEhYKDndvcmtzcGFjZV9wYXRoGAIgASgJEhIKCm1heF9hZ2VudHMYAyABKAUSGwoTY3VycmVudF9hZ2VudF9jb3VudBgEIAEoBRIUCgxjb25uZWN0ZWRfYXQYBSABKAkSFgoObGFzdF9oZWFydGJlYXQYBiABKAkSDAoEbmFtZRgHIAEoCSJZChpDbG91ZFdlYmhvb2tzQ3JlYXRlUmVxdWVzdBITCgtkZXNjcmlwdGlvbhgBIAEoCRIMCgR0eXBlGAIgASgJEhgKEGNhcHR1cmVkX2hlYWRlcnMYAyADKAkicQobQ2xvdWRXZWJob29rc0NyZWF0ZVJlc3BvbnNlEhQKDHdlYmhvb2tfanNvbhgBIAEoCRILCgN1cmwYAiABKAkSDgoGc2VjcmV0GAMgASgJEh8KF3NldHVwX2luc3RydWN0aW9uc19qc29uGAQgASgJIjEKGkNsb3VkV2ViaG9va3NEZWxldGVSZXF1ZXN0EhMKC3dlYmhvb2tfaWRzGAEgAygJImcKG0Nsb3VkV2ViaG9va3NEZWxldGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhsKE2RlbGV0ZWRfd2ViaG9va19pZHMYAiADKAkSGgoSZmFpbGVkX3dlYmhvb2tfaWRzGAMgAygJIi0KF0Nsb3VkV2ViaG9va3NHZXRSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkiMAoYQ2xvdWRXZWJob29rc0dldFJlc3BvbnNlEhQKDHdlYmhvb2tfanNvbhgBIAEoCSJMCihDbG91ZFdlYmhvb2tzR2V0U2V0dXBJbnN0cnVjdGlvbnNSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkSDAoEdHlwZRgCIAEoCSJMCilDbG91ZFdlYmhvb2tzR2V0U2V0dXBJbnN0cnVjdGlvbnNSZXNwb25zZRIfChdzZXR1cF9pbnN0cnVjdGlvbnNfanNvbhgBIAEoCSIaChhDbG91ZFdlYmhvb2tzTGlzdFJlcXVlc3QiMgoZQ2xvdWRXZWJob29rc0xpc3RSZXNwb25zZRIVCg13ZWJob29rc19qc29uGAEgASgJIkMKHUNsb3VkV2ViaG9va3NTZXRTZWNyZXRSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkSDgoGc2VjcmV0GAIgASgJIjYKHkNsb3VkV2ViaG9va3NTZXRTZWNyZXRSZXNwb25zZRIUCgx3ZWJob29rX2pzb24YASABKAkilQEKGkNsb3VkV2ViaG9va3NVcGRhdGVSZXF1ZXN0EhIKCndlYmhvb2tfaWQYASABKAkSGAoLZGVzY3JpcHRpb24YAiABKAlIAIgBARIYChBjYXB0dXJlZF9oZWFkZXJzGAMgAygJEh8KF3VwZGF0ZV9jYXB0dXJlZF9oZWFkZXJzGAQgASgIQg4KDF9kZXNjcmlwdGlvbiIzChtDbG91ZFdlYmhvb2tzVXBkYXRlUmVzcG9uc2USFAoMd2ViaG9va19qc29uGAEgASgJIvsEChtDb2RlYmFzZVJldHJpZXZhbFJhd1JlcXVlc3QSLgoHcXVlcmllcxgBIAMoCzIdLnB1YmxpY19hcGkuUmF3UmV0cmlldmFsUXVlcnkSIAoFYmxvYnMYAiABKAsyES5wdWJsaWNfYXBpLkJsb2JzEhIKCm1heF9jaHVua3MYAyABKAUSGQoRbWF4X291dHB1dF9sZW5ndGgYBCABKAUSGQoRdXNlcl9ndWlkZWRfYmxvYnMYBSADKAkSGwoTZXh0ZXJuYWxfc291cmNlX2lkcxgGIAMoCRIlCh1kaXNhYmxlX2F1dG9fZXh0ZXJuYWxfc291cmNlcxgHIAEoCBIMCgRwYXRoGAggASgJEg4KBnByZWZpeBgJIAEoCRIOCgZzdWZmaXgYCiABKAkSFQoNc2VsZWN0ZWRfY29kZRgLIAEoCRIkCgZkaWFsb2cYDCADKAsyFC5wdWJsaWNfYXBpLkV4Y2hhbmdlEiMKG2luY2x1ZGVfZm9ybWF0dGVkX3JldHJpZXZhbBgNIAEoCBIcChRpbmNsdWRlX2xpbmVfbnVtYmVycxgOIAEoCBIcCg9jb252ZXJzYXRpb25faWQYDyABKAlIAIgBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGBAgASgJSAGIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYESABKAlIAogBARIUCgd0dXJuX2lkGBIgASgJSAOIAQFCEgoQX2NvbnZlcnNhdGlvbl9pZEIZChdfcGFyZW50X2NvbnZlcnNhdGlvbl9pZEIXChVfcm9vdF9jb252ZXJzYXRpb25faWRCCgoIX3R1cm5faWQipAEKHENvZGViYXNlUmV0cmlldmFsUmF3UmVzcG9uc2USLQoGY2h1bmtzGAEgAygLMh0ucHVibGljX2FwaS5SYXdSZXRyaWV2ZWRDaHVuaxIbChNmb3JtYXR0ZWRfcmV0cmlldmFsGAIgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgDIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgEIAEoCCKlBAoYQ29kZWJhc2VSZXRyaWV2YWxSZXF1ZXN0EhsKE2luZm9ybWF0aW9uX3JlcXVlc3QYASABKAkSJAoGZGlhbG9nGAIgAygLMhQucHVibGljX2FwaS5FeGNoYW5nZRIgCgVibG9icxgDIAEoCzIRLnB1YmxpY19hcGkuQmxvYnMSGQoRbWF4X291dHB1dF9sZW5ndGgYBCABKAUSIgoaZGlzYWJsZV9jb2RlYmFzZV9yZXRyaWV2YWwYBSABKAgSHwoXZW5hYmxlX2NvbW1pdF9yZXRyaWV2YWwYBiABKAgSJQodZW5hYmxlX2NvbnZlcnNhdGlvbl9yZXRyaWV2YWwYByABKAgSNgoSYnJpbmdfeW91cl9vd25fa2V5GAggASgLMhUuY2hhdC5CcmluZ1lvdXJPd25LZXlIAIgBARIcCg9jb252ZXJzYXRpb25faWQYCSABKAlIAYgBARIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGAogASgJSAKIAQESIQoUcm9vdF9jb252ZXJzYXRpb25faWQYCyABKAlIA4gBARIUCgd0dXJuX2lkGAwgASgJSASIAQFCFQoTX2JyaW5nX3lvdXJfb3duX2tleUISChBfY29udmVyc2F0aW9uX2lkQhkKF19wYXJlbnRfY29udmVyc2F0aW9uX2lkQhcKFV9yb290X2NvbnZlcnNhdGlvbl9pZEIKCghfdHVybl9pZCK7BgoZQ29kZWJhc2VSZXRyaWV2YWxSZXNwb25zZRIbChNmb3JtYXR0ZWRfcmV0cmlldmFsGAEgASgJEiUKHWNvZGViYXNlX3JldHJpZXZhbF9lbGFwc2VkX21zGAIgASgFEikKIWNvbnZlcnNhdGlvbl9yZXRyaWV2YWxfZWxhcHNlZF9tcxgDIAEoBRIpCiFjb252ZXJzYXRpb25faW5pdGlhbF9yZXRyaWV2YWxfbXMYBCABKAUSJwofY29udmVyc2F0aW9uX3F1ZXJ5X3Jld3JpdGluZ19tcxgFIAEoBRIqCiJjb252ZXJzYXRpb25fZm9sbG93dXBfcmV0cmlldmFsX21zGAYgASgFEhsKE2Jsb2JfbmFtZV9sb29rdXBfbXMYByABKAUSIQoZY29kZWJhc2VfY2h1bmtzX3JldHJpZXZlZBgIIAEoBRIjChtjb252ZXJzYXRpb25fY2h1bmtzX2luaXRpYWwYCSABKAUSJgoeY29udmVyc2F0aW9uX3F1ZXJpZXNfZ2VuZXJhdGVkGAogASgFEiQKHGNvbnZlcnNhdGlvbl9jaHVua3NfZm9sbG93dXAYCyABKAUSJAocY29udmVyc2F0aW9uX2NodW5rc19jb21iaW5lZBgMIAEoBRIqCiJjb2RlYmFzZV9yZXN1bHRfbGVuX3ByZV90cnVuY2F0aW9uGA0gASgFEhsKE2NvZGViYXNlX3Jlc3VsdF9sZW4YDiABKAUSLgomY29udmVyc2F0aW9uX3Jlc3VsdF9sZW5fcHJlX3RydW5jYXRpb24YDyABKAUSHwoXY29udmVyc2F0aW9uX3Jlc3VsdF9sZW4YECABKAUSGwoTY29tYmluZWRfcmVzdWx0X2xlbhgRIAEoBRIUCgx0b3RhbF9idWRnZXQYEiABKAUSFwoPY29kZWJhc2VfYnVkZ2V0GBMgASgFEhsKE2NvbnZlcnNhdGlvbl9idWRnZXQYFCABKAUSGgoSY29kZWJhc2VfdHJ1bmNhdGVkGBUgASgIEh4KFmNvbnZlcnNhdGlvbl90cnVuY2F0ZWQYFiABKAgSFwoPZmluYWxfdHJ1bmNhdGVkGBcgASgIImIKEkNvbXBsZXRpb25GZWVkYmFjaxISCgpyZXF1ZXN0X2lkGAEgASgJEioKBnJhdGluZxgCIAEoDjIaLnB1YmxpY19hcGkuRmVlZGJhY2tSYXRpbmcSDAoEbm90ZRgDIAEoCSIcChpDb21wbGV0aW9uRmVlZGJhY2tSZXNwb25zZSKDAQoOQ29tcGxldGlvbkl0ZW0SDAoEdGV4dBgBIAEoCRIWCg5za2lwcGVkX3N1ZmZpeBgCIAEoCRIfChdzdWZmaXhfcmVwbGFjZW1lbnRfdGV4dBgDIAEoCRIZCgxmaWx0ZXJfc2NvcmUYBCABKAJIAIgBAUIPCg1fZmlsdGVyX3Njb3JlIsoGChFDb21wbGV0aW9uUmVxdWVzdBISCgVtb2RlbBgBIAEoCUgAiAEBEg4KBnByb21wdBgCIAEoCRIMCgRwYXRoGAMgASgJEhMKBnN1ZmZpeBgEIAEoCUgBiAEBEhQKCG1lbW9yaWVzGAUgAygJQgIYARISCgV0b3BfaxgGIAEoBUgCiAEBEhIKBXRvcF9wGAcgASgCSAOIAQESGAoLdGVtcGVyYXR1cmUYCCABKAJIBIgBARIXCgptYXhfdG9rZW5zGAkgASgFSAWIAQESEQoEbGFuZxgKIAEoCUgGiAEBEhYKCWJsb2JfbmFtZRgLIAEoCUgHiAEBEhkKDHByZWZpeF9iZWdpbhgMIAEoBUgIiAEBEhwKD2N1cnNvcl9wb3NpdGlvbhgNIAEoBUgJiAEBEhcKCnN1ZmZpeF9lbmQYDiABKAVICogBARIyCgxyZWNlbmN5X2luZm8YDyABKAsyFy5wdWJsaWNfYXBpLlJlY2VuY3lJbmZvSAuIAQESIAoFYmxvYnMYECABKAsyES5wdWJsaWNfYXBpLkJsb2JzEhgKC3NlcXVlbmNlX2lkGBEgASgNSAyIAQESGwoKcHJvYmVfb25seRgSIAEoCEICGAFIDYgBARIdChBmaWx0ZXJfdGhyZXNob2xkGBMgASgCSA6IAQESLgoLZWRpdF9ldmVudHMYFCADKAsyGS5wdWJsaWNfYXBpLkZpbGVFZGl0RXZlbnQSOAoPY29tcGxldGlvbl90eXBlGBUgASgOMhoucHVibGljX2FwaS5Db21wbGV0aW9uVHlwZUgPiAEBQggKBl9tb2RlbEIJCgdfc3VmZml4QggKBl90b3Bfa0IICgZfdG9wX3BCDgoMX3RlbXBlcmF0dXJlQg0KC19tYXhfdG9rZW5zQgcKBV9sYW5nQgwKCl9ibG9iX25hbWVCDwoNX3ByZWZpeF9iZWdpbkISChBfY3Vyc29yX3Bvc2l0aW9uQg0KC19zdWZmaXhfZW5kQg8KDV9yZWNlbmN5X2luZm9CDgoMX3NlcXVlbmNlX2lkQg0KC19wcm9iZV9vbmx5QhMKEV9maWx0ZXJfdGhyZXNob2xkQhIKEF9jb21wbGV0aW9uX3R5cGUipAEKFENvbXBsZXRpb25SZXNvbHV0aW9uEhIKCnJlcXVlc3RfaWQYASABKAkSFQoNZW1pdF90aW1lX3NlYxgCIAEoAxIWCg5lbWl0X3RpbWVfbnNlYxgDIAEoBRIYChByZXNvbHZlX3RpbWVfc2VjGAQgASgDEhkKEXJlc29sdmVfdGltZV9uc2VjGAUgASgFEhQKDGFjY2VwdGVkX2lkeBgGIAEoBSLiAgoSQ29tcGxldGlvblJlc3BvbnNlEgwKBHRleHQYASABKAkSHAoUdW5rbm93bl9tZW1vcnlfbmFtZXMYAiADKAkSIwobc3VnZ2VzdGVkX3ByZWZpeF9jaGFyX2NvdW50GAMgASgNEiMKG3N1Z2dlc3RlZF9zdWZmaXhfY2hhcl9jb3VudBgEIAEoDRImChV1bmtub3duX2NoZWNrcG9pbnRfaWQYBSABKAlCAhgBSACIAQESJgoVY29tcGxldGlvbl90aW1lb3V0X21zGAYgASgNQgIYAUgBiAEBEjQKEGNvbXBsZXRpb25faXRlbXMYByADKAsyGi5wdWJsaWNfYXBpLkNvbXBsZXRpb25JdGVtEhwKFGNoZWNrcG9pbnRfbm90X2ZvdW5kGAggASgIQhgKFl91bmtub3duX2NoZWNrcG9pbnRfaWRCGAoWX2NvbXBsZXRpb25fdGltZW91dF9tcyKjAwoQQ29udmVyc2F0aW9uSW5mbxIXCg9jb252ZXJzYXRpb25faWQYASABKAkSFAoMd29ya3NwYWNlX2lkGAIgASgJEg0KBXRpdGxlGAMgASgJEhEKCWlzX3Bpbm5lZBgEIAEoCBIqCgR0eXBlGAUgASgOMhwucHVibGljX2FwaS5Db252ZXJzYXRpb25UeXBlEjMKCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESMwoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIoChtmb3JrZWRfZnJvbV9jb252ZXJzYXRpb25faWQYCCABKAlIAogBARIkChdmb3JrZWRfZnJvbV9leGNoYW5nZV9pZBgJIAEoCUgDiAEBQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0Qh4KHF9mb3JrZWRfZnJvbV9jb252ZXJzYXRpb25faWRCGgoYX2ZvcmtlZF9mcm9tX2V4Y2hhbmdlX2lkIsQBChZDb3N0QW5hbHl0aWNzRGF0YVBvaW50EjYKCmRhdGVfcmFuZ2UYASABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NEYXRlUmFuZ2USMQoHbWV0cmljcxgCIAEoCzIgLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc01ldHJpY3MSPwoPZ3JvdXBfYnlfdmFsdWVzGAMgASgLMiYucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzR3JvdXBCeVZhbHVlcyJ2ChZDb3N0QW5hbHl0aWNzRGF0ZVJhbmdlEi4KCnN0YXJ0X2RhdGUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI6ChdDb3N0QW5hbHl0aWNzRXhwZXJ0SW5mbxIRCglleHBlcnRfaWQYASABKAkSDAoEbmFtZRgCIAEoCSJ7ChRDb3N0QW5hbHl0aWNzRmlsdGVycxIQCgh1c2VyX2lkcxgBIAMoCRIdChVwcm9kdWN0X2Rpc3BsYXlfbmFtZXMYAiADKAkSHgoWcmVzb3VyY2VfZGlzcGxheV9uYW1lcxgDIAMoCRISCgpleHBlcnRfaWRzGAQgAygJIvwCChpDb3N0QW5hbHl0aWNzR3JvdXBCeVZhbHVlcxIaChJtb2RlbF9kaXNwbGF5X25hbWUYASABKAkSHQoVYWN0aXZpdHlfZGlzcGxheV9uYW1lGAIgASgJEjQKCXVzZXJfaW5mbxgDIAEoCzIhLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1VzZXJJbmZvEjgKC2J5b2tfc3RhdHVzGAQgASgOMiMucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzQnlva1N0YXR1cxIdChVyZXNvdXJjZV9kaXNwbGF5X25hbWUYBSABKAkSHAoUcHJvZHVjdF9kaXNwbGF5X25hbWUYBiABKAkSPAoNcmVzb3VyY2VfdHlwZRgHIAEoDjIlLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1Jlc291cmNlVHlwZRI4CgtleHBlcnRfaW5mbxgIIAEoCzIjLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0V4cGVydEluZm8imQIKFENvc3RBbmFseXRpY3NNZXRyaWNzEhkKEWJpbGxlZF9hbW91bnRfdXNkGAEgASgJEiMKG2VzdGltYXRlZF9jdXN0b21lcl9jb3N0X3VzZBgCIAEoCRIVCg1iYXNlX2Nvc3RfdXNkGAMgASgJEhUKDXN1cmNoYXJnZV91c2QYBCABKAkSFAoMaW5wdXRfdG9rZW5zGAUgASgEEhUKDW91dHB1dF90b2tlbnMYBiABKAQSGQoRY2FjaGVfcmVhZF90b2tlbnMYByABKAQSGgoSY2FjaGVfd3JpdGVfdG9rZW5zGAggASgEEhgKEGNyZWRpdHNfY29uc3VtZWQYCSABKAkSFQoNc2Vzc2lvbl9jb3VudBgKIAEoBCJyChZDb3N0QW5hbHl0aWNzVGFnRmlsdGVyEgsKA2tleRgBIAEoCRIOCgZ2YWx1ZXMYAiADKAkSOwoLZmlsdGVyX3R5cGUYAyABKA4yJi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NUYWdGaWx0ZXJUeXBlInUKFUNvc3RBbmFseXRpY3NVc2VySW5mbxIPCgd1c2VyX2lkGAEgASgJEjQKCXVzZXJfdHlwZRgCIAEoDjIhLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1VzZXJUeXBlEhUKDWVtYWlsX29yX25hbWUYAyABKAkiyAEKGENvc3RBbmFseXRpY3NWMkRhdGFQb2ludBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEjEKB21ldHJpY3MYAiABKAsyIC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NNZXRyaWNzEkEKD2dyb3VwX2J5X3ZhbHVlcxgDIAEoCzIoLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1YyR3JvdXBCeVZhbHVlcyJRChZDb3N0QW5hbHl0aWNzVjJGaWx0ZXJzEjcKC3RhZ19maWx0ZXJzGAEgAygLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzVGFnRmlsdGVyIqICChxDb3N0QW5hbHl0aWNzVjJHcm91cEJ5VmFsdWVzEkAKBHRhZ3MYASADKAsyMi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkdyb3VwQnlWYWx1ZXMuVGFnc0VudHJ5EloKEnRhZ19kaXNwbGF5X3ZhbHVlcxgCIAMoCzI+LnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1YyR3JvdXBCeVZhbHVlcy5UYWdEaXNwbGF5VmFsdWVzRW50cnkaKwoJVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaNwoVVGFnRGlzcGxheVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEikwEKF0NvdW50Q2hhdEhpc3RvcnlSZXF1ZXN0EhgKEGNvbnZlcnNhdGlvbl9pZHMYASADKAkSGwoOZXhjbHVkZV9zaWxlbnQYAiABKAhIAIgBARIbCg5leGNsdWRlX2ZhaWxlZBgDIAEoCEgBiAEBQhEKD19leGNsdWRlX3NpbGVudEIRCg9fZXhjbHVkZV9mYWlsZWQiUAoYQ291bnRDaGF0SGlzdG9yeVJlc3BvbnNlEjQKB3Jlc3VsdHMYASADKAsyIy5wdWJsaWNfYXBpLkNvdW50Q29udmVyc2F0aW9uUmVzdWx0Il4KF0NvdW50Q29udmVyc2F0aW9uUmVzdWx0Eg8KBWNvdW50GAIgASgFSAASDwoFZXJyb3IYAyABKAlIABIXCg9jb252ZXJzYXRpb25faWQYASABKAlCCAoGcmVzdWx0Ir0CChlDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0EhQKDHdvcmtzcGFjZV9pZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIRCglpc19waW5uZWQYAyABKAgSKgoEdHlwZRgEIAEoDjIcLnB1YmxpY19hcGkuQ29udmVyc2F0aW9uVHlwZRIcCg9jb252ZXJzYXRpb25faWQYBSABKAlIAIgBARIoChtmb3JrZWRfZnJvbV9jb252ZXJzYXRpb25faWQYBiABKAlIAYgBARIkChdmb3JrZWRfZnJvbV9leGNoYW5nZV9pZBgHIAEoCUgCiAEBQhIKEF9jb252ZXJzYXRpb25faWRCHgocX2ZvcmtlZF9mcm9tX2NvbnZlcnNhdGlvbl9pZEIaChhfZm9ya2VkX2Zyb21fZXhjaGFuZ2VfaWQiNQoaQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2USFwoPY29udmVyc2F0aW9uX2lkGAEgASgJIogBChhDcmVhdGVQdWxsUmVxdWVzdFJlcXVlc3QSJAoEcmVwbxgBIAEoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbxINCgV0aXRsZRgCIAEoCRIMCgRib2R5GAMgASgJEgwKBGhlYWQYBCABKAkSDAoEYmFzZRgFIAEoCRINCgVkcmFmdBgGIAEoCCJQChlDcmVhdGVQdWxsUmVxdWVzdFJlc3BvbnNlEjMKDHB1bGxfcmVxdWVzdBgBIAEoCzIdLnB1YmxpY19hcGkuR2l0aHViUHVsbFJlcXVlc3QiqgMKGENyZWF0ZVJlbW90ZUFnZW50UmVxdWVzdBI+Cg93b3Jrc3BhY2Vfc2V0dXAYASABKAsyJS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50V29ya3NwYWNlU2V0dXASSgoXaW5pdGlhbF9yZXF1ZXN0X2RldGFpbHMYAiABKAsyKS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50Q2hhdFJlcXVlc3REZXRhaWxzEhIKBW1vZGVsGAMgASgJSACIAQESGQoMc2V0dXBfc2NyaXB0GAQgASgJSAGIAQESEgoFdG9rZW4YBSABKAlIAogBARIiChVpc19zZXR1cF9zY3JpcHRfYWdlbnQYBiABKAhIA4gBARISCgV0aXRsZRgHIAEoCUgEiAEBEhcKCmltYWdlX25hbWUYCCABKAlIBYgBARIWCg5kaXNhYmxlZF90b29scxgJIAMoCUIICgZfbW9kZWxCDwoNX3NldHVwX3NjcmlwdEIICgZfdG9rZW5CGAoWX2lzX3NldHVwX3NjcmlwdF9hZ2VudEIICgZfdGl0bGVCDQoLX2ltYWdlX25hbWUiYwoZQ3JlYXRlUmVtb3RlQWdlbnRSZXNwb25zZRIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSLQoGc3RhdHVzGAIgASgOMh0ucHVibGljX2FwaS5SZW1vdGVBZ2VudFN0YXR1cyJPChRDcmVhdGVUcmlnZ2VyUmVxdWVzdBI3Cg1jb25maWd1cmF0aW9uGAEgASgLMiAucHVibGljX2FwaS5UcmlnZ2VyQ29uZmlndXJhdGlvbiI9ChVDcmVhdGVUcmlnZ2VyUmVzcG9uc2USJAoHdHJpZ2dlchgBIAEoCzITLnB1YmxpY19hcGkuVHJpZ2dlciIsChZDcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0EgwKBG5hbWUYASABKAlKBAgCEAMiLwoXQ3JlYXRlV29ya3NwYWNlUmVzcG9uc2USFAoMd29ya3NwYWNlX2lkGAEgASgJIjIKEUNyZWRpdERldGFpbHNJbmZvEg0KBWxhYmVsGAEgASgJEg4KBmFtb3VudBgCIAEoASKOAQoRQ3JlZGl0RGlzcGxheUluZm8SHwoXdXNhZ2VfdW5pdF9kaXNwbGF5X25hbWUYASABKAkSGQoRcGxhbl9kaXNwbGF5X25hbWUYAiABKAkSMgoGYmFubmVyGAMgASgLMh0ucHVibGljX2FwaS5CYW5uZXJJbmZvcm1hdGlvbkgAiAEBQgkKB19iYW5uZXIiMwoYRGVsZXRlUmVtb3RlQWdlbnRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIbChlEZWxldGVSZW1vdGVBZ2VudFJlc3BvbnNlIkMKGURlbGV0ZVRlbmFudFNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAIgASgJIi0KGkRlbGV0ZVRlbmFudFNlY3JldFJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAgiKgoURGVsZXRlVHJpZ2dlclJlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCSIXChVEZWxldGVUcmlnZ2VyUmVzcG9uc2UifAoXRGVsZXRlVXNlclNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAIgASgJEiYKBXNjb3BlGAMgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRIRCglzZWNyZXRfaWQYBCABKAkiKwoYRGVsZXRlVXNlclNlY3JldFJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAgidQoWRGlmZkV4cGxhbmF0aW9uU2VjdGlvbhINCgV0aXRsZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRI3CghzZWN0aW9ucxgDIAMoCzIlLnB1YmxpY19hcGkuRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbiKbAQoZRGlmZkV4cGxhbmF0aW9uU3ViU2VjdGlvbhINCgV0aXRsZRgBIAEoCRJGCgxkZXNjcmlwdGlvbnMYAiADKAsyMC5wdWJsaWNfYXBpLkRpZmZFeHBsYW5hdGlvblN1YlNlY3Rpb25EZXNjcmlwdGlvbhInCglkaWZmX3R5cGUYAyABKA4yFC5wdWJsaWNfYXBpLkRpZmZUeXBlInsKJERpZmZFeHBsYW5hdGlvblN1YlNlY3Rpb25EZXNjcmlwdGlvbhIMCgRwYXRoGAEgASgJEgwKBHRleHQYAiABKAkSIAoFcmFuZ2UYAyABKAsyES5wdWJsaWNfYXBpLlJhbmdlEhUKDXNlbGVjdGVkX2NvZGUYBCABKAkiUAoURGlzbWlzc0VudGl0eVJlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCRIRCgllbnRpdHlfaWQYAiABKAkSEQoJZGlzbWlzc2VkGAMgASgIIhcKFURpc21pc3NFbnRpdHlSZXNwb25zZSJ0ChhEcm9wcGVkU2hhcmVkU2VydmVyT3B0SW4SEQoJc2VydmVyX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCRIZChFvcHRfaW5fZ2VuZXJhdGlvbhgDIAEoAxIaChJjdXJyZW50X2dlbmVyYXRpb24YBCABKAMidAoPRWRpdEZpbGVSZXF1ZXN0EhEKCWZpbGVfcGF0aBgBIAEoCRIUCgxlZGl0X3N1bW1hcnkYAiABKAkSIQoZZGV0YWlsZWRfZWRpdF9kZXNjcmlwdGlvbhgDIAEoCRIVCg1maWxlX2NvbnRlbnRzGAQgASgJIkQKEEVkaXRGaWxlUmVzcG9uc2USHgoWbW9kaWZpZWRfZmlsZV9jb250ZW50cxgBIAEoCRIQCghpc19lcnJvchgCIAEoCCKNAwoLRWRpdFJlcXVlc3QSEgoFbW9kZWwYASABKAlIAIgBARIOCgZwcmVmaXgYAiABKAkSFQoNc2VsZWN0ZWRfdGV4dBgDIAEoCRIOCgZzdWZmaXgYBCABKAkSFgoKYmxvYl9uYW1lcxgFIAMoCUICGAESEQoEcGF0aBgGIAEoCUgBiAEBEhMKC2luc3RydWN0aW9uGAcgASgJEhEKBGxhbmcYCCABKAlIAogBARIWCglibG9iX25hbWUYCSABKAlIA4gBARIZCgxwcmVmaXhfYmVnaW4YCiABKAVIBIgBARIXCgpzdWZmaXhfZW5kGAsgASgFSAWIAQESGAoLc2VxdWVuY2VfaWQYDCABKA1IBogBARIgCgVibG9icxgNIAEoCzIRLnB1YmxpY19hcGkuQmxvYnNCCAoGX21vZGVsQgcKBV9wYXRoQgcKBV9sYW5nQgwKCl9ibG9iX25hbWVCDwoNX3ByZWZpeF9iZWdpbkINCgtfc3VmZml4X2VuZEIOCgxfc2VxdWVuY2VfaWQipAIKDkVkaXRSZXNvbHV0aW9uEhcKC2NsaWVudF9uYW1lGAEgASgJQgIYARISCgpyZXF1ZXN0X2lkGAIgASgJEhUKDWVtaXRfdGltZV9zZWMYAyABKAMSFgoOZW1pdF90aW1lX25zZWMYBCABKAUSGAoQcmVzb2x2ZV90aW1lX3NlYxgFIAEoAxIZChFyZXNvbHZlX3RpbWVfbnNlYxgGIAEoBRITCgtpc19hY2NlcHRlZBgHIAEoCBIbCg5hbm5vdGF0ZWRfdGV4dBgIIAEoCUgAiAEBEiIKFWFubm90YXRlZF9pbnN0cnVjdGlvbhgJIAEoCUgBiAEBQhEKD19hbm5vdGF0ZWRfdGV4dEIYChZfYW5ub3RhdGVkX2luc3RydWN0aW9uIlYKDEVkaXRSZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCCIYChZFbnRlcnByaXNlU3Vic2NyaXB0aW9uIo0CCghFeGNoYW5nZRIXCg9yZXF1ZXN0X21lc3NhZ2UYASABKAkSGgoNcmVzcG9uc2VfdGV4dBgCIAEoCUgAiAEBEhcKCnJlcXVlc3RfaWQYAyABKAlIAYgBARIyCg1yZXF1ZXN0X25vZGVzGAQgAygLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGUSMgoOcmVzcG9uc2Vfbm9kZXMYBSADKAsyGi5wdWJsaWNfYXBpLkNoYXRSZXN1bHROb2RlEhkKDGNvbXBvc2l0ZV9pZBgGIAEoCUgCiAEBQhAKDl9yZXNwb25zZV90ZXh0Qg0KC19yZXF1ZXN0X2lkQg8KDV9jb21wb3NpdGVfaWQi0QEKDkV4Y2hhbmdlVXBkYXRlEhcKCnJlcXVlc3RfaWQYASABKAlIAIgBARITCgtzZXF1ZW5jZV9pZBgCIAEoDRIVCg1hcHBlbmRlZF90ZXh0GAMgASgJEjIKDmFwcGVuZGVkX25vZGVzGAQgAygLMhoucHVibGljX2FwaS5DaGF0UmVzdWx0Tm9kZRI3ChZhcHBlbmRlZF9jaGFuZ2VkX2ZpbGVzGAUgAygLMhcucHVibGljX2FwaS5DaGFuZ2VkRmlsZUINCgtfcmVxdWVzdF9pZCKJAgoZRXhlY3V0ZU1hbnVhbEFnZW50UmVxdWVzdBIRCgllbnRpdHlfaWQYASABKAkSPQoSZ2l0aHViX2VudGl0eV90eXBlGAIgASgOMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlUeXBlSACIAQESPQoSbGluZWFyX2VudGl0eV90eXBlGAMgASgOMhwucHVibGljX2FwaS5MaW5lYXJFbnRpdHlUeXBlSAGIAQESLQoMYWdlbnRfY29uZmlnGAQgASgLMhcucHVibGljX2FwaS5BZ2VudENvbmZpZ0IVChNfZ2l0aHViX2VudGl0eV90eXBlQhUKE19saW5lYXJfZW50aXR5X3R5cGUihgEKGkV4ZWN1dGVNYW51YWxBZ2VudFJlc3BvbnNlEhQKDGV4ZWN1dGlvbl9pZBgBIAEoCRIcCg9yZW1vdGVfYWdlbnRfaWQYAiABKAlIAIgBARIUCgdtZXNzYWdlGAMgASgJSAGIAQFCEgoQX3JlbW90ZV9hZ2VudF9pZEIKCghfbWVzc2FnZSJyCh1FeGVjdXRlVHJpZ2dlck1hbnVhbGx5UmVxdWVzdBISCgp0cmlnZ2VyX2lkGAEgASgJEhEKCWVudGl0eV9pZBgCIAEoCRIZCgxleHRyYV9wcm9tcHQYAyABKAlIAIgBAUIPCg1fZXh0cmFfcHJvbXB0IooBCh5FeGVjdXRlVHJpZ2dlck1hbnVhbGx5UmVzcG9uc2USFAoMZXhlY3V0aW9uX2lkGAEgASgJEhwKD3JlbW90ZV9hZ2VudF9pZBgCIAEoCUgAiAEBEhQKB21lc3NhZ2UYAyABKAlIAYgBAUISChBfcmVtb3RlX2FnZW50X2lkQgoKCF9tZXNzYWdlIm4KDkV4dGVybmFsU291cmNlEgoKAmlkGAEgASgJEgwKBG5hbWUYBCABKAkSDQoFdGl0bGUYAiABKAkSMwoLc291cmNlX3R5cGUYAyABKA4yHi5wdWJsaWNfYXBpLkV4dGVybmFsU291cmNlVHlwZSL7BQoORmVhdHVyZUNvbnRyb2wSPQoNZmVhdHVyZV90eXBlcxgBIAMoDjImLnB1YmxpY19hcGkuRmVhdHVyZUNvbnRyb2wuRmVhdHVyZVR5cGUSNgoFc3RhdGUYAiABKA4yJy5wdWJsaWNfYXBpLkZlYXR1cmVDb250cm9sLkZlYXR1cmVTdGF0ZRJJCg9kaXNhYmxlZF9yZWFzb24YAyABKA4yMC5wdWJsaWNfYXBpLkZlYXR1cmVDb250cm9sLkZlYXR1cmVEaXNhYmxlZFJlYXNvbhIsCghlbmRfZGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOwoMZGlzcGxheV9pbmZvGAUgASgLMiUucHVibGljX2FwaS5GZWF0dXJlQ29udHJvbERpc3BsYXlJbmZvIuoBCgtGZWF0dXJlVHlwZRILCgdVTktOT1dOEAASEAoMQUxMX0ZFQVRVUkVTEAESCAoEQ0hBVBACEgkKBUFHRU5UEAMSEAoMUkVNT1RFX0FHRU5UEAQSDQoJQ0xJX0FHRU5UEAUSDwoLT1JJRU5UQVRJT04QBxIPCgtDT0RFX1JFVklFVxAJEiIKHkNIQVRfU1RSRUFNX0NSRURJVF9DT05TVU1QVElPThAVEhIKDkNPTlRFWFRfRU5HSU5FEBYSDAoIUE9TRUlET04QGRISCg5JTkRFWElOR19JTkZSQRAcIgQIBhAGIgQICBAIIjwKDEZlYXR1cmVTdGF0ZRIRCg1TVEFURV9VTktOT1dOEAASCwoHRU5BQkxFRBABEgwKCERJU0FCTEVEEAIikAEKFUZlYXR1cmVEaXNhYmxlZFJlYXNvbhISCg5SRUFTT05fVU5LTk9XThAAEhkKFUlOQUNUSVZFX1NVQlNDUklQVElPThABEhoKFlVTQUdFX0JBTEFOQ0VfREVQTEVURUQQAhIYChROT1RfSU5DTFVERURfSU5fUExBThADEhIKDlFVT1RBX0VYQ0VFREVEEAQiUAoZRmVhdHVyZUNvbnRyb2xEaXNwbGF5SW5mbxItCgZiYW5uZXIYAiABKAsyHS5wdWJsaWNfYXBpLkJhbm5lckluZm9ybWF0aW9uSgQIARACIkkKEUZlYXR1cmVHYXRpbmdJbmZvEjQKEGZlYXR1cmVfY29udHJvbHMYASADKAsyGi5wdWJsaWNfYXBpLkZlYXR1cmVDb250cm9sIl4KCEZpbGVFZGl0EhQKDGJlZm9yZV9zdGFydBgBIAEoDRITCgtiZWZvcmVfdGV4dBgCIAEoCRITCgthZnRlcl9zdGFydBgDIAEoDRISCgphZnRlcl90ZXh0GAQgASgJInUKDUZpbGVFZGl0RXZlbnQSDAoEcGF0aBgBIAEoCRIYChBiZWZvcmVfYmxvYl9uYW1lGAIgASgJEhcKD2FmdGVyX2Jsb2JfbmFtZRgDIAEoCRIjCgVlZGl0cxgEIAMoCzIULnB1YmxpY19hcGkuRmlsZUVkaXQiTAoSRmluZE1pc3NpbmdSZXF1ZXN0EhIKBW1vZGVsGAEgASgJSACIAQESGAoQbWVtX29iamVjdF9uYW1lcxgCIAMoCUIICgZfbW9kZWwiUgoTRmluZE1pc3NpbmdSZXNwb25zZRIcChR1bmtub3duX21lbW9yeV9uYW1lcxgCIAMoCRIdChVub25pbmRleGVkX2Jsb2JfbmFtZXMYAyADKAki0wEKHEdlbmVyYXRlQ29tbWl0TWVzc2FnZVJlcXVlc3QSPQoSY2hhbmdlZF9maWxlX3N0YXRzGAEgASgLMhwucHVibGljX2FwaS5DaGFuZ2VkRmlsZVN0YXRzSACIAQESEQoEZGlmZhgCIAEoCUgBiAEBEiAKGHJlbGV2YW50X2NvbW1pdF9tZXNzYWdlcxgDIAMoCRIfChdleGFtcGxlX2NvbW1pdF9tZXNzYWdlcxgEIAMoCUIVChNfY2hhbmdlZF9maWxlX3N0YXRzQgcKBV9kaWZmIi0KHUdlbmVyYXRlQ29tbWl0TWVzc2FnZVJlc3BvbnNlEgwKBHRleHQYASABKAkiJAoWR2V0QWdlbnRQZXJzb25hUmVxdWVzdBIKCgJpZBgBIAEoCSJKChdHZXRBZ2VudFBlcnNvbmFSZXNwb25zZRIvCg1hZ2VudF9wZXJzb25hGAEgASgLMhgucHVibGljX2FwaS5BZ2VudFBlcnNvbmEiGgoYR2V0QmlsbGluZ1N1bW1hcnlSZXF1ZXN0IvkBChlHZXRCaWxsaW5nU3VtbWFyeVJlc3BvbnNlEhEKCXBsYW5fbmFtZRgBIAEoCRIYChBhbW91bnRfcmVtYWluaW5nGAIgASgJEiEKGWFtb3VudF9pbmNsdWRlZF9wZXJfY3ljbGUYAyABKAkSKQoKdXNhZ2VfdW5pdBgEIAEoDjIVLnB1YmxpY19hcGkuVXNhZ2VVbml0EiIKGmJpbGxpbmdfY3ljbGVfZW5kX2RhdGVfaXNvGAUgASgJEjIKBmJhbm5lchgGIAEoCzIdLnB1YmxpY19hcGkuQmFubmVySW5mb3JtYXRpb25IAIgBAUIJCgdfYmFubmVyIkcKFkdldENvbnZlcnNhdGlvblJlcXVlc3QSFAoMd29ya3NwYWNlX2lkGAEgASgJEhcKD2NvbnZlcnNhdGlvbl9pZBgCIAEoCSJNChdHZXRDb252ZXJzYXRpb25SZXNwb25zZRIyCgxjb252ZXJzYXRpb24YASABKAsyHC5wdWJsaWNfYXBpLkNvbnZlcnNhdGlvbkluZm8iowIKF0dldENvc3RBbmFseXRpY3NSZXF1ZXN0EjYKCmRhdGVfcmFuZ2UYASABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NEYXRlUmFuZ2USNwoNZ3JvdXBfYnlfa2V5cxgCIAMoDjIgLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0dyb3VwQnkSPQoLZ3JhbnVsYXJpdHkYAyABKA4yKC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NUaW1lR3JhbnVsYXJpdHkSEQoJcGFnZV9zaXplGAQgASgNEhIKCnBhZ2VfdG9rZW4YBSABKAkSMQoHZmlsdGVycxgGIAEoCzIgLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0ZpbHRlcnMibAoYR2V0Q29zdEFuYWx5dGljc1Jlc3BvbnNlEjcKC2RhdGFfcG9pbnRzGAEgAygLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0YVBvaW50EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKJAgoZR2V0Q29zdEFuYWx5dGljc1YyUmVxdWVzdBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEj0KC2dyYW51bGFyaXR5GAIgASgOMigucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzVGltZUdyYW51bGFyaXR5EhkKEXRhZ19ncm91cF9ieV9rZXlzGAMgAygJEjMKB2ZpbHRlcnMYBCABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkZpbHRlcnMSEQoJcGFnZV9zaXplGAUgASgNEhIKCnBhZ2VfdG9rZW4YBiABKAkicAoaR2V0Q29zdEFuYWx5dGljc1YyUmVzcG9uc2USOQoLZGF0YV9wb2ludHMYASADKAsyJC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkRhdGFQb2ludBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiFgoUR2V0Q3JlZGl0SW5mb1JlcXVlc3QiyQMKFUdldENyZWRpdEluZm9SZXNwb25zZRIdChV1c2FnZV91bml0c19yZW1haW5pbmcYASABKAESMwondXNhZ2VfdW5pdHNfdG90YWxfY3VycmVudF9iaWxsaW5nX2N5Y2xlGAIgASgBQgIYARIoChx1c2FnZV91bml0c190b3RhbF9hZGRpdGlvbmFsGAMgASgBQgIYARIdChVpc19jcmVkaXRfYmFsYW5jZV9sb3cYBCABKAgSMwoMZGlzcGxheV9pbmZvGAUgASgLMh0ucHVibGljX2FwaS5DcmVkaXREaXNwbGF5SW5mbxIwCgxyZWZyZXNoZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KJmluY2x1ZGVkX3VzYWdlX3VuaXRzX3Blcl9iaWxsaW5nX2N5Y2xlGAcgASgBEioKImN1cnJlbnRfYmlsbGluZ19jeWNsZV9lbmRfZGF0ZV9pc28YCCABKAkSNQoOY3JlZGl0X2RldGFpbHMYCSADKAsyHS5wdWJsaWNfYXBpLkNyZWRpdERldGFpbHNJbmZvEhkKEXVzYWdlX3VuaXRzX3RvdGFsGAogASgBIvMCChdHZXRFbnRpdHlEZXRhaWxzUmVxdWVzdBIRCgllbnRpdHlfaWQYASABKAkSLQoMZXZlbnRfc291cmNlGAIgASgOMhcucHVibGljX2FwaS5FdmVudFNvdXJjZRI9ChJnaXRodWJfZW50aXR5X3R5cGUYAyABKA4yHC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVR5cGVIAIgBARI9ChJsaW5lYXJfZW50aXR5X3R5cGUYBCABKA4yHC5wdWJsaWNfYXBpLkxpbmVhckVudGl0eVR5cGVIAYgBARIXCgpyZXBvc2l0b3J5GAUgASgJSAKIAQESJQoYaW5jbHVkZV9yZWxhdGVkX2VudGl0aWVzGAYgASgISAOIAQFCFQoTX2dpdGh1Yl9lbnRpdHlfdHlwZUIVChNfbGluZWFyX2VudGl0eV90eXBlQg0KC19yZXBvc2l0b3J5QhsKGV9pbmNsdWRlX3JlbGF0ZWRfZW50aXRpZXMi5wEKGEdldEVudGl0eURldGFpbHNSZXNwb25zZRI0Cg1naXRodWJfZW50aXR5GAEgASgLMhgucHVibGljX2FwaS5HaXRIdWJFbnRpdHlIAIgBARI0Cg1saW5lYXJfZW50aXR5GAIgASgLMhgucHVibGljX2FwaS5MaW5lYXJFbnRpdHlIAYgBARINCgVmb3VuZBgDIAEoCBIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSAKIAQFCEAoOX2dpdGh1Yl9lbnRpdHlCEAoOX2xpbmVhcl9lbnRpdHlCEAoOX2Vycm9yX21lc3NhZ2UiPAoUR2V0R2l0aHViUmVwb1JlcXVlc3QSJAoEcmVwbxgBIAEoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbyI9ChVHZXRHaXRodWJSZXBvUmVzcG9uc2USJAoEcmVwbxgBIAEoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbyI0CiFHZXRJbXBsaWNpdEV4dGVybmFsU291cmNlc1JlcXVlc3QSDwoHbWVzc2FnZRgBIAEoCSJRCiJHZXRJbXBsaWNpdEV4dGVybmFsU291cmNlc1Jlc3BvbnNlEisKB3NvdXJjZXMYASADKAsyGi5wdWJsaWNfYXBpLkV4dGVybmFsU291cmNlIjsKJEdldExhdGVzdEluZGV4ZWRDb21taXRCbG9ic2V0UmVxdWVzdBITCgtjb21taXRfc2hhcxgBIAMoCSKSAQolR2V0TGF0ZXN0SW5kZXhlZENvbW1pdEJsb2JzZXRSZXNwb25zZRISCgpjb21taXRfc2hhGAEgASgJEjUKCmZpbGVfaW5mb3MYAiADKAsyIS5wdWJsaWNfYXBpLkluZGV4ZWRDb21taXRGaWxlSW5mbxIeChZiYXNlbGluZV9jaGVja3BvaW50X2lkGAMgASgJIuQCChpHZXRNYXRjaGluZ0VudGl0aWVzUmVxdWVzdBIXCgp0cmlnZ2VyX2lkGAEgASgJSACIAQESNgoKY29uZGl0aW9ucxgCIAEoCzIdLnB1YmxpY19hcGkuVHJpZ2dlckNvbmRpdGlvbnNIAYgBARItCgxldmVudF9zb3VyY2UYAyABKA4yFy5wdWJsaWNfYXBpLkV2ZW50U291cmNlEhIKBWxpbWl0GAQgASgNSAKIAQESEwoGb2Zmc2V0GAUgASgNSAOIAQESEgoFc2luY2UYBiABKAlIBIgBARISCgV1bnRpbBgHIAEoCUgFiAEBEhsKDnNob3dfZGlzbWlzc2VkGAggASgISAaIAQFCDQoLX3RyaWdnZXJfaWRCDQoLX2NvbmRpdGlvbnNCCAoGX2xpbWl0QgkKB19vZmZzZXRCCAoGX3NpbmNlQggKBl91bnRpbEIRCg9fc2hvd19kaXNtaXNzZWQi1wIKG0dldE1hdGNoaW5nRW50aXRpZXNSZXNwb25zZRIxCg9naXRodWJfZW50aXRpZXMYASADKAsyGC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eRIxCg9saW5lYXJfZW50aXRpZXMYAiADKAsyGC5wdWJsaWNfYXBpLkxpbmVhckVudGl0eRITCgt0b3RhbF9jb3VudBgDIAEoDRIQCghoYXNfbW9yZRgEIAEoCBIeChFxdWVyeV9leHBsYW5hdGlvbhgFIAEoCUgAiAEBEiMKFnRvdGFsX2VudGl0aWVzX2NoZWNrZWQYBiABKA1IAYgBARI1ChFzY2hlZHVsZV9lbnRpdGllcxgHIAMoCzIaLnB1YmxpY19hcGkuU2NoZWR1bGVFbnRpdHlCFAoSX3F1ZXJ5X2V4cGxhbmF0aW9uQhkKF190b3RhbF9lbnRpdGllc19jaGVja2VkIjQKHEdldE1jcENhdGFsb2dNZXRhZGF0YVJlcXVlc3QSFAoMcHJvZHVjdF90eXBlGAEgASgFIlUKHUdldE1jcENhdGFsb2dNZXRhZGF0YVJlc3BvbnNlEjQKB2VudHJpZXMYASADKAsyIy5wdWJsaWNfYXBpLk1jcENhdGFsb2dNZXRhZGF0YUVudHJ5IlcKF0dldE1jcENvbmZpZ0J5SWRSZXF1ZXN0EhEKCWNvbmZpZ19pZBgBIAEoCRIpCgVzY29wZRgCIAEoDjIaLnB1YmxpY19hcGkuTWNwQ29uZmlnU2NvcGUiQQoYR2V0TWNwQ29uZmlnQnlJZFJlc3BvbnNlEiUKBmNvbmZpZxgBIAEoCzIVLnB1YmxpY19hcGkuTWNwQ29uZmlnIlUKE0dldE1jcFNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIcCg9hY3RpdmVfc3BhY2VfaWQYAiABKAlIAIgBAUISChBfYWN0aXZlX3NwYWNlX2lkIj0KFEdldE1jcFNlY3JldFJlc3BvbnNlEiUKBnNlY3JldBgBIAEoCzIVLnB1YmxpY19hcGkuTWNwU2VjcmV0Ik4KGkdldE1jcFRlbmFudENvbmZpZ3NSZXF1ZXN0EjAKDHByb2R1Y3RfdHlwZRgBIAEoDjIaLnB1YmxpY19hcGkuTWNwUHJvZHVjdFR5cGUiSQobR2V0TWNwVGVuYW50Q29uZmlnc1Jlc3BvbnNlEioKC21jcF9jb25maWdzGAEgAygLMhUucHVibGljX2FwaS5NY3BDb25maWciHQobR2V0TWNwVGVuYW50U2V0dGluZ3NSZXF1ZXN0IlsKHEdldE1jcFRlbmFudFNldHRpbmdzUmVzcG9uc2USKgoLbWNwX2NvbmZpZ3MYASADKAsyFS5wdWJsaWNfYXBpLk1jcENvbmZpZxIPCgd2ZXJzaW9uGAIgASgJIkwKGEdldE1jcFVzZXJDb25maWdzUmVxdWVzdBIwCgxwcm9kdWN0X3R5cGUYASABKA4yGi5wdWJsaWNfYXBpLk1jcFByb2R1Y3RUeXBlIokDChlHZXRNY3BVc2VyQ29uZmlnc1Jlc3BvbnNlEioKC21jcF9jb25maWdzGAEgAygLMhUucHVibGljX2FwaS5NY3BDb25maWcSIQoZZW5hYmxlZF9zaGFyZWRfc2VydmVyX2lkcxgCIAMoCRJnChpzZXJ2ZXJfcHJvZHVjdF9wcmVmZXJlbmNlcxgDIAMoCzJDLnB1YmxpY19hcGkuR2V0TWNwVXNlckNvbmZpZ3NSZXNwb25zZS5TZXJ2ZXJQcm9kdWN0UHJlZmVyZW5jZXNFbnRyeRJLCh1kcm9wcGVkX3NoYXJlZF9zZXJ2ZXJfb3B0X2lucxgEIAMoCzIkLnB1YmxpY19hcGkuRHJvcHBlZFNoYXJlZFNlcnZlck9wdEluGmcKHVNlcnZlclByb2R1Y3RQcmVmZXJlbmNlc0VudHJ5EgsKA2tleRgBIAEoCRI1CgV2YWx1ZRgCIAEoCzImLnB1YmxpY19hcGkuTWNwU2VydmVyUHJvZHVjdFByZWZlcmVuY2U6AjgBIhsKGUdldE1jcFVzZXJTZXR0aW5nc1JlcXVlc3QiWQoaR2V0TWNwVXNlclNldHRpbmdzUmVzcG9uc2USKgoLbWNwX2NvbmZpZ3MYASADKAsyFS5wdWJsaWNfYXBpLk1jcENvbmZpZxIPCgd2ZXJzaW9uGAIgASgJIhIKEEdldE1vZGVsc1JlcXVlc3Qin9sBChFHZXRNb2RlbHNSZXNwb25zZRIaCg1kZWZhdWx0X21vZGVsGAEgASgJSACIAQESIQoGbW9kZWxzGAIgAygLMhEucHVibGljX2FwaS5Nb2RlbBInCglsYW5ndWFnZXMYAyADKAsyFC5wdWJsaWNfYXBpLkxhbmd1YWdlEkYKDWZlYXR1cmVfZmxhZ3MYBCABKAsyKi5wdWJsaWNfYXBpLkdldE1vZGVsc1Jlc3BvbnNlLkZlYXR1cmVGbGFnc0gBiAEBEjkKCXVzZXJfdGllchgFIAEoDjImLnB1YmxpY19hcGkuR2V0TW9kZWxzUmVzcG9uc2UuVXNlclRpZXISNQoEdXNlchgGIAEoCzIiLnB1YmxpY19hcGkuR2V0TW9kZWxzUmVzcG9uc2UuVXNlckgCiAEBEj4KEmJvb3RzdHJhcF9zZXR0aW5ncxgHIAEoCzIdLnB1YmxpY19hcGkuQm9vdHN0cmFwU2V0dGluZ3NIA4gBARrC1QEKDEZlYXR1cmVGbGFncxIiChFlbmFibGVfY29kZV9lZGl0cxgBIAEoCEICGAFIAIgBARIYCgtlbmFibGVfY2hhdBgFIAEoCEgBiAEBEigKG2VuYWJsZV93b3Jrc3BhY2VfbWFuYWdlcl91aRgGIAEoCEgCiAEBEiEKFGVuYWJsZV9pbnRlbGxpal9jaGF0GAcgASgISAOIAQESLwoiZW5hYmxlX3dvcmtzcGFjZV9tYW5hZ2VyX3VpX2xhdW5jaBgIIAEoCEgEiAEBEiMKFmFkZGl0aW9uYWxfY2hhdF9tb2RlbHMYCSABKAlIBYgBARImChlpbnRlbGxpal9jaGF0X21pbl92ZXJzaW9uGAogASgJSAaIAQESKAobdnNjb2RlX2ZseXdoZWVsX21pbl92ZXJzaW9uGAwgASgJSAeIAQESOAordnNjb2RlX2V4dGVybmFsX3NvdXJjZXNfaW5fY2hhdF9taW5fdmVyc2lvbhgNIAEoCUgIiAEBEiAKE2VuYWJsZV9pbnN0cnVjdGlvbnMYDiABKAhICYgBARIfChJlbmFibGVfc21hcnRfcGFzdGUYDyABKAhICogBARIrCh5lbmFibGVfc21hcnRfcGFzdGVfbWluX3ZlcnNpb24YESABKAlIC4gBARImChllbmFibGVfdmlld190ZXh0X2RvY3VtZW50GBIgASgISAyIAQESIAoTY2hlY2twb2ludF9ibG9ic192MhgTIAEoCEgNiAEBEiMKFmVuYWJsZV9kYXRhX2NvbGxlY3Rpb24YFCABKAhIDogBARIhChRzbWFsbF9zeW5jX3RocmVzaG9sZBgVIAEoA0gPiAEBEh8KEmJpZ19zeW5jX3RocmVzaG9sZBgWIAEoA0gQiAEBEiMKFmJ5cGFzc19sYW5ndWFnZV9maWx0ZXIYFyABKAhIEYgBARIdChBlbmFibGVfaGluZHNpZ2h0GBggASgISBKIAQESIgoVbWF4X3VwbG9hZF9zaXplX2J5dGVzGBkgASgDSBOIAQESMgolaW50ZWxsaWpfZm9yY2VfY29tcGxldGlvbl9taW5fdmVyc2lvbhgaIAEoCUgUiAEBEjAKH2VuYWJsZV9leHRlcm5hbF9zb3VyY2VzX2luX2NoYXQYGyABKAhCAhgBSBWIAQESJQoYbWF4X3RyYWNrYWJsZV9maWxlX2NvdW50GBwgASgDSBaIAQESOAorbWF4X3RyYWNrYWJsZV9maWxlX2NvdW50X3dpdGhvdXRfcGVybWlzc2lvbhgdIAEoA0gXiAEBEjcKKm1pbl91cGxvYWRlZF9wZXJjZW50YWdlX3dpdGhvdXRfcGVybWlzc2lvbhgeIAEoA0gYiAEBEjQKJ3ZzY29kZV9jaGF0X2hpbnRfZGVjb3JhdGlvbl9taW5fdmVyc2lvbhgfIAEoCUgZiAEBEi8KImVuYWJsZV9jb21wbGV0aW9uX2ZpbGVfZWRpdF9ldmVudHMYISABKAhIGogBARInChp2c2NvZGVfc291cmNlc19taW5fdmVyc2lvbhgiIAEoCUgbiAEBEiYKGXZzY29kZV9lbmFibGVfY3B1X3Byb2ZpbGUYIyABKAhIHIgBARIpChx2ZXJpZnlfZm9sZGVyX2lzX3NvdXJjZV9yZXBvGCQgASgISB2IAQESLAofcmVmdXNlX3RvX3N5bmNfaG9tZV9kaXJlY3RvcmllcxglIAEoCEgeiAEBEjYKKWVuYWJsZV9maWxlX2xpbWl0c19mb3Jfc3luY2luZ19wZXJtaXNzaW9uGCYgASgISB+IAQESJQoYdnNjb2RlX3NoYXJlX21pbl92ZXJzaW9uGCcgASgJSCCIAQESJwoaaW50ZWxsaWpfc2hhcmVfbWluX3ZlcnNpb24YKCABKAlIIYgBARIiChVlbmFibGVfc3VtbWFyeV90aXRsZXMYKSABKAhIIogBARIpChxlbmFibGVfY2hhdF9tZXJtYWlkX2RpYWdyYW1zGCogASgISCOIAQESKAobc21hcnRfcGFzdGVfcHJlY29tcHV0ZV9tb2RlGCsgASgJSCSIAQESMAojdnNjb2RlX25ld190aHJlYWRzX21lbnVfbWluX3ZlcnNpb24YLCABKAlIJYgBARIyCiVpbnRlbGxpal9uZXdfdGhyZWFkc19tZW51X21pbl92ZXJzaW9uGC0gASgJSCaIAQESMAojdnNjb2RlX2VkaXRhYmxlX2hpc3RvcnlfbWluX3ZlcnNpb24YLiABKAlIJ4gBARIiChVpbnRlbGxpal9zaG93X3N1bW1hcnkYLyABKAhIKIgBARIeChFlbmFibGVfZ3VpZGVsaW5lcxgwIAEoCEgpiAEBEjwKL3ZzY29kZV9lbmFibGVfY2hhdF9tZXJtYWlkX2RpYWdyYW1zX21pbl92ZXJzaW9uGDEgASgJSCqIAQESJgoZdnNjb2RlX2RlcHJlY2F0ZWRfdmVyc2lvbhgyIAEoCUgriAEBEigKG2ludGVsbGlqX2RlcHJlY2F0ZWRfdmVyc2lvbhgzIAEoCUgsiAEBEj4KMXZzY29kZV91c2VfY2hlY2twb2ludF9tYW5hZ2VyX2NvbnRleHRfbWluX3ZlcnNpb24YNCABKAlILYgBARI3Cip2c2NvZGVfdmFsaWRhdGVfY2hlY2twb2ludF9tYW5hZ2VyX2NvbnRleHQYNSABKAhILogBARItCiBpbnRlbGxpal9zbWFydF9wYXN0ZV9taW5fdmVyc2lvbhg3IAEoCUgviAEBEj4KMXZzY29kZV9kZXNpZ25fc3lzdGVtX3JpY2hfdGV4dF9lZGl0b3JfbWluX3ZlcnNpb24YOiABKAlIMIgBARIwCiNhbGxvd19jbGllbnRfZmVhdHVyZV9mbGFnX292ZXJyaWRlcxg7IAEoCEgxiAEBEi8KInZzY29kZV9jaGF0X3dpdGhfdG9vbHNfbWluX3ZlcnNpb24YPCABKAlIMogBARIxCiRpbnRlbGxpal9jaGF0X3dpdGhfdG9vbHNfbWluX3ZlcnNpb24YPSABKAlIM4gBARIvCiJ2c2NvZGVfY2hhdF9tdWx0aW1vZGFsX21pbl92ZXJzaW9uGD4gASgJSDSIAQESMQokaW50ZWxsaWpfY2hhdF9tdWx0aW1vZGFsX21pbl92ZXJzaW9uGD8gASgJSDWIAQESPgoxaW50ZWxsaWpfZW5hYmxlX2NoYXRfbWVybWFpZF9kaWFncmFtc19taW5fdmVyc2lvbhhAIAEoCUg2iAEBEioKHXZzY29kZV9hZ2VudF9tb2RlX21pbl92ZXJzaW9uGEEgASgJSDeIAQESLAofaW50ZWxsaWpfYWdlbnRfbW9kZV9taW5fdmVyc2lvbhhCIAEoCUg4iAEBEiYKGWludGVsbGlqX2Jsb2NrZWRfdmVyc2lvbnMYQyABKAlIOYgBARJACjNpbnRlbGxpal9kZXNpZ25fc3lzdGVtX3JpY2hfdGV4dF9lZGl0b3JfbWluX3ZlcnNpb24YRCABKAlIOogBARIyCiVpbnRlbGxpal9zeW5jaW5nX3Byb2dyZXNzX21pbl92ZXJzaW9uGEUgASgJSDuIAQESJAoXZWxvX21vZGVsX2NvbmZpZ3VyYXRpb24YRyABKAlIPIgBARIjChZ2c2NvZGVfYWdlbnRfZWRpdF90b29sGEkgASgJSD2IAQESOQosaW50ZWxsaWpfYXNrX2Zvcl9zeW5jX3Blcm1pc3Npb25fbWluX3ZlcnNpb24YSiABKAlIPogBARIxCiR2c2NvZGVfYmFja2dyb3VuZF9hZ2VudHNfbWluX3ZlcnNpb24YSyABKAlIP4gBARIzCiZpbnRlbGxpal9iYWNrZ3JvdW5kX2FnZW50c19taW5fdmVyc2lvbhhMIAEoCUhAiAEBEikKHHVzZXJfZ3VpZGVsaW5lc19sZW5ndGhfbGltaXQYTSABKANIQYgBARIuCiF3b3Jrc3BhY2VfZ3VpZGVsaW5lc19sZW5ndGhfbGltaXQYTiABKANIQogBARI0Cid2c2NvZGVfcmljaF9jaGVja3BvaW50X2luZm9fbWluX3ZlcnNpb24YTyABKAlIQ4gBARIsCh9pbnRlbGxpal9lbmFibGVfdXNlcl9ndWlkZWxpbmVzGFIgASgISESIAQESMQokaW50ZWxsaWpfZW5hYmxlX3dvcmtzcGFjZV9ndWlkZWxpbmVzGFMgASgISEWIAQESMQokdnNjb2RlX2FnZW50X21vZGVfbWluX3N0YWJsZV92ZXJzaW9uGFQgASgJSEaIAQESOgotaW50ZWxsaWpfdmlydHVhbGl6ZWRfbWVzc2FnZV9saXN0X21pbl92ZXJzaW9uGFYgASgJSEeIAQESPQowdnNjb2RlX2NoYXRfc3RhYmxlX3ByZWZpeF90cnVuY2F0aW9uX21pbl92ZXJzaW9uGFcgASgJSEiIAQESKgodYWdlbnRfZWRpdF90b29sX21pbl92aWV3X3NpemUYWCABKANISYgBARIxCiRpbnRlbGxpal91c2VyX2d1aWRlbGluZXNfaW5fc2V0dGluZ3MYWSABKAhISogBARIoChthZ2VudF9lZGl0X3Rvb2xfc2NoZW1hX3R5cGUYWiABKAlIS4gBARIsCh92c2NvZGVfZGlyZWN0X2FwcGx5X21pbl92ZXJzaW9uGFsgASgJSEyIAQESLQogdnNjb2RlX3BlcnNvbmFsaXRpZXNfbWluX3ZlcnNpb24YXCABKAlITYgBARI3CiphZ2VudF9zYXZlX2ZpbGVfdG9vbF9pbnN0cnVjdGlvbnNfcmVtaW5kZXIYXiABKAhITogBARI6Ci1yZW1vdGVfYWdlbnRfY2hhdF9oaXN0b3J5X3BvbGxpbmdfaW50ZXJ2YWxfbXMYXyABKANIT4gBARIyCiVyZW1vdGVfYWdlbnRfbGlzdF9wb2xsaW5nX2ludGVydmFsX21zGGAgASgDSFCIAQESPwoyaW50ZWxsaWpfcHJlZmVyZW5jZV9jb2xsZWN0aW9uX2FsbG93ZWRfbWluX3ZlcnNpb24YYiABKAlIUYgBARIvCiJpbnRlbGxpal9lbmFibGVfaG9tZXNwdW5fZ2l0aWdub3JlGGMgASgISFKIAQESNwoqdnNjb2RlX2dlbmVyYXRlX2NvbW1pdF9tZXNzYWdlX21pbl92ZXJzaW9uGGQgASgJSFOIAQESGQoMZW5hYmxlX3J1bGVzGGUgASgISFSIAQESMgolYWdlbnRfZWRpdF90b29sX2VuYWJsZV9mdXp6eV9tYXRjaGluZxhnIAEoCEhViAEBEjgKK2FnZW50X2VkaXRfdG9vbF9mdXp6eV9tYXRjaF9zdWNjZXNzX21lc3NhZ2UYaCABKAlIVogBARIxCiRhZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWF4X2RpZmYYaSABKANIV4gBARI3CiphZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWF4X2RpZmZfcmF0aW8YaiABKAFIWIgBARJLCj5hZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWluX2FsbF9tYXRjaF9zdHJlYWtfYmV0d2Vlbl9kaWZmcxhrIAEoA0hZiAEBEiMKFmVuYWJsZV9wcm9tcHRfZW5oYW5jZXIYbCABKAhIWogBARItCiBpbnRlbGxpal9wcm9tcHRfZW5oYW5jZXJfZW5hYmxlZBhvIAEoCEhbiAEBEjIKJWFnZW50X2VkaXRfdG9vbF9pbnN0cnVjdGlvbnNfcmVtaW5kZXIYcCABKAhIXIgBARIjChZpbnRlbGxpal9lbmFibGVfc2VudHJ5GHEgASgISF2IAQESMQokaW50ZWxsaWpfd2Vidmlld19lcnJvcl9zYW1wbGluZ19yYXRlGHIgASgBSF6IAQESMAojaW50ZWxsaWpfcGx1Z2luX2Vycm9yX3NhbXBsaW5nX3JhdGUYcyABKAFIX4gBARIxCiRpbnRlbGxpal93ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGUYdCABKAFIYIgBARIwCiNpbnRlbGxpal9wbHVnaW5fdHJhY2Vfc2FtcGxpbmdfcmF0ZRh1IAEoAUhhiAEBEikKHG9wZW5fZmlsZV9tYW5hZ2VyX3YyX2VuYWJsZWQYdiABKAhIYogBARI7Ci5pbnRlbGxpal9lbmFibGVfd2Vidmlld19wZXJmb3JtYW5jZV9tb25pdG9yaW5nGHcgASgISGOIAQESKQocdnNjb2RlX3Rhc2tfbGlzdF9taW5fdmVyc2lvbhh4IAEoCUhkiAEBEjAKI2FnZW50X2VkaXRfdG9vbF9zaG93X3Jlc3VsdF9zbmlwcGV0GHkgASgISGWIAQESMgolaW50ZWxsaWpfZWR0X2ZyZWV6ZV9kZXRlY3Rpb25fZW5hYmxlZBh6IAEoCEhmiAEBEiAKE2NsaWVudF9hbm5vdW5jZW1lbnQYeyABKAlIZ4gBARIwCiN2c2NvZGVfcmVtb3RlX2FnZW50X3NzaF9taW5fdmVyc2lvbhh8IAEoCUhoiAEBEiYKGWFnZW50X2VkaXRfdG9vbF9tYXhfbGluZXMYfSABKANIaYgBARIkChdncmVwX3NlYXJjaF90b29sX2VuYWJsZRh+IAEoCEhqiAEBEisKHmdyZXBfc2VhcmNoX3Rvb2xfdGltZWxpbWl0X3NlYxh/IAEoA0hriAEBEjEKI2dyZXBfc2VhcmNoX3Rvb2xfb3V0cHV0X2NoYXJzX2xpbWl0GIABIAEoA0hsiAEBEjAKImdyZXBfc2VhcmNoX3Rvb2xfbnVtX2NvbnRleHRfbGluZXMYgQEgASgDSG2IAQESJAoWZW5hYmxlX2FnZW50X2F1dG9fbW9kZRiCASABKAhIbogBARI0CiZhZ2VudF9yZXBvcnRfc3RyZWFtZWRfY2hhdF9ldmVyeV9jaHVuaxiDASABKANIb4gBARI2CihhZ2VudF9tYXhfdG90YWxfY2hhbmdlZF9maWxlc19zaXplX2J5dGVzGIQBIAEoA0hwiAEBEjMKJWFnZW50X21heF9jaGFuZ2VkX2ZpbGVzX3NraXBwZWRfcGF0aHMYhQEgASgDSHGIAQESMgokYWdlbnRfaWRsZV9zdGF0dXNfdXBkYXRlX2ludGVydmFsX21zGIYBIAEoA0hyiAEBEiIKFGFnZW50X21heF9pdGVyYXRpb25zGIcBIAEoA0hziAEBEjQKJmFnZW50X3NzaF9jb25uZWN0aW9uX2NoZWNrX2ludGVydmFsX21zGIgBIAEoA0h0iAEBEjgKKmFnZW50X3NzaF9jb25uZWN0aW9uX2NoZWNrX2xvZ19pbnRlcnZhbF9tcxiJASABKANIdYgBARIlChdiZWFjaGhlYWRfZW5hYmxlX3NlbnRyeRiKASABKAhIdogBARIrCh1iZWFjaGhlYWRfZXJyb3Jfc2FtcGxpbmdfcmF0ZRiLASABKAFId4gBARIrCh1iZWFjaGhlYWRfdHJhY2Vfc2FtcGxpbmdfcmF0ZRiMASABKAFIeIgBARI3Cil2c2NvZGVfc3VwcG9ydF90b29sX3VzZV9zdGFydF9taW5fdmVyc2lvbhiNASABKAlIeYgBARIpChtoaXN0b3J5X3N1bW1hcnlfbWluX3ZlcnNpb24YjwEgASgJSHqIAQESKwoZaGlzdG9yeV9zdW1tYXJ5X21heF9jaGFycxiQASABKANCAhgBSHuIAQESLQobaGlzdG9yeV9zdW1tYXJ5X2xvd2VyX2NoYXJzGJEBIAEoA0ICGAFIfIgBARIlChdlbmFibGVfbmV3X3RocmVhZHNfbGlzdBiSASABKAhIfYgBARIkChZoaXN0b3J5X3N1bW1hcnlfcHJvbXB0GJMBIAEoCUh+iAEBEjAKImVuYWJsZV91bnRydW5jYXRlZF9jb250ZW50X3N0b3JhZ2UYlAEgASgISH+IAQESMAohbWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0GJUBIAEoA0iAAYgBARIlChZlbmFibGVfY29tbWl0X2luZGV4aW5nGJcBIAEoCEiBAYgBARIjChRtYXhfY29tbWl0c190b19pbmRleBiYASABKANIggGIAQESLQoeaW50ZWxsaWpfdGFza19saXN0X21pbl92ZXJzaW9uGJkBIAEoCUiDAYgBARImChdlbmFibGVfZXhjaGFuZ2Vfc3RvcmFnZRiaASABKAhIhAGIAQESKQoacmV0cnlfY2hhdF9zdHJlYW1fdGltZW91dHMYmwEgASgISIUBiAEBEiwKHWVuYWJsZV90b29sX3VzZV9zdGF0ZV9zdG9yYWdlGJwBIAEoCEiGAYgBARItCh5yZW1vdGVfYWdlbnRfY3VycmVudF93b3Jrc3BhY2UYnQEgASgISIcBiAEBEiUKFmhpc3Rvcnlfc3VtbWFyeV9wYXJhbXMYnwEgASgJSIgBiAEBEiAKEWVuYWJsZV9hZ2VudF90YWJzGKABIAEoCEiJAYgBARIgChFlbmFibGVfc3dhcm1fbW9kZRihASABKAhIigGIAQESLgofYmVhY2hoZWFkX2VuYWJsZV9zdWJfYWdlbnRfdG9vbBiiASABKAhIiwGIAQESIwoUZW5hYmxlX2dyb3VwZWRfdG9vbHMYowEgASgISIwBiAEBEjsKLHJlbW90ZV9hZ2VudHNfcmVzdW1lX2hpbnRfYXZhaWxhYmxlX3R0bF9kYXlzGKQBIAEoA0iNAYgBARIkChVlbmFibGVfcGFyYWxsZWxfdG9vbHMYpQEgASgISI4BiAEBEiAKEWNsaWVudF9kZXByZWNhdGVkGKYBIAEoCEiPAYgBARItCh5lbmFibGVfdmlld2VkX2NvbnRlbnRfdHJhY2tpbmcYpwEgASgISJABiAEBEjMKJHZpZXdlZF9jb250ZW50X2Nsb3NlX3JhbmdlX3RocmVzaG9sZBioASABKANIkQGIAQESNQomdmlld2VkX2NvbnRlbnRfZGlzY3JldGVfanVtcF90aHJlc2hvbGQYqQEgASgDSJIBiAEBEi4KH3ZpZXdlZF9jb250ZW50X21pbl9ldmVudF9hZ2VfbXMYqgEgASgDSJMBiAEBEi4KH3ZpZXdlZF9jb250ZW50X21heF9ldmVudF9hZ2VfbXMYqwEgASgDSJQBiAEBEicKGGVuYWJsZV9uYXRpdmVfcmVtb3RlX21jcBisASABKAhIlQGIAQESLwogbm90aWZpY2F0aW9uX3BvbGxpbmdfaW50ZXJ2YWxfbXMYrQEgASgDSJYBiAEBEicKGGVuYWJsZV9hZ2VudF9naXRfdHJhY2tlchiuASABKAhIlwGIAQESLgofdHJ1bmNhdGlvbl9mb290ZXJfYWRkaXRpb25fdGV4dBivASABKAlImAGIAQESHAoNZW5hYmxlX3NlbnRyeRiwASABKAhImQGIAQESKgobd2Vidmlld19lcnJvcl9zYW1wbGluZ19yYXRlGLEBIAEoAUiaAYgBARIqCht3ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGUYsgEgASgBSJsBiAEBEiUKFmFnZW50X3ZpZXdfdG9vbF9wYXJhbXMYswEgASgJSJwBiAEBEicKGHZzY29kZV90ZXJtaW5hbF9zdHJhdGVneRi0ASABKAlInQGIAQESHwoQYWdlbnRfY2hhdF9tb2RlbBi1ASABKAlIngGIAQESMQoiY2xvdWRfYWdlbnRfZGVmYXVsdF9tb2RlbF9vdmVycmlkZRi1AiABKAlInwGIAQESIgoTbW9kZWxfaW5mb19yZWdpc3RyeRi2ASABKAlIoAGIAQESQQoybWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0X2FmdGVyX3RydW5jYXRpb24YtwEgASgDSKEBiAEBEjQKJWVuYWJsZV9ub3RpZmljYXRpb25zX3NlcnZpY2VfaW50ZWxsaWoYuAEgASgISKIBiAEBEiIKE2VuYWJsZV9sdWNpZGVfaWNvbnMYuQEgASgISKMBiAEBEi8KIGVuYWJsZV9lbmhhbmNlZF9kZWh5ZHJhdGlvbl9tb2RlGLwBIAEoCEikAYgBARI3Cih2c2NvZGVfc2hvd190aGlua2luZ19zdW1tYXJ5X21pbl92ZXJzaW9uGL0BIAEoCUilAYgBARI5CippbnRlbGxpal9zaG93X3RoaW5raW5nX3N1bW1hcnlfbWluX3ZlcnNpb24YvgEgASgJSKYBiAEBEjIKI2ludGVsbGlqX2VuYWJsZV9maWxlX2ludGFrZV9zZXJ2aWNlGMABIAEoCEinAYgBARI6CitpbnRlbGxpal9lbmFibGVfc2VnbWVudF9hbmFseXRpY3NfcmVwb3J0aW5nGMEBIAEoCEioAYgBARIgChFjbGlfZW5hYmxlX3NlbnRyeRjCASABKAhIqQGIAQESJgoXY2xpX2Vycm9yX3NhbXBsaW5nX3JhdGUYwwEgASgBSKoBiAEBEiYKF2NsaV90cmFjZV9zYW1wbGluZ19yYXRlGMQBIAEoAUirAYgBARIxCiJjbGlfY2hhdF9zdHJlYW1fcmV0cnlfaGFyZF9zdG9wX21zGMUBIAEoA0isAYgBARIjChRjbGlfZW5hYmxlX2FuYWx5dGljcxjHASABKAhIrQGIAQESJgoXY2xpX2FuYWx5dGljc193cml0ZV9rZXkYyAEgASgJSK4BiAEBEioKG3BhcnRuZXJfbWNwX2xhdW5jaF8yMDI1MDkxNhjJASABKAhIrwGIAQESIQoSY2xpX3BhcmFsbGVsX3Rvb2xzGMoBIAEoCEiwAYgBARIpChplbmFibGVfYnVsa19kZWxldGVfdGhyZWFkcxjLASABKAhIsQGIAQESMwokZW5hYmxlX2ludGVyc2VjdGlvbl9vYnNlcnZlcl9tYW5hZ2VyGMwBIAEoCEiyAYgBARIzCiRlbmFibGVfdGVuYW50X2xldmVsX3Rvb2xfcGVybWlzc2lvbnMYzQEgASgISLMBiAEBEjIKI3dlYnZpZXdfcmVwbGF5c19zZXNzaW9uX3NhbXBsZV9yYXRlGM4BIAEoAUi0AYgBARIzCiR3ZWJ2aWV3X3JlcGxheXNfb25fZXJyb3Jfc2FtcGxlX3JhdGUYzwEgASgBSLUBiAEBEjAKIXZzY29kZV9wbHVnaW5fZXJyb3Jfc2FtcGxpbmdfcmF0ZRjQASABKAFItgGIAQESMAohdnNjb2RlX3BsdWdpbl90cmFjZV9zYW1wbGluZ19yYXRlGNEBIAEoAUi3AYgBARIpChplbmFibGVfY3JlZGl0c19pbl9zZXR0aW5ncxjSASABKAhIuAGIAQESLwogZW5hYmxlX2NyZWRpdF9iYW5uZXJfaW5fc2V0dGluZ3MY0wEgASgISLkBiAEBEjIKI2VuYWJsZV9jaGF0X2lucHV0X2lubGluZV9jb21wbGV0aW9uGNQBIAEoCEi6AYgBARIqChtjbGlfZW5hYmxlX2FjY291bnRfY29tbWFuZHMY1QEgASgISLsBiAEBEiMKFGVuYWJsZV9vbmJvYXJkaW5nX3YyGNYBIAEoCEi8AYgBARInChhjbGlfZW5hYmxlX21lc3NhZ2VfcXVldWUY1wEgASgISL0BiAEBEisKHGVuYWJsZV9ncnBjX3RvX2lkZV9tZXNzYWdpbmcY2AEgASgISL4BiAEBEjgKKWNsaV9lbmFibGVfYXN5bmNfd29ya3NwYWNlX2luaXRpYWxpemF0aW9uGNkBIAEoCEi/AYgBARIpChptYXhfbGluZV9sZW5ndGhfY2hhcmFjdGVycxjaASABKAVIwAGIAQESNgonZW5hYmxlX2NyZWRpdHNfY29uc3VtZWRfaW5fdHVybl9zdW1tYXJ5GNsBIAEoCEjBAYgBARIzCiRnaXRodWJfaW50ZWdyYXRpb25fbm90aWZpY2F0aW9uX2pzb24Y3AEgASgJSMIBiAEBEjAKIWVuYWJsZV9kZWVwX2xpbmtfY2hhdF93aXRoX3Byb21wdBjeASABKAhIwwGIAQESKwocZW5hYmxlX2NvbW1pdF9zZXNzaW9uX2V2ZW50cxjfASABKAhIxAGIAQESLwogdXNlX2ludGFrZV9zZXJ2aWNlX2Zvcl9maWxlX3dhbGsY4AEgASgISMUBiAEBEiYKF2VuYWJsZV9hcHBseV9wYXRjaF90b29sGOEBIAEoCEjGAYgBARIxCiJjdXN0b21lcl91aV9zZWNyZXRfbWFuYWdlcl9lbmFibGVkGOIBIAEoCEjHAYgBARIqChtjaGF0X2lucHV0X2NvbXBsZXRpb25fbW9kZWwY4wEgASgJSMgBiAEBEj4KL3ZzY29kZV9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0GOQBIAEoBUjJAYgBARJACjFpbnRlbGxpal9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0GOUBIAEoBUjKAYgBARI7CixjbGlfcHJvbXB0X2VuaGFuY2VyX25ld19lbmRwb2ludF9yb2xsb3V0X3BjdBjmASABKAVIywGIAQESMwokY2xpX2VuYWJsZV93b3JrZXJfdGhyZWFkX3BhdGhfZmlsdGVyGOgBIAEoCEjMAYgBARI6CithcGlfcHJveHlfY2xpX25vbl9pbnRlcmFjdGl2ZV9tb2RlX2Rpc2FibGVkGOsBIAEoCEjNAYgBARIoChllbmFibGVfc2V0dGluZ3NfaG9tZV9wYWdlGOwBIAEoCEjOAYgBARIjChRjbGlfZW5hYmxlX2Jhc2hfbW9kZRjtASABKAhIzwGIAQESLwogZW5hYmxlX2NvZGVfcmV2aWV3X3NsYXNoX2NvbW1hbmQY7gEgASgISNABiAEBEhsKDGVuYWJsZV9ob29rcxjvASABKAhI0QGIAQESKAoZZW5hYmxlX2hpZXJhcmNoaWNhbF9ydWxlcxjwASABKAhI0gGIAQESLgofY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZRjxASABKAhI0wGIAQESJAoVZW5hYmxlX2RlYnVnX2ZlYXR1cmVzGPIBIAEoCEjUAYgBARIoChllbmFibGVfcGx1Z2luX21hcmtldHBsYWNlGPMBIAEoCEjVAYgBARJECjViZWFjaGhlYWRfZmlsZXN5c3RlbV9jaGFuZ2VfdHJhY2tlcl9tYXhfZ2l0X3Byb2Nlc3Nlcxj1ASABKAVI1gGIAQESKwocY2xpX2VuYWJsZV93b3Jrc3BhY2VfY29tbWFuZBj2ASABKAhI1wGIAQESJQoWcHVibGljX2JldGFfb3B0X2luX2FsbBj3ASABKAhI2AGIAQESOgorcHVibGljX2JldGFfY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZRj4ASABKAhI2QGIAQESJgoXZW5hYmxlX3B1YmxpY19iZXRhX3BhZ2UY+QEgASgISNoBiAEBEjEKImVuYWJsZV93b3Jrc3BhY2VfY29udmVyc2F0aW9uX3N5bmMY+gEgASgISNsBiAEBEhwKDWVuYWJsZV9za2lsbHMY/AEgASgISNwBiAEBEisKHHJlcG9zaXRvcnlfYWxsb3dsaXN0X2VuYWJsZWQY/QEgASgISN0BiAEBEisKHGNsaV9uZXdfZmVhdHVyZV9hbm5vdW5jZW1lbnQY/wEgASgJSN4BiAEBEiUKFmVuYWJsZV9jdXN0b21fY29tbWFuZHMYgAIgASgISN8BiAEBEiYKF2NsaV9lbmFibGVfY2xvdWRfYWdlbnRzGIECIAEoCEjgAYgBARI+Ci9lbmFibGVfd29ya3NwYWNlX2NvbnZlcnNhdGlvbl9jaGF0X2hpc3Rvcnlfc3luYxiCAiABKAhI4QGIAQESMQoicHVibGljX2JldGFfZW5hYmxlX2N1c3RvbV9jb21tYW5kcxiEAiABKAhI4gGIAQESIwoUZW5hYmxlX21lc3NhZ2VfcXVldWUYhQIgASgISOMBiAEBEicKGGVuYWJsZV9zaGFyZWRfZ3VpZGVsaW5lcxiGAiABKAhI5AGIAQESQgozdnNjb2RlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbl9wb2xsaW5nX2ludGVydmFsGIcCIAEoA0jlAYgBARJECjVpbnRlbGxpal91cGRhdGVfdmVyc2lvbl9ub3RpZmljYXRpb25fcG9sbGluZ19pbnRlcnZhbBiIAiABKANI5gGIAQESIQoSY2xpX2VuYWJsZV9wZXJzb25hGIkCIAEoCEjnAYgBARI3CihjbGlfZW5hYmxlX2xhdW5jaF9wcm9jZXNzX2V2ZW50X2xpc3RlbmVyGIoCIAEoCEjoAYgBARI4Cil2c2NvZGVfZW5hYmxlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbhiLAiABKAhI6QGIAQESIwoUY2xpX2VuYWJsZV9wbGFuX21vZGUYjAIgASgISOoBiAEBEi8KIGNvbGRfc3RhcnRfZ2l0X3NoYV9pbmRleF9lbmFibGVkGI0CIAEoCEjrAYgBARI6CitpbnRlbGxpal9lbmFibGVfdXBkYXRlX3ZlcnNpb25fbm90aWZpY2F0aW9uGI4CIAEoCEjsAYgBARIqChtlbmFibGVfcmVhZF9wcm9jZXNzX3RyYWNrZXIYkAIgASgISO0BiAEBEiwKHXJlYWRfcHJvY2Vzc19tYXhfd2FpdF9zZWNvbmRzGJECIAEoA0juAYgBARIzCiRyZWFkX3Byb2Nlc3Nfc3R1Y2tfcG9sbGluZ190aHJlc2hvbGQYkgIgASgDSO8BiAEBEiEKEmVuYWJsZV9jb21wbGV0aW9ucxiTAiABKAhI8AGIAQESHwoQZW5hYmxlX3N1YmFnZW50cxiUAiABKAhI8QGIAQESJwoYY2xpX2FsbG93X3Rvb2xfb3ZlcnJpZGVzGJUCIAEoCEjyAYgBARInChhjbGlfZW5hYmxlX2NvbnRleHRfdXNhZ2UYlgIgASgISPMBiAEBEiwKHWVuYWJsZV9jb252ZXJzYXRpb25fcmV0cmlldmFsGJcCIAEoCEj0AYgBARIlChZjbGlfZW5hYmxlX2RpZmZfdmlld2VyGJgCIAEoCEj1AYgBARItCh5pbnRlbGxpal9zaWRlY2FyX2VuYWJsZV9zZW50cnkYmQIgASgISPYBiAEBEjMKJGludGVsbGlqX3NpZGVjYXJfZXJyb3Jfc2FtcGxpbmdfcmF0ZRiaAiABKAFI9wGIAQESMwokaW50ZWxsaWpfc2lkZWNhcl90cmFjZV9zYW1wbGluZ19yYXRlGJsCIAEoAUj4AYgBARIoChljbGlfZW5hYmxlX2FzeW5jX2luZGV4aW5nGJwCIAEoCEj5AYgBARIoChlwdWJsaWNfYmV0YV9lbmFibGVfc2tpbGxzGJ0CIAEoCEj6AYgBARIvCiBwdWJsaWNfYmV0YV9lbmFibGVfbWVzc2FnZV9xdWV1ZRieAiABKAhI+wGIAQESKwoccHVibGljX2JldGFfZW5hYmxlX3N1YmFnZW50cxifAiABKAhI/AGIAQESJgoXY2xpX2VuYWJsZV9zaG93X2NyZWRpdHMYoAIgASgISP0BiAEBEicKGGlkZV9lbmFibGVfYXNrX3VzZXJfdG9vbBihAiABKAhI/gGIAQESKwocZW5hYmxlX2NoYXRfaGlzdG9yeV9yZWNvdmVyeRiiAiABKAhI/wGIAQESMQoiaW50ZWxsaWpfc3RhdGVfcG9sbGluZ19pbnRlcnZhbF9tcxijAiABKANIgAKIAQESLwogdnNjb2RlX3N0YXRlX3BvbGxpbmdfaW50ZXJ2YWxfbXMYpAIgASgDSIECiAEBEikKGmNsaV9kZWZhdWx0X3Bvc2VpZG9uX2FnZW50GKUCIAEoCEiCAogBARIpChpjbGlfZW5hYmxlX3Nlc3Npb25fYW5hbHl6ZRimAiABKAhIgwKIAQESHwoQZW5hYmxlX2ZpZ21hX21jcBinAiABKAhIhAKIAQESJgoXZW5hYmxlX2h5YnJpZF9yZXRyaWV2YWwYqAIgASgISIUCiAEBEisKHGNvbnZlcnNhdGlvbl9yZXJhbmtpbmdfbW9kZWwYqQIgASgJSIYCiAEBEjcKKGJlYWNoaGVhZF9lbmFibGVfcGFyYWxsZWxfdG9vbF9leGVjdXRpb24YqgIgASgISIcCiAEBEioKG2VuYWJsZV9jb250ZXh0X3dpbmRvd191c2FnZRirAiABKAhIiAKIAQESLAodZW5hYmxlX3BsdWdpbl9tYXJrZXRwbGFjZV9pZGUYrAIgASgISIkCiAEBEhoKC2VuYWJsZV9ieW9rGK0CIAEoCEiKAogBARIqChdwb3NlaWRvbl9kYWVtb25fZW5hYmxlZBiuAiABKAhCAhgBSIsCiAEBEikKGmVuYWJsZV9jb250ZXh0X3VzYWdlX21vZGFsGK8CIAEoCEiMAogBARIpChp0b29sX3NlYXJjaF9zdW1tYXJ5X3Byb21wdBiyAiABKAlIjQKIAQESKwocdG9vbF9zZWFyY2hfZmluZF90b29sX3Byb21wdBizAiABKAlIjgKIAQESJwoYY2xpX2VuYWJsZV9zZXNzaW9uX3N0YXRzGLQCIAEoCEiPAogBARImChdlbmFibGVfbWlkX3N0cmVhbV9yZXRyeRi2AiABKAhIkAKIAQESHQoOY2xpX2VuYWJsZV9idHcYtwIgASgISJECiAEBEicKGGNsaV9lbmFibGVfY29udGV4dF9zdGF0cxi4AiABKAhIkgKIAQESKgobZW5hYmxlX2lkZV9oYW5kb2ZmX3RvX2Nsb3VkGLkCIAEoCEiTAogBARIzCiRjbGlfZW5hYmxlX2Nsb3VkX2FnZW50X2Fza191c2VyX3Rvb2wYugIgASgISJQCiAEBEiIKE3VzZV9hY3BfY29tcGxldGlvbnMYuwIgASgISJUCiAEBEiwKHWVuYWJsZV9jb2RlYmFzZV9yZXRyaWV2YWxfcmF3GLwCIAEoCEiWAogBARIeCg93ZWJ2aWV3X3VzZV9hY3AYvQIgASgISJcCiAEBEioKG2NsaV9lbmFibGVfaGFuZG9mZl90b19jbG91ZBi+AiABKAhImAKIAQESLQoec3ViYWdlbnRzX3Zpc2liaWxpdHlfb3ZlcnJpZGVzGL8CIAEoCUiZAogBARIzCiRjbGlfZW5hYmxlX2NvbGxhcHNlX2xvbmdfcGFzdGVkX3RleHQYwAIgASgISJoCiAEBEiQKFW1heF90b29sX291dHB1dF9ieXRlcxjBAiABKAVImwKIAQESJwoYY2xpX2NvbXBhY3RfdG9vbF9zdXJmYWNlGMICIAEoCEicAogBARImChdjb3Ntb3NfZW5hYmxlX3Jlc2lkZW50cxjDAiABKAhInQKIAQESJwoYY29zbW9zX3Jlc2lkZW50X3ByZXNlbmNlGMsCIAEoCEieAogBARI2CidjbGlfcmVjb3JkX3N1bW1hcml6YXRpb25zX2FuZF9zdWJhZ2VudHMYxAIgASgISJ8CiAEBEioKG2Nvc21vc19tb3JlX2N1c3RvbV93ZWJob29rcxjFAiABKAhIoAKIAQESMQoiY2xpX3VzZV9zdHJlYW1pbmdfdmZzX2ZpbGVfY29udGVudBjGAiABKAhIoQKIAQESIgoTY2xpX3R1bm5lbF9jb21tYW5kcxjHAiABKAhIogKIAQESLQoeY2xpX3Bvc2VpZG9uX2FuYWx5dGljc19lbmFibGVkGMgCIAEoCEijAogBARIuCh9jbGlfZGFlbW9uX3Bvb2xfYWNjZXNzX2NvbW1hbmRzGMkCIAEoCEikAogBARIwCiFjb3Ntb3NfbXVsdGlfcmVwb19jb250ZXh0X2VuYWJsZWQYygIgASgISKUCiAEBEi4KH2Nvc21vc19uZXN0ZWRfYWdlbnRzX21kX2VuYWJsZWQY0wIgASgISKYCiAEBEigKGXZmc19kdXJhYmxlX2ZpbGVfaWRlbnRpdHkYzAIgASgISKcCiAEBEiQKFWlkZV9leHRlbnNpb25fcmV0aXJlZBjNAiABKAhIqAKIAQESMQoiY2xpX2VuYWJsZV92ZnNfY29tbWVudHNfcHJvamVjdGlvbhjOAiABKAhIqQKIAQESNQomY2xpX3NsZWVwX3Jlc3VtZV93YXRjaGRvZ190aHJlc2hvbGRfbXMYzwIgASgDSKoCiAEBEiMKFHZmc19leHRlbmRlZF9zaGFyaW5nGNACIAEoCEirAogBARItCh5jbGlfZGFlbW9uX2F1dG9fdXBkYXRlX2VuYWJsZWQY0QIgASgISKwCiAEBEiEKEmlkZV9taWdyYXRpb25fbW9kZRjSAiABKAhIrQKIAQESLQoeaWRlX21pZ3JhdGlvbl9hbmFseXNpc19lbmFibGVkGNQCIAEoCEiuAogBARIrChxpZGVfbWlncmF0aW9uX2FuYWx5c2lzX21vZGVsGNUCIAEoCUivAogBARIvCiBjbGlfZW52aXJvbm1lbnRfc25hcHNob3RfdXBkYXRlcxjWAiABKAhIsAKIAQESNgonY29zbW9zX2NsaV9iYWNrZ3JvdW5kX3N1YmFnZW50c19lbmFibGVkGNcCIAEoCEixAogBARInChhjbGlfc2VjcmV0X29sYWNfY29tbWFuZHMY2AIgASgISLICiAEBEiMKFGNsaV9kZXNrdG9wX2NvbW1hbmRzGNkCIAEoCEizAogBARIuCh9jbGlfZW5hYmxlX3NwYWNlX3Bpbm5lZF9leHBlcnRzGNoCIAEoCEi0AogBARI2CiNwb3NlaWRvbl9wcmVmZXRjaF92ZnNfYmVmb3JlX2F1Z2dpZRjbAiABKAhCAhgBSLUCiAEBEiAKEWNvbXBhY3Rpb25fY29uZmlnGNwCIAEoCUi2AogBARJACjFwb3NlaWRvbl9pbWFnZXNfYXN5bmNfZW52aXJvbm1lbnRfcmVidWlsZF9lbmFibGVkGN0CIAEoCEi3AogBARInChhjbGlfdmZzX2JhbGFuY2VkX3N0cmVhbXMY3gIgASgISLgCiAEBEkAKMXBvc2VpZG9uX2ltYWdlc19hc3luY19lbnZpcm9ubWVudF9yZWZyZXNoX2VuYWJsZWQY3wIgASgISLkCiAEBEk0KPnBvc2VpZG9uX2ltYWdlc19hc3luY19lbnZpcm9ubWVudF9yZXBvc2l0b3J5X3JlY29uY2lsZV9lbmFibGVkGOACIAEoCEi6AogBARIgChFjbGlfc3luY19mcmVlX3ZmcxjhAiABKAhIuwKIAQESPwowcG9zZWlkb25faW1hZ2VzX2FzeW5jX2Vudmlyb25tZW50X3VwZGF0ZV9lbmFibGVkGOICIAEoCEi8AogBARIoChljb3Ntb3NfYXVnZ2llX2Vhcmx5X3N0YXJ0GOMCIAEoCEi9AogBARI6Citjb3Ntb3NfZW52aXJvbm1lbnRfcnVudGltZV9zZWxlY3Rvcl9lbmFibGVkGOQCIAEoCEi+AogBARImChdjb3Ntb3NfbWNwX2FnZW50X2F0dGFjaBjlAiABKAhIvwKIAQESJgoXY2xpX3N0YXJ0dXBfYmFubmVyX3RleHQY5gIgASgJSMACiAEBEikKGnBvc2VpZG9uX3Zmc19tYXhfZmlsZV9zaXplGOcCIAEoA0jBAogBARI3CihlbmFibGVfY29kZWJhc2VfcmV0cmlldmFsX3Rvb2xfYXVnZ2llX3YyGOgCIAEoCEjCAogBARIyCiNjb3Ntb3NfYXVnZ2llX2VuYWJsZV9jb250ZXh0X2VuZ2luZRjpAiABKAhIwwKIAQFCFAoSX2VuYWJsZV9jb2RlX2VkaXRzQg4KDF9lbmFibGVfY2hhdEIeChxfZW5hYmxlX3dvcmtzcGFjZV9tYW5hZ2VyX3VpQhcKFV9lbmFibGVfaW50ZWxsaWpfY2hhdEIlCiNfZW5hYmxlX3dvcmtzcGFjZV9tYW5hZ2VyX3VpX2xhdW5jaEIZChdfYWRkaXRpb25hbF9jaGF0X21vZGVsc0IcChpfaW50ZWxsaWpfY2hhdF9taW5fdmVyc2lvbkIeChxfdnNjb2RlX2ZseXdoZWVsX21pbl92ZXJzaW9uQi4KLF92c2NvZGVfZXh0ZXJuYWxfc291cmNlc19pbl9jaGF0X21pbl92ZXJzaW9uQhYKFF9lbmFibGVfaW5zdHJ1Y3Rpb25zQhUKE19lbmFibGVfc21hcnRfcGFzdGVCIQofX2VuYWJsZV9zbWFydF9wYXN0ZV9taW5fdmVyc2lvbkIcChpfZW5hYmxlX3ZpZXdfdGV4dF9kb2N1bWVudEIWChRfY2hlY2twb2ludF9ibG9ic192MkIZChdfZW5hYmxlX2RhdGFfY29sbGVjdGlvbkIXChVfc21hbGxfc3luY190aHJlc2hvbGRCFQoTX2JpZ19zeW5jX3RocmVzaG9sZEIZChdfYnlwYXNzX2xhbmd1YWdlX2ZpbHRlckITChFfZW5hYmxlX2hpbmRzaWdodEIYChZfbWF4X3VwbG9hZF9zaXplX2J5dGVzQigKJl9pbnRlbGxpal9mb3JjZV9jb21wbGV0aW9uX21pbl92ZXJzaW9uQiIKIF9lbmFibGVfZXh0ZXJuYWxfc291cmNlc19pbl9jaGF0QhsKGV9tYXhfdHJhY2thYmxlX2ZpbGVfY291bnRCLgosX21heF90cmFja2FibGVfZmlsZV9jb3VudF93aXRob3V0X3Blcm1pc3Npb25CLQorX21pbl91cGxvYWRlZF9wZXJjZW50YWdlX3dpdGhvdXRfcGVybWlzc2lvbkIqCihfdnNjb2RlX2NoYXRfaGludF9kZWNvcmF0aW9uX21pbl92ZXJzaW9uQiUKI19lbmFibGVfY29tcGxldGlvbl9maWxlX2VkaXRfZXZlbnRzQh0KG192c2NvZGVfc291cmNlc19taW5fdmVyc2lvbkIcChpfdnNjb2RlX2VuYWJsZV9jcHVfcHJvZmlsZUIfCh1fdmVyaWZ5X2ZvbGRlcl9pc19zb3VyY2VfcmVwb0IiCiBfcmVmdXNlX3RvX3N5bmNfaG9tZV9kaXJlY3Rvcmllc0IsCipfZW5hYmxlX2ZpbGVfbGltaXRzX2Zvcl9zeW5jaW5nX3Blcm1pc3Npb25CGwoZX3ZzY29kZV9zaGFyZV9taW5fdmVyc2lvbkIdChtfaW50ZWxsaWpfc2hhcmVfbWluX3ZlcnNpb25CGAoWX2VuYWJsZV9zdW1tYXJ5X3RpdGxlc0IfCh1fZW5hYmxlX2NoYXRfbWVybWFpZF9kaWFncmFtc0IeChxfc21hcnRfcGFzdGVfcHJlY29tcHV0ZV9tb2RlQiYKJF92c2NvZGVfbmV3X3RocmVhZHNfbWVudV9taW5fdmVyc2lvbkIoCiZfaW50ZWxsaWpfbmV3X3RocmVhZHNfbWVudV9taW5fdmVyc2lvbkImCiRfdnNjb2RlX2VkaXRhYmxlX2hpc3RvcnlfbWluX3ZlcnNpb25CGAoWX2ludGVsbGlqX3Nob3dfc3VtbWFyeUIUChJfZW5hYmxlX2d1aWRlbGluZXNCMgowX3ZzY29kZV9lbmFibGVfY2hhdF9tZXJtYWlkX2RpYWdyYW1zX21pbl92ZXJzaW9uQhwKGl92c2NvZGVfZGVwcmVjYXRlZF92ZXJzaW9uQh4KHF9pbnRlbGxpal9kZXByZWNhdGVkX3ZlcnNpb25CNAoyX3ZzY29kZV91c2VfY2hlY2twb2ludF9tYW5hZ2VyX2NvbnRleHRfbWluX3ZlcnNpb25CLQorX3ZzY29kZV92YWxpZGF0ZV9jaGVja3BvaW50X21hbmFnZXJfY29udGV4dEIjCiFfaW50ZWxsaWpfc21hcnRfcGFzdGVfbWluX3ZlcnNpb25CNAoyX3ZzY29kZV9kZXNpZ25fc3lzdGVtX3JpY2hfdGV4dF9lZGl0b3JfbWluX3ZlcnNpb25CJgokX2FsbG93X2NsaWVudF9mZWF0dXJlX2ZsYWdfb3ZlcnJpZGVzQiUKI192c2NvZGVfY2hhdF93aXRoX3Rvb2xzX21pbl92ZXJzaW9uQicKJV9pbnRlbGxpal9jaGF0X3dpdGhfdG9vbHNfbWluX3ZlcnNpb25CJQojX3ZzY29kZV9jaGF0X211bHRpbW9kYWxfbWluX3ZlcnNpb25CJwolX2ludGVsbGlqX2NoYXRfbXVsdGltb2RhbF9taW5fdmVyc2lvbkI0CjJfaW50ZWxsaWpfZW5hYmxlX2NoYXRfbWVybWFpZF9kaWFncmFtc19taW5fdmVyc2lvbkIgCh5fdnNjb2RlX2FnZW50X21vZGVfbWluX3ZlcnNpb25CIgogX2ludGVsbGlqX2FnZW50X21vZGVfbWluX3ZlcnNpb25CHAoaX2ludGVsbGlqX2Jsb2NrZWRfdmVyc2lvbnNCNgo0X2ludGVsbGlqX2Rlc2lnbl9zeXN0ZW1fcmljaF90ZXh0X2VkaXRvcl9taW5fdmVyc2lvbkIoCiZfaW50ZWxsaWpfc3luY2luZ19wcm9ncmVzc19taW5fdmVyc2lvbkIaChhfZWxvX21vZGVsX2NvbmZpZ3VyYXRpb25CGQoXX3ZzY29kZV9hZ2VudF9lZGl0X3Rvb2xCLwotX2ludGVsbGlqX2Fza19mb3Jfc3luY19wZXJtaXNzaW9uX21pbl92ZXJzaW9uQicKJV92c2NvZGVfYmFja2dyb3VuZF9hZ2VudHNfbWluX3ZlcnNpb25CKQonX2ludGVsbGlqX2JhY2tncm91bmRfYWdlbnRzX21pbl92ZXJzaW9uQh8KHV91c2VyX2d1aWRlbGluZXNfbGVuZ3RoX2xpbWl0QiQKIl93b3Jrc3BhY2VfZ3VpZGVsaW5lc19sZW5ndGhfbGltaXRCKgooX3ZzY29kZV9yaWNoX2NoZWNrcG9pbnRfaW5mb19taW5fdmVyc2lvbkIiCiBfaW50ZWxsaWpfZW5hYmxlX3VzZXJfZ3VpZGVsaW5lc0InCiVfaW50ZWxsaWpfZW5hYmxlX3dvcmtzcGFjZV9ndWlkZWxpbmVzQicKJV92c2NvZGVfYWdlbnRfbW9kZV9taW5fc3RhYmxlX3ZlcnNpb25CMAouX2ludGVsbGlqX3ZpcnR1YWxpemVkX21lc3NhZ2VfbGlzdF9taW5fdmVyc2lvbkIzCjFfdnNjb2RlX2NoYXRfc3RhYmxlX3ByZWZpeF90cnVuY2F0aW9uX21pbl92ZXJzaW9uQiAKHl9hZ2VudF9lZGl0X3Rvb2xfbWluX3ZpZXdfc2l6ZUInCiVfaW50ZWxsaWpfdXNlcl9ndWlkZWxpbmVzX2luX3NldHRpbmdzQh4KHF9hZ2VudF9lZGl0X3Rvb2xfc2NoZW1hX3R5cGVCIgogX3ZzY29kZV9kaXJlY3RfYXBwbHlfbWluX3ZlcnNpb25CIwohX3ZzY29kZV9wZXJzb25hbGl0aWVzX21pbl92ZXJzaW9uQi0KK19hZ2VudF9zYXZlX2ZpbGVfdG9vbF9pbnN0cnVjdGlvbnNfcmVtaW5kZXJCMAouX3JlbW90ZV9hZ2VudF9jaGF0X2hpc3RvcnlfcG9sbGluZ19pbnRlcnZhbF9tc0IoCiZfcmVtb3RlX2FnZW50X2xpc3RfcG9sbGluZ19pbnRlcnZhbF9tc0I1CjNfaW50ZWxsaWpfcHJlZmVyZW5jZV9jb2xsZWN0aW9uX2FsbG93ZWRfbWluX3ZlcnNpb25CJQojX2ludGVsbGlqX2VuYWJsZV9ob21lc3B1bl9naXRpZ25vcmVCLQorX3ZzY29kZV9nZW5lcmF0ZV9jb21taXRfbWVzc2FnZV9taW5fdmVyc2lvbkIPCg1fZW5hYmxlX3J1bGVzQigKJl9hZ2VudF9lZGl0X3Rvb2xfZW5hYmxlX2Z1enp5X21hdGNoaW5nQi4KLF9hZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfc3VjY2Vzc19tZXNzYWdlQicKJV9hZ2VudF9lZGl0X3Rvb2xfZnV6enlfbWF0Y2hfbWF4X2RpZmZCLQorX2FnZW50X2VkaXRfdG9vbF9mdXp6eV9tYXRjaF9tYXhfZGlmZl9yYXRpb0JBCj9fYWdlbnRfZWRpdF90b29sX2Z1enp5X21hdGNoX21pbl9hbGxfbWF0Y2hfc3RyZWFrX2JldHdlZW5fZGlmZnNCGQoXX2VuYWJsZV9wcm9tcHRfZW5oYW5jZXJCIwohX2ludGVsbGlqX3Byb21wdF9lbmhhbmNlcl9lbmFibGVkQigKJl9hZ2VudF9lZGl0X3Rvb2xfaW5zdHJ1Y3Rpb25zX3JlbWluZGVyQhkKF19pbnRlbGxpal9lbmFibGVfc2VudHJ5QicKJV9pbnRlbGxpal93ZWJ2aWV3X2Vycm9yX3NhbXBsaW5nX3JhdGVCJgokX2ludGVsbGlqX3BsdWdpbl9lcnJvcl9zYW1wbGluZ19yYXRlQicKJV9pbnRlbGxpal93ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGVCJgokX2ludGVsbGlqX3BsdWdpbl90cmFjZV9zYW1wbGluZ19yYXRlQh8KHV9vcGVuX2ZpbGVfbWFuYWdlcl92Ml9lbmFibGVkQjEKL19pbnRlbGxpal9lbmFibGVfd2Vidmlld19wZXJmb3JtYW5jZV9tb25pdG9yaW5nQh8KHV92c2NvZGVfdGFza19saXN0X21pbl92ZXJzaW9uQiYKJF9hZ2VudF9lZGl0X3Rvb2xfc2hvd19yZXN1bHRfc25pcHBldEIoCiZfaW50ZWxsaWpfZWR0X2ZyZWV6ZV9kZXRlY3Rpb25fZW5hYmxlZEIWChRfY2xpZW50X2Fubm91bmNlbWVudEImCiRfdnNjb2RlX3JlbW90ZV9hZ2VudF9zc2hfbWluX3ZlcnNpb25CHAoaX2FnZW50X2VkaXRfdG9vbF9tYXhfbGluZXNCGgoYX2dyZXBfc2VhcmNoX3Rvb2xfZW5hYmxlQiEKH19ncmVwX3NlYXJjaF90b29sX3RpbWVsaW1pdF9zZWNCJgokX2dyZXBfc2VhcmNoX3Rvb2xfb3V0cHV0X2NoYXJzX2xpbWl0QiUKI19ncmVwX3NlYXJjaF90b29sX251bV9jb250ZXh0X2xpbmVzQhkKF19lbmFibGVfYWdlbnRfYXV0b19tb2RlQikKJ19hZ2VudF9yZXBvcnRfc3RyZWFtZWRfY2hhdF9ldmVyeV9jaHVua0IrCilfYWdlbnRfbWF4X3RvdGFsX2NoYW5nZWRfZmlsZXNfc2l6ZV9ieXRlc0IoCiZfYWdlbnRfbWF4X2NoYW5nZWRfZmlsZXNfc2tpcHBlZF9wYXRoc0InCiVfYWdlbnRfaWRsZV9zdGF0dXNfdXBkYXRlX2ludGVydmFsX21zQhcKFV9hZ2VudF9tYXhfaXRlcmF0aW9uc0IpCidfYWdlbnRfc3NoX2Nvbm5lY3Rpb25fY2hlY2tfaW50ZXJ2YWxfbXNCLQorX2FnZW50X3NzaF9jb25uZWN0aW9uX2NoZWNrX2xvZ19pbnRlcnZhbF9tc0IaChhfYmVhY2hoZWFkX2VuYWJsZV9zZW50cnlCIAoeX2JlYWNoaGVhZF9lcnJvcl9zYW1wbGluZ19yYXRlQiAKHl9iZWFjaGhlYWRfdHJhY2Vfc2FtcGxpbmdfcmF0ZUIsCipfdnNjb2RlX3N1cHBvcnRfdG9vbF91c2Vfc3RhcnRfbWluX3ZlcnNpb25CHgocX2hpc3Rvcnlfc3VtbWFyeV9taW5fdmVyc2lvbkIcChpfaGlzdG9yeV9zdW1tYXJ5X21heF9jaGFyc0IeChxfaGlzdG9yeV9zdW1tYXJ5X2xvd2VyX2NoYXJzQhoKGF9lbmFibGVfbmV3X3RocmVhZHNfbGlzdEIZChdfaGlzdG9yeV9zdW1tYXJ5X3Byb21wdEIlCiNfZW5hYmxlX3VudHJ1bmNhdGVkX2NvbnRlbnRfc3RvcmFnZUIkCiJfbWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0QhkKF19lbmFibGVfY29tbWl0X2luZGV4aW5nQhcKFV9tYXhfY29tbWl0c190b19pbmRleEIhCh9faW50ZWxsaWpfdGFza19saXN0X21pbl92ZXJzaW9uQhoKGF9lbmFibGVfZXhjaGFuZ2Vfc3RvcmFnZUIdChtfcmV0cnlfY2hhdF9zdHJlYW1fdGltZW91dHNCIAoeX2VuYWJsZV90b29sX3VzZV9zdGF0ZV9zdG9yYWdlQiEKH19yZW1vdGVfYWdlbnRfY3VycmVudF93b3Jrc3BhY2VCGQoXX2hpc3Rvcnlfc3VtbWFyeV9wYXJhbXNCFAoSX2VuYWJsZV9hZ2VudF90YWJzQhQKEl9lbmFibGVfc3dhcm1fbW9kZUIiCiBfYmVhY2hoZWFkX2VuYWJsZV9zdWJfYWdlbnRfdG9vbEIXChVfZW5hYmxlX2dyb3VwZWRfdG9vbHNCLwotX3JlbW90ZV9hZ2VudHNfcmVzdW1lX2hpbnRfYXZhaWxhYmxlX3R0bF9kYXlzQhgKFl9lbmFibGVfcGFyYWxsZWxfdG9vbHNCFAoSX2NsaWVudF9kZXByZWNhdGVkQiEKH19lbmFibGVfdmlld2VkX2NvbnRlbnRfdHJhY2tpbmdCJwolX3ZpZXdlZF9jb250ZW50X2Nsb3NlX3JhbmdlX3RocmVzaG9sZEIpCidfdmlld2VkX2NvbnRlbnRfZGlzY3JldGVfanVtcF90aHJlc2hvbGRCIgogX3ZpZXdlZF9jb250ZW50X21pbl9ldmVudF9hZ2VfbXNCIgogX3ZpZXdlZF9jb250ZW50X21heF9ldmVudF9hZ2VfbXNCGwoZX2VuYWJsZV9uYXRpdmVfcmVtb3RlX21jcEIjCiFfbm90aWZpY2F0aW9uX3BvbGxpbmdfaW50ZXJ2YWxfbXNCGwoZX2VuYWJsZV9hZ2VudF9naXRfdHJhY2tlckIiCiBfdHJ1bmNhdGlvbl9mb290ZXJfYWRkaXRpb25fdGV4dEIQCg5fZW5hYmxlX3NlbnRyeUIeChxfd2Vidmlld19lcnJvcl9zYW1wbGluZ19yYXRlQh4KHF93ZWJ2aWV3X3RyYWNlX3NhbXBsaW5nX3JhdGVCGQoXX2FnZW50X3ZpZXdfdG9vbF9wYXJhbXNCGwoZX3ZzY29kZV90ZXJtaW5hbF9zdHJhdGVneUITChFfYWdlbnRfY2hhdF9tb2RlbEIlCiNfY2xvdWRfYWdlbnRfZGVmYXVsdF9tb2RlbF9vdmVycmlkZUIWChRfbW9kZWxfaW5mb19yZWdpc3RyeUI1CjNfbWF4X2xpbmVzX3Rlcm1pbmFsX3Byb2Nlc3Nfb3V0cHV0X2FmdGVyX3RydW5jYXRpb25CKAomX2VuYWJsZV9ub3RpZmljYXRpb25zX3NlcnZpY2VfaW50ZWxsaWpCFgoUX2VuYWJsZV9sdWNpZGVfaWNvbnNCIwohX2VuYWJsZV9lbmhhbmNlZF9kZWh5ZHJhdGlvbl9tb2RlQisKKV92c2NvZGVfc2hvd190aGlua2luZ19zdW1tYXJ5X21pbl92ZXJzaW9uQi0KK19pbnRlbGxpal9zaG93X3RoaW5raW5nX3N1bW1hcnlfbWluX3ZlcnNpb25CJgokX2ludGVsbGlqX2VuYWJsZV9maWxlX2ludGFrZV9zZXJ2aWNlQi4KLF9pbnRlbGxpal9lbmFibGVfc2VnbWVudF9hbmFseXRpY3NfcmVwb3J0aW5nQhQKEl9jbGlfZW5hYmxlX3NlbnRyeUIaChhfY2xpX2Vycm9yX3NhbXBsaW5nX3JhdGVCGgoYX2NsaV90cmFjZV9zYW1wbGluZ19yYXRlQiUKI19jbGlfY2hhdF9zdHJlYW1fcmV0cnlfaGFyZF9zdG9wX21zQhcKFV9jbGlfZW5hYmxlX2FuYWx5dGljc0IaChhfY2xpX2FuYWx5dGljc193cml0ZV9rZXlCHgocX3BhcnRuZXJfbWNwX2xhdW5jaF8yMDI1MDkxNkIVChNfY2xpX3BhcmFsbGVsX3Rvb2xzQh0KG19lbmFibGVfYnVsa19kZWxldGVfdGhyZWFkc0InCiVfZW5hYmxlX2ludGVyc2VjdGlvbl9vYnNlcnZlcl9tYW5hZ2VyQicKJV9lbmFibGVfdGVuYW50X2xldmVsX3Rvb2xfcGVybWlzc2lvbnNCJgokX3dlYnZpZXdfcmVwbGF5c19zZXNzaW9uX3NhbXBsZV9yYXRlQicKJV93ZWJ2aWV3X3JlcGxheXNfb25fZXJyb3Jfc2FtcGxlX3JhdGVCJAoiX3ZzY29kZV9wbHVnaW5fZXJyb3Jfc2FtcGxpbmdfcmF0ZUIkCiJfdnNjb2RlX3BsdWdpbl90cmFjZV9zYW1wbGluZ19yYXRlQh0KG19lbmFibGVfY3JlZGl0c19pbl9zZXR0aW5nc0IjCiFfZW5hYmxlX2NyZWRpdF9iYW5uZXJfaW5fc2V0dGluZ3NCJgokX2VuYWJsZV9jaGF0X2lucHV0X2lubGluZV9jb21wbGV0aW9uQh4KHF9jbGlfZW5hYmxlX2FjY291bnRfY29tbWFuZHNCFwoVX2VuYWJsZV9vbmJvYXJkaW5nX3YyQhsKGV9jbGlfZW5hYmxlX21lc3NhZ2VfcXVldWVCHwodX2VuYWJsZV9ncnBjX3RvX2lkZV9tZXNzYWdpbmdCLAoqX2NsaV9lbmFibGVfYXN5bmNfd29ya3NwYWNlX2luaXRpYWxpemF0aW9uQh0KG19tYXhfbGluZV9sZW5ndGhfY2hhcmFjdGVyc0IqCihfZW5hYmxlX2NyZWRpdHNfY29uc3VtZWRfaW5fdHVybl9zdW1tYXJ5QicKJV9naXRodWJfaW50ZWdyYXRpb25fbm90aWZpY2F0aW9uX2pzb25CJAoiX2VuYWJsZV9kZWVwX2xpbmtfY2hhdF93aXRoX3Byb21wdEIfCh1fZW5hYmxlX2NvbW1pdF9zZXNzaW9uX2V2ZW50c0IjCiFfdXNlX2ludGFrZV9zZXJ2aWNlX2Zvcl9maWxlX3dhbGtCGgoYX2VuYWJsZV9hcHBseV9wYXRjaF90b29sQiUKI19jdXN0b21lcl91aV9zZWNyZXRfbWFuYWdlcl9lbmFibGVkQh4KHF9jaGF0X2lucHV0X2NvbXBsZXRpb25fbW9kZWxCMgowX3ZzY29kZV9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0QjQKMl9pbnRlbGxpal9wcm9tcHRfZW5oYW5jZXJfbmV3X2VuZHBvaW50X3JvbGxvdXRfcGN0Qi8KLV9jbGlfcHJvbXB0X2VuaGFuY2VyX25ld19lbmRwb2ludF9yb2xsb3V0X3BjdEInCiVfY2xpX2VuYWJsZV93b3JrZXJfdGhyZWFkX3BhdGhfZmlsdGVyQi4KLF9hcGlfcHJveHlfY2xpX25vbl9pbnRlcmFjdGl2ZV9tb2RlX2Rpc2FibGVkQhwKGl9lbmFibGVfc2V0dGluZ3NfaG9tZV9wYWdlQhcKFV9jbGlfZW5hYmxlX2Jhc2hfbW9kZUIjCiFfZW5hYmxlX2NvZGVfcmV2aWV3X3NsYXNoX2NvbW1hbmRCDwoNX2VuYWJsZV9ob29rc0IcChpfZW5hYmxlX2hpZXJhcmNoaWNhbF9ydWxlc0IiCiBfY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZUIYChZfZW5hYmxlX2RlYnVnX2ZlYXR1cmVzQhwKGl9lbmFibGVfcGx1Z2luX21hcmtldHBsYWNlQjgKNl9iZWFjaGhlYWRfZmlsZXN5c3RlbV9jaGFuZ2VfdHJhY2tlcl9tYXhfZ2l0X3Byb2Nlc3Nlc0IfCh1fY2xpX2VuYWJsZV93b3Jrc3BhY2VfY29tbWFuZEIZChdfcHVibGljX2JldGFfb3B0X2luX2FsbEIuCixfcHVibGljX2JldGFfY2FudmFzX2V4dGVuc2lvbl9mZWF0dXJlX2VuYWJsZUIaChhfZW5hYmxlX3B1YmxpY19iZXRhX3BhZ2VCJQojX2VuYWJsZV93b3Jrc3BhY2VfY29udmVyc2F0aW9uX3N5bmNCEAoOX2VuYWJsZV9za2lsbHNCHwodX3JlcG9zaXRvcnlfYWxsb3dsaXN0X2VuYWJsZWRCHwodX2NsaV9uZXdfZmVhdHVyZV9hbm5vdW5jZW1lbnRCGQoXX2VuYWJsZV9jdXN0b21fY29tbWFuZHNCGgoYX2NsaV9lbmFibGVfY2xvdWRfYWdlbnRzQjIKMF9lbmFibGVfd29ya3NwYWNlX2NvbnZlcnNhdGlvbl9jaGF0X2hpc3Rvcnlfc3luY0IlCiNfcHVibGljX2JldGFfZW5hYmxlX2N1c3RvbV9jb21tYW5kc0IXChVfZW5hYmxlX21lc3NhZ2VfcXVldWVCGwoZX2VuYWJsZV9zaGFyZWRfZ3VpZGVsaW5lc0I2CjRfdnNjb2RlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbl9wb2xsaW5nX2ludGVydmFsQjgKNl9pbnRlbGxpal91cGRhdGVfdmVyc2lvbl9ub3RpZmljYXRpb25fcG9sbGluZ19pbnRlcnZhbEIVChNfY2xpX2VuYWJsZV9wZXJzb25hQisKKV9jbGlfZW5hYmxlX2xhdW5jaF9wcm9jZXNzX2V2ZW50X2xpc3RlbmVyQiwKKl92c2NvZGVfZW5hYmxlX3VwZGF0ZV92ZXJzaW9uX25vdGlmaWNhdGlvbkIXChVfY2xpX2VuYWJsZV9wbGFuX21vZGVCIwohX2NvbGRfc3RhcnRfZ2l0X3NoYV9pbmRleF9lbmFibGVkQi4KLF9pbnRlbGxpal9lbmFibGVfdXBkYXRlX3ZlcnNpb25fbm90aWZpY2F0aW9uQh4KHF9lbmFibGVfcmVhZF9wcm9jZXNzX3RyYWNrZXJCIAoeX3JlYWRfcHJvY2Vzc19tYXhfd2FpdF9zZWNvbmRzQicKJV9yZWFkX3Byb2Nlc3Nfc3R1Y2tfcG9sbGluZ190aHJlc2hvbGRCFQoTX2VuYWJsZV9jb21wbGV0aW9uc0ITChFfZW5hYmxlX3N1YmFnZW50c0IbChlfY2xpX2FsbG93X3Rvb2xfb3ZlcnJpZGVzQhsKGV9jbGlfZW5hYmxlX2NvbnRleHRfdXNhZ2VCIAoeX2VuYWJsZV9jb252ZXJzYXRpb25fcmV0cmlldmFsQhkKF19jbGlfZW5hYmxlX2RpZmZfdmlld2VyQiEKH19pbnRlbGxpal9zaWRlY2FyX2VuYWJsZV9zZW50cnlCJwolX2ludGVsbGlqX3NpZGVjYXJfZXJyb3Jfc2FtcGxpbmdfcmF0ZUInCiVfaW50ZWxsaWpfc2lkZWNhcl90cmFjZV9zYW1wbGluZ19yYXRlQhwKGl9jbGlfZW5hYmxlX2FzeW5jX2luZGV4aW5nQhwKGl9wdWJsaWNfYmV0YV9lbmFibGVfc2tpbGxzQiMKIV9wdWJsaWNfYmV0YV9lbmFibGVfbWVzc2FnZV9xdWV1ZUIfCh1fcHVibGljX2JldGFfZW5hYmxlX3N1YmFnZW50c0IaChhfY2xpX2VuYWJsZV9zaG93X2NyZWRpdHNCGwoZX2lkZV9lbmFibGVfYXNrX3VzZXJfdG9vbEIfCh1fZW5hYmxlX2NoYXRfaGlzdG9yeV9yZWNvdmVyeUIlCiNfaW50ZWxsaWpfc3RhdGVfcG9sbGluZ19pbnRlcnZhbF9tc0IjCiFfdnNjb2RlX3N0YXRlX3BvbGxpbmdfaW50ZXJ2YWxfbXNCHQobX2NsaV9kZWZhdWx0X3Bvc2VpZG9uX2FnZW50Qh0KG19jbGlfZW5hYmxlX3Nlc3Npb25fYW5hbHl6ZUITChFfZW5hYmxlX2ZpZ21hX21jcEIaChhfZW5hYmxlX2h5YnJpZF9yZXRyaWV2YWxCHwodX2NvbnZlcnNhdGlvbl9yZXJhbmtpbmdfbW9kZWxCKwopX2JlYWNoaGVhZF9lbmFibGVfcGFyYWxsZWxfdG9vbF9leGVjdXRpb25CHgocX2VuYWJsZV9jb250ZXh0X3dpbmRvd191c2FnZUIgCh5fZW5hYmxlX3BsdWdpbl9tYXJrZXRwbGFjZV9pZGVCDgoMX2VuYWJsZV9ieW9rQhoKGF9wb3NlaWRvbl9kYWVtb25fZW5hYmxlZEIdChtfZW5hYmxlX2NvbnRleHRfdXNhZ2VfbW9kYWxCHQobX3Rvb2xfc2VhcmNoX3N1bW1hcnlfcHJvbXB0Qh8KHV90b29sX3NlYXJjaF9maW5kX3Rvb2xfcHJvbXB0QhsKGV9jbGlfZW5hYmxlX3Nlc3Npb25fc3RhdHNCGgoYX2VuYWJsZV9taWRfc3RyZWFtX3JldHJ5QhEKD19jbGlfZW5hYmxlX2J0d0IbChlfY2xpX2VuYWJsZV9jb250ZXh0X3N0YXRzQh4KHF9lbmFibGVfaWRlX2hhbmRvZmZfdG9fY2xvdWRCJwolX2NsaV9lbmFibGVfY2xvdWRfYWdlbnRfYXNrX3VzZXJfdG9vbEIWChRfdXNlX2FjcF9jb21wbGV0aW9uc0IgCh5fZW5hYmxlX2NvZGViYXNlX3JldHJpZXZhbF9yYXdCEgoQX3dlYnZpZXdfdXNlX2FjcEIeChxfY2xpX2VuYWJsZV9oYW5kb2ZmX3RvX2Nsb3VkQiEKH19zdWJhZ2VudHNfdmlzaWJpbGl0eV9vdmVycmlkZXNCJwolX2NsaV9lbmFibGVfY29sbGFwc2VfbG9uZ19wYXN0ZWRfdGV4dEIYChZfbWF4X3Rvb2xfb3V0cHV0X2J5dGVzQhsKGV9jbGlfY29tcGFjdF90b29sX3N1cmZhY2VCGgoYX2Nvc21vc19lbmFibGVfcmVzaWRlbnRzQhsKGV9jb3Ntb3NfcmVzaWRlbnRfcHJlc2VuY2VCKgooX2NsaV9yZWNvcmRfc3VtbWFyaXphdGlvbnNfYW5kX3N1YmFnZW50c0IeChxfY29zbW9zX21vcmVfY3VzdG9tX3dlYmhvb2tzQiUKI19jbGlfdXNlX3N0cmVhbWluZ192ZnNfZmlsZV9jb250ZW50QhYKFF9jbGlfdHVubmVsX2NvbW1hbmRzQiEKH19jbGlfcG9zZWlkb25fYW5hbHl0aWNzX2VuYWJsZWRCIgogX2NsaV9kYWVtb25fcG9vbF9hY2Nlc3NfY29tbWFuZHNCJAoiX2Nvc21vc19tdWx0aV9yZXBvX2NvbnRleHRfZW5hYmxlZEIiCiBfY29zbW9zX25lc3RlZF9hZ2VudHNfbWRfZW5hYmxlZEIcChpfdmZzX2R1cmFibGVfZmlsZV9pZGVudGl0eUIYChZfaWRlX2V4dGVuc2lvbl9yZXRpcmVkQiUKI19jbGlfZW5hYmxlX3Zmc19jb21tZW50c19wcm9qZWN0aW9uQikKJ19jbGlfc2xlZXBfcmVzdW1lX3dhdGNoZG9nX3RocmVzaG9sZF9tc0IXChVfdmZzX2V4dGVuZGVkX3NoYXJpbmdCIQofX2NsaV9kYWVtb25fYXV0b191cGRhdGVfZW5hYmxlZEIVChNfaWRlX21pZ3JhdGlvbl9tb2RlQiEKH19pZGVfbWlncmF0aW9uX2FuYWx5c2lzX2VuYWJsZWRCHwodX2lkZV9taWdyYXRpb25fYW5hbHlzaXNfbW9kZWxCIwohX2NsaV9lbnZpcm9ubWVudF9zbmFwc2hvdF91cGRhdGVzQioKKF9jb3Ntb3NfY2xpX2JhY2tncm91bmRfc3ViYWdlbnRzX2VuYWJsZWRCGwoZX2NsaV9zZWNyZXRfb2xhY19jb21tYW5kc0IXChVfY2xpX2Rlc2t0b3BfY29tbWFuZHNCIgogX2NsaV9lbmFibGVfc3BhY2VfcGlubmVkX2V4cGVydHNCJgokX3Bvc2VpZG9uX3ByZWZldGNoX3Zmc19iZWZvcmVfYXVnZ2llQhQKEl9jb21wYWN0aW9uX2NvbmZpZ0I0CjJfcG9zZWlkb25faW1hZ2VzX2FzeW5jX2Vudmlyb25tZW50X3JlYnVpbGRfZW5hYmxlZEIbChlfY2xpX3Zmc19iYWxhbmNlZF9zdHJlYW1zQjQKMl9wb3NlaWRvbl9pbWFnZXNfYXN5bmNfZW52aXJvbm1lbnRfcmVmcmVzaF9lbmFibGVkQkEKP19wb3NlaWRvbl9pbWFnZXNfYXN5bmNfZW52aXJvbm1lbnRfcmVwb3NpdG9yeV9yZWNvbmNpbGVfZW5hYmxlZEIUChJfY2xpX3N5bmNfZnJlZV92ZnNCMwoxX3Bvc2VpZG9uX2ltYWdlc19hc3luY19lbnZpcm9ubWVudF91cGRhdGVfZW5hYmxlZEIcChpfY29zbW9zX2F1Z2dpZV9lYXJseV9zdGFydEIuCixfY29zbW9zX2Vudmlyb25tZW50X3J1bnRpbWVfc2VsZWN0b3JfZW5hYmxlZEIaChhfY29zbW9zX21jcF9hZ2VudF9hdHRhY2hCGgoYX2NsaV9zdGFydHVwX2Jhbm5lcl90ZXh0Qh0KG19wb3NlaWRvbl92ZnNfbWF4X2ZpbGVfc2l6ZUIrCilfZW5hYmxlX2NvZGViYXNlX3JldHJpZXZhbF90b29sX2F1Z2dpZV92MkImCiRfY29zbW9zX2F1Z2dpZV9lbmFibGVfY29udGV4dF9lbmdpbmVKBAgCEANKBAgDEARKBAgEEAVKBgiPAhCQAkoECAsQDEoECBAQEUoECCAQIUoECDYQN0oECDgQOUoECDkQOkoECEYQR0oECEgQSUoECFAQUUoECFEQUkoECFUQVkoECF0QXkoECGEQYkoECGYQZ0oECG0QbkoECG4Qb0oGCI4BEI8BSgYIlgEQlwFKBgieARCfAUoGCLoBELsBSgYIuwEQvAFKBgi/ARDAAUoGCMYBEMcBSgYI3QEQ3gFKBgjnARDoAUoGCOkBEOoBSgYI6gEQ6wFKBgj0ARD1AUoGCPsBEPwBSgYIgwIQhAJKBgiwAhCxAkoGCLECELICUhx2c2NvZGVfbmV4dF9lZGl0X21pbl92ZXJzaW9uUhVuZXh0X2VkaXRfZGVib3VuY2VfbXNSKGludGVsbGlqX2NvbXBsZXRpb25zX2hpc3RvcnlfbWluX3ZlcnNpb25SIHZzY29kZV9uZXh0X2VkaXRfdXgxX21heF92ZXJzaW9uUiB2c2NvZGVfbmV4dF9lZGl0X3V4Ml9tYXhfdmVyc2lvblIpdnNjb2RlX25leHRfZWRpdF9ib3R0b21fcGFuZWxfbWluX3ZlcnNpb25SK3ZzY29kZV92aXJ0dWFsaXplZF9tZXNzYWdlX2xpc3RfbWluX3ZlcnNpb25SFWVuYWJsZV9tb2RlbF9yZWdpc3RyeVIObW9kZWxfcmVnaXN0cnlSFGZyYXVkX3NpZ25fZW5kcG9pbnRzUjhnaXRodWJfaW50ZWdyYXRpb25fbm90aWZpY2F0aW9uX29uX2ZpcnN0X21lc3NhZ2VfZW5hYmxlZFInaXNfb25ib2FyZGluZ19mZWF0dXJlX2hpZ2hsaWdodF9lbmFibGVkUi52c2NvZGVfZ2VuZXJhdGVfY29udmVyc2F0aW9uX3RpdGxlX3JvbGxvdXRfcGN0UjBpbnRlbGxpal9nZW5lcmF0ZV9jb252ZXJzYXRpb25fdGl0bGVfcm9sbG91dF9wY3RSHHZzY29kZV9hdXRvX2luZGV4X3Blcm1pc3Npb25SFWVuYWJsZV9jb250ZXh0X2NhbnZhc1IXZW5hYmxlX21jcF9yZWdpc3RyeV9jbGlSGWVuYWJsZV9tY3BfcmVnaXN0cnlfY2xvdWQaxAEKBFVzZXISCgoCaWQYASABKAkSEgoFZW1haWwYAiABKAlIAIgBARIWCgl0ZW5hbnRfaWQYAyABKAlIAYgBARIYCgt0ZW5hbnRfbmFtZRgEIAEoCUgCiAEBEjMKCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQFCCAoGX2VtYWlsQgwKCl90ZW5hbnRfaWRCDgoMX3RlbmFudF9uYW1lQg0KC19jcmVhdGVkX2F0IlcKCFVzZXJUaWVyEgsKB1VOS05PV04QABISCg5DT01NVU5JVFlfVElFUhABEhUKEVBST0ZFU1NJT05BTF9USUVSEAISEwoPRU5URVJQUklTRV9USUVSEANCEAoOX2RlZmF1bHRfbW9kZWxCEAoOX2ZlYXR1cmVfZmxhZ3NCBwoFX3VzZXJCFQoTX2Jvb3RzdHJhcF9zZXR0aW5ncyLUAgoaR2V0T3V0Y29tZUFuYWx5dGljc1JlcXVlc3QSNgoKZGF0ZV9yYW5nZRgBIAEoCzIiLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0RhdGVSYW5nZRIZChF0YWdfZ3JvdXBfYnlfa2V5cxgCIAMoCRI0CgdmaWx0ZXJzGAMgASgLMiMucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzRmlsdGVycxIcChRpbmNsdWRlX2Nvc3RfbWV0cmljcxgEIAEoCBI9CgtncmFudWxhcml0eRgFIAEoDjIoLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1RpbWVHcmFudWxhcml0eRIdChVkaXNhYmxlX2dyb3VwX2J5X25hbWUYBiABKAgSMQoOb3V0Y29tZV9vcmlnaW4YByABKA4yGS5wdWJsaWNfYXBpLk91dGNvbWVPcmlnaW4iWQobR2V0T3V0Y29tZUFuYWx5dGljc1Jlc3BvbnNlEjoKC2RhdGFfcG9pbnRzGAEgAygLMiUucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzRGF0YVBvaW50IiIKIEdldFBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXF1ZXN0IkIKIUdldFBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXNwb25zZRIdChVkZWZhdWx0X2Jhc2VfaW1hZ2VfaWQYASABKAkiIAoeR2V0UG9zZWlkb25Vc2VyU2V0dGluZ3NSZXF1ZXN0In4KH0dldFBvc2VpZG9uVXNlclNldHRpbmdzUmVzcG9uc2USHgoWZGVmYXVsdF9lbnZpcm9ubWVudF9pZBgBIAEoCRI1CgxwaW5uZWRfb3JkZXIYAyADKAsyHy5wdWJsaWNfYXBpLlBvc2VpZG9uUGlubmVkRW50cnlKBAgCEAMihQEKIEdldFJlbW90ZUFnZW50Q2hhdEhpc3RvcnlSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIiChpsYXN0X3Byb2Nlc3NlZF9zZXF1ZW5jZV9pZBgCIAEoDRIWCglwZWVrX29ubHkYAyABKAhIAIgBAUIMCgpfcGVla19vbmx5ItEBCiFHZXRSZW1vdGVBZ2VudENoYXRIaXN0b3J5UmVzcG9uc2USNQoMY2hhdF9oaXN0b3J5GAIgAygLMh8ucHVibGljX2FwaS5SZW1vdGVBZ2VudEV4Y2hhbmdlEhwKD3Nlc3Npb25fc3VtbWFyeRgDIAEoCUgAiAEBEjIKDHJlbW90ZV9hZ2VudBgEIAEoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRIAYgBAUISChBfc2Vzc2lvbl9zdW1tYXJ5Qg8KDV9yZW1vdGVfYWdlbnQihwEKIkdldFJlbW90ZUFnZW50SGlzdG9yeVN0cmVhbVJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEiIKGmxhc3RfcHJvY2Vzc2VkX3NlcXVlbmNlX2lkGAIgASgNEhYKCXBlZWtfb25seRgDIAEoCEgAiAEBQgwKCl9wZWVrX29ubHkiVgojR2V0UmVtb3RlQWdlbnRIaXN0b3J5U3RyZWFtUmVzcG9uc2USLwoHdXBkYXRlcxgBIAMoCzIeLnB1YmxpY19hcGkuQWdlbnRIaXN0b3J5VXBkYXRlIuEBChpHZXRTZXNzaW9uQW5hbHl0aWNzUmVxdWVzdBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEjQKB2ZpbHRlcnMYAiABKAsyIy5wdWJsaWNfYXBpLk91dGNvbWVBbmFseXRpY3NGaWx0ZXJzEhwKFGluY2x1ZGVfY29zdF9tZXRyaWNzGAMgASgIEhEKCXBhZ2Vfc2l6ZRgEIAEoDRISCgpwYWdlX3Rva2VuGAUgASgJEhAKCGFnZW50X2lkGAYgASgJIqgBChtHZXRTZXNzaW9uQW5hbHl0aWNzUmVzcG9uc2USMwoIc2Vzc2lvbnMYASADKAsyIS5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uU3VtbWFyeRI7CgxvYnNlcnZhdGlvbnMYAiADKAsyJS5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uT2JzZXJ2YXRpb24SFwoPbmV4dF9wYWdlX3Rva2VuGAMgASgJIioKFkdldFNlc3Npb25Vc2FnZVJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkijwEKF0dldFNlc3Npb25Vc2FnZVJlc3BvbnNlEjcKFXVzYWdlX2N1cnJlbnRfc2Vzc2lvbhgBIAEoCzIYLnB1YmxpY19hcGkuU2Vzc2lvblVzYWdlEjsKGXVzYWdlX3dpdGhfY2hpbGRfc2Vzc2lvbnMYAiABKAsyGC5wdWJsaWNfYXBpLlNlc3Npb25Vc2FnZSIeChxHZXRTdWJzY3JpcHRpb25CYW5uZXJSZXF1ZXN0Ik4KHUdldFN1YnNjcmlwdGlvbkJhbm5lclJlc3BvbnNlEi0KBmJhbm5lchgBIAEoCzIdLnB1YmxpY19hcGkuQmFubmVySW5mb3JtYXRpb24iHAoaR2V0U3Vic2NyaXB0aW9uSW5mb1JlcXVlc3QisQIKG0dldFN1YnNjcmlwdGlvbkluZm9SZXNwb25zZRI8CgplbnRlcnByaXNlGAEgASgLMiIucHVibGljX2FwaS5FbnRlcnByaXNlU3Vic2NyaXB0aW9uQgIYAUgAEkEKE2FjdGl2ZV9zdWJzY3JpcHRpb24YAiABKAsyHi5wdWJsaWNfYXBpLkFjdGl2ZVN1YnNjcmlwdGlvbkICGAFIABJFChVpbmFjdGl2ZV9zdWJzY3JpcHRpb24YAyABKAsyIC5wdWJsaWNfYXBpLkluYWN0aXZlU3Vic2NyaXB0aW9uQgIYAUgAEjoKE2ZlYXR1cmVfZ2F0aW5nX2luZm8YBCABKAsyHS5wdWJsaWNfYXBpLkZlYXR1cmVHYXRpbmdJbmZvQg4KDHN1YnNjcmlwdGlvbiJaChZHZXRUZW5hbnRTZWNyZXRSZXF1ZXN0EgwKBG5hbWUYASABKAkSHwoOaW5jbHVkZV92YWx1ZXMYAiABKAhCAhgBSACIAQFCEQoPX2luY2x1ZGVfdmFsdWVzIkMKF0dldFRlbmFudFNlY3JldFJlc3BvbnNlEigKBnNlY3JldBgBIAEoCzIYLnB1YmxpY19hcGkuVGVuYW50U2VjcmV0IigKF0dldFRlbmFudFNlY3JldHNSZXF1ZXN0Eg0KBW5hbWVzGAEgAygJIkUKGEdldFRlbmFudFNlY3JldHNSZXNwb25zZRIpCgdzZWNyZXRzGAEgAygLMhgucHVibGljX2FwaS5UZW5hbnRTZWNyZXQiIQofR2V0VGVuYW50VG9vbFBlcm1pc3Npb25zUmVxdWVzdCJqCiBHZXRUZW5hbnRUb29sUGVybWlzc2lvbnNSZXNwb25zZRJGChl0b29sX3Blcm1pc3Npb25zX3NldHRpbmdzGAEgASgLMiMucHVibGljX2FwaS5Ub29sUGVybWlzc2lvbnNTZXR0aW5ncyJvChtHZXRUcmlnZ2VyRXhlY3V0aW9uc1JlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCRISCgVsaW1pdBgCIAEoDUgAiAEBEhMKBm9mZnNldBgDIAEoDUgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0ImUKHEdldFRyaWdnZXJFeGVjdXRpb25zUmVzcG9uc2USMAoKZXhlY3V0aW9ucxgBIAMoCzIcLnB1YmxpY19hcGkuVHJpZ2dlckV4ZWN1dGlvbhITCgt0b3RhbF9jb3VudBgCIAEoDSKTAQoUR2V0VXNlclNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRImCgVzY29wZRgCIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSHwoOaW5jbHVkZV92YWx1ZXMYAyABKAhCAhgBSACIAQESEQoJc2VjcmV0X2lkGAQgASgJQhEKD19pbmNsdWRlX3ZhbHVlcyI/ChVHZXRVc2VyU2VjcmV0UmVzcG9uc2USJgoGc2VjcmV0GAEgASgLMhYucHVibGljX2FwaS5Vc2VyU2VjcmV0Ik4KFUdldFVzZXJTZWNyZXRzUmVxdWVzdBINCgVuYW1lcxgBIAMoCRImCgVzY29wZRgCIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUiQQoWR2V0VXNlclNlY3JldHNSZXNwb25zZRInCgdzZWNyZXRzGAEgAygLMhYucHVibGljX2FwaS5Vc2VyU2VjcmV0IkQKD0dpdERpZmZGaWxlSW5mbxIZChFjb250ZW50X2Jsb2JfbmFtZRgBIAEoCRIWCg5maWxlX2Jsb2JfbmFtZRgCIAEoCSKXAQoOR2l0SHViQ2hlY2tSdW4SCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEgoKY29uY2x1c2lvbhgEIAEoCRISCgpzdGFydGVkX2F0GAUgASgJEhQKDGNvbXBsZXRlZF9hdBgGIAEoCRILCgN1cmwYByABKAkSEAoIaHRtbF91cmwYCCABKAkidgoQR2l0SHViQ2hlY2tTdWl0ZRIQCghhcHBfbmFtZRgBIAEoCRISCgpjb25jbHVzaW9uGAIgASgJEhIKCmNyZWF0ZWRfYXQYAyABKAkSEAoIaHRtbF91cmwYBCABKAkSFgoOY2hlY2tfcnVuc191cmwYBSABKAki3wIKDEdpdEh1YkVudGl0eRIKCgJpZBgBIAEoCRIqCgR0eXBlGAIgASgOMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlUeXBlEjYKCnJlcG9zaXRvcnkYAyABKAsyIi5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVJlcG9zaXRvcnkSEQoJdGltZXN0YW1wGAQgASgJEj4KDHB1bGxfcmVxdWVzdBgFIAEoCzIjLnB1YmxpY19hcGkuR2l0SHViUHVsbFJlcXVlc3RFbnRpdHlIAIgBARI+Cgx3b3JrZmxvd19ydW4YBiABKAsyIy5wdWJsaWNfYXBpLkdpdEh1YldvcmtmbG93UnVuRW50aXR5SAGIAQESGQoMaXNfZGlzbWlzc2VkGAcgASgISAKIAQFCDwoNX3B1bGxfcmVxdWVzdEIPCg1fd29ya2Zsb3dfcnVuQg8KDV9pc19kaXNtaXNzZWQigwEKFkdpdEh1YkVudGl0eVJlcG9zaXRvcnkSDQoFb3duZXIYASABKAkSDAoEbmFtZRgCIAEoCRIRCglmdWxsX25hbWUYAyABKAkSEAoIaHRtbF91cmwYBCABKAkSFgoOZGVmYXVsdF9icmFuY2gYBSABKAkSDwoHcHJpdmF0ZRgGIAEoCCJTChBHaXRIdWJFbnRpdHlVc2VyEg0KBWxvZ2luGAEgASgJEhIKCmF2YXRhcl91cmwYAiABKAkSEAoIaHRtbF91cmwYAyABKAkSCgoCaWQYBCABKAMisgEKEkdpdEh1Yklzc3VlQ29tbWVudBIKCgJpZBgBIAEoAxIsCgZhdXRob3IYAiABKAsyHC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVVzZXISDAoEYm9keRgDIAEoCRISCgpjcmVhdGVkX2F0GAQgASgJEhIKCnVwZGF0ZWRfYXQYBSABKAkSEAoIaHRtbF91cmwYBiABKAkSGgoSYXV0aG9yX2Fzc29jaWF0aW9uGAcgASgJIsAIChdHaXRIdWJQdWxsUmVxdWVzdEVudGl0eRIOCgZudW1iZXIYASABKAUSDQoFdGl0bGUYAiABKAkSDAoEYm9keRgDIAEoCRINCgVzdGF0ZRgEIAEoCRIQCghodG1sX3VybBgFIAEoCRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnVwZGF0ZWRfYXQYByABKAkSFgoJbWVyZ2VkX2F0GAggASgJSACIAQESFgoJY2xvc2VkX2F0GAkgASgJSAGIAQESKgoEdXNlchgKIAEoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchIvCglhc3NpZ25lZXMYCyADKAsyHC5wdWJsaWNfYXBpLkdpdEh1YkVudGl0eVVzZXISOQoTcmVxdWVzdGVkX3Jldmlld2VycxgMIAMoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchIQCghoZWFkX3JlZhgNIAEoCRIQCghiYXNlX3JlZhgOIAEoCRIQCghoZWFkX3NoYRgPIAEoCRIQCghiYXNlX3NoYRgQIAEoCRIOCgZtZXJnZWQYESABKAgSDQoFZHJhZnQYEiABKAgSDgoGbGFiZWxzGBMgAygJEhAKCGNvbW1lbnRzGBQgASgFEg8KB2NvbW1pdHMYFSABKAUSEQoJYWRkaXRpb25zGBYgASgFEhEKCWRlbGV0aW9ucxgXIAEoBRIVCg1jaGFuZ2VkX2ZpbGVzGBggASgFEhYKCW1lcmdlYWJsZRgZIAEoCEgCiAEBEhcKD21lcmdlYWJsZV9zdGF0ZRgaIAEoCRIyCgxjaGVja19zdWl0ZXMYGyADKAsyHC5wdWJsaWNfYXBpLkdpdEh1YkNoZWNrU3VpdGUSKgoIc3RhdHVzZXMYHCADKAsyGC5wdWJsaWNfYXBpLkdpdEh1YlN0YXR1cxI4Cg9yZXZpZXdfY29tbWVudHMYHSADKAsyHy5wdWJsaWNfYXBpLkdpdEh1YlJldmlld0NvbW1lbnQSNgoOaXNzdWVfY29tbWVudHMYHiADKAsyHi5wdWJsaWNfYXBpLkdpdEh1Yklzc3VlQ29tbWVudBIuCgpjaGVja19ydW5zGB8gAygLMhoucHVibGljX2FwaS5HaXRIdWJDaGVja1J1bhI+Cg9yZXF1aXJlZF9jaGVja3MYICABKAsyIC5wdWJsaWNfYXBpLkdpdEh1YlJlcXVpcmVkQ2hlY2tzSAOIAQESNAoNd29ya2Zsb3dfcnVucxghIAMoCzIdLnB1YmxpY19hcGkuR2l0SHViV29ya2Zsb3dSdW4SKQoHcmV2aWV3cxgiIAMoCzIYLnB1YmxpY19hcGkuR2l0SHViUmV2aWV3QgwKCl9tZXJnZWRfYXRCDAoKX2Nsb3NlZF9hdEIMCgpfbWVyZ2VhYmxlQhIKEF9yZXF1aXJlZF9jaGVja3MisQMKIkdpdEh1YlB1bGxSZXF1ZXN0VHJpZ2dlckNvbmRpdGlvbnMSFwoKcmVwb3NpdG9yeRgBIAEoCUgAiAEBEhMKBmF1dGhvchgCIAEoCUgBiAEBEhUKCGFzc2lnbmVlGAMgASgJSAKIAQESFQoIcmV2aWV3ZXIYBCABKAlIA4gBARIOCgZsYWJlbHMYBSADKAkSGgoOYWN0aXZpdHlfdHlwZXMYBiADKAlCAhgBEhIKBWRyYWZ0GAcgASgISASIAQESGwoOdGl0bGVfY29udGFpbnMYCCABKAlIBYgBARIYCgtiYXNlX2JyYW5jaBgJIAEoCUgGiAEBEhgKC2hlYWRfYnJhbmNoGAogASgJSAeIAQESEgoFZXZlbnQYCyABKAlICIgBARIPCgdhY3Rpb25zGAwgAygJQg0KC19yZXBvc2l0b3J5QgkKB19hdXRob3JCCwoJX2Fzc2lnbmVlQgsKCV9yZXZpZXdlckIICgZfZHJhZnRCEQoPX3RpdGxlX2NvbnRhaW5zQg4KDF9iYXNlX2JyYW5jaEIOCgxfaGVhZF9icmFuY2hCCAoGX2V2ZW50IrYBCg9HaXRIdWJSZWFjdGlvbnMSEAoIcGx1c19vbmUYASABKAUSEQoJbWludXNfb25lGAIgASgFEhAKCGNvbmZ1c2VkGAMgASgFEgwKBGV5ZXMYBCABKAUSDQoFaGVhcnQYBSABKAUSDgoGaG9vcmF5GAYgASgFEg0KBWxhdWdoGAcgASgFEg4KBnJvY2tldBgIIAEoBRITCgt0b3RhbF9jb3VudBgJIAEoBRILCgN1cmwYCiABKAkieAoUR2l0SHViUmVxdWlyZWRDaGVja3MSGQoRcmVxdWlyZWRfY29udGV4dHMYASADKAkSGQoRZW5mb3JjZW1lbnRfbGV2ZWwYAiABKAkSEwoLc3RyaWN0X21vZGUYAyABKAgSFQoNdGFyZ2V0X2JyYW5jaBgEIAEoCSKgAQoMR2l0SHViUmV2aWV3EgoKAmlkGAEgASgDEiwKBmF1dGhvchgCIAEoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchIMCgRib2R5GAMgASgJEg0KBXN0YXRlGAQgASgJEhQKDHN1Ym1pdHRlZF9hdBgFIAEoCRIRCgljb21taXRfaWQYBiABKAkSEAoIaHRtbF91cmwYByABKAkimQUKE0dpdEh1YlJldmlld0NvbW1lbnQSLAoGYXV0aG9yGAEgASgLMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlVc2VyEgwKBGJvZHkYAiABKAkSEgoKY3JlYXRlZF9hdBgDIAEoCRIQCghodG1sX3VybBgEIAEoCRIYCgtsaW5lX251bWJlchgFIAEoBUgAiAEBEhEKBHBhdGgYBiABKAlIAYgBARIWCglkaWZmX2h1bmsYByABKAlIAogBARIVCghwb3NpdGlvbhgIIAEoBUgDiAEBEhYKCWNvbW1pdF9pZBgJIAEoCUgEiAEBEhcKCnN0YXJ0X2xpbmUYCiABKAVIBYgBARIRCgRzaWRlGAsgASgJSAaIAQESCgoCaWQYDCABKAMSEgoKdXBkYXRlZF9hdBgNIAEoCRIuCglyZWFjdGlvbnMYDiABKAsyGy5wdWJsaWNfYXBpLkdpdEh1YlJlYWN0aW9ucxIeChZwdWxsX3JlcXVlc3RfcmV2aWV3X2lkGA8gASgDEhsKDmluX3JlcGx5X3RvX2lkGBAgASgDSAeIAQESCwoDdXJsGBEgASgJEhoKEm9yaWdpbmFsX2NvbW1pdF9pZBgSIAEoCRIaCg1vcmlnaW5hbF9saW5lGBMgASgFSAiIAQESGQoRb3JpZ2luYWxfcG9zaXRpb24YFCABKAUSFAoMc3ViamVjdF90eXBlGBUgASgJQg4KDF9saW5lX251bWJlckIHCgVfcGF0aEIMCgpfZGlmZl9odW5rQgsKCV9wb3NpdGlvbkIMCgpfY29tbWl0X2lkQg0KC19zdGFydF9saW5lQgcKBV9zaWRlQhEKD19pbl9yZXBseV90b19pZEIQCg5fb3JpZ2luYWxfbGluZSKTAQoMR2l0SHViU3RhdHVzEg8KB2NvbnRleHQYASABKAkSDQoFc3RhdGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSFwoKdGFyZ2V0X3VybBgEIAEoCUgAiAEBEhIKCmNyZWF0ZWRfYXQYBSABKAkSEgoKdXBkYXRlZF9hdBgGIAEoCUINCgtfdGFyZ2V0X3VybCIpChRHaXRIdWJUb29sRXh0cmFJbnB1dBIRCglhcGlfdG9rZW4YASABKAkihAIKF0dpdEh1YlRyaWdnZXJDb25kaXRpb25zEjEKC2VudGl0eV90eXBlGAEgASgOMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlUeXBlEkkKDHB1bGxfcmVxdWVzdBgCIAEoCzIuLnB1YmxpY19hcGkuR2l0SHViUHVsbFJlcXVlc3RUcmlnZ2VyQ29uZGl0aW9uc0gAiAEBEkkKDHdvcmtmbG93X3J1bhgDIAEoCzIuLnB1YmxpY19hcGkuR2l0SHViV29ya2Zsb3dSdW5UcmlnZ2VyQ29uZGl0aW9uc0gBiAEBQg8KDV9wdWxsX3JlcXVlc3RCDwoNX3dvcmtmbG93X3J1biK+AQoRR2l0SHViV29ya2Zsb3dSdW4SCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIMCgRwYXRoGAMgASgJEg4KBnN0YXR1cxgEIAEoCRISCgpjb25jbHVzaW9uGAUgASgJEhIKCmNyZWF0ZWRfYXQYBiABKAkSEgoKdXBkYXRlZF9hdBgHIAEoCRILCgN1cmwYCCABKAkSEAoIaHRtbF91cmwYCSABKAkSFgoOY2hlY2tfc3VpdGVfaWQYCiABKAMi6gMKF0dpdEh1YldvcmtmbG93UnVuRW50aXR5EgoKAmlkGAEgASgDEgwKBG5hbWUYAiABKAkSFQoNZGlzcGxheV90aXRsZRgDIAEoCRISCgpydW5fbnVtYmVyGAQgASgFEg0KBWV2ZW50GAUgASgJEg4KBnN0YXR1cxgGIAEoCRIXCgpjb25jbHVzaW9uGAcgASgJSACIAQESEwoLd29ya2Zsb3dfaWQYCCABKAkSFQoNd29ya2Zsb3dfbmFtZRgJIAEoCRIQCghodG1sX3VybBgKIAEoCRISCgpjcmVhdGVkX2F0GAsgASgJEhIKCnVwZGF0ZWRfYXQYDCABKAkSGwoOcnVuX3N0YXJ0ZWRfYXQYDSABKAlIAYgBARIrCgVhY3RvchgOIAEoCzIcLnB1YmxpY19hcGkuR2l0SHViRW50aXR5VXNlchI2ChB0cmlnZ2VyaW5nX2FjdG9yGA8gASgLMhwucHVibGljX2FwaS5HaXRIdWJFbnRpdHlVc2VyEhMKC2hlYWRfYnJhbmNoGBAgASgJEhAKCGhlYWRfc2hhGBEgASgJEgwKBHBhdGgYEiABKAkSEwoLcnVuX2F0dGVtcHQYEyABKAVCDQoLX2NvbmNsdXNpb25CEQoPX3J1bl9zdGFydGVkX2F0IucCCiJHaXRIdWJXb3JrZmxvd1J1blRyaWdnZXJDb25kaXRpb25zEhcKCnJlcG9zaXRvcnkYASABKAlIAIgBARISCgVhY3RvchgCIAEoCUgBiAEBEh0KEHRyaWdnZXJpbmdfYWN0b3IYAyABKAlIAogBARIRCgl3b3JrZmxvd3MYBCADKAkSEgoFZXZlbnQYBSABKAlIA4gBARITCgZzdGF0dXMYBiABKAlIBIgBARIXCgpjb25jbHVzaW9uGAcgASgJSAWIAQESEwoGYnJhbmNoGAggASgJSAaIAQESGwoOdGl0bGVfY29udGFpbnMYCSABKAlIB4gBAUINCgtfcmVwb3NpdG9yeUIICgZfYWN0b3JCEwoRX3RyaWdnZXJpbmdfYWN0b3JCCAoGX2V2ZW50QgkKB19zdGF0dXNCDQoLX2NvbmNsdXNpb25CCQoHX2JyYW5jaEIRCg9fdGl0bGVfY29udGFpbnMiXwoMR2l0aHViQnJhbmNoEgwKBG5hbWUYASABKAkSLgoGY29tbWl0GAIgASgLMh4ucHVibGljX2FwaS5HaXRodWJCcmFuY2hDb21taXQSEQoJcHJvdGVjdGVkGAMgASgIIi4KEkdpdGh1YkJyYW5jaENvbW1pdBILCgNzaGEYASABKAkSCwoDdXJsGAIgASgJIlgKD0dpdGh1YkNvbW1pdFJlZhIWCg5yZXBvc2l0b3J5X3VybBgBIAEoCRIPCgdnaXRfcmVmGAIgASgJEhIKBXBhdGNoGAMgASgJSACIAQFCCAoGX3BhdGNoIpwDChFHaXRodWJQdWxsUmVxdWVzdBIOCgZudW1iZXIYASABKAUSDQoFdGl0bGUYAiABKAkSDAoEYm9keRgDIAEoCRINCgVzdGF0ZRgEIAEoCRIQCghodG1sX3VybBgFIAEoCRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnVwZGF0ZWRfYXQYByABKAkSEQoJbWVyZ2VkX2F0GAggASgJEhEKCWNsb3NlZF9hdBgJIAEoCRIkCgR1c2VyGAogASgLMhYucHVibGljX2FwaS5HaXRodWJVc2VyEhAKCGhlYWRfcmVmGAsgASgJEhAKCGJhc2VfcmVmGAwgASgJEhAKCGhlYWRfc2hhGA0gASgJEhAKCGJhc2Vfc2hhGA4gASgJEg4KBm1lcmdlZBgPIAEoCBINCgVkcmFmdBgQIAEoCBIQCghjb21tZW50cxgRIAEoBRIPCgdjb21taXRzGBIgASgFEhEKCWFkZGl0aW9ucxgTIAEoBRIRCglkZWxldGlvbnMYFCABKAUSFQoNY2hhbmdlZF9maWxlcxgVIAEoBSKPAQoaR2l0aHViUHVsbFJlcXVlc3RGaWxlRW50cnkSEAoIZmlsZW5hbWUYASABKAkSDgoGc3RhdHVzGAIgASgJEhEKCWFkZGl0aW9ucxgDIAEoBRIRCglkZWxldGlvbnMYBCABKAUSCwoDc2hhGAUgASgJEhIKBXBhdGNoGAYgASgJSACIAQFCCAoGX3BhdGNoIiUKCUdpdGh1YlJlZhILCgN1cmwYASABKAkSCwoDcmVmGAIgASgJIs0BCgpHaXRodWJSZXBvEg0KBW93bmVyGAEgASgJEgwKBG5hbWUYAiABKAkSFQoIaHRtbF91cmwYAyABKAlIAIgBARIXCgpjcmVhdGVkX2F0GAQgASgJSAGIAQESFwoKdXBkYXRlZF9hdBgFIAEoCUgCiAEBEhsKDmRlZmF1bHRfYnJhbmNoGAYgASgJSAOIAQFCCwoJX2h0bWxfdXJsQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0QhEKD19kZWZhdWx0X2JyYW5jaCJBCgpHaXRodWJVc2VyEg0KBWxvZ2luGAEgASgJEhIKCmF2YXRhcl91cmwYAiABKAkSEAoIaHRtbF91cmwYAyABKAkiFgoUSW5hY3RpdmVTdWJzY3JpcHRpb24iTQoaSW5jb3Jwb3JhdGVkRXh0ZXJuYWxTb3VyY2USEwoLc291cmNlX25hbWUYASABKAkSEQoEbGluaxgCIAEoCUgAiAEBQgcKBV9saW5rIj0KFUluZGV4ZWRDb21taXRGaWxlSW5mbxIRCglmaWxlX3BhdGgYASABKAkSEQoJYmxvYl9uYW1lGAIgASgJIjwKEUluZGV4ZWRDb21taXRJbmZvEhIKCmNvbW1pdF9zaGEYASABKAkSEwoLY29tbWl0X3RpbWUYAiABKAkiYgoYSW5zZXJ0Q2hhdEhpc3RvcnlSZXF1ZXN0EhcKD2NvbnZlcnNhdGlvbl9pZBgBIAEoCRItCglleGNoYW5nZXMYAiADKAsyGi5jaGF0LkV4Y2hhbmdlV2l0aE1ldGFkYXRhIsEBChlJbnNlcnRDaGF0SGlzdG9yeVJlc3BvbnNlEjwKB2VudHJpZXMYASADKAsyKy5wdWJsaWNfYXBpLkluc2VydENoYXRIaXN0b3J5UmVzcG9uc2UuRW50cnkaZgoFRW50cnkSDQoFaW5kZXgYASABKAMSIgoGc3RhdHVzGAIgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXMSGQoMY29tcG9zaXRlX2lkGAMgASgJSACIAQFCDwoNX2NvbXBvc2l0ZV9pZCKABgoSSW5zdHJ1Y3Rpb25SZXF1ZXN0EhIKBW1vZGVsGAEgASgJSACIAQESDgoGcHJlZml4GAIgASgJEhUKDXNlbGVjdGVkX3RleHQYAyABKAkSDgoGc3VmZml4GAQgASgJEhEKBHBhdGgYBSABKAlIAYgBARITCgtpbnN0cnVjdGlvbhgGIAEoCRIRCgRsYW5nGAcgASgJSAKIAQESFgoJYmxvYl9uYW1lGAggASgJSAOIAQESGQoMcHJlZml4X2JlZ2luGAkgASgFSASIAQESFwoKc3VmZml4X2VuZBgKIAEoBUgFiAEBEhgKC3NlcXVlbmNlX2lkGAsgASgNSAaIAQESIAoFYmxvYnMYDCABKAsyES5wdWJsaWNfYXBpLkJsb2JzEioKDGNoYXRfaGlzdG9yeRgNIAMoCzIULnB1YmxpY19hcGkuRXhjaGFuZ2USFwoKY29kZV9ibG9jaxgOIAEoCUgHiAEBEh0KEHRhcmdldF9maWxlX3BhdGgYDyABKAlICIgBARIgChN0YXJnZXRfZmlsZV9jb250ZW50GBAgASgJSAmIAQESLQogY29udGV4dF9jb2RlX2V4Y2hhbmdlX3JlcXVlc3RfaWQYESABKAlICogBARIcCg91c2VyX2d1aWRlbGluZXMYEiABKAlIC4gBARIhChR3b3Jrc3BhY2VfZ3VpZGVsaW5lcxgTIAEoCUgMiAEBQggKBl9tb2RlbEIHCgVfcGF0aEIHCgVfbGFuZ0IMCgpfYmxvYl9uYW1lQg8KDV9wcmVmaXhfYmVnaW5CDQoLX3N1ZmZpeF9lbmRCDgoMX3NlcXVlbmNlX2lkQg0KC19jb2RlX2Jsb2NrQhMKEV90YXJnZXRfZmlsZV9wYXRoQhYKFF90YXJnZXRfZmlsZV9jb250ZW50QiMKIV9jb250ZXh0X2NvZGVfZXhjaGFuZ2VfcmVxdWVzdF9pZEISChBfdXNlcl9ndWlkZWxpbmVzQhcKFV93b3Jrc3BhY2VfZ3VpZGVsaW5lcyKLAwoTSW5zdHJ1Y3Rpb25SZXNwb25zZRIMCgR0ZXh0GAEgASgJEhoKEnVua25vd25fYmxvYl9uYW1lcxgCIAMoCRIcChRjaGVja3BvaW50X25vdF9mb3VuZBgDIAEoCBIdChByZXBsYWNlbWVudF90ZXh0GAQgASgJSACIAQESIwoWcmVwbGFjZW1lbnRfc3RhcnRfbGluZRgFIAEoDUgBiAEBEiEKFHJlcGxhY2VtZW50X2VuZF9saW5lGAYgASgNSAKIAQESIQoUcmVwbGFjZW1lbnRfb2xkX3RleHQYByABKAlIA4gBARIkChdyZXBsYWNlbWVudF9zZXF1ZW5jZV9pZBgIIAEoDUgEiAEBQhMKEV9yZXBsYWNlbWVudF90ZXh0QhkKF19yZXBsYWNlbWVudF9zdGFydF9saW5lQhcKFV9yZXBsYWNlbWVudF9lbmRfbGluZUIXChVfcmVwbGFjZW1lbnRfb2xkX3RleHRCGgoYX3JlcGxhY2VtZW50X3NlcXVlbmNlX2lkIjYKG0ludGVycnVwdFJlbW90ZUFnZW50UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiTQocSW50ZXJydXB0UmVtb3RlQWdlbnRSZXNwb25zZRItCgZzdGF0dXMYASABKA4yHS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50U3RhdHVzIh8KHUlzVXNlckdpdGh1YkNvbmZpZ3VyZWRSZXF1ZXN0IocBCh5Jc1VzZXJHaXRodWJDb25maWd1cmVkUmVzcG9uc2USFQoNaXNfY29uZmlndXJlZBgBIAEoCBIRCglvYXV0aF91cmwYAiABKAkSIwobY29uZmlndXJlZF9idXRfbmVlZHNfdXBkYXRlGAMgASgIEhYKDnVwZGF0ZWRfc2NvcGVzGAQgASgJIioKDEtleVZhbHVlUGFpchILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiQQoITGFuZ3VhZ2USDAoEbmFtZRgBIAEoCRITCgt2c2NvZGVfbmFtZRgCIAEoCRISCgpleHRlbnNpb25zGAMgAygJIsIBCgxMaW5lYXJFbnRpdHkSCgoCaWQYASABKAkSKgoEdHlwZRgCIAEoDjIcLnB1YmxpY19hcGkuTGluZWFyRW50aXR5VHlwZRIRCgl0aW1lc3RhbXAYAyABKAkSMQoFaXNzdWUYBCABKAsyHS5wdWJsaWNfYXBpLkxpbmVhcklzc3VlRW50aXR5SACIAQESGQoMaXNfZGlzbWlzc2VkGAUgASgISAGIAQFCCAoGX2lzc3VlQg8KDV9pc19kaXNtaXNzZWQidQoRTGluZWFyRW50aXR5TGFiZWwSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhIKBWNvbG9yGAQgASgJSAGIAQFCDgoMX2Rlc2NyaXB0aW9uQggKBl9jb2xvciKCAQoTTGluZWFyRW50aXR5UHJvamVjdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFc3RhdGUYBCABKAkSEAoDdXJsGAUgASgJSAGIAQFCDgoMX2Rlc2NyaXB0aW9uQgYKBF91cmwiYwoQTGluZWFyRW50aXR5VGVhbRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiJ5ChBMaW5lYXJFbnRpdHlVc2VyEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEg0KBWVtYWlsGAQgASgJEhcKCmF2YXRhcl91cmwYBSABKAlIAIgBAUINCgtfYXZhdGFyX3VybCKLAQoZTGluZWFyRW50aXR5V29ya2Zsb3dTdGF0ZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHR5cGUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARISCgVjb2xvchgFIAEoCUgBiAEBQg4KDF9kZXNjcmlwdGlvbkIICgZfY29sb3Ii7wUKEUxpbmVhcklzc3VlRW50aXR5EgoKAmlkGAEgASgJEhIKCmlkZW50aWZpZXIYAiABKAkSDQoFdGl0bGUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIQCghwcmlvcml0eRgFIAEoBRILCgN1cmwYBiABKAkSEgoKY3JlYXRlZF9hdBgHIAEoCRISCgp1cGRhdGVkX2F0GAggASgJEhcKCnN0YXJ0ZWRfYXQYCSABKAlIAYgBARIZCgxjb21wbGV0ZWRfYXQYCiABKAlIAogBARIYCgtjYW5jZWxlZF9hdBgLIAEoCUgDiAEBEhUKCGR1ZV9kYXRlGAwgASgJSASIAQESFQoIZXN0aW1hdGUYDSABKAFIBYgBARItCgdjcmVhdG9yGA4gASgLMhwucHVibGljX2FwaS5MaW5lYXJFbnRpdHlVc2VyEjMKCGFzc2lnbmVlGA8gASgLMhwucHVibGljX2FwaS5MaW5lYXJFbnRpdHlVc2VySAaIAQESKgoEdGVhbRgQIAEoCzIcLnB1YmxpY19hcGkuTGluZWFyRW50aXR5VGVhbRI0CgVzdGF0ZRgRIAEoCzIlLnB1YmxpY19hcGkuTGluZWFyRW50aXR5V29ya2Zsb3dTdGF0ZRI1Cgdwcm9qZWN0GBIgASgLMh8ucHVibGljX2FwaS5MaW5lYXJFbnRpdHlQcm9qZWN0SAeIAQESLQoGbGFiZWxzGBMgAygLMh0ucHVibGljX2FwaS5MaW5lYXJFbnRpdHlMYWJlbBIVCg1jb21tZW50X2NvdW50GBQgASgFEhgKEHN1YnNjcmliZXJfY291bnQYFSABKAVCDgoMX2Rlc2NyaXB0aW9uQg0KC19zdGFydGVkX2F0Qg8KDV9jb21wbGV0ZWRfYXRCDgoMX2NhbmNlbGVkX2F0QgsKCV9kdWVfZGF0ZUILCglfZXN0aW1hdGVCCwoJX2Fzc2lnbmVlQgoKCF9wcm9qZWN0IosDChxMaW5lYXJJc3N1ZVRyaWdnZXJDb25kaXRpb25zEhEKBHRlYW0YASABKAlIAIgBARIUCgdjcmVhdG9yGAIgASgJSAGIAQESFQoIYXNzaWduZWUYAyABKAlIAogBARIOCgZzdGF0ZXMYBCADKAkSEwoLc3RhdGVfdHlwZXMYBSADKAkSEgoKcHJpb3JpdGllcxgGIAMoBRIOCgZsYWJlbHMYByADKAkSFAoHcHJvamVjdBgIIAEoCUgDiAEBEhYKDmFjdGl2aXR5X3R5cGVzGAkgAygJEhsKDnRpdGxlX2NvbnRhaW5zGAogASgJSASIAQESGQoMbWluX2VzdGltYXRlGAsgASgBSAWIAQESGQoMbWF4X2VzdGltYXRlGAwgASgBSAaIAQFCBwoFX3RlYW1CCgoIX2NyZWF0b3JCCwoJX2Fzc2lnbmVlQgoKCF9wcm9qZWN0QhEKD190aXRsZV9jb250YWluc0IPCg1fbWluX2VzdGltYXRlQg8KDV9tYXhfZXN0aW1hdGUiKQoUTGluZWFyVG9vbEV4dHJhSW5wdXQSEQoJYXBpX3Rva2VuGAEgASgJIpQBChdMaW5lYXJUcmlnZ2VyQ29uZGl0aW9ucxIxCgtlbnRpdHlfdHlwZRgBIAEoDjIcLnB1YmxpY19hcGkuTGluZWFyRW50aXR5VHlwZRI8CgVpc3N1ZRgCIAEoCzIoLnB1YmxpY19hcGkuTGluZWFySXNzdWVUcmlnZ2VyQ29uZGl0aW9uc0gAiAEBQggKBl9pc3N1ZSIeChxMaXN0QWdlbnRDYXBhYmlsaXRpZXNSZXF1ZXN0IlgKHUxpc3RBZ2VudENhcGFiaWxpdGllc1Jlc3BvbnNlEjcKEmFnZW50X2NhcGFiaWxpdGllcxgBIAMoCzIbLnB1YmxpY19hcGkuQWdlbnRDYXBhYmlsaXR5IhoKGExpc3RBZ2VudFBlcnNvbmFzUmVxdWVzdCJNChlMaXN0QWdlbnRQZXJzb25hc1Jlc3BvbnNlEjAKDmFnZW50X3BlcnNvbmFzGAEgAygLMhgucHVibGljX2FwaS5BZ2VudFBlcnNvbmEi7QIKFkxpc3RDaGF0SGlzdG9yeVJlcXVlc3QSFwoPY29udmVyc2F0aW9uX2lkGAEgASgJEjgKD3N0YXJ0X3RpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI2Cg1lbmRfdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhsKDmV4Y2x1ZGVfc2lsZW50GAQgASgISAKIAQESEgoFbGltaXQYBSABKAVIA4gBARIuCiFleGNsdWRlX3JldHJpZWRfc3RvcHBlZF9leGNoYW5nZXMYBiABKAhIBIgBAUISChBfc3RhcnRfdGltZXN0YW1wQhAKDl9lbmRfdGltZXN0YW1wQhEKD19leGNsdWRlX3NpbGVudEIICgZfbGltaXRCJAoiX2V4Y2x1ZGVfcmV0cmllZF9zdG9wcGVkX2V4Y2hhbmdlcyI/ChdMaXN0Q2hhdEhpc3RvcnlSZXNwb25zZRIkCgxjaGF0X2hpc3RvcnkYASADKAsyDi5jaGF0LkV4Y2hhbmdlIjAKGExpc3RDb252ZXJzYXRpb25zUmVxdWVzdBIUCgx3b3Jrc3BhY2VfaWQYASABKAkiUAoZTGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZRIzCg1jb252ZXJzYXRpb25zGAEgAygLMhwucHVibGljX2FwaS5Db252ZXJzYXRpb25JbmZvIiAKHkxpc3RFeHRlcm5hbFNvdXJjZVR5cGVzUmVxdWVzdCJXCh9MaXN0RXh0ZXJuYWxTb3VyY2VUeXBlc1Jlc3BvbnNlEjQKDHNvdXJjZV90eXBlcxgBIAMoDjIeLnB1YmxpY19hcGkuRXh0ZXJuYWxTb3VyY2VUeXBlImEKHUxpc3RHaXRodWJSZXBvQnJhbmNoZXNSZXF1ZXN0EiQKBHJlcG8YASABKAsyFi5wdWJsaWNfYXBpLkdpdGh1YlJlcG8SEQoEcGFnZRgCIAEoBUgAiAEBQgcKBV9wYWdlInYKHkxpc3RHaXRodWJSZXBvQnJhbmNoZXNSZXNwb25zZRIqCghicmFuY2hlcxgBIAMoCzIYLnB1YmxpY19hcGkuR2l0aHViQnJhbmNoEhUKDWhhc19uZXh0X3BhZ2UYAiABKAgSEQoJbmV4dF9wYWdlGAMgASgFIkgKKkxpc3RHaXRodWJSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyUmVxdWVzdBIRCgRwYWdlGAEgASgFSACIAQFCBwoFX3BhZ2UifgorTGlzdEdpdGh1YlJlcG9zRm9yQXV0aGVudGljYXRlZFVzZXJSZXNwb25zZRIlCgVyZXBvcxgBIAMoCzIWLnB1YmxpY19hcGkuR2l0aHViUmVwbxIVCg1oYXNfbmV4dF9wYWdlGAIgASgIEhEKCW5leHRfcGFnZRgDIAEoBSJKCh1MaXN0R2l0aHViU2V0dXBTY3JpcHRzUmVxdWVzdBIpCgpnaXRodWJfcmVmGAEgASgLMhUucHVibGljX2FwaS5HaXRodWJSZWYiNgoeTGlzdEdpdGh1YlNldHVwU2NyaXB0c1Jlc3BvbnNlEhQKDHNjcmlwdF9wYXRocxgBIAMoCSKuAgobTGlzdFB1bGxSZXF1ZXN0RmlsZXNSZXF1ZXN0EhIKCnJlcG9zaXRvcnkYASABKAkSEQoJcHJfbnVtYmVyGAIgASgFEhEKBHBhZ2UYAyABKAVIAIgBARIVCghwZXJfcGFnZRgEIAEoBUgBiAEBEhoKDWluY2x1ZGVfcGF0Y2gYBSABKAhIAogBARIcCg9tYXhfcGF0Y2hfYnl0ZXMYBiABKAVIA4gBARIoChtpbmNsdWRlX3RvdGFsX2NoYW5nZWRfZmlsZXMYByABKAhIBIgBAUIHCgVfcGFnZUILCglfcGVyX3BhZ2VCEAoOX2luY2x1ZGVfcGF0Y2hCEgoQX21heF9wYXRjaF9ieXRlc0IeChxfaW5jbHVkZV90b3RhbF9jaGFuZ2VkX2ZpbGVzIscBChxMaXN0UHVsbFJlcXVlc3RGaWxlc1Jlc3BvbnNlEjUKBWZpbGVzGAEgAygLMiYucHVibGljX2FwaS5HaXRodWJQdWxsUmVxdWVzdEZpbGVFbnRyeRIQCghoYXNfbW9yZRgCIAEoCBIWCgluZXh0X3BhZ2UYAyABKAVIAIgBARIgChN0b3RhbF9jaGFuZ2VkX2ZpbGVzGAQgASgFSAGIAQFCDAoKX25leHRfcGFnZUIWChRfdG90YWxfY2hhbmdlZF9maWxlcyIZChdMaXN0UmVtb3RlQWdlbnRzUmVxdWVzdCKHAQoYTGlzdFJlbW90ZUFnZW50c1Jlc3BvbnNlEi4KDXJlbW90ZV9hZ2VudHMYASADKAsyFy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50EhkKEW1heF9yZW1vdGVfYWdlbnRzGAIgASgFEiAKGG1heF9hY3RpdmVfcmVtb3RlX2FnZW50cxgDIAEoBSJ5Ch1MaXN0UmVtb3RlQWdlbnRzU3RyZWFtUmVxdWVzdBI+ChVsYXN0X3VwZGF0ZV90aW1lc3RhbXAYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCGAoWX2xhc3RfdXBkYXRlX3RpbWVzdGFtcCJOCh5MaXN0UmVtb3RlQWdlbnRzU3RyZWFtUmVzcG9uc2USLAoHdXBkYXRlcxgBIAMoCzIbLnB1YmxpY19hcGkuQWdlbnRMaXN0VXBkYXRlImIKFkxpc3RSZW1vdGVUb29sc1JlcXVlc3QSNwoMdG9vbF9pZF9saXN0GAEgASgLMhwucHVibGljX2FwaS5SZW1vdGVUb29sSWRMaXN0SACIAQFCDwoNX3Rvb2xfaWRfbGlzdCJUChdMaXN0UmVtb3RlVG9vbHNSZXNwb25zZRI5CgV0b29scxgBIAMoCzIqLnB1YmxpY19hcGkuTGlzdFJlbW90ZVRvb2xzUmVzcG9uc2VNZXNzYWdlIogCCh5MaXN0UmVtb3RlVG9vbHNSZXNwb25zZU1lc3NhZ2USMwoPdG9vbF9kZWZpbml0aW9uGAEgASgLMhoucHVibGljX2FwaS5Ub29sRGVmaW5pdGlvbhIwCg5yZW1vdGVfdG9vbF9pZBgCIAEoDjIYLnB1YmxpY19hcGkuUmVtb3RlVG9vbElkEj8KE2F2YWlsYWJpbGl0eV9zdGF0dXMYAyABKA4yIi5wdWJsaWNfYXBpLlRvb2xBdmFpbGFiaWxpdHlTdGF0dXMSKwoLdG9vbF9zYWZldHkYBCABKA4yFi5wdWJsaWNfYXBpLlRvb2xTYWZldHkSEQoJb2F1dGhfdXJsGAUgASgJIqUCCg9MaXN0VGFnc1JlcXVlc3QSLgoIdGFnX3R5cGUYASABKA4yHC5wdWJsaWNfYXBpLkFuYWx5dGljc1RhZ1R5cGUSNgoKZGF0ZV9yYW5nZRgCIAEoCzIiLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc0RhdGVSYW5nZRI4Cgxjb3N0X2ZpbHRlcnMYAyABKAsyIi5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NWMkZpbHRlcnMSPAoPb3V0Y29tZV9maWx0ZXJzGAQgASgLMiMucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzRmlsdGVycxIWCg5pbmNsdWRlX3ZhbHVlcxgFIAEoCBIaChJtYXhfdmFsdWVzX3Blcl90YWcYBiABKA0iQQoQTGlzdFRhZ3NSZXNwb25zZRItCgR0YWdzGAEgAygLMh8ucHVibGljX2FwaS5BbmFseXRpY3NUYWdTdW1tYXJ5Ip8BChhMaXN0VGVuYW50U2VjcmV0c1JlcXVlc3QSFAoMbmFtZV9wYXR0ZXJuGAEgASgJEioKC3RhZ19maWx0ZXJzGAIgAygLMhUucHVibGljX2FwaS5UYWdGaWx0ZXISGgoOaW5jbHVkZV92YWx1ZXMYAyABKAhCAhgBEhEKCXBhZ2Vfc2l6ZRgEIAEoBRISCgpwYWdlX3Rva2VuGAUgASgJInQKGUxpc3RUZW5hbnRTZWNyZXRzUmVzcG9uc2USKQoHc2VjcmV0cxgBIAMoCzIYLnB1YmxpY19hcGkuVGVuYW50U2VjcmV0EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCRITCgt0b3RhbF9jb3VudBgDIAEoBSIVChNMaXN0VHJpZ2dlcnNSZXF1ZXN0Ij0KFExpc3RUcmlnZ2Vyc1Jlc3BvbnNlEiUKCHRyaWdnZXJzGAEgAygLMhMucHVibGljX2FwaS5UcmlnZ2VyIukBChZMaXN0VXNlclNlY3JldHNSZXF1ZXN0EhQKDG5hbWVfcGF0dGVybhgBIAEoCRIqCgt0YWdfZmlsdGVycxgCIAMoCzIVLnB1YmxpY19hcGkuVGFnRmlsdGVyEhoKDmluY2x1ZGVfdmFsdWVzGAMgASgIQgIYARIRCglwYWdlX3NpemUYBCABKAUSEgoKcGFnZV90b2tlbhgFIAEoCRImCgVzY29wZRgGIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSFQoIc3BhY2VfaWQYByABKAlIAIgBAUILCglfc3BhY2VfaWQiyAEKF0xpc3RVc2VyU2VjcmV0c1Jlc3BvbnNlEicKB3NlY3JldHMYASADKAsyFi5wdWJsaWNfYXBpLlVzZXJTZWNyZXQSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEhMKC3RvdGFsX2NvdW50GAMgASgFEigKIHNlY3JldF9zY29wZWRfcmVzb2x1dGlvbl9lbmFibGVkGAQgASgIEiwKJHNlY3JldF9tdWx0aV9zcGFjZV90YXJnZXRpbmdfZW5hYmxlZBgFIAEoCCIXChVMaXN0V29ya3NwYWNlc1JlcXVlc3QiRwoWTGlzdFdvcmtzcGFjZXNSZXNwb25zZRItCgp3b3Jrc3BhY2VzGAEgAygLMhkucHVibGljX2FwaS5Xb3Jrc3BhY2VJbmZvIm4KHU1hcmtOb3RpZmljYXRpb25Bc1JlYWRSZXF1ZXN0EhcKD25vdGlmaWNhdGlvbl9pZBgBIAEoCRIeChFhY3Rpb25faXRlbV90aXRsZRgCIAEoCUgAiAEBQhQKEl9hY3Rpb25faXRlbV90aXRsZSIgCh5NYXJrTm90aWZpY2F0aW9uQXNSZWFkUmVzcG9uc2UijAEKF01jcENhdGFsb2dNZXRhZGF0YUVudHJ5EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEQoJYXV0aF90eXBlGAQgASgJEi8KBXN0YXRlGAUgASgOMiAucHVibGljX2FwaS5NY3BDYXRhbG9nRW50cnlTdGF0ZSLmAQoJTWNwQ29uZmlnEgoKAmlkGAEgASgJEjAKBmNvbmZpZxgCIAEoCzIgLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRNY3BDb25maWcSNAoQZW5hYmxlZF9wcm9kdWN0cxgDIAMoDjIaLnB1YmxpY19hcGkuTWNwUHJvZHVjdFR5cGUSHQoVaGFzX29hdXRoX2NyZWRlbnRpYWxzGAQgASgIEhUKCHNwYWNlX2lkGAUgASgJSACIAQESFQoIYWRkZWRfYnkYBiABKAlIAYgBAUILCglfc3BhY2VfaWRCCwoJX2FkZGVkX2J5Iq8BCglNY3BTZWNyZXQSDQoFdmFsdWUYASABKAkSLQoEdGFncxgCIAMoCzIfLnB1YmxpY19hcGkuTWNwU2VjcmV0LlRhZ3NFbnRyeRIPCgd2ZXJzaW9uGAMgASgJEiYKBXNjb3BlGAQgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKAAwoPTWNwU2VydmVyQ29uZmlnEhQKB2NvbW1hbmQYASABKAlIAIgBARIMCgRhcmdzGAIgAygJEhcKCnRpbWVvdXRfbXMYAyABKAVIAYgBARIxCgNlbnYYBCADKAsyJC5wdWJsaWNfYXBpLk1jcFNlcnZlckNvbmZpZy5FbnZFbnRyeRIkChd1c2Vfc2hlbGxfaW50ZXJwb2xhdGlvbhgFIAEoCEgCiAEBEhEKBG5hbWUYBiABKAlIA4gBARIVCghkaXNhYmxlZBgHIAEoCEgEiAEBEhEKBHR5cGUYCCABKAlIBYgBARIQCgN1cmwYCSABKAlIBogBARoqCghFbnZFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgoKCF9jb21tYW5kQg0KC190aW1lb3V0X21zQhoKGF91c2Vfc2hlbGxfaW50ZXJwb2xhdGlvbkIHCgVfbmFtZUILCglfZGlzYWJsZWRCBwoFX3R5cGVCBgoEX3VybCJSChpNY3BTZXJ2ZXJQcm9kdWN0UHJlZmVyZW5jZRI0ChBlbmFibGVkX3Byb2R1Y3RzGAEgAygOMhoucHVibGljX2FwaS5NY3BQcm9kdWN0VHlwZSJjCg9NZW1vcml6ZVJlcXVlc3QSEQoFbW9kZWwYASABKAlCAhgBEgkKAXQYAiABKAkSDAoEcGF0aBgDIAEoCRIWCglibG9iX25hbWUYBCABKAlIAIgBAUIMCgpfYmxvYl9uYW1lIisKEE1lbW9yaXplUmVzcG9uc2USFwoPbWVtX29iamVjdF9uYW1lGAEgASgJIqIBCh1NaWdyYXRlVXNlclNlY3JldFNjb3BlUmVxdWVzdBIMCgRuYW1lGAEgASgJEi0KDHNvdXJjZV9zY29wZRgCIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSLQoMdGFyZ2V0X3Njb3BlGAMgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRIVCg1kZWxldGVfc291cmNlGAQgASgIImAKHk1pZ3JhdGVVc2VyU2VjcmV0U2NvcGVSZXNwb25zZRImCgZzZWNyZXQYASABKAsyFi5wdWJsaWNfYXBpLlVzZXJTZWNyZXQSFgoOc291cmNlX2RlbGV0ZWQYAiABKAgi1AEKBU1vZGVsEiMKG3N1Z2dlc3RlZF9wcmVmaXhfY2hhcl9jb3VudBgBIAEoDRIjChtzdWdnZXN0ZWRfc3VmZml4X2NoYXJfY291bnQYAiABKA0SHwoXbWF4X21lbW9yaXplX3NpemVfYnl0ZXMYAyABKA0SDAoEbmFtZRgFIAEoCRIaCg1pbnRlcm5hbF9uYW1lGAYgASgJSACIAQESEgoKaXNfZGVmYXVsdBgHIAEoCEIQCg5faW50ZXJuYWxfbmFtZUoECAQQBUoECAoQC0oECAsQDCLPAQoMTm90aWZpY2F0aW9uEiwKBWxldmVsGAEgASgOMh0ucHVibGljX2FwaS5Ob3RpZmljYXRpb25MZXZlbBIPCgdtZXNzYWdlGAIgASgJEiwKDGFjdGlvbl9pdGVtcxgDIAMoCzIWLnB1YmxpY19hcGkuQWN0aW9uSXRlbRIXCg9ub3RpZmljYXRpb25faWQYBiABKAkSOQoMZGlzcGxheV90eXBlGAcgASgOMiMucHVibGljX2FwaS5Ob3RpZmljYXRpb25EaXNwbGF5VHlwZSIpChROb3Rpb25Ub29sRXh0cmFJbnB1dBIRCglhcGlfdG9rZW4YASABKAkiXQoWT25ib2FyZGluZ1Nlc3Npb25FdmVudBIWCg5ldmVudF90aW1lX3NlYxgBIAEoAxIXCg9ldmVudF90aW1lX25zZWMYAiABKAUSEgoKZXZlbnRfbmFtZRgDIAEoCSJRChtPbmJvYXJkaW5nU2Vzc2lvbkV2ZW50QmF0Y2gSMgoGZXZlbnRzGAEgAygLMiIucHVibGljX2FwaS5PbmJvYXJkaW5nU2Vzc2lvbkV2ZW50IiAKHk9uYm9hcmRpbmdTZXNzaW9uRXZlbnRSZXNwb25zZSL/AQoZT3V0Y29tZUFuYWx5dGljc0RhdGFQb2ludBI2CgpkYXRlX3JhbmdlGAEgASgLMiIucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzRGF0ZVJhbmdlEjMKD291dGNvbWVfbWV0cmljcxgCIAEoCzIaLnB1YmxpY19hcGkuT3V0Y29tZU1ldHJpY3MSQgoPZ3JvdXBfYnlfdmFsdWVzGAMgASgLMikucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzR3JvdXBCeVZhbHVlcxIxCgdtZXRyaWNzGAQgASgLMiAucHVibGljX2FwaS5Db3N0QW5hbHl0aWNzTWV0cmljcyJkChdPdXRjb21lQW5hbHl0aWNzRmlsdGVycxINCgVuYW1lcxgBIAMoCRI6Cgt0YWdfZmlsdGVycxgCIAMoCzIlLnB1YmxpY19hcGkuT3V0Y29tZUFuYWx5dGljc1RhZ0ZpbHRlciLJAgodT3V0Y29tZUFuYWx5dGljc0dyb3VwQnlWYWx1ZXMSDAoEbmFtZRgBIAEoCRJBCgR0YWdzGAIgAygLMjMucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzR3JvdXBCeVZhbHVlcy5UYWdzRW50cnkSWwoSdGFnX2Rpc3BsYXlfdmFsdWVzGAMgAygLMj8ucHVibGljX2FwaS5PdXRjb21lQW5hbHl0aWNzR3JvdXBCeVZhbHVlcy5UYWdEaXNwbGF5VmFsdWVzRW50cnkSFAoMZGlzcGxheV9uYW1lGAQgASgJGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjcKFVRhZ0Rpc3BsYXlWYWx1ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBInUKGU91dGNvbWVBbmFseXRpY3NUYWdGaWx0ZXISCwoDa2V5GAEgASgJEg4KBnZhbHVlcxgCIAMoCRI7CgtmaWx0ZXJfdHlwZRgDIAEoDjImLnB1YmxpY19hcGkuQ29zdEFuYWx5dGljc1RhZ0ZpbHRlclR5cGUiggEKDk91dGNvbWVNZXRyaWNzEhkKEW9ic2VydmF0aW9uX2NvdW50GAEgASgEEh4KFmRpc3RpbmN0X3N1YmplY3RfY291bnQYAiABKAQSNQoHbWV0cmljcxgDIAMoCzIkLnB1YmxpY19hcGkuQWdncmVnYXRlZE91dGNvbWVNZXRyaWNzIpUEChlPdXRjb21lU2Vzc2lvbk9ic2VydmF0aW9uEhAKCGV2ZW50X2lkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHc3ViamVjdBgDIAEoCRIUCgxzdWJqZWN0X3R5cGUYBCABKAkSDgoGc291cmNlGAUgASgJEi8KC29ic2VydmVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCgl0YWdzX2pzb24YByABKAkSUAoOZWZmZWN0aXZlX3RhZ3MYCSADKAsyOC5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uT2JzZXJ2YXRpb24uRWZmZWN0aXZlVGFnc0VudHJ5EmoKHGVmZmVjdGl2ZV90YWdfZGlzcGxheV92YWx1ZXMYCiADKAsyRC5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uT2JzZXJ2YXRpb24uRWZmZWN0aXZlVGFnRGlzcGxheVZhbHVlc0VudHJ5EhUKDW1ldGFkYXRhX2pzb24YCyABKAkaNAoSRWZmZWN0aXZlVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaQAoeRWZmZWN0aXZlVGFnRGlzcGxheVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgIEAlSCnZhbHVlX2pzb24iyQQKFU91dGNvbWVTZXNzaW9uU3VtbWFyeRI1ChFmaXJzdF9vYnNlcnZlZF9hdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQbGFzdF9vYnNlcnZlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoRb2JzZXJ2YXRpb25fY291bnQYAyABKAQSHgoWZGlzdGluY3Rfc3ViamVjdF9jb3VudBgEIAEoBBIVCg1vdXRjb21lX25hbWVzGAUgAygJEkwKDmVmZmVjdGl2ZV90YWdzGAYgAygLMjQucHVibGljX2FwaS5PdXRjb21lU2Vzc2lvblN1bW1hcnkuRWZmZWN0aXZlVGFnc0VudHJ5EjEKB21ldHJpY3MYByABKAsyIC5wdWJsaWNfYXBpLkNvc3RBbmFseXRpY3NNZXRyaWNzEmYKHGVmZmVjdGl2ZV90YWdfZGlzcGxheV92YWx1ZXMYCCADKAsyQC5wdWJsaWNfYXBpLk91dGNvbWVTZXNzaW9uU3VtbWFyeS5FZmZlY3RpdmVUYWdEaXNwbGF5VmFsdWVzRW50cnkSEAoIYWdlbnRfaWQYCSABKAkaNAoSRWZmZWN0aXZlVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaQAoeRWZmZWN0aXZlVGFnRGlzcGxheVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEibwoSUGVyRmlsZUNoYW5nZVN0YXRzEhEKCWZpbGVfcGF0aBgBIAEoCRIXCg9pbnNlcnRpb25fY291bnQYAiABKAUSFgoOZGVsZXRpb25fY291bnQYAyABKAUSFQoNb2xkX2ZpbGVfcGF0aBgEIAEoCSK9AQoXUGVyVHlwZUNoYW5nZWRGaWxlU3RhdHMSGgoSY2hhbmdlZF9maWxlX2NvdW50GAEgASgFEkIKGnBlcl9maWxlX2NoYW5nZV9zdGF0c19oZWFkGAIgAygLMh4ucHVibGljX2FwaS5QZXJGaWxlQ2hhbmdlU3RhdHMSQgoacGVyX2ZpbGVfY2hhbmdlX3N0YXRzX3RhaWwYAyADKAsyHi5wdWJsaWNfYXBpLlBlckZpbGVDaGFuZ2VTdGF0cyIvChlQaW5Qb3NlaWRvblNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkiHAoaUGluUG9zZWlkb25TZXNzaW9uUmVzcG9uc2UiPQoTUG9zZWlkb25QaW5uZWRFbnRyeRISCgpzZXNzaW9uX2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkiogEKEFByZWZlcmVuY2VTYW1wbGUSEwoLcmVxdWVzdF9pZHMYASADKAkSOAoGc2NvcmVzGAIgAygLMigucHVibGljX2FwaS5QcmVmZXJlbmNlU2FtcGxlLlNjb3Jlc0VudHJ5EhAKCGZlZWRiYWNrGAMgASgJGi0KC1Njb3Jlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAEiGgoYUHJlZmVyZW5jZVNhbXBsZVJlc3BvbnNlIl0KFVByb2Nlc3NXZWJob29rUmVxdWVzdBISCgp3ZWJob29rX2lkGAEgASgJEg8KB2hlYWRlcnMYAiABKAkSDAoEYm9keRgDIAEoCRIRCglzb3VyY2VfaXAYBCABKAkiKQoWUHJvY2Vzc1dlYmhvb2tSZXNwb25zZRIPCgdtZXNzYWdlGAEgASgJIiMKBVJhbmdlEg0KBXN0YXJ0GAEgASgFEgsKA2VuZBgCIAEoBSJjChFSYXdSZXRyaWV2YWxRdWVyeRITCgtkZXNjcmlwdGlvbhgBIAEoCRIMCgRwYXRoGAIgASgJEhcKD2NvbnRhaW5zX3N0cmluZxgDIAEoCRISCgptYXhfY2h1bmtzGAQgASgFIoYCChFSYXdSZXRyaWV2ZWRDaHVuaxIMCgR0ZXh0GAEgASgJEgwKBHBhdGgYAiABKAkSEgoKY2hhcl9zdGFydBgDIAEoBRIQCghjaGFyX2VuZBgEIAEoBRISCgpsaW5lX3N0YXJ0GAUgASgFEhcKD2xlbmd0aF9pbl9saW5lcxgGIAEoBRIRCglibG9iX25hbWUYByABKAkSDQoFc2NvcmUYCCABKAISDgoGb3JpZ2luGAkgASgJEhYKDm1hdGNoZWRfc3RyaW5nGAogASgJEhoKEmV4dGVybmFsX3NvdXJjZV9pZBgLIAEoCRIcChRleHRlcm5hbF9zb3VyY2VfbmFtZRgMIAEoCSJeChxSZWFkR2l0aHViU2V0dXBTY3JpcHRSZXF1ZXN0EikKCmdpdGh1Yl9yZWYYASABKAsyFS5wdWJsaWNfYXBpLkdpdGh1YlJlZhITCgtzY3JpcHRfcGF0aBgCIAEoCSIwCh1SZWFkR2l0aHViU2V0dXBTY3JpcHRSZXNwb25zZRIPCgdjb250ZW50GAEgASgJIhoKGFJlYWROb3RpZmljYXRpb25zUmVxdWVzdCJMChlSZWFkTm90aWZpY2F0aW9uc1Jlc3BvbnNlEi8KDW5vdGlmaWNhdGlvbnMYASADKAsyGC5wdWJsaWNfYXBpLk5vdGlmaWNhdGlvbiLrAQoLUmVjZW5jeUluZm8SNQoRdGFiX3N3aXRjaF9ldmVudHMYASADKAsyGi5wdWJsaWNfYXBpLlRhYlN3aXRjaEV2ZW50EjcKEmdpdF9kaWZmX2ZpbGVfaW5mbxgCIAMoCzIbLnB1YmxpY19hcGkuR2l0RGlmZkZpbGVJbmZvEjMKDnJlY2VudF9jaGFuZ2VzGAMgAygLMhsucHVibGljX2FwaS5SZXBsYWNlbWVudFRleHQSNwoPdmlld2VkX2NvbnRlbnRzGAQgAygLMh4ucHVibGljX2FwaS5WaWV3ZWRDb250ZW50RXZlbnQicQokUmVjb3JkUG9zZWlkb25BbmFseXRpY3NFdmVudHNSZXF1ZXN0EhAKCGFnZW50X2lkGAEgASgJEjcKBmV2ZW50cxgCIAMoCzInLnJlcXVlc3RfaW5zaWdodC5Qb3NlaWRvbkFuYWx5dGljc0V2ZW50IicKJVJlY29yZFBvc2VpZG9uQW5hbHl0aWNzRXZlbnRzUmVzcG9uc2UiSwoaUmVjb3JkUmVxdWVzdEV2ZW50c1JlcXVlc3QSLQoGZXZlbnRzGAEgAygLMh0ucmVxdWVzdF9pbnNpZ2h0LlJlcXVlc3RFdmVudCIdChtSZWNvcmRSZXF1ZXN0RXZlbnRzUmVzcG9uc2UiSwoaUmVjb3JkU2Vzc2lvbkV2ZW50c1JlcXVlc3QSLQoGZXZlbnRzGAEgAygLMh0ucmVxdWVzdF9pbnNpZ2h0LlNlc3Npb25FdmVudCIdChtSZWNvcmRTZXNzaW9uRXZlbnRzUmVzcG9uc2UidgojUmVnaXN0ZXJJbmRleGVkQ29tbWl0QmxvYnNldFJlcXVlc3QSLQoGY29tbWl0GAEgASgLMh0ucHVibGljX2FwaS5JbmRleGVkQ29tbWl0SW5mbxIgCgVibG9icxgCIAEoCzIRLnB1YmxpY19hcGkuQmxvYnMiNwokUmVnaXN0ZXJJbmRleGVkQ29tbWl0QmxvYnNldFJlc3BvbnNlEg8KB2NyZWF0ZWQYASABKAgi6AQKC1JlbW90ZUFnZW50EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRI+Cg93b3Jrc3BhY2Vfc2V0dXAYAiABKAsyJS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50V29ya3NwYWNlU2V0dXASLQoGc3RhdHVzGAMgASgOMh0ucHVibGljX2FwaS5SZW1vdGVBZ2VudFN0YXR1cxIuCgpzdGFydGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXNzaW9uX3N1bW1hcnkYBiABKAkSFgoOdHVybl9zdW1tYXJpZXMYByADKAkSOQoKc3NoX2NvbmZpZxgIIAEoCzIgLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRTU0hDb25maWdIAIgBARIiChVpc19zZXR1cF9zY3JpcHRfYWdlbnQYCSABKAhIAYgBARIYCgtoYXNfdXBkYXRlcxgKIAEoCEgCiAEBEkAKEHdvcmtzcGFjZV9zdGF0dXMYCyABKA4yJi5wdWJsaWNfYXBpLlJlbW90ZUFnZW50V29ya3NwYWNlU3RhdHVzEi4KCmV4cGlyZXNfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKBXRpdGxlGA0gASgJSAOIAQFCDQoLX3NzaF9jb25maWdCGAoWX2lzX3NldHVwX3NjcmlwdF9hZ2VudEIOCgxfaGFzX3VwZGF0ZXNCCAoGX3RpdGxlIksKG1JlbW90ZUFnZW50QWRkU1NIS2V5UmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkSEwoLcHVibGljX2tleXMYAiADKAkiVAocUmVtb3RlQWdlbnRBZGRTU0hLZXlSZXNwb25zZRI0Cgpzc2hfY29uZmlnGAEgASgLMiAucHVibGljX2FwaS5SZW1vdGVBZ2VudFNTSENvbmZpZyJ1ChZSZW1vdGVBZ2VudENoYXRSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRJCCg9yZXF1ZXN0X2RldGFpbHMYAiABKAsyKS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50Q2hhdFJlcXVlc3REZXRhaWxzIp0CCh1SZW1vdGVBZ2VudENoYXRSZXF1ZXN0RGV0YWlscxIyCg1yZXF1ZXN0X25vZGVzGAEgAygLMhsucHVibGljX2FwaS5DaGF0UmVxdWVzdE5vZGUSHAoPdXNlcl9ndWlkZWxpbmVzGAIgASgJSACIAQESIQoUd29ya3NwYWNlX2d1aWRlbGluZXMYAyABKAlIAYgBARIVCghtb2RlbF9pZBgFIAEoCUgCiAEBEjAKC21jcF9zZXJ2ZXJzGAYgAygLMhsucHVibGljX2FwaS5NY3BTZXJ2ZXJDb25maWdCEgoQX3VzZXJfZ3VpZGVsaW5lc0IXChVfd29ya3NwYWNlX2d1aWRlbGluZXNCCwoJX21vZGVsX2lkSgQIBBAFIhkKF1JlbW90ZUFnZW50Q2hhdFJlc3BvbnNlIsgCChNSZW1vdGVBZ2VudEV4Y2hhbmdlEiYKCGV4Y2hhbmdlGAEgASgLMhQucHVibGljX2FwaS5FeGNoYW5nZRIuCg1jaGFuZ2VkX2ZpbGVzGAIgAygLMhcucHVibGljX2FwaS5DaGFuZ2VkRmlsZRITCgtzZXF1ZW5jZV9pZBgDIAEoDRIZCgx0dXJuX3N1bW1hcnkYBCABKAlIAIgBARIvCgtmaW5pc2hlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHQoVY2hhbmdlZF9maWxlc19za2lwcGVkGAYgAygJEigKG2NoYW5nZWRfZmlsZXNfc2tpcHBlZF9jb3VudBgHIAEoDUgBiAEBQg8KDV90dXJuX3N1bW1hcnlCHgocX2NoYW5nZWRfZmlsZXNfc2tpcHBlZF9jb3VudCJwCiFSZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeVJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEhkKEXN0YXJ0X3NlcXVlbmNlX2lkGAIgASgNEhcKD2VuZF9zZXF1ZW5jZV9pZBgDIAEoDSJjCiJSZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeVJlc3BvbnNlEj0KEWRpZmZfZGVzY3JpcHRpb25zGAEgAygLMiIucHVibGljX2FwaS5EaWZmRXhwbGFuYXRpb25TZWN0aW9uIpcEChRSZW1vdGVBZ2VudE1jcENvbmZpZxIUCgdjb21tYW5kGAEgASgJSACIAQESDAoEYXJncxgCIAMoCRIXCgp0aW1lb3V0X21zGAMgASgFSAGIAQESNgoDZW52GAQgAygLMikucHVibGljX2FwaS5SZW1vdGVBZ2VudE1jcENvbmZpZy5FbnZFbnRyeRIkChd1c2Vfc2hlbGxfaW50ZXJwb2xhdGlvbhgFIAEoCEgCiAEBEhEKBG5hbWUYBiABKAlIA4gBARIVCghkaXNhYmxlZBgHIAEoCEgEiAEBEhEKBHR5cGUYCCABKAlIBYgBARIQCgN1cmwYCSABKAlIBogBARIvCglhdXRoX3R5cGUYCiABKA4yFy5wdWJsaWNfYXBpLk1jcEF1dGhUeXBlSAeIAQESFQoIaWNvbl91cmwYCyABKAlICIgBARIYCgtkZXNjcmlwdGlvbhgMIAEoCUgJiAEBGioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCgoIX2NvbW1hbmRCDQoLX3RpbWVvdXRfbXNCGgoYX3VzZV9zaGVsbF9pbnRlcnBvbGF0aW9uQgcKBV9uYW1lQgsKCV9kaXNhYmxlZEIHCgVfdHlwZUIGCgRfdXJsQgwKCl9hdXRoX3R5cGVCCwoJX2ljb25fdXJsQg4KDF9kZXNjcmlwdGlvbiIyChdSZW1vdGVBZ2VudFBhdXNlUmVxdWVzdBIXCg9yZW1vdGVfYWdlbnRfaWQYASABKAkiGgoYUmVtb3RlQWdlbnRQYXVzZVJlc3BvbnNlInUKHFJlbW90ZUFnZW50UmVzdW1lSGludFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEjwKC2hpbnRfcmVhc29uGAIgASgOMicucHVibGljX2FwaS5SZW1vdGVBZ2VudFJlc3VtZUhpbnRSZWFzb24iNwodUmVtb3RlQWdlbnRSZXN1bWVIaW50UmVzcG9uc2USFgoOcmVzdW1lX3N0YXJ0ZWQYASABKAgiMwoYUmVtb3RlQWdlbnRSZXN1bWVSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCSIbChlSZW1vdGVBZ2VudFJlc3VtZVJlc3BvbnNlInYKFFJlbW90ZUFnZW50U1NIQ29uZmlnEhMKC3B1YmxpY19rZXlzGAEgAygJEhAKCGhvc3RuYW1lGAIgASgJEjcKEnNzaF9jb25maWdfb3B0aW9ucxgDIAMoCzIbLnB1YmxpY19hcGkuU1NIQ29uZmlnT3B0aW9uIrwBCh9SZW1vdGVBZ2VudFdvcmtzcGFjZUxvZ3NSZXF1ZXN0EhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRIgChNsYXN0X3Byb2Nlc3NlZF9zdGVwGAIgASgNSACIAQESJwoabGFzdF9wcm9jZXNzZWRfc2VxdWVuY2VfaWQYAyABKA1IAYgBAUIWChRfbGFzdF9wcm9jZXNzZWRfc3RlcEIdChtfbGFzdF9wcm9jZXNzZWRfc2VxdWVuY2VfaWQigwEKIFJlbW90ZUFnZW50V29ya3NwYWNlTG9nc1Jlc3BvbnNlEhcKD3JlbW90ZV9hZ2VudF9pZBgBIAEoCRJGChZ3b3Jrc3BhY2Vfc2V0dXBfc3RhdHVzGAMgASgLMiYucHVibGljX2FwaS5SZW1vdGVXb3Jrc3BhY2VTZXR1cFN0YXR1cyLjAQoZUmVtb3RlQWdlbnRXb3Jrc3BhY2VTZXR1cBI4ChFnaXRodWJfY29tbWl0X3JlZhgBIAEoCzIbLnB1YmxpY19hcGkuR2l0aHViQ29tbWl0UmVmSAASSAoKZ2l0X2NvbmZpZxgCIAMoCzI0LnB1YmxpY19hcGkuUmVtb3RlQWdlbnRXb3Jrc3BhY2VTZXR1cC5HaXRDb25maWdFbnRyeRowCg5HaXRDb25maWdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQhAKDnN0YXJ0aW5nX2ZpbGVzIj4KEFJlbW90ZVRvb2xJZExpc3QSKgoIdG9vbF9pZHMYASADKA4yGC5wdWJsaWNfYXBpLlJlbW90ZVRvb2xJZCJRChpSZW1vdGVXb3Jrc3BhY2VTZXR1cFN0YXR1cxIzCgVzdGVwcxgBIAMoCzIkLnB1YmxpY19hcGkuUmVtb3RlV29ya3NwYWNlU2V0dXBTdGVwIqgBChhSZW1vdGVXb3Jrc3BhY2VTZXR1cFN0ZXASGAoQc3RlcF9kZXNjcmlwdGlvbhgBIAEoCRIMCgRsb2dzGAIgASgJEjoKBnN0YXR1cxgDIAEoDjIqLnB1YmxpY19hcGkuUmVtb3RlV29ya3NwYWNlU2V0dXBTdGVwU3RhdHVzEhMKC3NlcXVlbmNlX2lkGAQgASgNEhMKC3N0ZXBfbnVtYmVyGAUgASgNIksKHFJlbW92ZU1jcFRlbmFudENvbmZpZ1JlcXVlc3QSEQoJY29uZmlnX2lkGAEgASgJEhgKEGV4cGVjdGVkX3ZlcnNpb24YAiABKAkiQQodUmVtb3ZlTWNwVGVuYW50Q29uZmlnUmVzcG9uc2USDwoHcmVtb3ZlZBgBIAEoCBIPCgd2ZXJzaW9uGAIgASgJIkkKGlJlbW92ZU1jcFVzZXJDb25maWdSZXF1ZXN0EhEKCWNvbmZpZ19pZBgBIAEoCRIYChBleHBlY3RlZF92ZXJzaW9uGAIgASgJIj8KG1JlbW92ZU1jcFVzZXJDb25maWdSZXNwb25zZRIPCgdyZW1vdmVkGAEgASgIEg8KB3ZlcnNpb24YAiABKAkiPgoXUmVuYW1lVXNlclNlY3JldFJlcXVlc3QSEQoJc2VjcmV0X2lkGAEgASgJEhAKCG5ld19uYW1lGAIgASgJIkIKGFJlbmFtZVVzZXJTZWNyZXRSZXNwb25zZRImCgZzZWNyZXQYASABKAsyFi5wdWJsaWNfYXBpLlVzZXJTZWNyZXQihQIKD1JlcGxhY2VtZW50VGV4dBIRCglibG9iX25hbWUYASABKAkSDAoEcGF0aBgCIAEoCRISCgpjaGFyX3N0YXJ0GAMgASgNEhAKCGNoYXJfZW5kGAQgASgNEhgKEHJlcGxhY2VtZW50X3RleHQYBSABKAkSFwoPcHJlc2VudF9pbl9ibG9iGAYgASgIEh8KEmV4cGVjdGVkX2Jsb2JfbmFtZRgHIAEoCUgAiAEBEjIKCXRpbWVzdGFtcBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBAUIVChNfZXhwZWN0ZWRfYmxvYl9uYW1lQgwKCl90aW1lc3RhbXAirQEKElJlcG9ydEVycm9yUmVxdWVzdBIgChNvcmlnaW5hbF9yZXF1ZXN0X2lkGAEgASgJSACIAQESGQoRc2FuaXRpemVkX21lc3NhZ2UYAiABKAkSEwoLc3RhY2tfdHJhY2UYAyABKAkSLQoLZGlhZ25vc3RpY3MYBCADKAsyGC5wdWJsaWNfYXBpLktleVZhbHVlUGFpckIWChRfb3JpZ2luYWxfcmVxdWVzdF9pZCIVChNSZXBvcnRFcnJvclJlc3BvbnNlIqUBChpSZXBvcnRGZWF0dXJlVmVjdG9yUmVxdWVzdBJRCg5mZWF0dXJlX3ZlY3RvchgBIAMoCzI5LnB1YmxpY19hcGkuUmVwb3J0RmVhdHVyZVZlY3RvclJlcXVlc3QuRmVhdHVyZVZlY3RvckVudHJ5GjQKEkZlYXR1cmVWZWN0b3JFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAk6AjgBIh0KG1JlcG9ydEZlYXR1cmVWZWN0b3JSZXNwb25zZSJMChtSZXBvc2l0b3J5QWxsb3dsaXN0U2V0dGluZ3MSFwoPcmVwb3NpdG9yeV91cmxzGAEgAygJEhQKDGlzX2RlbnlfbGlzdBgCIAEoCCJ5ChJSZXNvbHZlQ29tcGxldGlvbnMSHAoLY2xpZW50X25hbWUYASABKAlCAhgBSACIAQESNQoLcmVzb2x1dGlvbnMYAiADKAsyIC5wdWJsaWNfYXBpLkNvbXBsZXRpb25SZXNvbHV0aW9uQg4KDF9jbGllbnRfbmFtZSIVChNSZXNvbHZlRWRpdFJlc3BvbnNlIiAKHlJldm9rZUN1cnJlbnRVc2VyVG9rZW5zUmVxdWVzdCI5Ch9SZXZva2VDdXJyZW50VXNlclRva2Vuc1Jlc3BvbnNlEhYKDnRva2Vuc19kZWxldGVkGAEgASgFIkQKF1Jldm9rZVRvb2xBY2Nlc3NSZXF1ZXN0EikKB3Rvb2xfaWQYASABKA4yGC5wdWJsaWNfYXBpLlJlbW90ZVRvb2xJZCJOChhSZXZva2VUb29sQWNjZXNzUmVzcG9uc2USMgoGc3RhdHVzGAEgASgOMiIucHVibGljX2FwaS5SZXZva2VUb29sQWNjZXNzU3RhdHVzInMKBFJ1bGUSIgoEdHlwZRgBIAEoDjIULnB1YmxpY19hcGkuUnVsZVR5cGUSDAoEcGF0aBgCIAEoCRIPCgdjb250ZW50GAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIrYDChRSdW5SZW1vdGVUb29sUmVxdWVzdBJJChphdGxhc3NpYW5fdG9vbF9leHRyYV9pbnB1dBgEIAEoCzIjLnB1YmxpY19hcGkuQXRsYXNzaWFuVG9vbEV4dHJhSW5wdXRIABJDChdub3Rpb25fdG9vbF9leHRyYV9pbnB1dBgFIAEoCzIgLnB1YmxpY19hcGkuTm90aW9uVG9vbEV4dHJhSW5wdXRIABJDChdsaW5lYXJfdG9vbF9leHRyYV9pbnB1dBgGIAEoCzIgLnB1YmxpY19hcGkuTGluZWFyVG9vbEV4dHJhSW5wdXRIABJDChdnaXRodWJfdG9vbF9leHRyYV9pbnB1dBgHIAEoCzIgLnB1YmxpY19hcGkuR2l0SHViVG9vbEV4dHJhSW5wdXRIABIVCgl0b29sX25hbWUYASABKAlCAhgBEhcKD3Rvb2xfaW5wdXRfanNvbhgCIAEoCRIuCgd0b29sX2lkGAMgASgOMhgucHVibGljX2FwaS5SZW1vdGVUb29sSWRIAYgBAUISChBleHRyYV90b29sX2lucHV0QgoKCF90b29sX2lkSgQICBAJIsMCChVSdW5SZW1vdGVUb29sUmVzcG9uc2USEwoLdG9vbF9vdXRwdXQYASABKAkSGwoTdG9vbF9yZXN1bHRfbWVzc2FnZRgCIAEoCRIUCghpc19lcnJvchgDIAEoCEICGAESNAoGc3RhdHVzGAQgASgOMiQucHVibGljX2FwaS5SZW1vdGVUb29sUmVzcG9uc2VTdGF0dXMSIwoWY29tcHJlc3NlZF9mdWxsX291dHB1dBgFIAEoCUgAiAEBEh0KEGZ1bGxfb3V0cHV0X3NpemUYBiABKANIAYgBARI4Cg1jb250ZW50X25vZGVzGAcgAygLMiEucHVibGljX2FwaS5Ub29sUmVzdWx0Q29udGVudE5vZGVCGQoXX2NvbXByZXNzZWRfZnVsbF9vdXRwdXRCEwoRX2Z1bGxfb3V0cHV0X3NpemUiLQoPU1NIQ29uZmlnT3B0aW9uEgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCSJdCg9TYXZlQ2hhdFJlcXVlc3QSFwoPY29udmVyc2F0aW9uX2lkGAEgASgJEiIKBGNoYXQYAiADKAsyFC5wdWJsaWNfYXBpLkV4Y2hhbmdlEg0KBXRpdGxlGAMgASgJIi0KEFNhdmVDaGF0UmVzcG9uc2USDAoEdXVpZBgBIAEoCRILCgN1cmwYAiABKAkiqAEKDlNjaGVkdWxlRW50aXR5EgoKAmlkGAEgASgJEiwKBHR5cGUYAiABKA4yHi5wdWJsaWNfYXBpLlNjaGVkdWxlRW50aXR5VHlwZRIRCgl0aW1lc3RhbXAYAyABKAkSOwoJZXhlY3V0aW9uGAQgASgLMiMucHVibGljX2FwaS5TY2hlZHVsZUV4ZWN1dGlvbkVudGl0eUgAiAEBQgwKCl9leGVjdXRpb24i3gEKF1NjaGVkdWxlRXhlY3V0aW9uRW50aXR5EhIKCnRyaWdnZXJfaWQYASABKAkSFwoPY3Jvbl9leHByZXNzaW9uGAIgASgJEhYKDmV4ZWN1dGlvbl90aW1lGAMgASgJEhUKCHRpbWV6b25lGAQgASgJSACIAQESFwoKc3RhcnRfZGF0ZRgFIAEoCUgBiAEBEhUKCGVuZF9kYXRlGAYgASgJSAKIAQESDgoGc3RhdHVzGAcgASgJQgsKCV90aW1lem9uZUINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGUihgIKGVNjaGVkdWxlVHJpZ2dlckNvbmRpdGlvbnMSFwoPY3Jvbl9leHByZXNzaW9uGAEgASgJEhUKCHRpbWV6b25lGAIgASgJSACIAQESMwoKc3RhcnRfZGF0ZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIxCghlbmRfZGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIYCgtkZXNjcmlwdGlvbhgFIAEoCUgDiAEBQgsKCV90aW1lem9uZUINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGVCDgoMX2Rlc2NyaXB0aW9uIh4KDFNjcmlwdFBvbGljeRIOCgZzY3JpcHQYASABKAkiYwocU2VhcmNoRXh0ZXJuYWxTb3VyY2VzUmVxdWVzdBINCgVxdWVyeRgBIAEoCRI0Cgxzb3VyY2VfdHlwZXMYAiADKA4yHi5wdWJsaWNfYXBpLkV4dGVybmFsU291cmNlVHlwZSJMCh1TZWFyY2hFeHRlcm5hbFNvdXJjZXNSZXNwb25zZRIrCgdzb3VyY2VzGAEgAygLMhoucHVibGljX2FwaS5FeHRlcm5hbFNvdXJjZSJECgxTZXNzaW9uVXNhZ2USNAoLdG90YWxfdXNhZ2UYASABKAsyHy5wdWJsaWNfYXBpLlNlc3Npb25Vc2FnZU1ldHJpY3MiuAEKE1Nlc3Npb25Vc2FnZU1ldHJpY3MSIwobZXN0aW1hdGVkX2N1c3RvbWVyX2Nvc3RfdXNkGAEgASgJEhgKEGNyZWRpdHNfY29uc3VtZWQYAiABKAkSFAoMaW5wdXRfdG9rZW5zGAMgASgEEhUKDW91dHB1dF90b2tlbnMYBCABKAQSGQoRY2FjaGVfcmVhZF90b2tlbnMYBSABKAQSGgoSY2FjaGVfd3JpdGVfdG9rZW5zGAYgASgEIiAKEFNpbXBsZVBlcm1pc3Npb24SDAoEdHlwZRgBIAEoCSI8CgVTa2lsbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCGxvY2F0aW9uGAMgASgJIuACChRTbWFydFBhc3RlUmVzb2x1dGlvbhISCgpyZXF1ZXN0X2lkGAEgASgJEhoKEmlzX2FjY2VwdGVkX2NodW5rcxgCIAMoCBIVCg1pc19hY2NlcHRfYWxsGAMgASgIEhUKDWlzX3JlamVjdF9hbGwYBCABKAgSIAoYaW5pdGlhbF9yZXF1ZXN0X3RpbWVfc2VjGAUgASgDEiEKGWluaXRpYWxfcmVxdWVzdF90aW1lX25zZWMYBiABKAUSHgoWc3RyZWFtX2ZpbmlzaF90aW1lX3NlYxgHIAEoAxIfChdzdHJlYW1fZmluaXNoX3RpbWVfbnNlYxgIIAEoBRIWCg5hcHBseV90aW1lX3NlYxgJIAEoAxIXCg9hcHBseV90aW1lX25zZWMYCiABKAUSGAoQcmVzb2x2ZV90aW1lX3NlYxgLIAEoAxIZChFyZXNvbHZlX3RpbWVfbnNlYxgMIAEoBSIeChxTbWFydFBhc3RlUmVzb2x1dGlvblJlc3BvbnNlIjoKF1N5c3RlbVByb21wdFJlcGxhY2VtZW50Eg4KBnNlYXJjaBgBIAEoCRIPCgdyZXBsYWNlGAIgASgJIjYKDlRhYlN3aXRjaEV2ZW50EgwKBHBhdGgYASABKAkSFgoOZmlsZV9ibG9iX25hbWUYAiABKAkiSwoJVGFnRmlsdGVyEgsKA2tleRgBIAEoCRIOCgZ2YWx1ZXMYAiADKAkSEQoJbWF0Y2hfYW55GAMgASgIEg4KBmludmVydBgEIAEoCCLlAgoMVGVuYW50U2VjcmV0EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSMAoEdGFncxgDIAMoCzIiLnB1YmxpY19hcGkuVGVuYW50U2VjcmV0LlRhZ3NFbnRyeRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtkZXNjcmlwdGlvbhgGIAEoCRIPCgd2ZXJzaW9uGAcgASgJEhgKEHZhbHVlX3NpemVfYnl0ZXMYCCABKAUSEgoKY3JlYXRlZF9ieRgJIAEoCRIRCglzZWNyZXRfaWQYCiABKAkSEgoKb2xhY19yZWFkeRgLIAEoCBorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJGCgxUZXJtaW5hbEluZm8SEwoLdGVybWluYWxfaWQYASABKA0SIQoZY3VycmVudF93b3JraW5nX2RpcmVjdG9yeRgCIAEoCSJGChlUZXN0VG9vbENvbm5lY3Rpb25SZXF1ZXN0EikKB3Rvb2xfaWQYASABKA4yGC5wdWJsaWNfYXBpLlJlbW90ZVRvb2xJZCJSChpUZXN0VG9vbENvbm5lY3Rpb25SZXNwb25zZRI0CgZzdGF0dXMYASABKA4yJC5wdWJsaWNfYXBpLlRlc3RUb29sQ29ubmVjdGlvblN0YXR1cyJOCg5Ub29sRGVmaW5pdGlvbhIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhkKEWlucHV0X3NjaGVtYV9qc29uGAMgASgJIocCChJUb29sUGVybWlzc2lvblJ1bGUSOQoRc2ltcGxlX3Blcm1pc3Npb24YAiABKAsyHC5wdWJsaWNfYXBpLlNpbXBsZVBlcm1pc3Npb25IABIzCg53ZWJob29rX3BvbGljeRgDIAEoCzIZLnB1YmxpY19hcGkuV2ViaG9va1BvbGljeUgAEjEKDXNjcmlwdF9wb2xpY3kYBCABKAsyGC5wdWJsaWNfYXBpLlNjcmlwdFBvbGljeUgAEhEKCXRvb2xfbmFtZRgBIAEoCRISCgpldmVudF90eXBlGAUgASgJEhkKEXNoZWxsX2lucHV0X3JlZ2V4GAYgASgJQgwKCnBlcm1pc3Npb24iSAoXVG9vbFBlcm1pc3Npb25zU2V0dGluZ3MSLQoFcnVsZXMYASADKAsyHi5wdWJsaWNfYXBpLlRvb2xQZXJtaXNzaW9uUnVsZSLEAQoVVG9vbFJlc3VsdENvbnRlbnROb2RlEjMKBHR5cGUYASABKA4yJS5wdWJsaWNfYXBpLlRvb2xSZXN1bHRDb250ZW50Tm9kZVR5cGUSGQoMdGV4dF9jb250ZW50GAIgASgJSACIAQESOAoNaW1hZ2VfY29udGVudBgDIAEoCzIcLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3RJbWFnZUgBiAEBQg8KDV90ZXh0X2NvbnRlbnRCEAoOX2ltYWdlX2NvbnRlbnQi3wIKB1RyaWdnZXISEgoKdHJpZ2dlcl9pZBgBIAEoCRI3Cg1jb25maWd1cmF0aW9uGAIgASgLMiAucHVibGljX2FwaS5UcmlnZ2VyQ29uZmlndXJhdGlvbhIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9leGVjdXRpb25fY291bnQYBSABKA0SOgoRbGFzdF9leGVjdXRpb25fYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESIgoVbGFzdF9leGVjdXRpb25fc3RhdHVzGAcgASgJSAGIAQFCFAoSX2xhc3RfZXhlY3V0aW9uX2F0QhgKFl9sYXN0X2V4ZWN1dGlvbl9zdGF0dXMimAIKEVRyaWdnZXJDb25kaXRpb25zEi4KBHR5cGUYASABKA4yIC5wdWJsaWNfYXBpLlRyaWdnZXJDb25kaXRpb25UeXBlEjgKBmdpdGh1YhgCIAEoCzIjLnB1YmxpY19hcGkuR2l0SHViVHJpZ2dlckNvbmRpdGlvbnNIAIgBARI4CgZsaW5lYXIYAyABKAsyIy5wdWJsaWNfYXBpLkxpbmVhclRyaWdnZXJDb25kaXRpb25zSAGIAQESPAoIc2NoZWR1bGUYBCABKAsyJS5wdWJsaWNfYXBpLlNjaGVkdWxlVHJpZ2dlckNvbmRpdGlvbnNIAogBAUIJCgdfZ2l0aHViQgkKB19saW5lYXJCCwoJX3NjaGVkdWxlIocDChRUcmlnZ2VyQ29uZmlndXJhdGlvbhIMCgRuYW1lGAEgASgJEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQESLQoMZXZlbnRfc291cmNlGAMgASgOMhcucHVibGljX2FwaS5FdmVudFNvdXJjZRIxCgpjb25kaXRpb25zGAQgASgLMh0ucHVibGljX2FwaS5UcmlnZ2VyQ29uZGl0aW9ucxItCgxhZ2VudF9jb25maWcYBSABKAsyFy5wdWJsaWNfYXBpLkFnZW50Q29uZmlnEhQKB2VuYWJsZWQYBiABKAhIAYgBARIYCgt0ZW1wbGF0ZV9pZBgHIAEoCUgCiAEBEhoKDXRlbXBsYXRlX25hbWUYCCABKAlIA4gBARIaCg10ZW1wbGF0ZV9qc29uGAkgASgJSASIAQFCDgoMX2Rlc2NyaXB0aW9uQgoKCF9lbmFibGVkQg4KDF90ZW1wbGF0ZV9pZEIQCg5fdGVtcGxhdGVfbmFtZUIQCg5fdGVtcGxhdGVfanNvbiLUAgoQVHJpZ2dlckV4ZWN1dGlvbhIUCgxleGVjdXRpb25faWQYASABKAkSEgoKdHJpZ2dlcl9pZBgCIAEoCRIQCghldmVudF9pZBgDIAEoCRIcCg9yZW1vdGVfYWdlbnRfaWQYBCABKAlIAIgBARIuCgpzdGFydGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgxjb21wbGV0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESGgoNZXJyb3JfbWVzc2FnZRgHIAEoCUgCiAEBEhoKDWV2ZW50X3BheWxvYWQYCCABKAlIA4gBAUISChBfcmVtb3RlX2FnZW50X2lkQg8KDV9jb21wbGV0ZWRfYXRCEAoOX2Vycm9yX21lc3NhZ2VCEAoOX2V2ZW50X3BheWxvYWQiMQobVW5waW5Qb3NlaWRvblNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkiHgocVW5waW5Qb3NlaWRvblNlc3Npb25SZXNwb25zZSKOAQoZVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdBIUCgx3b3Jrc3BhY2VfaWQYASABKAkSFwoPY29udmVyc2F0aW9uX2lkGAIgASgJEhIKBXRpdGxlGAMgASgJSACIAQESFgoJaXNfcGlubmVkGAQgASgISAGIAQFCCAoGX3RpdGxlQgwKCl9pc19waW5uZWQiUAoaVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2USMgoMY29udmVyc2F0aW9uGAEgASgLMhwucHVibGljX2FwaS5Db252ZXJzYXRpb25JbmZvIkQKI1VwZGF0ZVBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXF1ZXN0Eh0KFWRlZmF1bHRfYmFzZV9pbWFnZV9pZBgBIAEoCSImCiRVcGRhdGVQb3NlaWRvblRlbmFudFNldHRpbmdzUmVzcG9uc2UiQwohVXBkYXRlUG9zZWlkb25Vc2VyU2V0dGluZ3NSZXF1ZXN0Eh4KFmRlZmF1bHRfZW52aXJvbm1lbnRfaWQYASABKAkiJAoiVXBkYXRlUG9zZWlkb25Vc2VyU2V0dGluZ3NSZXNwb25zZSJZChhVcGRhdGVSZW1vdGVBZ2VudFJlcXVlc3QSFwoPcmVtb3RlX2FnZW50X2lkGAEgASgJEhYKCW5ld190aXRsZRgCIAEoCUgAiAEBQgwKCl9uZXdfdGl0bGUiQwoZVXBkYXRlUmVtb3RlQWdlbnRSZXNwb25zZRImCgVhZ2VudBgBIAEoCzIXLnB1YmxpY19hcGkuUmVtb3RlQWdlbnQiYwoUVXBkYXRlVHJpZ2dlclJlcXVlc3QSEgoKdHJpZ2dlcl9pZBgBIAEoCRI3Cg1jb25maWd1cmF0aW9uGAIgASgLMiAucHVibGljX2FwaS5UcmlnZ2VyQ29uZmlndXJhdGlvbiI9ChVVcGRhdGVUcmlnZ2VyUmVzcG9uc2USJAoHdHJpZ2dlchgBIAEoCzITLnB1YmxpY19hcGkuVHJpZ2dlciI8ChZVcGRhdGVXb3Jrc3BhY2VSZXF1ZXN0EhQKDHdvcmtzcGFjZV9pZBgBIAEoCRIMCgRuYW1lGAIgASgJIkcKF1VwZGF0ZVdvcmtzcGFjZVJlc3BvbnNlEiwKCXdvcmtzcGFjZRgBIAEoCzIZLnB1YmxpY19hcGkuV29ya3NwYWNlSW5mbyJRCgpVcGxvYWRCbG9iEg8KB2NvbnRlbnQYASABKAkSDAoEcGF0aBgCIAEoCRIWCglibG9iX25hbWUYAyABKAlIAIgBAUIMCgpfYmxvYl9uYW1lIl8KHFVwc2VydE1jcFRlbmFudENvbmZpZ1JlcXVlc3QSJQoGY29uZmlnGAEgASgLMhUucHVibGljX2FwaS5NY3BDb25maWcSGAoQZXhwZWN0ZWRfdmVyc2lvbhgCIAEoCSJBCh1VcHNlcnRNY3BUZW5hbnRDb25maWdSZXNwb25zZRIPCgdjcmVhdGVkGAEgASgIEg8KB3ZlcnNpb24YAiABKAkiXQoaVXBzZXJ0TWNwVXNlckNvbmZpZ1JlcXVlc3QSJQoGY29uZmlnGAEgASgLMhUucHVibGljX2FwaS5NY3BDb25maWcSGAoQZXhwZWN0ZWRfdmVyc2lvbhgCIAEoCSI/ChtVcHNlcnRNY3BVc2VyQ29uZmlnUmVzcG9uc2USDwoHY3JlYXRlZBgBIAEoCBIPCgd2ZXJzaW9uGAIgASgJIvEBChlVcHNlcnRUZW5hbnRTZWNyZXRSZXF1ZXN0EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSPQoEdGFncxgDIAMoCzIvLnB1YmxpY19hcGkuVXBzZXJ0VGVuYW50U2VjcmV0UmVxdWVzdC5UYWdzRW50cnkSEwoLZGVzY3JpcHRpb24YBCABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgFIAEoCRIcChRtYXhfdmFsdWVfc2l6ZV9ieXRlcxgGIAEoBRorCglUYWdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJGChpVcHNlcnRUZW5hbnRTZWNyZXRSZXNwb25zZRIoCgZzZWNyZXQYASABKAsyGC5wdWJsaWNfYXBpLlRlbmFudFNlY3JldCKiBAoXVXBzZXJ0VXNlclNlY3JldFJlcXVlc3QSDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCRI7CgR0YWdzGAMgAygLMi0ucHVibGljX2FwaS5VcHNlcnRVc2VyU2VjcmV0UmVxdWVzdC5UYWdzRW50cnkSEwoLZGVzY3JpcHRpb24YBCABKAkSGAoQZXhwZWN0ZWRfdmVyc2lvbhgFIAEoCRIcChRtYXhfdmFsdWVfc2l6ZV9ieXRlcxgGIAEoBRImCgVzY29wZRgHIAEoDjIXLnB1YmxpY19hcGkuU2VjcmV0U2NvcGUSFQoIc3BhY2VfaWQYCCABKAlIAIgBARI7Cg1hcHBsaWNhYmlsaXR5GAkgASgOMh8ucHVibGljX2FwaS5TZWNyZXRBcHBsaWNhYmlsaXR5SAGIAQESEQoJc3BhY2VfaWRzGAogAygJEhIKCmFsbF9zcGFjZXMYCyABKAgSFQoNdXBkYXRlX3NwYWNlcxgMIAEoCBIRCglzZWNyZXRfaWQYDSABKAkSEwoLdXBkYXRlX3RhZ3MYDiABKAgSGgoSdXBkYXRlX2Rlc2NyaXB0aW9uGA8gASgIEhYKDnByZXNlcnZlX3ZhbHVlGBAgASgIGisKCVRhZ3NFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgsKCV9zcGFjZV9pZEIQCg5fYXBwbGljYWJpbGl0eSJCChhVcHNlcnRVc2VyU2VjcmV0UmVzcG9uc2USJgoGc2VjcmV0GAEgASgLMhYucHVibGljX2FwaS5Vc2VyU2VjcmV0IvgDCgpVc2VyU2VjcmV0EgwKBG5hbWUYASABKAkSDQoFdmFsdWUYAiABKAkSLgoEdGFncxgDIAMoCzIgLnB1YmxpY19hcGkuVXNlclNlY3JldC5UYWdzRW50cnkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLZGVzY3JpcHRpb24YBiABKAkSDwoHdmVyc2lvbhgHIAEoCRIYChB2YWx1ZV9zaXplX2J5dGVzGAggASgFEiYKBXNjb3BlGAkgASgOMhcucHVibGljX2FwaS5TZWNyZXRTY29wZRIVCghzcGFjZV9pZBgKIAEoCUgAiAEBEhEKCXNlY3JldF9pZBgLIAEoCRISCgpvbGFjX3JlYWR5GAwgASgIEjYKDWFwcGxpY2FiaWxpdHkYDSABKA4yHy5wdWJsaWNfYXBpLlNlY3JldEFwcGxpY2FiaWxpdHkSEQoJc3BhY2VfaWRzGA4gAygJEhIKCmFsbF9zcGFjZXMYDyABKAgaKwoJVGFnc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCwoJX3NwYWNlX2lkIs4BChJWaWV3ZWRDb250ZW50RXZlbnQSDAoEcGF0aBgBIAEoCRIWCg5maWxlX2Jsb2JfbmFtZRgCIAEoCRIXCg92aXNpYmxlX2NvbnRlbnQYAyABKAkSEgoKbGluZV9zdGFydBgEIAEoDRIQCghsaW5lX2VuZBgFIAEoDRISCgpjaGFyX3N0YXJ0GAYgASgNEhAKCGNoYXJfZW5kGAcgASgNEi0KCXRpbWVzdGFtcBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiJAoNV2ViaG9va1BvbGljeRITCgt3ZWJob29rX3VybBgBIAEoCSJNChJXb3Jrc3BhY2VGaWxlQ2h1bmsSEgoKY2hhcl9zdGFydBgBIAEoBRIQCghjaGFyX2VuZBgCIAEoBRIRCglibG9iX25hbWUYAyABKAkiQwoTV29ya3NwYWNlRm9sZGVySW5mbxIXCg9yZXBvc2l0b3J5X3Jvb3QYASABKAkSEwoLZm9sZGVyX3Jvb3QYAiABKAkiwQEKDVdvcmtzcGFjZUluZm8SFAoMd29ya3NwYWNlX2lkGAEgASgJEgwKBG5hbWUYAiABKAkSMwoKY3JlYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIzCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0SgQIBRAGIooCCg5Xb3Jrc3BhY2VTZXR1cBIrCgpnaXRodWJfcmVmGAEgASgLMhUucHVibGljX2FwaS5HaXRodWJSZWZIABISCgVwYXRjaBgCIAEoCUgBiAEBEhkKDHNldHVwX3NjcmlwdBgDIAEoCUgCiAEBEj0KCmdpdF9jb25maWcYBCADKAsyKS5wdWJsaWNfYXBpLldvcmtzcGFjZVNldHVwLkdpdENvbmZpZ0VudHJ5GjAKDkdpdENvbmZpZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCEAoOc3RhcnRpbmdfZmlsZXNCCAoGX3BhdGNoQg8KDV9zZXR1cF9zY3JpcHQqXAoUQWdlbnRDYXBhYmlsaXR5U2NvcGUSIQodQUdFTlRfQ0FQQUJJTElUWV9TQ09QRV9HTE9CQUwQABIhCh1BR0VOVF9DQVBBQklMSVRZX1NDT1BFX1RFTkFOVBABKqIBChZBZ2VudEhpc3RvcnlVcGRhdGVUeXBlEikKJUFHRU5UX0hJU1RPUllfVVBEQVRFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZBR0VOVF9ISVNUT1JZX0VYQ0hBTkdFEAESIQodQUdFTlRfSElTVE9SWV9FWENIQU5HRV9VUERBVEUQAhIeChpBR0VOVF9ISVNUT1JZX0FHRU5UX1NUQVRVUxADKrABChNBZ2VudExpc3RVcGRhdGVUeXBlEiYKIkFHRU5UX0xJU1RfVVBEQVRFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZBR0VOVF9MSVNUX0FHRU5UX0FEREVEEAESHAoYQUdFTlRfTElTVF9BR0VOVF9VUERBVEVEEAISHAoYQUdFTlRfTElTVF9BR0VOVF9ERUxFVEVEEAMSGQoVQUdFTlRfTElTVF9BTExfQUdFTlRTEAQqcQoRQWdlbnRQZXJzb25hU2NvcGUSHgoaQUdFTlRfUEVSU09OQV9TQ09QRV9HTE9CQUwQABIeChpBR0VOVF9QRVJTT05BX1NDT1BFX1RFTkFOVBABEhwKGEFHRU5UX1BFUlNPTkFfU0NPUEVfVVNFUhACKpYBChhBZ2VudFdvcmtzcGFjZVVwZGF0ZVR5cGUSKwonQUdFTlRfV09SS1NQQUNFX1VQREFURV9UWVBFX1VOU1BFQ0lGSUVEEAASJAogQUdFTlRfV09SS1NQQUNFX1VQREFURV9JTlRFUlJVUFQQARInCiNBR0VOVF9XT1JLU1BBQ0VfVVBEQVRFX0NIQVRfUkVRVUVTVBACKm8KEEFuYWx5dGljc1RhZ1R5cGUSHgoaQU5BTFlUSUNTX1RBR19UWVBFX1VOS05PV04QABIbChdBTkFMWVRJQ1NfVEFHX1RZUEVfQ09TVBABEh4KGkFOQUxZVElDU19UQUdfVFlQRV9PVVRDT01FEAIqvQEKE0NoYXRSZXF1ZXN0Tm9kZVR5cGUSCAoEVEVYVBAAEg8KC1RPT0xfUkVTVUxUEAESCQoFSU1BR0UQAhIMCghJTUFHRV9JRBADEg0KCUlERV9TVEFURRAEEg8KC0VESVRfRVZFTlRTEAUSEgoOQ0hFQ0tQT0lOVF9SRUYQBhISCg5DSEFUX05PREVfRklMRRAIEhUKEUNIQVRfTk9ERV9GSUxFX0lEEAkSEwoPSElTVE9SWV9TVU1NQVJZEAoq6wEKEkNoYXRSZXN1bHROb2RlVHlwZRIQCgxSQVdfUkVTUE9OU0UQABIXChNTVUdHRVNURURfUVVFU1RJT05TEAESFgoSTUFJTl9URVhUX0ZJTklTSEVEEAISGQoVV09SS1NQQUNFX0ZJTEVfQ0hVTktTEAMSFAoQUkVMRVZBTlRfU09VUkNFUxAEEgwKCFRPT0xfVVNFEAUSEgoOVE9PTF9VU0VfU1RBUlQQBxIMCghUSElOS0lORxAIEhQKEEJJTExJTkdfTUVUQURBVEEQCRIPCgtUT0tFTl9VU0FHRRAKIgQIBhAGIgQICxALKq4BCg5DaGF0U3RvcFJlYXNvbhIWChJSRUFTT05fVU5TUEVDSUZJRUQQABIMCghFTkRfVFVSThABEg4KCk1BWF9UT0tFTlMQAhIWChJUT09MX1VTRV9SRVFVRVNURUQQAxIKCgZTQUZFVFkQBBIOCgpSRUNJVEFUSU9OEAUSGwoXTUFMRk9STUVEX0ZVTkNUSU9OX0NBTEwQBhIVChFTVE9QX1JFQVNPTl9FUlJPUhAHKsoBChRDbG91ZEFnZW50Q2FwYWJpbGl0eRIiCh5DTE9VRF9BR0VOVF9DQVBBQklMSVRZX1VOS05PV04QABIlCiFDTE9VRF9BR0VOVF9DQVBBQklMSVRZX1dFQl9BQ0NFU1MQARIeChpDTE9VRF9BR0VOVF9DQVBBQklMSVRZX01DUBACEiQKIENMT1VEX0FHRU5UX0NBUEFCSUxJVFlfQ0xJX1RPT0xTEAQSIQodQ0xPVURfQUdFTlRfQ0FQQUJJTElUWV9HSVRIVUIQBSp+ChJDbG91ZEFnZW50TG9vcFR5cGUSJQohQ0xPVURfQUdFTlRfTE9PUF9UWVBFX1VOU1BFQ0lGSUVEEAASHwobQ0xPVURfQUdFTlRfTE9PUF9UWVBFX1NBTFNBEAESIAocQ0xPVURfQUdFTlRfTE9PUF9UWVBFX0FVR0dJRRACKoICChBDbG91ZEFnZW50U3RhdHVzEh4KGkNMT1VEX0FHRU5UX1NUQVRVU19VTktOT1dOEAASGwoXQ0xPVURfQUdFTlRfU1RBVFVTX0lETEUQARIhCh1DTE9VRF9BR0VOVF9TVEFUVVNfUFJPQ0VTU0lORxACEiEKHUNMT1VEX0FHRU5UX1NUQVRVU19URVJNSU5BVEVEEAMSIAocQ0xPVURfQUdFTlRfU1RBVFVTX0NPTVBMRVRFRBAEEh8KG0NMT1VEX0FHRU5UX1NUQVRVU19TVEFSVElORxAFEigKJENMT1VEX0FHRU5UX1NUQVRVU19XQUlUSU5HX0ZPUl9JTlBVVBAGKucBCidDbG91ZERhZW1vblBvb2xXb3Jrc3BhY2VJc29sYXRpb25Qb2xpY3kSPAo4Q0xPVURfREFFTU9OX1BPT0xfV09SS1NQQUNFX0lTT0xBVElPTl9QT0xJQ1lfVU5TUEVDSUZJRUQQABI/CjtDTE9VRF9EQUVNT05fUE9PTF9XT1JLU1BBQ0VfSVNPTEFUSU9OX1BPTElDWV9GT1JDRV9JU09MQVRFRBABEj0KOUNMT1VEX0RBRU1PTl9QT09MX1dPUktTUEFDRV9JU09MQVRJT05fUE9MSUNZX0ZPUkNFX1NIQVJFRBACKrkBChRDbG91ZEVudmlyb25tZW50S2luZBImCiJDTE9VRF9FTlZJUk9OTUVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASJQohQ0xPVURfRU5WSVJPTk1FTlRfS0lORF9CQVNFX0lNQUdFEAESJgoiQ0xPVURfRU5WSVJPTk1FTlRfS0lORF9EQUVNT05fUE9PTBACEioKJkNMT1VEX0VOVklST05NRU5UX0tJTkRfVU5QT09MRURfREFFTU9OEAMqlgUKG0Nsb3VkRW52aXJvbm1lbnRMaXN0T3JkZXJCeRIvCitDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX1VOU1BFQ0lGSUVEEAASLAooQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9OQU1FX0FTQxABEi0KKUNMT1VEX0VOVklST05NRU5UX0xJU1RfT1JERVJfQllfTkFNRV9ERVNDEAISMgouQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9DUkVBVEVEX0JZX0FTQxADEjMKL0NMT1VEX0VOVklST05NRU5UX0xJU1RfT1JERVJfQllfQ1JFQVRFRF9CWV9ERVNDEAQSLAooQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9TSVpFX0FTQxAFEi0KKUNMT1VEX0VOVklST05NRU5UX0xJU1RfT1JERVJfQllfU0laRV9ERVNDEAYSLQopQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9SRVBPU19BU0MQBxIuCipDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX1JFUE9TX0RFU0MQCBIvCitDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX1VQREFURURfQVNDEAkSMAosQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9VUERBVEVEX0RFU0MQChIvCitDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX09SREVSX0JZX0NSRUFURURfQVNDEAsSMAosQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9PUkRFUl9CWV9DUkVBVEVEX0RFU0MQDCqdAQoZQ2xvdWRFbnZpcm9ubWVudExpc3RTY29wZRIsCihDTE9VRF9FTlZJUk9OTUVOVF9MSVNUX1NDT1BFX1VOU1BFQ0lGSUVEEAASKQolQ0xPVURfRU5WSVJPTk1FTlRfTElTVF9TQ09QRV9QRVJTT05BTBABEicKI0NMT1VEX0VOVklST05NRU5UX0xJU1RfU0NPUEVfU0hBUkVEEAIq+wMKIkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25FcnJvckNvZGUSNgoyQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX0VSUk9SX0NPREVfVU5TUEVDSUZJRUQQABI3CjNDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9CVUlMRF9GQUlMRUQQARJACjxDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9FWEVDVVRJT05fSU5URVJSVVBURUQQAhIzCi9DTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9JTlRFUk5BTBADEjsKN0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9FUlJPUl9DT0RFX1ZFUlNJT05fQ09ORkxJQ1QQBBI5CjVDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9SRUZSRVNIX0ZBSUxFRBAFEjsKN0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9FUlJPUl9DT0RFX1JFQ09OQ0lMRV9GQUlMRUQQBhI4CjRDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fRVJST1JfQ09ERV9VUERBVEVfRkFJTEVEEAcq9wIKHkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25QaGFzZRIxCi1DTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fUEhBU0VfVU5TUEVDSUZJRUQQABIsCihDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fUEhBU0VfUVVFVUVEEAESLworQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1BIQVNFX1BSRVBBUklORxACEi4KKkNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9QSEFTRV9CVUlMRElORxADEi8KK0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9QSEFTRV9QUk9NT1RJTkcQBBIuCipDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fUEhBU0VfVVBEQVRJTkcQBiIECAUQBSosQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1BIQVNFX1JFRlJFU0hJTkcq+AIKHkNsb3VkRW52aXJvbm1lbnRPcGVyYXRpb25TdGF0ZRIxCi1DTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fU1RBVEVfVU5TUEVDSUZJRUQQABItCilDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fU1RBVEVfUEVORElORxABEi0KKUNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9TVEFURV9SVU5OSU5HEAISNgoyQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1NUQVRFX0NBTkNFTF9SRVFVRVNURUQQAxIvCitDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fU1RBVEVfU1VDQ0VFREVEEAQSLAooQ0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1NUQVRFX0ZBSUxFRBAFEi4KKkNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9TVEFURV9DQU5DRUxFRBAGKtcCCh1DbG91ZEVudmlyb25tZW50T3BlcmF0aW9uVHlwZRIwCixDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEjcKM0NMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9UWVBFX0JBU0VfSU1BR0VfUkVCVUlMRBABEjUKMUNMT1VEX0VOVklST05NRU5UX09QRVJBVElPTl9UWVBFX0JBU0VfSU1BR0VfQlVJTEQQAhIsCihDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fVFlQRV9SRUZSRVNIEAMSOQo1Q0xPVURfRU5WSVJPTk1FTlRfT1BFUkFUSU9OX1RZUEVfUkVQT1NJVE9SWV9SRUNPTkNJTEUQBBIrCidDTE9VRF9FTlZJUk9OTUVOVF9PUEVSQVRJT05fVFlQRV9VUERBVEUQBSqDAgoWQ2xvdWRFbnZpcm9ubWVudFN0YXR1cxIoCiRDTE9VRF9FTlZJUk9OTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIjCh9DTE9VRF9FTlZJUk9OTUVOVF9TVEFUVVNfQUNUSVZFEAESJQohQ0xPVURfRU5WSVJPTk1FTlRfU1RBVFVTX0JVSUxESU5HEAISIwofQ0xPVURfRU5WSVJPTk1FTlRfU1RBVFVTX0ZBSUxFRBADEicKI0NMT1VEX0VOVklST05NRU5UX1NUQVRVU19ERVBSRUNBVEVEEAQSJQohQ0xPVURfRU5WSVJPTk1FTlRfU1RBVFVTX0RFTEVUSU5HEAUq6AkKHENsb3VkRXhwZXJ0QnVpbHRpbkNhcGFiaWxpdHkSKwonQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9VTktOT1dOEAASLgoqQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9XRUJfQUNDRVNTEAESLQopQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9DTElfVE9PTFMQBBIqCiZDTE9VRF9FWFBFUlRfQlVJTFRJTl9DQVBBQklMSVRZX0dJVEhVQhAHEioKJkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfTElORUFSEAgSKAokQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9FQ0hPEAkSKQolQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9TTEFDSxALEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0lUSFVCX0FQUBAMEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfTElORUFSX0FQUBANEjIKLkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQ1VTVE9NX1dFQkhPT0sQExIqCiZDTE9VRF9FWFBFUlRfQlVJTFRJTl9DQVBBQklMSVRZX0dJVExBQhAUEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0lUTEFCX0FQUBAVEigKJENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfSklSQRAXEi4KKkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQ09ORkxVRU5DRRAYEiwKKENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfSklSQV9BUFAQGRIyCi5DTE9VRF9FWFBFUlRfQlVJTFRJTl9DQVBBQklMSVRZX0NPTkZMVUVOQ0VfQVBQEBoSKQolQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9URUFNUxAbEjAKLENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQVpVUkVfREVWT1BTEBwSNAowQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9BWlVSRV9ERVZPUFNfQVBQEB0iBAgCEAIiBAgDEAMiBAgFEAUiBAgGEAYiBAgKEAoiBAgOEA4iBAgPEA8iBAgQEBAiBAgREBEiBAgSEBIiBAgWEBYqLkNMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0NQX01PTklUT1JJTkcqK0NMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfR0NQX0xPR0dJTkcqJ0NMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfS1VCRUNUTCopQ0xPVURfRVhQRVJUX0JVSUxUSU5fQ0FQQUJJTElUWV9QQUdFUkRVVFkqKENMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfRU5HX0lORk8qM0NMT1VEX0VYUEVSVF9CVUlMVElOX0NBUEFCSUxJVFlfQ0xPVURfQUdFTlRfQ09OVFJPTCqwAQobQ2xvdWRFeHBlcnRDYXBhYmlsaXR5U291cmNlEi4KKkNMT1VEX0VYUEVSVF9DQVBBQklMSVRZX1NPVVJDRV9VTlNQRUNJRklFRBAAEjcKM0NMT1VEX0VYUEVSVF9DQVBBQklMSVRZX1NPVVJDRV9CVUlMVElOX0NBUEFCSUxJVElFUxABEigKJENMT1VEX0VYUEVSVF9DQVBBQklMSVRZX1NPVVJDRV9OQU1FUxACKpMBCiFDbG91ZEV4cGVydERlcGVuZGVuY3lSZWxhdGlvbnNoaXASNAowQ0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfUkVMQVRJT05TSElQX1VOU1BFQ0lGSUVEEAASOAo0Q0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfUkVMQVRJT05TSElQX1JFUVVJUkVEX1dPUktFUhABKtEBCiFDbG91ZEV4cGVydERlcGVuZGVuY3lSZXBhaXJBY3Rpb24SNQoxQ0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfUkVQQUlSX0FDVElPTl9VTlNQRUNJRklFRBAAEjgKNENMT1VEX0VYUEVSVF9ERVBFTkRFTkNZX1JFUEFJUl9BQ1RJT05fUkVTVE9SRV9UQVJHRVQQARI7CjdDTE9VRF9FWFBFUlRfREVQRU5ERU5DWV9SRVBBSVJfQUNUSU9OX0VESVRfREVQRU5ERU5DSUVTEAIq1gEKG0Nsb3VkRXhwZXJ0RGVwZW5kZW5jeVN0YXR1cxIuCipDTE9VRF9FWFBFUlRfREVQRU5ERU5DWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIqCiZDTE9VRF9FWFBFUlRfREVQRU5ERU5DWV9TVEFUVVNfTUlTU0lORxABEioKJkNMT1VEX0VYUEVSVF9ERVBFTkRFTkNZX1NUQVRVU19ERUxFVEVEEAISLworQ0xPVURfRVhQRVJUX0RFUEVOREVOQ1lfU1RBVFVTX0lOQUNDRVNTSUJMRRADKm4KEENsb3VkRXhwZXJ0U2NvcGUSHgoaQ0xPVURfRVhQRVJUX1NDT1BFX1VOS05PV04QABIdChlDTE9VRF9FWFBFUlRfU0NPUEVfVEVOQU5UEAESGwoXQ0xPVURfRVhQRVJUX1NDT1BFX1VTRVIQAiqoAQocQ2xvdWRFeHBlcnRTZXNzaW9uVmlzaWJpbGl0eRIvCitDTE9VRF9FWFBFUlRfU0VTU0lPTl9WSVNJQklMSVRZX1VOU1BFQ0lGSUVEEAASKgomQ0xPVURfRVhQRVJUX1NFU1NJT05fVklTSUJJTElUWV9TSEFSRUQQARIrCidDTE9VRF9FWFBFUlRfU0VTU0lPTl9WSVNJQklMSVRZX1BSSVZBVEUQAiqpAQoYQ2xvdWRFeHBlcnRWTUltYWdlU291cmNlEiwKKENMT1VEX0VYUEVSVF9WTV9JTUFHRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABInCiNDTE9VRF9FWFBFUlRfVk1fSU1BR0VfU09VUkNFX1BVQkxJQxABEjYKMkNMT1VEX0VYUEVSVF9WTV9JTUFHRV9TT1VSQ0VfR0NQX0FSVElGQUNUX1JFR0lTVFJZEAIqjwEKFENsb3VkR3JvdXBNZW1iZXJLaW5kEicKI0NMT1VEX0dST1VQX01FTUJFUl9LSU5EX1VOU1BFQ0lGSUVEEAASIQodQ0xPVURfR1JPVVBfTUVNQkVSX0tJTkRfSFVNQU4QARIrCidDTE9VRF9HUk9VUF9NRU1CRVJfS0lORF9TRVJWSUNFX0FDQ09VTlQQAip2ChJDbG91ZFJlc2lkZW50U2NvcGUSIAocQ0xPVURfUkVTSURFTlRfU0NPUEVfVU5LTk9XThAAEh8KG0NMT1VEX1JFU0lERU5UX1NDT1BFX1RFTkFOVBABEh0KGUNMT1VEX1JFU0lERU5UX1NDT1BFX1VTRVIQAiqlAQoYQ2xvdWRTYW5kYm94UHJvdmlkZXJUeXBlEisKJ0NMT1VEX1NBTkRCT1hfUFJPVklERVJfVFlQRV9VTlNQRUNJRklFRBAAEi4KKkNMT1VEX1NBTkRCT1hfUFJPVklERVJfVFlQRV9TWVNURU1fTUFOQUdFRBABEiwKKENMT1VEX1NBTkRCT1hfUFJPVklERVJfVFlQRV9VU0VSX01BTkFHRUQQAip2Cg9DbG91ZFR1bm5lbE1vZGUSIQodQ0xPVURfVFVOTkVMX01PREVfVU5TUEVDSUZJRUQQABIhCh1DTE9VRF9UVU5ORUxfTU9ERV9XRUJfUFJFVklFVxABEh0KGUNMT1VEX1RVTk5FTF9NT0RFX0RJU1BMQVkQAiqgAgoRQ2xvdWRUdW5uZWxTdGF0dXMSIwofQ0xPVURfVFVOTkVMX1NUQVRVU19VTlNQRUNJRklFRBAAEh8KG0NMT1VEX1RVTk5FTF9TVEFUVVNfUEVORElORxABEh4KGkNMT1VEX1RVTk5FTF9TVEFUVVNfQUNUSVZFEAISJAogQ0xPVURfVFVOTkVMX1NUQVRVU19ESVNDT05ORUNURUQQAxIfChtDTE9VRF9UVU5ORUxfU1RBVFVTX1JFVk9LRUQQBBIfChtDTE9VRF9UVU5ORUxfU1RBVFVTX0VYUElSRUQQBRIeChpDTE9VRF9UVU5ORUxfU1RBVFVTX0NMT1NFRBAGEh0KGUNMT1VEX1RVTk5FTF9TVEFUVVNfRVJST1IQByprCg5Db21wbGV0aW9uVHlwZRIfChtDT01QTEVUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIYChRDT01QTEVUSU9OX1RZUEVfQ09ERRABEh4KGkNPTVBMRVRJT05fVFlQRV9DSEFUX0lOUFVUEAIqbgoQQ29udmVyc2F0aW9uVHlwZRIhCh1DT05WRVJTQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEhoKFkNPTlZFUlNBVElPTl9UWVBFX0NIQVQQARIbChdDT05WRVJTQVRJT05fVFlQRV9BR0VOVBACKo8BChdDb3N0QW5hbHl0aWNzQnlva1N0YXR1cxImCiJDT1NUX0FOQUxZVElDU19CWU9LX1NUQVRVU19VTktOT1dOEAASJwojQ09TVF9BTkFMWVRJQ1NfQllPS19TVEFUVVNfTk9OX0JZT0sQARIjCh9DT1NUX0FOQUxZVElDU19CWU9LX1NUQVRVU19CWU9LEAIqgQIKFENvc3RBbmFseXRpY3NHcm91cEJ5EiMKH0NPU1RfQU5BTFlUSUNTX0dST1VQX0JZX1VOS05PV04QABIgChxDT1NUX0FOQUxZVElDU19HUk9VUF9CWV9VU0VSEAISJwojQ09TVF9BTkFMWVRJQ1NfR1JPVVBfQllfQllPS19TVEFUVVMQBBIkCiBDT1NUX0FOQUxZVElDU19HUk9VUF9CWV9SRVNPVVJDRRAFEiMKH0NPU1RfQU5BTFlUSUNTX0dST1VQX0JZX1BST0RVQ1QQBhIiCh5DT1NUX0FOQUxZVElDU19HUk9VUF9CWV9FWFBFUlQQByIECAEQASIECAMQAyqXAQoZQ29zdEFuYWx5dGljc1Jlc291cmNlVHlwZRIoCiRDT1NUX0FOQUxZVElDU19SRVNPVVJDRV9UWVBFX1VOS05PV04QABImCiJDT1NUX0FOQUxZVElDU19SRVNPVVJDRV9UWVBFX01PREVMEAESKAokQ09TVF9BTkFMWVRJQ1NfUkVTT1VSQ0VfVFlQRV9DT01QVVRFEAIqpwEKGkNvc3RBbmFseXRpY3NUYWdGaWx0ZXJUeXBlEikKJUNPU1RfQU5BTFlUSUNTX1RBR19GSUxURVJfVFlQRV9WQUxVRVMQABIsCihDT1NUX0FOQUxZVElDU19UQUdfRklMVEVSX1RZUEVfQU5ZX1ZBTFVFEAESMAosQ09TVF9BTkFMWVRJQ1NfVEFHX0ZJTFRFUl9UWVBFX01JU1NJTkdfVkFMVUUQAirJAQocQ29zdEFuYWx5dGljc1RpbWVHcmFudWxhcml0eRIrCidDT1NUX0FOQUxZVElDU19USU1FX0dSQU5VTEFSSVRZX1VOS05PV04QABIpCiVDT1NUX0FOQUxZVElDU19USU1FX0dSQU5VTEFSSVRZX1RPVEFMEAESJwojQ09TVF9BTkFMWVRJQ1NfVElNRV9HUkFOVUxBUklUWV9EQVkQAhIoCiRDT1NUX0FOQUxZVElDU19USU1FX0dSQU5VTEFSSVRZX1dFRUsQAyqwAQoVQ29zdEFuYWx5dGljc1VzZXJUeXBlEiQKIENPU1RfQU5BTFlUSUNTX1VTRVJfVFlQRV9VTktOT1dOEAASIQodQ09TVF9BTkFMWVRJQ1NfVVNFUl9UWVBFX1VTRVIQARIsCihDT1NUX0FOQUxZVElDU19VU0VSX1RZUEVfU0VSVklDRV9BQ0NPVU5UEAISIAocQ09TVF9BTkFMWVRJQ1NfVVNFUl9UWVBFX0JPVBADKu0BCghEaWZmVHlwZRIZChVESUZGX1RZUEVfVU5TUEVDSUZJRUQQABIRCg1ESUZGX1RZUEVfRklYEAESFQoRRElGRl9UWVBFX0ZFQVRVUkUQAhIWChJESUZGX1RZUEVfUkVGQUNUT1IQAxIbChdESUZGX1RZUEVfRE9DVU1FTlRBVElPThAEEhMKD0RJRkZfVFlQRV9TVFlMRRAFEhIKDkRJRkZfVFlQRV9URVNUEAYSEwoPRElGRl9UWVBFX0NIT1JFEAcSFAoQRElGRl9UWVBFX1JFVkVSVBAIEhMKD0RJRkZfVFlQRV9PVEhFUhAJKmwKD0VkaXRFdmVudFNvdXJjZRIbChdFRElUX1NPVVJDRV9VTlNQRUNJRklFRBAAEhkKFUVESVRfU09VUkNFX1VTRVJfRURJVBABEiEKHUVESVRfU09VUkNFX0NIRUNLUE9JTlRfUkVWRVJUEAIqmAEKC0V2ZW50U291cmNlEhwKGEVWRU5UX1NPVVJDRV9VTlNQRUNJRklFRBAAEhcKE0VWRU5UX1NPVVJDRV9HSVRIVUIQARIXChNFVkVOVF9TT1VSQ0VfTElORUFSEAISGQoVRVZFTlRfU09VUkNFX1NDSEVEVUxFEAMSHgoaRVZFTlRfU09VUkNFX1NDSEVEVUxFX1RFTVAQBCo/ChJFeHRlcm5hbFNvdXJjZVR5cGUSEgoOVU5LTk9XTl9TT1VSQ0UQABIVChFET0NVTUVOVEFUSU9OX1NFVBABKjcKDkZlZWRiYWNrUmF0aW5nEgkKBVVOU0VUEAASDAoIUE9TSVRJVkUQARIMCghORUdBVElWRRACKoABChBHaXRIdWJFbnRpdHlUeXBlEiIKHkdJVEhVQl9FTlRJVFlfVFlQRV9VTlNQRUNJRklFRBAAEiMKH0dJVEhVQl9FTlRJVFlfVFlQRV9QVUxMX1JFUVVFU1QQARIjCh9HSVRIVUJfRU5USVRZX1RZUEVfV09SS0ZMT1dfUlVOEAIqVQoPSW1hZ2VGb3JtYXRUeXBlEhwKGElNQUdFX0ZPUk1BVF9VTlNQRUNJRklFRBAAEgcKA1BORxABEggKBEpQRUcQAhIHCgNHSUYQAxIICgRXRUJQEAQqVAoQTGluZWFyRW50aXR5VHlwZRIiCh5MSU5FQVJfRU5USVRZX1RZUEVfVU5TUEVDSUZJRUQQABIcChhMSU5FQVJfRU5USVRZX1RZUEVfSVNTVUUQASp4CgtNY3BBdXRoVHlwZRIdChlNQ1BfQVVUSF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSTUNQX0FVVEhfVFlQRV9OT05FEAESFwoTTUNQX0FVVEhfVFlQRV9PQVVUSBACEhkKFU1DUF9BVVRIX1RZUEVfQVBJX0tFWRADKpMBChRNY3BDYXRhbG9nRW50cnlTdGF0ZRInCiNNQ1BfQ0FUQUxPR19FTlRSWV9TVEFURV9VTlNQRUNJRklFRBAAEiUKIU1DUF9DQVRBTE9HX0VOVFJZX1NUQVRFX0FWQUlMQUJMRRABEisKJ01DUF9DQVRBTE9HX0VOVFJZX1NUQVRFX09QVF9JTl9SRVFVSVJFRBACKmoKDk1jcENvbmZpZ1Njb3BlEiAKHE1DUF9DT05GSUdfU0NPUEVfVU5TUEVDSUZJRUQQABIZChVNQ1BfQ09ORklHX1NDT1BFX1VTRVIQARIbChdNQ1BfQ09ORklHX1NDT1BFX1RFTkFOVBACKm4KDk1jcFByb2R1Y3RUeXBlEiAKHE1DUF9QUk9EVUNUX1RZUEVfVU5TUEVDSUZJRUQQABIYChRNQ1BfUFJPRFVDVF9UWVBFX0NMSRABEiAKHE1DUF9QUk9EVUNUX1RZUEVfQ0xPVURfQUdFTlQQAipoChdOb3RpZmljYXRpb25EaXNwbGF5VHlwZRIcChhESVNQTEFZX1RZUEVfVU5TUEVDSUZJRUQQABIWChJESVNQTEFZX1RZUEVfVE9BU1QQARIXChNESVNQTEFZX1RZUEVfQkFOTkVSEAIqkgEKEU5vdGlmaWNhdGlvbkxldmVsEiIKHk5PVElGSUNBVElPTl9MRVZFTF9VTlNQRUNJRklFRBAAEhsKF05PVElGSUNBVElPTl9MRVZFTF9JTkZPEAESHgoaTk9USUZJQ0FUSU9OX0xFVkVMX1dBUk5JTkcQAhIcChhOT1RJRklDQVRJT05fTEVWRUxfRVJST1IQAyplCg1PdXRjb21lT3JpZ2luEhoKFk9VVENPTUVfT1JJR0lOX1VOS05PV04QABIZChVPVVRDT01FX09SSUdJTl9DT1NNT1MQARIdChlPVVRDT01FX09SSUdJTl9OT05fQ09TTU9TEAIqSAoLUGVyc29uYVR5cGUSCwoHREVGQVVMVBAAEg4KClBST1RPVFlQRVIQARIOCgpCUkFJTlNUT1JNEAISDAoIUkVWSUVXRVIQAyqgAQobUmVtb3RlQWdlbnRSZXN1bWVIaW50UmVhc29uEigKJFJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9VTlNQRUNJRklFRBAAEisKJ1JFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9UWVBJTkdfTUVTU0FHRRABEioKJlJFU1VNRV9BR0VOVF9ISU5UX1JFQVNPTl9WSUVXSU5HX0FHRU5UEAIqqwEKEVJlbW90ZUFnZW50U3RhdHVzEhUKEUFHRU5UX1VOU1BFQ0lGSUVEEAASEQoNQUdFTlRfUEVORElORxAFEhIKDkFHRU5UX1NUQVJUSU5HEAESEQoNQUdFTlRfUlVOTklORxACEg4KCkFHRU5UX0lETEUQAxIQCgxBR0VOVF9GQUlMRUQQBBIRCg1BR0VOVF9QQVVTSU5HEAYSEAoMQUdFTlRfUEFVU0VEEAcqowIKGlJlbW90ZUFnZW50V29ya3NwYWNlU3RhdHVzEi0KKVJFTU9URV9BR0VOVF9XT1JLU1BBQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKQolUkVNT1RFX0FHRU5UX1dPUktTUEFDRV9TVEFUVVNfUlVOTklORxABEikKJVJFTU9URV9BR0VOVF9XT1JLU1BBQ0VfU1RBVFVTX1BBVVNJTkcQAhIoCiRSRU1PVEVfQUdFTlRfV09SS1NQQUNFX1NUQVRVU19QQVVTRUQQAxIqCiZSRU1PVEVfQUdFTlRfV09SS1NQQUNFX1NUQVRVU19SRVNVTUlORxAEEioKJlJFTU9URV9BR0VOVF9XT1JLU1BBQ0VfU1RBVFVTX0RFTEVUSU5HEAUqqwIKDFJlbW90ZVRvb2xJZBILCgdVTktOT1dOEAASDgoKV0VCX1NFQVJDSBABEg4KCkdJVEhVQl9BUEkQCBIbChdHSVRIVUJfQVBQX1JFQURPTkxZX0FQSRASEhsKF0dJVEhVQl9BUFBfUE9TVF9DT01NRU5UEBMSHQoZR0lUSFVCX0FQUF9QUl9ERVNDUklQVElPThAUEgoKBkxJTkVBUhAMEggKBEpJUkEQDRIOCgpDT05GTFVFTkNFEA4SCgoGTk9USU9OEA8SDAoIU1VQQUJBU0UQEBIJCgVHTEVBThARIgQIAhACIgQIAxADIgQIBBAEIgQIBRAFIgQIBhAGIgQIBxAHIgQICRAJIgQIChAKIgQICxALIgQIFRAVKg5DT05URVhUX0NBTlZBUyrWAQoYUmVtb3RlVG9vbFJlc3BvbnNlU3RhdHVzEiEKHVRPT0xfRVhFQ1VUSU9OX1VOS05PV05fU1RBVFVTEAASGgoWVE9PTF9FWEVDVVRJT05fU1VDQ0VTUxABEhIKDlRPT0xfTk9UX0ZPVU5EEAISFgoSSU5WQUxJRF9UT09MX0lOUFVUEAMSGAoUVE9PTF9FWEVDVVRJT05fRVJST1IQBBIWChJUT09MX05PVF9BVkFJTEFCTEUQBRIdChlUT09MX0FVVEhFTlRJQ0FUSU9OX0VSUk9SEAYqkAIKHlJlbW90ZVdvcmtzcGFjZVNldHVwU3RlcFN0YXR1cxIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1VOS05PV04QABIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1JVTk5JTkcQARIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1NVQ0NFU1MQAhIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX0ZBSUxVUkUQAxIuCipSRU1PVEVfV09SS1NQQUNFX1NFVFVQX1NURVBfU1RBVFVTX1NLSVBQRUQQBCrfAQoNUmVxdWVzdFNvdXJjZRIeChpSRVFVRVNUX1NPVVJDRV9VTlNQRUNJRklFRBAAEhYKElJFUVVFU1RfU09VUkNFX0lERRABEiIKHlJFUVVFU1RfU09VUkNFX0FVR01FTlRfQUNUSU9OUxACEhwKGFJFUVVFU1RfU09VUkNFX1NMQUNLX0JPVBADEh0KGVJFUVVFU1RfU09VUkNFX0dJVEhVQl9CT1QQBBIdChlSRVFVRVNUX1NPVVJDRV9MSU5FQVJfQk9UEAUSFgoSUkVRVUVTVF9TT1VSQ0VfQ0xJEAYqjAIKFlJldm9rZVRvb2xBY2Nlc3NTdGF0dXMSJQohUkVWT0tFX1RPT0xfQUNDRVNTX1NUQVRVU19VTktOT1dOEAASKwonUkVWT0tFX1RPT0xfQUNDRVNTX1NUQVRVU19VTklNUExFTUVOVEVEEAESJwojUkVWT0tFX1RPT0xfQUNDRVNTX1NUQVRVU19OT1RfRk9VTkQQAhIlCiFSRVZPS0VfVE9PTF9BQ0NFU1NfU1RBVFVTX1NVQ0NFU1MQAxIoCiRSRVZPS0VfVE9PTF9BQ0NFU1NfU1RBVFVTX05PVF9BQ1RJVkUQBBIkCiBSRVZPS0VfVE9PTF9BQ0NFU1NfU1RBVFVTX0ZBSUxFRBAFKkAKCFJ1bGVUeXBlEhMKD0FMV0FZU19BVFRBQ0hFRBAAEgoKBk1BTlVBTBABEhMKD0FHRU5UX1JFUVVFU1RFRBACKl4KElNjaGVkdWxlRW50aXR5VHlwZRIkCiBTQ0hFRFVMRV9FTlRJVFlfVFlQRV9VTlNQRUNJRklFRBAAEiIKHlNDSEVEVUxFX0VOVElUWV9UWVBFX0VYRUNVVElPThABKqUBChNTZWNyZXRBcHBsaWNhYmlsaXR5EiQKIFNFQ1JFVF9BUFBMSUNBQklMSVRZX1VOU1BFQ0lGSUVEEAASIQodU0VDUkVUX0FQUExJQ0FCSUxJVFlfUEVSU09OQUwQARIeChpTRUNSRVRfQVBQTElDQUJJTElUWV9TUEFDRRACEiUKIVNFQ1JFVF9BUFBMSUNBQklMSVRZX09SR0FOSVpBVElPThADKl4KC1NlY3JldFNjb3BlEhwKGFNFQ1JFVF9TQ09QRV9VTlNQRUNJRklFRBAAEhgKFFNFQ1JFVF9TQ09QRV9QUklWQVRFEAESFwoTU0VDUkVUX1NDT1BFX1NIQVJFRBACKlEKCVRhZ1NvdXJjZRIWChJUQUdfU09VUkNFX1VOS05PV04QABIVChFUQUdfU09VUkNFX1NZU1RFTRABEhUKEVRBR19TT1VSQ0VfQ1VTVE9NEAIq0wIKGFRlc3RUb29sQ29ubmVjdGlvblN0YXR1cxInCiNURVNUX1RPT0xfQ09OTkVDVElPTl9TVEFUVVNfVU5LTk9XThAAEi0KKVRFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19VTklNUExFTUVOVEVEEAESKQolVEVTVF9UT09MX0NPTk5FQ1RJT05fU1RBVFVTX05PVF9GT1VORBACEiIKHlRFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19PSxADEiUKIVRFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19FUlJPUhAEEjMKL1RFU1RfVE9PTF9DT05ORUNUSU9OX1NUQVRVU19TRVJWSUNFX1VOQVZBSUxBQkxFEAUSNAowVEVTVF9UT09MX0NPTk5FQ1RJT05fU1RBVFVTX0FVVEhFTlRJQ0FUSU9OX0VSUk9SEAYqVQoWVG9vbEF2YWlsYWJpbGl0eVN0YXR1cxISCg5VTktOT1dOX1NUQVRVUxAAEg0KCUFWQUlMQUJMRRABEhgKFFVTRVJfQ09ORklHX1JFUVVJUkVEEAIqXgoZVG9vbFJlc3VsdENvbnRlbnROb2RlVHlwZRIcChhDT05URU5UX1RZUEVfVU5TUEVDSUZJRUQQABIQCgxDT05URU5UX1RFWFQQARIRCg1DT05URU5UX0lNQUdFEAIqPAoKVG9vbFNhZmV0eRIPCgtUT09MX1VOU0FGRRAAEg0KCVRPT0xfU0FGRRABEg4KClRPT0xfQ0hFQ0sQAiqaAQoUVHJpZ2dlckNvbmRpdGlvblR5cGUSJgoiVFJJR0dFUl9DT05ESVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEhwKGFRSSUdHRVJfQ09ORElUSU9OX0dJVEhVQhABEhwKGFRSSUdHRVJfQ09ORElUSU9OX0xJTkVBUhACEh4KGlRSSUdHRVJfQ09ORElUSU9OX1NDSEVEVUxFEAMqTwoJVXNhZ2VVbml0EhYKElVTQUdFX1VOSVRfVU5LTk9XThAAEhYKElVTQUdFX1VOSVRfQ1JFRElUUxABEhIKDlVTQUdFX1VOSVRfVVNEEAJCPlo8Z2l0aHViLmNvbS9hdWdtZW50Y29kZS9hdWdtZW50L3NlcnZpY2VzL2FwaV9wcm94eS9wdWJsaWNfYXBpYgZwcm90bzM",[qi,rr,nn,ee,Yn,yn,D2,Ha]);var l0;(function(e){e[e.BANNER_TYPE_UNKNOWN=0]="BANNER_TYPE_UNKNOWN",e[e.URL_LINK=1]="URL_LINK",e[e.USAGE_BALANCE_DEPLETED=2]="USAGE_BALANCE_DEPLETED",e[e.USAGE_BALANCE_LOW=3]="USAGE_BALANCE_LOW",e[e.REQUIRE_PAYMENT_FOR_TRIAL=4]="REQUIRE_PAYMENT_FOR_TRIAL"})(l0||(l0={}));var a0;(function(e){e[e.BANNER_DISPLAY_STYLE_UNKNOWN=0]="BANNER_DISPLAY_STYLE_UNKNOWN",e[e.INFO=1]="INFO",e[e.PROMOTION=2]="PROMOTION",e[e.WARNING=3]="WARNING",e[e.ALERT=4]="ALERT"})(a0||(a0={}));var c0;(function(e){e[e.ADDED=0]="ADDED",e[e.DELETED=1]="DELETED",e[e.MODIFIED=2]="MODIFIED",e[e.RENAMED=3]="RENAMED"})(c0||(c0={}));var d0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.ALL_FEATURES=1]="ALL_FEATURES",e[e.CHAT=2]="CHAT",e[e.AGENT=3]="AGENT",e[e.REMOTE_AGENT=4]="REMOTE_AGENT",e[e.CLI_AGENT=5]="CLI_AGENT",e[e.ORIENTATION=7]="ORIENTATION",e[e.CODE_REVIEW=9]="CODE_REVIEW",e[e.CHAT_STREAM_CREDIT_CONSUMPTION=21]="CHAT_STREAM_CREDIT_CONSUMPTION",e[e.CONTEXT_ENGINE=22]="CONTEXT_ENGINE",e[e.POSEIDON=25]="POSEIDON",e[e.INDEXING_INFRA=28]="INDEXING_INFRA"})(d0||(d0={}));var u0;(function(e){e[e.STATE_UNKNOWN=0]="STATE_UNKNOWN",e[e.ENABLED=1]="ENABLED",e[e.DISABLED=2]="DISABLED"})(u0||(u0={}));var h0;(function(e){e[e.REASON_UNKNOWN=0]="REASON_UNKNOWN",e[e.INACTIVE_SUBSCRIPTION=1]="INACTIVE_SUBSCRIPTION",e[e.USAGE_BALANCE_DEPLETED=2]="USAGE_BALANCE_DEPLETED",e[e.NOT_INCLUDED_IN_PLAN=3]="NOT_INCLUDED_IN_PLAN",e[e.QUOTA_EXCEEDED=4]="QUOTA_EXCEEDED"})(h0||(h0={}));var NS=M(go,526,0);var b0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COMMUNITY_TIER=1]="COMMUNITY_TIER",e[e.PROFESSIONAL_TIER=2]="PROFESSIONAL_TIER",e[e.ENTERPRISE_TIER=3]="ENTERPRISE_TIER"})(b0||(b0={}));var FS=M(go,550);var BS=M(go,631);var CS=M(go,735);var f0;(function(e){e[e.GLOBAL=0]="GLOBAL",e[e.TENANT=1]="TENANT"})(f0||(f0={}));var m0;(function(e){e[e.AGENT_HISTORY_UPDATE_TYPE_UNSPECIFIED=0]="AGENT_HISTORY_UPDATE_TYPE_UNSPECIFIED",e[e.AGENT_HISTORY_EXCHANGE=1]="AGENT_HISTORY_EXCHANGE",e[e.AGENT_HISTORY_EXCHANGE_UPDATE=2]="AGENT_HISTORY_EXCHANGE_UPDATE",e[e.AGENT_HISTORY_AGENT_STATUS=3]="AGENT_HISTORY_AGENT_STATUS"})(m0||(m0={}));var A0;(function(e){e[e.AGENT_LIST_UPDATE_TYPE_UNSPECIFIED=0]="AGENT_LIST_UPDATE_TYPE_UNSPECIFIED",e[e.AGENT_LIST_AGENT_ADDED=1]="AGENT_LIST_AGENT_ADDED",e[e.AGENT_LIST_AGENT_UPDATED=2]="AGENT_LIST_AGENT_UPDATED",e[e.AGENT_LIST_AGENT_DELETED=3]="AGENT_LIST_AGENT_DELETED",e[e.AGENT_LIST_ALL_AGENTS=4]="AGENT_LIST_ALL_AGENTS"})(A0||(A0={}));var V0;(function(e){e[e.GLOBAL=0]="GLOBAL",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER"})(V0||(V0={}));var g0;(function(e){e[e.AGENT_WORKSPACE_UPDATE_TYPE_UNSPECIFIED=0]="AGENT_WORKSPACE_UPDATE_TYPE_UNSPECIFIED",e[e.AGENT_WORKSPACE_UPDATE_INTERRUPT=1]="AGENT_WORKSPACE_UPDATE_INTERRUPT",e[e.AGENT_WORKSPACE_UPDATE_CHAT_REQUEST=2]="AGENT_WORKSPACE_UPDATE_CHAT_REQUEST"})(g0||(g0={}));var p0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COST=1]="COST",e[e.OUTCOME=2]="OUTCOME"})(p0||(p0={}));var E0;(function(e){e[e.TEXT=0]="TEXT",e[e.TOOL_RESULT=1]="TOOL_RESULT",e[e.IMAGE=2]="IMAGE",e[e.IMAGE_ID=3]="IMAGE_ID",e[e.IDE_STATE=4]="IDE_STATE",e[e.EDIT_EVENTS=5]="EDIT_EVENTS",e[e.CHECKPOINT_REF=6]="CHECKPOINT_REF",e[e.CHAT_NODE_FILE=8]="CHAT_NODE_FILE",e[e.CHAT_NODE_FILE_ID=9]="CHAT_NODE_FILE_ID",e[e.HISTORY_SUMMARY=10]="HISTORY_SUMMARY"})(E0||(E0={}));var R0;(function(e){e[e.RAW_RESPONSE=0]="RAW_RESPONSE",e[e.SUGGESTED_QUESTIONS=1]="SUGGESTED_QUESTIONS",e[e.MAIN_TEXT_FINISHED=2]="MAIN_TEXT_FINISHED",e[e.WORKSPACE_FILE_CHUNKS=3]="WORKSPACE_FILE_CHUNKS",e[e.RELEVANT_SOURCES=4]="RELEVANT_SOURCES",e[e.TOOL_USE=5]="TOOL_USE",e[e.TOOL_USE_START=7]="TOOL_USE_START",e[e.THINKING=8]="THINKING",e[e.BILLING_METADATA=9]="BILLING_METADATA",e[e.TOKEN_USAGE=10]="TOKEN_USAGE"})(R0||(R0={}));var Z0;(function(e){e[e.REASON_UNSPECIFIED=0]="REASON_UNSPECIFIED",e[e.END_TURN=1]="END_TURN",e[e.MAX_TOKENS=2]="MAX_TOKENS",e[e.TOOL_USE_REQUESTED=3]="TOOL_USE_REQUESTED",e[e.SAFETY=4]="SAFETY",e[e.RECITATION=5]="RECITATION",e[e.MALFORMED_FUNCTION_CALL=6]="MALFORMED_FUNCTION_CALL",e[e.STOP_REASON_ERROR=7]="STOP_REASON_ERROR"})(Z0||(Z0={}));var S0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_ACCESS=1]="WEB_ACCESS",e[e.MCP=2]="MCP",e[e.CLI_TOOLS=4]="CLI_TOOLS",e[e.GITHUB=5]="GITHUB"})(S0||(S0={}));var X0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SALSA=1]="SALSA",e[e.AUGGIE=2]="AUGGIE"})(X0||(X0={}));var W0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.IDLE=1]="IDLE",e[e.PROCESSING=2]="PROCESSING",e[e.TERMINATED=3]="TERMINATED",e[e.COMPLETED=4]="COMPLETED",e[e.STARTING=5]="STARTING",e[e.WAITING_FOR_INPUT=6]="WAITING_FOR_INPUT"})(W0||(W0={}));var G0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.FORCE_ISOLATED=1]="FORCE_ISOLATED",e[e.FORCE_SHARED=2]="FORCE_SHARED"})(G0||(G0={}));var I0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BASE_IMAGE=1]="BASE_IMAGE",e[e.DAEMON_POOL=2]="DAEMON_POOL",e[e.UNPOOLED_DAEMON=3]="UNPOOLED_DAEMON"})(I0||(I0={}));var N0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.NAME_ASC=1]="NAME_ASC",e[e.NAME_DESC=2]="NAME_DESC",e[e.CREATED_BY_ASC=3]="CREATED_BY_ASC",e[e.CREATED_BY_DESC=4]="CREATED_BY_DESC",e[e.SIZE_ASC=5]="SIZE_ASC",e[e.SIZE_DESC=6]="SIZE_DESC",e[e.REPOS_ASC=7]="REPOS_ASC",e[e.REPOS_DESC=8]="REPOS_DESC",e[e.UPDATED_ASC=9]="UPDATED_ASC",e[e.UPDATED_DESC=10]="UPDATED_DESC",e[e.CREATED_ASC=11]="CREATED_ASC",e[e.CREATED_DESC=12]="CREATED_DESC"})(N0||(N0={}));var F0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PERSONAL=1]="PERSONAL",e[e.SHARED=2]="SHARED"})(F0||(F0={}));var B0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BUILD_FAILED=1]="BUILD_FAILED",e[e.EXECUTION_INTERRUPTED=2]="EXECUTION_INTERRUPTED",e[e.INTERNAL=3]="INTERNAL",e[e.VERSION_CONFLICT=4]="VERSION_CONFLICT",e[e.REFRESH_FAILED=5]="REFRESH_FAILED",e[e.RECONCILE_FAILED=6]="RECONCILE_FAILED",e[e.UPDATE_FAILED=7]="UPDATE_FAILED"})(B0||(B0={}));var C0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.QUEUED=1]="QUEUED",e[e.PREPARING=2]="PREPARING",e[e.BUILDING=3]="BUILDING",e[e.PROMOTING=4]="PROMOTING",e[e.UPDATING=6]="UPDATING"})(C0||(C0={}));var Y0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PENDING=1]="PENDING",e[e.RUNNING=2]="RUNNING",e[e.CANCEL_REQUESTED=3]="CANCEL_REQUESTED",e[e.SUCCEEDED=4]="SUCCEEDED",e[e.FAILED=5]="FAILED",e[e.CANCELED=6]="CANCELED"})(Y0||(Y0={}));var an;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BASE_IMAGE_REBUILD=1]="BASE_IMAGE_REBUILD",e[e.BASE_IMAGE_BUILD=2]="BASE_IMAGE_BUILD",e[e.REFRESH=3]="REFRESH",e[e.REPOSITORY_RECONCILE=4]="REPOSITORY_RECONCILE",e[e.UPDATE=5]="UPDATE"})(an||(an={}));var y0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ACTIVE=1]="ACTIVE",e[e.BUILDING=2]="BUILDING",e[e.FAILED=3]="FAILED",e[e.DEPRECATED=4]="DEPRECATED",e[e.DELETING=5]="DELETING"})(y0||(y0={}));var pr;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_ACCESS=1]="WEB_ACCESS",e[e.CLI_TOOLS=4]="CLI_TOOLS",e[e.GITHUB=7]="GITHUB",e[e.LINEAR=8]="LINEAR",e[e.ECHO=9]="ECHO",e[e.SLACK=11]="SLACK",e[e.GITHUB_APP=12]="GITHUB_APP",e[e.LINEAR_APP=13]="LINEAR_APP",e[e.CUSTOM_WEBHOOK=19]="CUSTOM_WEBHOOK",e[e.GITLAB=20]="GITLAB",e[e.GITLAB_APP=21]="GITLAB_APP",e[e.JIRA=23]="JIRA",e[e.CONFLUENCE=24]="CONFLUENCE",e[e.JIRA_APP=25]="JIRA_APP",e[e.CONFLUENCE_APP=26]="CONFLUENCE_APP",e[e.TEAMS=27]="TEAMS",e[e.AZURE_DEVOPS=28]="AZURE_DEVOPS",e[e.AZURE_DEVOPS_APP=29]="AZURE_DEVOPS_APP"})(pr||(pr={}));var ob;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.BUILTIN_CAPABILITIES=1]="BUILTIN_CAPABILITIES",e[e.NAMES=2]="NAMES"})(ob||(ob={}));var w0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.REQUIRED_WORKER=1]="REQUIRED_WORKER"})(w0||(w0={}));var U0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.RESTORE_TARGET=1]="RESTORE_TARGET",e[e.EDIT_DEPENDENCIES=2]="EDIT_DEPENDENCIES"})(U0||(U0={}));var x0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MISSING=1]="MISSING",e[e.DELETED=2]="DELETED",e[e.INACCESSIBLE=3]="INACCESSIBLE"})(x0||(x0={}));var ib;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER"})(ib||(ib={}));var v0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SHARED=1]="SHARED",e[e.PRIVATE=2]="PRIVATE"})(v0||(v0={}));var J0;(function(e){e[e.CLOUD_EXPERT_VM_IMAGE_SOURCE_UNSPECIFIED=0]="CLOUD_EXPERT_VM_IMAGE_SOURCE_UNSPECIFIED",e[e.CLOUD_EXPERT_VM_IMAGE_SOURCE_PUBLIC=1]="CLOUD_EXPERT_VM_IMAGE_SOURCE_PUBLIC",e[e.CLOUD_EXPERT_VM_IMAGE_SOURCE_GCP_ARTIFACT_REGISTRY=2]="CLOUD_EXPERT_VM_IMAGE_SOURCE_GCP_ARTIFACT_REGISTRY"})(J0||(J0={}));var k0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.HUMAN=1]="HUMAN",e[e.SERVICE_ACCOUNT=2]="SERVICE_ACCOUNT"})(k0||(k0={}));var _0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER"})(_0||(_0={}));var Q0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SYSTEM_MANAGED=1]="SYSTEM_MANAGED",e[e.USER_MANAGED=2]="USER_MANAGED"})(Q0||(Q0={}));var T0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.WEB_PREVIEW=1]="WEB_PREVIEW",e[e.DISPLAY=2]="DISPLAY"})(T0||(T0={}));var K0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PENDING=1]="PENDING",e[e.ACTIVE=2]="ACTIVE",e[e.DISCONNECTED=3]="DISCONNECTED",e[e.REVOKED=4]="REVOKED",e[e.EXPIRED=5]="EXPIRED",e[e.CLOSED=6]="CLOSED",e[e.ERROR=7]="ERROR"})(K0||(K0={}));var z0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CODE=1]="CODE",e[e.CHAT_INPUT=2]="CHAT_INPUT"})(z0||(z0={}));var D0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CHAT=1]="CHAT",e[e.AGENT=2]="AGENT"})(D0||(D0={}));var L0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.NON_BYOK=1]="NON_BYOK",e[e.BYOK=2]="BYOK"})(L0||(L0={}));var H0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.USER=2]="USER",e[e.BYOK_STATUS=4]="BYOK_STATUS",e[e.RESOURCE=5]="RESOURCE",e[e.PRODUCT=6]="PRODUCT",e[e.EXPERT=7]="EXPERT"})(H0||(H0={}));var M0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.MODEL=1]="MODEL",e[e.COMPUTE=2]="COMPUTE"})(M0||(M0={}));var O0;(function(e){e[e.VALUES=0]="VALUES",e[e.ANY_VALUE=1]="ANY_VALUE",e[e.MISSING_VALUE=2]="MISSING_VALUE"})(O0||(O0={}));var j0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TOTAL=1]="TOTAL",e[e.DAY=2]="DAY",e[e.WEEK=3]="WEEK"})(j0||(j0={}));var P0;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.USER=1]="USER",e[e.SERVICE_ACCOUNT=2]="SERVICE_ACCOUNT",e[e.BOT=3]="BOT"})(P0||(P0={}));var q0;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.FIX=1]="FIX",e[e.FEATURE=2]="FEATURE",e[e.REFACTOR=3]="REFACTOR",e[e.DOCUMENTATION=4]="DOCUMENTATION",e[e.STYLE=5]="STYLE",e[e.TEST=6]="TEST",e[e.CHORE=7]="CHORE",e[e.REVERT=8]="REVERT",e[e.OTHER=9]="OTHER"})(q0||(q0={}));var $0;(function(e){e[e.EDIT_SOURCE_UNSPECIFIED=0]="EDIT_SOURCE_UNSPECIFIED",e[e.EDIT_SOURCE_USER_EDIT=1]="EDIT_SOURCE_USER_EDIT",e[e.EDIT_SOURCE_CHECKPOINT_REVERT=2]="EDIT_SOURCE_CHECKPOINT_REVERT"})($0||($0={}));var eS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.GITHUB=1]="GITHUB",e[e.LINEAR=2]="LINEAR",e[e.SCHEDULE=3]="SCHEDULE",e[e.SCHEDULE_TEMP=4]="SCHEDULE_TEMP"})(eS||(eS={}));var tS;(function(e){e[e.UNKNOWN_SOURCE=0]="UNKNOWN_SOURCE",e[e.DOCUMENTATION_SET=1]="DOCUMENTATION_SET"})(tS||(tS={}));var nS;(function(e){e[e.UNSET=0]="UNSET",e[e.POSITIVE=1]="POSITIVE",e[e.NEGATIVE=2]="NEGATIVE"})(nS||(nS={}));var rS;(function(e){e[e.GITHUB_ENTITY_TYPE_UNSPECIFIED=0]="GITHUB_ENTITY_TYPE_UNSPECIFIED",e[e.GITHUB_ENTITY_TYPE_PULL_REQUEST=1]="GITHUB_ENTITY_TYPE_PULL_REQUEST",e[e.GITHUB_ENTITY_TYPE_WORKFLOW_RUN=2]="GITHUB_ENTITY_TYPE_WORKFLOW_RUN"})(rS||(rS={}));var oS;(function(e){e[e.IMAGE_FORMAT_UNSPECIFIED=0]="IMAGE_FORMAT_UNSPECIFIED",e[e.PNG=1]="PNG",e[e.JPEG=2]="JPEG",e[e.GIF=3]="GIF",e[e.WEBP=4]="WEBP"})(oS||(oS={}));var iS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ISSUE=1]="ISSUE"})(iS||(iS={}));var sS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.NONE=1]="NONE",e[e.OAUTH=2]="OAUTH",e[e.API_KEY=3]="API_KEY"})(sS||(sS={}));var lS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.OPT_IN_REQUIRED=2]="OPT_IN_REQUIRED"})(lS||(lS={}));var aS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.USER=1]="USER",e[e.TENANT=2]="TENANT"})(aS||(aS={}));var cS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.CLI=1]="CLI",e[e.CLOUD_AGENT=2]="CLOUD_AGENT"})(cS||(cS={}));var dS;(function(e){e[e.DISPLAY_TYPE_UNSPECIFIED=0]="DISPLAY_TYPE_UNSPECIFIED",e[e.DISPLAY_TYPE_TOAST=1]="DISPLAY_TYPE_TOAST",e[e.DISPLAY_TYPE_BANNER=2]="DISPLAY_TYPE_BANNER"})(dS||(dS={}));var uS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INFO=1]="INFO",e[e.WARNING=2]="WARNING",e[e.ERROR=3]="ERROR"})(uS||(uS={}));var hS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.COSMOS=1]="COSMOS",e[e.NON_COSMOS=2]="NON_COSMOS"})(hS||(hS={}));var bS;(function(e){e[e.DEFAULT=0]="DEFAULT",e[e.PROTOTYPER=1]="PROTOTYPER",e[e.BRAINSTORM=2]="BRAINSTORM",e[e.REVIEWER=3]="REVIEWER"})(bS||(bS={}));var fS;(function(e){e[e.RESUME_AGENT_HINT_REASON_UNSPECIFIED=0]="RESUME_AGENT_HINT_REASON_UNSPECIFIED",e[e.RESUME_AGENT_HINT_REASON_TYPING_MESSAGE=1]="RESUME_AGENT_HINT_REASON_TYPING_MESSAGE",e[e.RESUME_AGENT_HINT_REASON_VIEWING_AGENT=2]="RESUME_AGENT_HINT_REASON_VIEWING_AGENT"})(fS||(fS={}));var mS;(function(e){e[e.AGENT_UNSPECIFIED=0]="AGENT_UNSPECIFIED",e[e.AGENT_PENDING=5]="AGENT_PENDING",e[e.AGENT_STARTING=1]="AGENT_STARTING",e[e.AGENT_RUNNING=2]="AGENT_RUNNING",e[e.AGENT_IDLE=3]="AGENT_IDLE",e[e.AGENT_FAILED=4]="AGENT_FAILED",e[e.AGENT_PAUSING=6]="AGENT_PAUSING",e[e.AGENT_PAUSED=7]="AGENT_PAUSED"})(mS||(mS={}));var AS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.RUNNING=1]="RUNNING",e[e.PAUSING=2]="PAUSING",e[e.PAUSED=3]="PAUSED",e[e.RESUMING=4]="RESUMING",e[e.DELETING=5]="DELETING"})(AS||(AS={}));var cn;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEB_SEARCH=1]="WEB_SEARCH",e[e.GITHUB_API=8]="GITHUB_API",e[e.GITHUB_APP_READONLY_API=18]="GITHUB_APP_READONLY_API",e[e.GITHUB_APP_POST_COMMENT=19]="GITHUB_APP_POST_COMMENT",e[e.GITHUB_APP_PR_DESCRIPTION=20]="GITHUB_APP_PR_DESCRIPTION",e[e.LINEAR=12]="LINEAR",e[e.JIRA=13]="JIRA",e[e.CONFLUENCE=14]="CONFLUENCE",e[e.NOTION=15]="NOTION",e[e.SUPABASE=16]="SUPABASE",e[e.GLEAN=17]="GLEAN"})(cn||(cn={}));var sb;(function(e){e[e.TOOL_EXECUTION_UNKNOWN_STATUS=0]="TOOL_EXECUTION_UNKNOWN_STATUS",e[e.TOOL_EXECUTION_SUCCESS=1]="TOOL_EXECUTION_SUCCESS",e[e.TOOL_NOT_FOUND=2]="TOOL_NOT_FOUND",e[e.INVALID_TOOL_INPUT=3]="INVALID_TOOL_INPUT",e[e.TOOL_EXECUTION_ERROR=4]="TOOL_EXECUTION_ERROR",e[e.TOOL_NOT_AVAILABLE=5]="TOOL_NOT_AVAILABLE",e[e.TOOL_AUTHENTICATION_ERROR=6]="TOOL_AUTHENTICATION_ERROR"})(sb||(sb={}));var VS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.RUNNING=1]="RUNNING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE",e[e.SKIPPED=4]="SKIPPED"})(VS||(VS={}));var gS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.IDE=1]="IDE",e[e.AUGMENT_ACTIONS=2]="AUGMENT_ACTIONS",e[e.SLACK_BOT=3]="SLACK_BOT",e[e.GITHUB_BOT=4]="GITHUB_BOT",e[e.LINEAR_BOT=5]="LINEAR_BOT",e[e.CLI=6]="CLI"})(gS||(gS={}));var pS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.UNIMPLEMENTED=1]="UNIMPLEMENTED",e[e.NOT_FOUND=2]="NOT_FOUND",e[e.SUCCESS=3]="SUCCESS",e[e.NOT_ACTIVE=4]="NOT_ACTIVE",e[e.FAILED=5]="FAILED"})(pS||(pS={}));var ES;(function(e){e[e.ALWAYS_ATTACHED=0]="ALWAYS_ATTACHED",e[e.MANUAL=1]="MANUAL",e[e.AGENT_REQUESTED=2]="AGENT_REQUESTED"})(ES||(ES={}));var RS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.EXECUTION=1]="EXECUTION"})(RS||(RS={}));var dn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PERSONAL=1]="PERSONAL",e[e.SPACE=2]="SPACE",e[e.ORGANIZATION=3]="ORGANIZATION"})(dn||(dn={}));var Vo;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PRIVATE=1]="PRIVATE",e[e.SHARED=2]="SHARED"})(Vo||(Vo={}));var ZS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.SYSTEM=1]="SYSTEM",e[e.CUSTOM=2]="CUSTOM"})(ZS||(ZS={}));var SS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.UNIMPLEMENTED=1]="UNIMPLEMENTED",e[e.NOT_FOUND=2]="NOT_FOUND",e[e.OK=3]="OK",e[e.ERROR=4]="ERROR",e[e.SERVICE_UNAVAILABLE=5]="SERVICE_UNAVAILABLE",e[e.AUTHENTICATION_ERROR=6]="AUTHENTICATION_ERROR"})(SS||(SS={}));var lb;(function(e){e[e.UNKNOWN_STATUS=0]="UNKNOWN_STATUS",e[e.AVAILABLE=1]="AVAILABLE",e[e.USER_CONFIG_REQUIRED=2]="USER_CONFIG_REQUIRED"})(lb||(lb={}));var XS;(function(e){e[e.CONTENT_TYPE_UNSPECIFIED=0]="CONTENT_TYPE_UNSPECIFIED",e[e.CONTENT_TEXT=1]="CONTENT_TEXT",e[e.CONTENT_IMAGE=2]="CONTENT_IMAGE"})(XS||(XS={}));var WS;(function(e){e[e.TOOL_UNSAFE=0]="TOOL_UNSAFE",e[e.TOOL_SAFE=1]="TOOL_SAFE",e[e.TOOL_CHECK=2]="TOOL_CHECK"})(WS||(WS={}));var GS;(function(e){e[e.TRIGGER_CONDITION_TYPE_UNSPECIFIED=0]="TRIGGER_CONDITION_TYPE_UNSPECIFIED",e[e.TRIGGER_CONDITION_GITHUB=1]="TRIGGER_CONDITION_GITHUB",e[e.TRIGGER_CONDITION_LINEAR=2]="TRIGGER_CONDITION_LINEAR",e[e.TRIGGER_CONDITION_SCHEDULE=3]="TRIGGER_CONDITION_SCHEDULE"})(GS||(GS={}));var IS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.CREDITS=1]="CREDITS",e[e.USD=2]="USD"})(IS||(IS={}));var YS=k("CiRzZXJ2aWNlcy9wb3NlaWRvbi9jYXBhYmlsaXRpZXMucHJvdG8SCHBvc2VpZG9uIlEKEUNsaVRvb2xEZWZpbml0aW9uEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSGQoRaW5wdXRfc2NoZW1hX2pzb24YAyABKAliBnByb3RvMw",[Vt,ee,$e]);var Ma=k("CipzZXJ2aWNlcy9wb3NlaWRvbi92aXJ0dWFsX2ZpbGVzeXN0ZW0ucHJvdG8SCHBvc2VpZG9uImwKF0FwcGVuZFZGU0NvbW1lbnRSZXF1ZXN0EhUKDWZpbGVzeXN0ZW1faWQYASABKAkSKAoFZXZlbnQYAiABKAsyGS5wb3NlaWRvbi5WRlNDb21tZW50RXZlbnQSEAoIc3BhY2VfaWQYAyABKAkiRAoYQXBwZW5kVkZTQ29tbWVudFJlc3BvbnNlEigKBWV2ZW50GAEgASgLMhkucG9zZWlkb24uVkZTQ29tbWVudEV2ZW50IrsBChdDb21taXRWRlNDaGFuZ2VzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEi0KDGZpbGVfY2hhbmdlcxgCIAMoCzIXLnBvc2VpZG9uLlZGU0ZpbGVDaGFuZ2USEwoLbW9kaWZpZWRfYnkYAyABKAkSFQoIYWdlbnRfaWQYBCABKAlIAIgBARIQCghzcGFjZV9pZBgFIAEoCRIPCgdmaWxlX2lkGAYgASgJQgsKCV9hZ2VudF9pZCJZChhDb21taXRWRlNDaGFuZ2VzUmVzcG9uc2USDwoHbmV3X3NlcRgBIAEoAxIsCg1za2lwcGVkX2ZpbGVzGAIgAygLMhUucG9zZWlkb24uU2tpcHBlZEZpbGUiVQocRW5zdXJlVkZTRmlsZUlkZW50aXR5UmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEAoIc3BhY2VfaWQYAyABKAkiewoWRmV0Y2hWRlNDaGFuZ2VzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEhEKCWFmdGVyX3NlcRgCIAEoAxIQCghzcGFjZV9pZBgDIAEoCRIQCghhZ2VudF9pZBgEIAEoCRITCgtwYXRoX3ByZWZpeBgFIAEoCSJaChdGZXRjaFZGU0NoYW5nZXNSZXNwb25zZRIrCgdjaGFuZ2VzGAEgAygLMhoucG9zZWlkb24uVkZTQ2hhbmdlU3VtbWFyeRISCgpsYXRlc3Rfc2VxGAIgASgDIncKGkZldGNoVkZTRmlsZUNvbnRlbnRSZXF1ZXN0EhUKDWZpbGVzeXN0ZW1faWQYASABKAkSDQoFcGF0aHMYAiADKAkSEAoIc3BhY2VfaWQYAyABKAkSDwoHZmlsZV9pZBgEIAEoCRIQCghhZ2VudF9pZBgFIAEoCSJGChtGZXRjaFZGU0ZpbGVDb250ZW50UmVzcG9uc2USJwoFZmlsZXMYASADKAsyGC5wb3NlaWRvbi5WRlNGaWxlQ29udGVudCKHAQoWTGlzdFZGU0NvbW1lbnRzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkSEAoIc3BhY2VfaWQYBSABKAkSDwoHZmlsZV9pZBgGIAEoCSJdChdMaXN0VkZTQ29tbWVudHNSZXNwb25zZRIpCgZldmVudHMYASADKAsyGS5wb3NlaWRvbi5WRlNDb21tZW50RXZlbnQSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIosBChpMaXN0VkZTRmlsZVZlcnNpb25zUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkSEAoIc3BhY2VfaWQYBSABKAkSDwoHZmlsZV9pZBgGIAEoCSJnChtMaXN0VkZTRmlsZVZlcnNpb25zUmVzcG9uc2USLwoIdmVyc2lvbnMYASADKAsyHS5wb3NlaWRvbi5WRlNGaWxlVmVyc2lvbkVudHJ5EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKHAQocTGlzdFZGU1ZlcnNpb25lZEZpbGVzUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEhcKD2luY2x1ZGVfZGVsZXRlZBgCIAEoCBIRCglwYWdlX3NpemUYAyABKAUSEgoKcGFnZV90b2tlbhgEIAEoCRIQCghzcGFjZV9pZBgFIAEoCSJqCh1MaXN0VkZTVmVyc2lvbmVkRmlsZXNSZXNwb25zZRIwCgVmaWxlcxgBIAMoCzIhLnBvc2VpZG9uLlZGU1ZlcnNpb25lZEZpbGVTdW1tYXJ5EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKDAQoZUmVhZFZGU0ZpbGVWZXJzaW9uUmVxdWVzdBIVCg1maWxlc3lzdGVtX2lkGAEgASgJEgwKBHBhdGgYAiABKAkSEQoJdGltZXN0YW1wGAMgASgJEgsKA3NlcRgEIAEoAxIQCghzcGFjZV9pZBgFIAEoCRIPCgdmaWxlX2lkGAYgASgJIl0KGlJlYWRWRlNGaWxlVmVyc2lvblJlc3BvbnNlEg8KB2NvbnRlbnQYASABKAwSCwoDc2VxGAIgASgDEgwKBHNpemUYAyABKAMSEwoLbW9kaWZpZWRfYnkYBCABKAkiMAodUmVzb2x2ZVZGU0ZpbGVJZGVudGl0eVJlcXVlc3QSDwoHZmlsZV9pZBgBIAEoCSIrCgtTa2lwcGVkRmlsZRIMCgRwYXRoGAEgASgJEg4KBnJlYXNvbhgCIAEoCSKBAQoQVkZTQ2hhbmdlU3VtbWFyeRIMCgRwYXRoGAEgASgJEgwKBHNpemUYAiABKAMSDQoFbXRpbWUYAyABKAMSEwoLbW9kaWZpZWRfYnkYBCABKAkSCwoDc2VxGAUgASgDEg8KB2RlbGV0ZWQYBiABKAgSDwoHZmlsZV9pZBgHIAEoCSKTAQoQVkZTQ29tbWVudEFuY2hvchITCgt2ZXJzaW9uX3NlcRgBIAEoAxINCgVxdW90ZRgCIAEoCRIRCglsaW5lX2hpbnQYAyABKAUSFAoMc3RhcnRfb2Zmc2V0GAQgASgFEhIKCmVuZF9vZmZzZXQYBSABKAUSDgoGcHJlZml4GAYgASgJEg4KBnN1ZmZpeBgHIAEoCSKwAwoPVkZTQ29tbWVudEV2ZW50EhAKCGV2ZW50X2lkGAEgASgJEhIKCmNvbW1lbnRfaWQYAiABKAkSDAoEcGF0aBgDIAEoCRIrCgRraW5kGAQgASgOMh0ucG9zZWlkb24uVkZTQ29tbWVudEV2ZW50S2luZBIMCgRib2R5GAYgASgJEioKBmFuY2hvchgHIAEoCzIaLnBvc2VpZG9uLlZGU0NvbW1lbnRBbmNob3ISEgoKY3JlYXRlZF9hdBgIIAEoCRIRCglwYXJlbnRfaWQYCSABKAkSEQoJYXV0aG9yX2lkGAogASgJEg8KB2ZpbGVfaWQYCyABKAkSLQoIbWVudGlvbnMYDCADKAsyGy5wb3NlaWRvbi5WRlNDb21tZW50TWVudGlvbhIWCg5yZWFjdGlvbl9lbW9qaRgNIAEoCRIzCgtyZWFjdGlvbl9vcBgOIAEoDjIeLnBvc2VpZG9uLlZGU0NvbW1lbnRSZWFjdGlvbk9wEhsKE2F1dGhvcl9kaXNwbGF5X25hbWUYDyABKAkSEAoIYWdlbnRfaWQYECABKAlKBAgFEAZSBmF1dGhvciKMAQoRVkZTQ29tbWVudE1lbnRpb24SLQoEdHlwZRgBIAEoDjIfLnBvc2VpZG9uLlZGU0NvbW1lbnRNZW50aW9uVHlwZRIKCgJpZBgCIAEoCRIPCgdkaXNwbGF5GAMgASgJEg0KBXN0YXJ0GAQgASgFEg4KBmxlbmd0aBgFIAEoBRIMCgRwYXRoGAYgASgJIlEKDVZGU0ZpbGVDaGFuZ2USDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgMEg8KB2RlbGV0ZWQYAyABKAgSEAoIYmFzZV9zZXEYBCABKAMiPAoOVkZTRmlsZUNvbnRlbnQSDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgMEgsKA3NlcRgDIAEoAyL4AQoTVkZTRmlsZUlkZW50aXR5SW5mbxIPCgdmaWxlX2lkGAEgASgJEhUKDWZpbGVzeXN0ZW1faWQYAiABKAkSEAoIc3BhY2VfaWQYAyABKAkSFAoMY3VycmVudF9wYXRoGAQgASgJEhMKC2N1cnJlbnRfc2VxGAUgASgDEg8KB2RlbGV0ZWQYBiABKAgSKAoFc2NvcGUYByABKA4yGS5wb3NlaWRvbi5GaWxlc3lzdGVtU2NvcGUSFQoNb3duZXJfdXNlcl9pZBgIIAEoCRIWCg5lZmZlY3RpdmVfcm9sZRgJIAEoCRISCgp1cGRhdGVkX2F0GAogASgJIuEBChNWRlNGaWxlVmVyc2lvbkVudHJ5EhEKCXRpbWVzdGFtcBgBIAEoCRILCgNzZXEYAiABKAMSDAoEc2l6ZRgDIAEoAxITCgttb2RpZmllZF9ieRgEIAEoCRIPCgdkZWxldGVkGAUgASgIEg8KB2ZpbGVfaWQYBiABKAkSFwoPcGF0aF9hdF92ZXJzaW9uGAcgASgJEhAKCGFnZW50X2lkGAggASgJEhsKE21vZGlmaWVkX2J5X3VzZXJfaWQYCSABKAkSHQoVbW9kaWZpZWRfYnlfdXNlcl9uYW1lGAogASgJImkKF1ZGU1ZlcnNpb25lZEZpbGVTdW1tYXJ5EgwKBHBhdGgYASABKAkSFQoNdmVyc2lvbl9jb3VudBgCIAEoBRIYChBsYXRlc3RfdGltZXN0YW1wGAMgASgJEg8KB2RlbGV0ZWQYBCABKAgqhwEKD0ZpbGVzeXN0ZW1TY29wZRIgChxGSUxFU1lTVEVNX1NDT1BFX1VOU1BFQ0lGSUVEEAASGwoXRklMRVNZU1RFTV9TQ09QRV9URU5BTlQQARIZChVGSUxFU1lTVEVNX1NDT1BFX1VTRVIQAhIaChZGSUxFU1lTVEVNX1NDT1BFX1NQQUNFEAMqvgIKE1ZGU0NvbW1lbnRFdmVudEtpbmQSJgoiVkZTX0NPTU1FTlRfRVZFTlRfS0lORF9VTlNQRUNJRklFRBAAEiIKHlZGU19DT01NRU5UX0VWRU5UX0tJTkRfQ1JFQVRFRBABEiEKHVZGU19DT01NRU5UX0VWRU5UX0tJTkRfRURJVEVEEAISIwofVkZTX0NPTU1FTlRfRVZFTlRfS0lORF9SRVNPTFZFRBADEiIKHlZGU19DT01NRU5UX0VWRU5UX0tJTkRfREVMRVRFRBAEEiUKIVZGU19DT01NRU5UX0VWRU5UX0tJTkRfUkVBTkNIT1JFRBAFEiMKH1ZGU19DT01NRU5UX0VWRU5UX0tJTkRfUkVPUEVORUQQBhIjCh9WRlNfQ09NTUVOVF9FVkVOVF9LSU5EX1JFQUNUSU9OEAcqhwEKFVZGU0NvbW1lbnRNZW50aW9uVHlwZRIoCiRWRlNfQ09NTUVOVF9NRU5USU9OX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1WRlNfQ09NTUVOVF9NRU5USU9OX1RZUEVfVVNFUhABEiEKHVZGU19DT01NRU5UX01FTlRJT05fVFlQRV9GSUxFEAIqhAEKFFZGU0NvbW1lbnRSZWFjdGlvbk9wEicKI1ZGU19DT01NRU5UX1JFQUNUSU9OX09QX1VOU1BFQ0lGSUVEEAASHwobVkZTX0NPTU1FTlRfUkVBQ1RJT05fT1BfQUREEAESIgoeVkZTX0NPTU1FTlRfUkVBQ1RJT05fT1BfUkVNT1ZFEAJiBnByb3RvMw",[ee]);var yS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TENANT=1]="TENANT",e[e.USER=2]="USER",e[e.SPACE=3]="SPACE"})(yS||(yS={}));var wS;(function(e){e[e.VFS_COMMENT_EVENT_KIND_UNSPECIFIED=0]="VFS_COMMENT_EVENT_KIND_UNSPECIFIED",e[e.VFS_COMMENT_EVENT_KIND_CREATED=1]="VFS_COMMENT_EVENT_KIND_CREATED",e[e.VFS_COMMENT_EVENT_KIND_EDITED=2]="VFS_COMMENT_EVENT_KIND_EDITED",e[e.VFS_COMMENT_EVENT_KIND_RESOLVED=3]="VFS_COMMENT_EVENT_KIND_RESOLVED",e[e.VFS_COMMENT_EVENT_KIND_DELETED=4]="VFS_COMMENT_EVENT_KIND_DELETED",e[e.VFS_COMMENT_EVENT_KIND_REANCHORED=5]="VFS_COMMENT_EVENT_KIND_REANCHORED",e[e.VFS_COMMENT_EVENT_KIND_REOPENED=6]="VFS_COMMENT_EVENT_KIND_REOPENED",e[e.VFS_COMMENT_EVENT_KIND_REACTION=7]="VFS_COMMENT_EVENT_KIND_REACTION"})(wS||(wS={}));var US;(function(e){e[e.VFS_COMMENT_MENTION_TYPE_UNSPECIFIED=0]="VFS_COMMENT_MENTION_TYPE_UNSPECIFIED",e[e.VFS_COMMENT_MENTION_TYPE_USER=1]="VFS_COMMENT_MENTION_TYPE_USER",e[e.VFS_COMMENT_MENTION_TYPE_FILE=2]="VFS_COMMENT_MENTION_TYPE_FILE"})(US||(US={}));var xS;(function(e){e[e.VFS_COMMENT_REACTION_OP_UNSPECIFIED=0]="VFS_COMMENT_REACTION_OP_UNSPECIFIED",e[e.VFS_COMMENT_REACTION_OP_ADD=1]="VFS_COMMENT_REACTION_OP_ADD",e[e.VFS_COMMENT_REACTION_OP_REMOVE=2]="VFS_COMMENT_REACTION_OP_REMOVE"})(xS||(xS={}));var QS=k("CiBzZXJ2aWNlcy9wb3NlaWRvbi9wb3NlaWRvbi5wcm90bxIIcG9zZWlkb24i/wIKE0Nvbm5lY3RDbGlWbVJlcXVlc3QSEAoIYWdlbnRfaWQYASABKAkSDQoFdm1faWQYAiABKAkSFgoOd29ya3NwYWNlX3BhdGgYAyABKAkSHgoWY2FwYWJpbGl0eV9pbnN0YW5jZV9pZBgEIAEoCRI0Cg9hdmFpbGFibGVfdG9vbHMYBSADKAsyGy5wb3NlaWRvbi5DbGlUb29sRGVmaW5pdGlvbhI0Cg9jb25uZWN0aW9uX21vZGUYBiABKA4yGy5wb3NlaWRvbi5DbGlDb25uZWN0aW9uTW9kZRIUCgxwYXJlbnRfdm1faWQYByABKAkSGQoRZGFlbW9uX2NvbW1hbmRfaWQYCCABKAkSGwoTY2xpZW50X2NhcGFiaWxpdGllcxgJIAMoCRITCgtjbGlfdmVyc2lvbhgKIAEoCRIkChdwcm92aXNpb25pbmdfZ2VuZXJhdGlvbhgLIAEoA0gAiAEBQhoKGF9wcm92aXNpb25pbmdfZ2VuZXJhdGlvbiLjAwoUQ29ubmVjdENsaVZtUmVzcG9uc2USDQoFdm1faWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJEjQKDHJlbW90ZV90b29scxgEIAMoCzIeLnBvc2VpZG9uLlJlbW90ZVRvb2xEZWZpbml0aW9uEjYKDnNlc3Npb25fY29uZmlnGAUgASgLMh4ucG9zZWlkb24uU2Vzc2lvbkNvbmZpZ3VyYXRpb24SFgoObWNwX2NvbmZpZ19pZHMYBiADKAkSSwoPdmZzX2ZpbGVzeXN0ZW1zGAcgAygLMjIucG9zZWlkb24uQ29ubmVjdENsaVZtUmVzcG9uc2UuVmZzRmlsZXN5c3RlbXNFbnRyeRIRCglleHBlcnRfaWQYCyABKAkSEwoLcGVyc29uYV9pZHMYDCADKAkSEAoIc3BhY2VfaWQYDSABKAkSEwoLd29ya2Zsb3dfaWQYDiABKAkSHwoXYWN0aXZlX2dlbmVyYXRpb25fZXBvY2gYDyABKAMSGgoSY29ubmVjdGlvbl92ZXJzaW9uGBAgASgDGjUKE1Zmc0ZpbGVzeXN0ZW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASK4AQohQ3JlYXRlSG9zdGVkQXJ0aWZhY3RVcGxvYWRSZXF1ZXN0EjYKCnZpc2liaWxpdHkYASABKA4yIi5wb3NlaWRvbi5Ib3N0ZWRBcnRpZmFjdFZpc2liaWxpdHkSEgoKbWVkaWFfdHlwZRgCIAEoCRISCgpzaXplX2J5dGVzGAMgASgDEhIKCnNoYTI1Nl9oZXgYBCABKAkSDQoFbGFiZWwYBSABKAkSEAoIZmlsZW5hbWUYBiABKAkiwQIKIkNyZWF0ZUhvc3RlZEFydGlmYWN0VXBsb2FkUmVzcG9uc2USGgoSaG9zdGVkX2FydGlmYWN0X2lkGAEgASgJEhYKDnNpZ25lZF9wdXRfdXJsGAIgASgJElsKEHJlcXVpcmVkX2hlYWRlcnMYAyADKAsyQS5wb3NlaWRvbi5DcmVhdGVIb3N0ZWRBcnRpZmFjdFVwbG9hZFJlc3BvbnNlLlJlcXVpcmVkSGVhZGVyc0VudHJ5EjkKFXNpZ25lZF91cmxfZXhwaXJlc19hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaNgoUUmVxdWlyZWRIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUoECAUQBlIRZXhpc3RpbmdfYXJ0aWZhY3QiUAobRGVsZXRlSG9zdGVkQXJ0aWZhY3RSZXF1ZXN0EhoKEmhvc3RlZF9hcnRpZmFjdF9pZBgBIAEoCRIVCg1jYW5vbmljYWxfdXJsGAIgASgJIh4KHERlbGV0ZUhvc3RlZEFydGlmYWN0UmVzcG9uc2UiTQodRmluYWxpemVIb3N0ZWRBcnRpZmFjdFJlcXVlc3QSGgoSaG9zdGVkX2FydGlmYWN0X2lkGAEgASgJEhAKCGZpbGVuYW1lGAIgASgJIkwKHkZpbmFsaXplSG9zdGVkQXJ0aWZhY3RSZXNwb25zZRIqCghhcnRpZmFjdBgBIAEoCzIYLnBvc2VpZG9uLkhvc3RlZEFydGlmYWN0Ir0CCg5Ib3N0ZWRBcnRpZmFjdBIaChJob3N0ZWRfYXJ0aWZhY3RfaWQYASABKAkSNgoKdmlzaWJpbGl0eRgCIAEoDjIiLnBvc2VpZG9uLkhvc3RlZEFydGlmYWN0VmlzaWJpbGl0eRISCgptZWRpYV90eXBlGAMgASgJEhIKCnNpemVfYnl0ZXMYBCABKAMSEgoKc2hhMjU2X2hleBgFIAEoCRINCgVsYWJlbBgGIAEoCRIVCg1vd25lcl91c2VyX2lkGAcgASgJEhUKDWNhbm9uaWNhbF91cmwYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiaQoUUmVtb3RlVG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIZChFpbnB1dF9zY2hlbWFfanNvbhgDIAEoCRITCgt0b29sX3NhZmV0eRgEIAEoCSLoAwoUU2Vzc2lvbkNvbmZpZ3VyYXRpb24SEgoFbW9kZWwYASABKAlIAIgBARIlCh1pbmNsdWRlX2RlZmF1bHRfc3lzdGVtX3Byb21wdBgCIAEoCBIVCg1zeXN0ZW1fcHJvbXB0GAMgASgJEi8KCnZpc2liaWxpdHkYBCABKA4yGy5wb3NlaWRvbi5TZXNzaW9uVmlzaWJpbGl0eRI0Cg9hZ2VudF9sb29wX3R5cGUYBSABKA4yFy5wb3NlaWRvbi5BZ2VudExvb3BUeXBlQgIYARJHCg11c2VyX21ldGFkYXRhGAYgAygLMjAucG9zZWlkb24uU2Vzc2lvbkNvbmZpZ3VyYXRpb24uVXNlck1ldGFkYXRhRW50cnkSHAoUYXV0b19jbGVhbnVwX29uX2lkbGUYByABKAgSGQoRd29ya2VyX2V4cGVydF9pZHMYCCADKAkSIgoadXNlX2FsbF9leHBlcnRzX2FzX3dvcmtlcnMYCSABKAgSHQoQcmVhc29uaW5nX2VmZm9ydBgKIAEoCUgBiAEBGjMKEVVzZXJNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCAoGX21vZGVsQhMKEV9yZWFzb25pbmdfZWZmb3J0KmcKDUFnZW50TG9vcFR5cGUSHwobQUdFTlRfTE9PUF9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVQUdFTlRfTE9PUF9UWVBFX1NBTFNBEAESGgoWQUdFTlRfTE9PUF9UWVBFX0FVR0dJRRACKpsBChFDbGlDb25uZWN0aW9uTW9kZRIfChtDTElfQ09OTkVDVElPTl9NT0RFX1VOS05PV04QABIlCiFDTElfQ09OTkVDVElPTl9NT0RFX1RPT0xfUFJPVklERVIQARIdChlDTElfQ09OTkVDVElPTl9NT0RFX0FHRU5UEAISHwobQ0xJX0NPTk5FQ1RJT05fTU9ERV9XQUlUSU5HEAMqmAEKGEhvc3RlZEFydGlmYWN0VmlzaWJpbGl0eRIqCiZIT1NURURfQVJUSUZBQ1RfVklTSUJJTElUWV9VTlNQRUNJRklFRBAAEikKJUhPU1RFRF9BUlRJRkFDVF9WSVNJQklMSVRZX1NFQ1JFVF9VUkwQARIlCiFIT1NURURfQVJUSUZBQ1RfVklTSUJJTElUWV9URU5BTlQQAip2ChFTZXNzaW9uVmlzaWJpbGl0eRIiCh5TRVNTSU9OX1ZJU0lCSUxJVFlfVU5TUEVDSUZJRUQQABIdChlTRVNTSU9OX1ZJU0lCSUxJVFlfU0hBUkVEEAESHgoaU0VTU0lPTl9WSVNJQklMSVRZX1BSSVZBVEUQAmIGcHJvdG8z",[rr,fV,ee,$e,YS,Ma]);var vS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SALSA=1]="SALSA",e[e.AUGGIE=2]="AUGGIE"})(vS||(vS={}));var JS;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TOOL_PROVIDER=1]="TOOL_PROVIDER",e[e.AGENT=2]="AGENT",e[e.WAITING=3]="WAITING"})(JS||(JS={}));var kS;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SECRET_URL=1]="SECRET_URL",e[e.TENANT=2]="TENANT"})(kS||(kS={}));var _S;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SHARED=1]="SHARED",e[e.PRIVATE=2]="PRIVATE"})(_S||(_S={}));var EJ=k("CitzZXJ2aWNlcy9hcGlfcHJveHkvcHVibGljX2FwaV9zZXJ2aWNlLnByb3RvEgpwdWJsaWNfYXBpIpIBCixDbG91ZEFnZW50c0Vuc3VyZVZGU0ZpbGVJZGVudGl0eUh0dHBSZXNwb25zZRIvCghpZGVudGl0eRgBIAEoCzIdLnBvc2VpZG9uLlZGU0ZpbGVJZGVudGl0eUluZm8SGAoQd2ViX2FwcF9iYXNlX3VybBgCIAEoCRIXCg9hcHBfcGF0aF9wcmVmaXgYAyABKAkieAotQ2xvdWRBZ2VudHNSZXNvbHZlVkZTRmlsZUlkZW50aXR5SHR0cFJlc3BvbnNlEi8KCGlkZW50aXR5GAEgASgLMh0ucG9zZWlkb24uVkZTRmlsZUlkZW50aXR5SW5mbxIWCg5jYWxsZXJfdXNlcl9pZBgCIAEoCTLZ8AIKEEF1Z21lbnRQdWJsaWNBcGkSaAoLQmF0Y2hVcGxvYWQSHi5wdWJsaWNfYXBpLkJhdGNoVXBsb2FkUmVxdWVzdBofLnB1YmxpY19hcGkuQmF0Y2hVcGxvYWRSZXNwb25zZSIYgtPkkwISIg0vYmF0Y2gtdXBsb2FkOgEqEksKBENoYXQSFy5wdWJsaWNfYXBpLkNoYXRSZXF1ZXN0GhgucHVibGljX2FwaS5DaGF0UmVzcG9uc2UiEILT5JMCCiIFL2NoYXQ6ASoSWgoKQ2hhdFN0cmVhbRIXLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3QaGC5wdWJsaWNfYXBpLkNoYXRSZXNwb25zZSIXgtPkkwIRIgwvY2hhdC1zdHJlYW06ASowARJiCg5Qcm9tcHRFbmhhbmNlchIXLnB1YmxpY19hcGkuQ2hhdFJlcXVlc3QaGC5wdWJsaWNfYXBpLkNoYXRSZXNwb25zZSIbgtPkkwIVIhAvcHJvbXB0LWVuaGFuY2VyOgEqMAESoAEKG0dlbmVyYXRlQ29tbWl0TWVzc2FnZVN0cmVhbRIoLnB1YmxpY19hcGkuR2VuZXJhdGVDb21taXRNZXNzYWdlUmVxdWVzdBopLnB1YmxpY19hcGkuR2VuZXJhdGVDb21taXRNZXNzYWdlUmVzcG9uc2UiKoLT5JMCJCIfL2dlbmVyYXRlLWNvbW1pdC1tZXNzYWdlLXN0cmVhbToBKjABEnUKEFNtYXJ0UGFzdGVTdHJlYW0SHi5wdWJsaWNfYXBpLkluc3RydWN0aW9uUmVxdWVzdBofLnB1YmxpY19hcGkuSW5zdHJ1Y3Rpb25SZXNwb25zZSIegtPkkwIYIhMvc21hcnQtcGFzdGUtc3RyZWFtOgEqMAESeAoPQ2hlY2twb2ludEJsb2JzEiIucHVibGljX2FwaS5DaGVja3BvaW50QmxvYnNSZXF1ZXN0GiMucHVibGljX2FwaS5DaGVja3BvaW50QmxvYnNSZXNwb25zZSIcgtPkkwIWIhEvY2hlY2twb2ludC1ibG9iczoBKhJjCgpDb21wbGV0aW9uEh0ucHVibGljX2FwaS5Db21wbGV0aW9uUmVxdWVzdBoeLnB1YmxpY19hcGkuQ29tcGxldGlvblJlc3BvbnNlIhaC0+STAhAiCy9jb21wbGV0aW9uOgEqEokBChNDaGF0SW5wdXRDb21wbGV0aW9uEiYucHVibGljX2FwaS5DaGF0SW5wdXRDb21wbGV0aW9uUmVxdWVzdBonLnB1YmxpY19hcGkuQ2hhdElucHV0Q29tcGxldGlvblJlc3BvbnNlIiGC0+STAhsiFi9jaGF0LWlucHV0LWNvbXBsZXRpb246ASoSegoVUmVzb2x2ZUNvbXBsZXRpb25zUnBjEh4ucHVibGljX2FwaS5SZXNvbHZlQ29tcGxldGlvbnMaIC5wdWJsaWNfYXBpLkNvbXBsZXRpb25SZXNvbHV0aW9uIh+C0+STAhkiFC9yZXNvbHZlLWNvbXBsZXRpb25zOgEqEoABChFSZXNvbHZlU21hcnRQYXN0ZRIgLnB1YmxpY19hcGkuU21hcnRQYXN0ZVJlc29sdXRpb24aKC5wdWJsaWNfYXBpLlNtYXJ0UGFzdGVSZXNvbHV0aW9uUmVzcG9uc2UiH4LT5JMCGSIUL3Jlc29sdmUtc21hcnQtcGFzdGU6ASoSpQEKGlJlc29sdmVDaGF0SW5wdXRDb21wbGV0aW9uEikucHVibGljX2FwaS5DaGF0SW5wdXRDb21wbGV0aW9uUmVzb2x1dGlvbhoxLnB1YmxpY19hcGkuQ2hhdElucHV0Q29tcGxldGlvblJlc29sdXRpb25SZXNwb25zZSIpgtPkkwIjIh4vcmVzb2x2ZS1jaGF0LWlucHV0LWNvbXBsZXRpb246ASoSSwoERWRpdBIXLnB1YmxpY19hcGkuRWRpdFJlcXVlc3QaGC5wdWJsaWNfYXBpLkVkaXRSZXNwb25zZSIQgtPkkwIKIgUvZWRpdDoBKhJkCgtSZXNvbHZlRWRpdBIaLnB1YmxpY19hcGkuRWRpdFJlc29sdXRpb24aHy5wdWJsaWNfYXBpLlJlc29sdmVFZGl0UmVzcG9uc2UiGILT5JMCEiINL3Jlc29sdmUtZWRpdDoBKhKaAQoWT25ib2FyZGluZ1Nlc3Npb25FdmVudBInLnB1YmxpY19hcGkuT25ib2FyZGluZ1Nlc3Npb25FdmVudEJhdGNoGioucHVibGljX2FwaS5PbmJvYXJkaW5nU2Vzc2lvbkV2ZW50UmVzcG9uc2UiK4LT5JMCJSIgL3JlY29yZC1vbmJvYXJkaW5nLXNlc3Npb24tZXZlbnQ6ASoSggEKFlJlY29yZFByZWZlcmVuY2VTYW1wbGUSHC5wdWJsaWNfYXBpLlByZWZlcmVuY2VTYW1wbGUaJC5wdWJsaWNfYXBpLlByZWZlcmVuY2VTYW1wbGVSZXNwb25zZSIkgtPkkwIeIhkvcmVjb3JkLXByZWZlcmVuY2Utc2FtcGxlOgEqEmgKC0ZpbmRNaXNzaW5nEh4ucHVibGljX2FwaS5GaW5kTWlzc2luZ1JlcXVlc3QaHy5wdWJsaWNfYXBpLkZpbmRNaXNzaW5nUmVzcG9uc2UiGILT5JMCEiINL2ZpbmQtbWlzc2luZzoBKhKXAQoXTGlzdEV4dGVybmFsU291cmNlVHlwZXMSKi5wdWJsaWNfYXBpLkxpc3RFeHRlcm5hbFNvdXJjZVR5cGVzUmVxdWVzdBorLnB1YmxpY19hcGkuTGlzdEV4dGVybmFsU291cmNlVHlwZXNSZXNwb25zZSIjgtPkkwIdIhsvbGlzdC1leHRlcm5hbC1zb3VyY2UtdHlwZXMSkQEKFVNlYXJjaEV4dGVybmFsU291cmNlcxIoLnB1YmxpY19hcGkuU2VhcmNoRXh0ZXJuYWxTb3VyY2VzUmVxdWVzdBopLnB1YmxpY19hcGkuU2VhcmNoRXh0ZXJuYWxTb3VyY2VzUmVzcG9uc2UiI4LT5JMCHSIYL3NlYXJjaC1leHRlcm5hbC1zb3VyY2VzOgEqEqYBChpHZXRJbXBsaWNpdEV4dGVybmFsU291cmNlcxItLnB1YmxpY19hcGkuR2V0SW1wbGljaXRFeHRlcm5hbFNvdXJjZXNSZXF1ZXN0Gi4ucHVibGljX2FwaS5HZXRJbXBsaWNpdEV4dGVybmFsU291cmNlc1Jlc3BvbnNlIimC0+STAiMiHi9nZXQtaW1wbGljaXQtZXh0ZXJuYWwtc291cmNlczoBKhJdCglHZXRNb2RlbHMSHC5wdWJsaWNfYXBpLkdldE1vZGVsc1JlcXVlc3QaHS5wdWJsaWNfYXBpLkdldE1vZGVsc1Jlc3BvbnNlIhOC0+STAg0iCy9nZXQtbW9kZWxzEl4KCE1lbW9yaXplEhsucHVibGljX2FwaS5NZW1vcml6ZVJlcXVlc3QaHC5wdWJsaWNfYXBpLk1lbW9yaXplUmVzcG9uc2UiF4gCAYLT5JMCDiIJL21lbW9yaXplOgEqEmgKC1JlcG9ydEVycm9yEh4ucHVibGljX2FwaS5SZXBvcnRFcnJvclJlcXVlc3QaHy5wdWJsaWNfYXBpLlJlcG9ydEVycm9yUmVzcG9uc2UiGILT5JMCEiINL3JlcG9ydC1lcnJvcjoBKhJxCg1HZXRDcmVkaXRJbmZvEiAucHVibGljX2FwaS5HZXRDcmVkaXRJbmZvUmVxdWVzdBohLnB1YmxpY19hcGkuR2V0Q3JlZGl0SW5mb1Jlc3BvbnNlIhuC0+STAhUiEC9nZXQtY3JlZGl0LWluZm86ASoSfQoQR2V0Q29zdEFuYWx5dGljcxIjLnB1YmxpY19hcGkuR2V0Q29zdEFuYWx5dGljc1JlcXVlc3QaJC5wdWJsaWNfYXBpLkdldENvc3RBbmFseXRpY3NSZXNwb25zZSIegtPkkwIYIhMvZ2V0LWNvc3QtYW5hbHl0aWNzOgEqEoYBChJHZXRDb3N0QW5hbHl0aWNzVjISJS5wdWJsaWNfYXBpLkdldENvc3RBbmFseXRpY3NWMlJlcXVlc3QaJi5wdWJsaWNfYXBpLkdldENvc3RBbmFseXRpY3NWMlJlc3BvbnNlIiGC0+STAhsiFi9nZXQtY29zdC1hbmFseXRpY3MtdjI6ASoSiQEKE0dldE91dGNvbWVBbmFseXRpY3MSJi5wdWJsaWNfYXBpLkdldE91dGNvbWVBbmFseXRpY3NSZXF1ZXN0GicucHVibGljX2FwaS5HZXRPdXRjb21lQW5hbHl0aWNzUmVzcG9uc2UiIYLT5JMCGyIWL2dldC1vdXRjb21lLWFuYWx5dGljczoBKhJcCghMaXN0VGFncxIbLnB1YmxpY19hcGkuTGlzdFRhZ3NSZXF1ZXN0GhwucHVibGljX2FwaS5MaXN0VGFnc1Jlc3BvbnNlIhWC0+STAg8iCi9saXN0LXRhZ3M6ASoSiQEKE0dldFNlc3Npb25BbmFseXRpY3MSJi5wdWJsaWNfYXBpLkdldFNlc3Npb25BbmFseXRpY3NSZXF1ZXN0GicucHVibGljX2FwaS5HZXRTZXNzaW9uQW5hbHl0aWNzUmVzcG9uc2UiIYLT5JMCGyIWL2dldC1zZXNzaW9uLWFuYWx5dGljczoBKhJ5Cg9HZXRTZXNzaW9uVXNhZ2USIi5wdWJsaWNfYXBpLkdldFNlc3Npb25Vc2FnZVJlcXVlc3QaIy5wdWJsaWNfYXBpLkdldFNlc3Npb25Vc2FnZVJlc3BvbnNlIh2C0+STAhciEi9nZXQtc2Vzc2lvbi11c2FnZToBKhKBAQoRR2V0QmlsbGluZ1N1bW1hcnkSJC5wdWJsaWNfYXBpLkdldEJpbGxpbmdTdW1tYXJ5UmVxdWVzdBolLnB1YmxpY19hcGkuR2V0QmlsbGluZ1N1bW1hcnlSZXNwb25zZSIfgtPkkwIZIhQvZ2V0LWJpbGxpbmctc3VtbWFyeToBKhJ2ChNSZXBvcnRDbGllbnRNZXRyaWNzEiAucHVibGljX2FwaS5DbGllbnRNZXRyaWNzUmVxdWVzdBohLnB1YmxpY19hcGkuQ2xpZW50TWV0cmljc1Jlc3BvbnNlIhqC0+STAhQiDy9jbGllbnQtbWV0cmljczoBKhKJAQoTUmVwb3J0RmVhdHVyZVZlY3RvchImLnB1YmxpY19hcGkuUmVwb3J0RmVhdHVyZVZlY3RvclJlcXVlc3QaJy5wdWJsaWNfYXBpLlJlcG9ydEZlYXR1cmVWZWN0b3JSZXNwb25zZSIhgtPkkwIbIhYvcmVwb3J0LWZlYXR1cmUtdmVjdG9yOgEqEoEBChZTZW5kQ29tcGxldGlvbkZlZWRiYWNrEh4ucHVibGljX2FwaS5Db21wbGV0aW9uRmVlZGJhY2saJi5wdWJsaWNfYXBpLkNvbXBsZXRpb25GZWVkYmFja1Jlc3BvbnNlIh+C0+STAhkiFC9jb21wbGV0aW9uLWZlZWRiYWNrOgEqEmkKEFNlbmRDaGF0RmVlZGJhY2sSGC5wdWJsaWNfYXBpLkNoYXRGZWVkYmFjaxogLnB1YmxpY19hcGkuQ2hhdEZlZWRiYWNrUmVzcG9uc2UiGYLT5JMCEyIOL2NoYXQtZmVlZGJhY2s6ASoSogEKHFNlbmRDbGllbnRDb21wbGV0aW9uVGltZWxpbmUSKy5wdWJsaWNfYXBpLkNsaWVudENvbXBsZXRpb25UaW1lbGluZVJlcXVlc3QaLC5wdWJsaWNfYXBpLkNsaWVudENvbXBsZXRpb25UaW1lbGluZVJlc3BvbnNlIieC0+STAiEiHC9jbGllbnQtY29tcGxldGlvbi10aW1lbGluZXM6ASoSfgoQVXBzZXJ0VXNlclNlY3JldBIjLnB1YmxpY19hcGkuVXBzZXJ0VXNlclNlY3JldFJlcXVlc3QaJC5wdWJsaWNfYXBpLlVwc2VydFVzZXJTZWNyZXRSZXNwb25zZSIfgtPkkwIZIhQvdXNlci1zZWNyZXRzL3Vwc2VydDoBKhJyCg1HZXRVc2VyU2VjcmV0EiAucHVibGljX2FwaS5HZXRVc2VyU2VjcmV0UmVxdWVzdBohLnB1YmxpY19hcGkuR2V0VXNlclNlY3JldFJlc3BvbnNlIhyC0+STAhYiES91c2VyLXNlY3JldHMvZ2V0OgEqEm4KDEdldE1jcFNlY3JldBIfLnB1YmxpY19hcGkuR2V0TWNwU2VjcmV0UmVxdWVzdBogLnB1YmxpY19hcGkuR2V0TWNwU2VjcmV0UmVzcG9uc2UiG4LT5JMCFSIQL21jcC1zZWNyZXRzL2dldDoBKhJ5Cg9MaXN0VXNlclNlY3JldHMSIi5wdWJsaWNfYXBpLkxpc3RVc2VyU2VjcmV0c1JlcXVlc3QaIy5wdWJsaWNfYXBpLkxpc3RVc2VyU2VjcmV0c1Jlc3BvbnNlIh2C0+STAhciEi91c2VyLXNlY3JldHMvbGlzdDoBKhJ+ChBEZWxldGVVc2VyU2VjcmV0EiMucHVibGljX2FwaS5EZWxldGVVc2VyU2VjcmV0UmVxdWVzdBokLnB1YmxpY19hcGkuRGVsZXRlVXNlclNlY3JldFJlc3BvbnNlIh+C0+STAhkiFC91c2VyLXNlY3JldHMvZGVsZXRlOgEqEnsKDkdldFVzZXJTZWNyZXRzEiEucHVibGljX2FwaS5HZXRVc2VyU2VjcmV0c1JlcXVlc3QaIi5wdWJsaWNfYXBpLkdldFVzZXJTZWNyZXRzUmVzcG9uc2UiIoLT5JMCHCIXL3VzZXItc2VjcmV0cy9nZXQtYmF0Y2g6ASoSlwEKFk1pZ3JhdGVVc2VyU2VjcmV0U2NvcGUSKS5wdWJsaWNfYXBpLk1pZ3JhdGVVc2VyU2VjcmV0U2NvcGVSZXF1ZXN0GioucHVibGljX2FwaS5NaWdyYXRlVXNlclNlY3JldFNjb3BlUmVzcG9uc2UiJoLT5JMCICIbL3VzZXItc2VjcmV0cy9taWdyYXRlLXNjb3BlOgEqEn4KEFJlbmFtZVVzZXJTZWNyZXQSIy5wdWJsaWNfYXBpLlJlbmFtZVVzZXJTZWNyZXRSZXF1ZXN0GiQucHVibGljX2FwaS5SZW5hbWVVc2VyU2VjcmV0UmVzcG9uc2UiH4LT5JMCGSIUL3VzZXItc2VjcmV0cy9yZW5hbWU6ASoSegoPR2V0VGVuYW50U2VjcmV0EiIucHVibGljX2FwaS5HZXRUZW5hbnRTZWNyZXRSZXF1ZXN0GiMucHVibGljX2FwaS5HZXRUZW5hbnRTZWNyZXRSZXNwb25zZSIegtPkkwIYIhMvdGVuYW50LXNlY3JldHMvZ2V0OgEqEoMBChBHZXRUZW5hbnRTZWNyZXRzEiMucHVibGljX2FwaS5HZXRUZW5hbnRTZWNyZXRzUmVxdWVzdBokLnB1YmxpY19hcGkuR2V0VGVuYW50U2VjcmV0c1Jlc3BvbnNlIiSC0+STAh4iGS90ZW5hbnQtc2VjcmV0cy9nZXQtYmF0Y2g6ASoShgEKElVwc2VydFRlbmFudFNlY3JldBIlLnB1YmxpY19hcGkuVXBzZXJ0VGVuYW50U2VjcmV0UmVxdWVzdBomLnB1YmxpY19hcGkuVXBzZXJ0VGVuYW50U2VjcmV0UmVzcG9uc2UiIYLT5JMCGyIWL3RlbmFudC1zZWNyZXRzL3Vwc2VydDoBKhKBAQoRTGlzdFRlbmFudFNlY3JldHMSJC5wdWJsaWNfYXBpLkxpc3RUZW5hbnRTZWNyZXRzUmVxdWVzdBolLnB1YmxpY19hcGkuTGlzdFRlbmFudFNlY3JldHNSZXNwb25zZSIfgtPkkwIZIhQvdGVuYW50LXNlY3JldHMvbGlzdDoBKhKGAQoSRGVsZXRlVGVuYW50U2VjcmV0EiUucHVibGljX2FwaS5EZWxldGVUZW5hbnRTZWNyZXRSZXF1ZXN0GiYucHVibGljX2FwaS5EZWxldGVUZW5hbnRTZWNyZXRSZXNwb25zZSIhgtPkkwIbIhYvdGVuYW50LXNlY3JldHMvZGVsZXRlOgEqElwKCFNhdmVDaGF0EhsucHVibGljX2FwaS5TYXZlQ2hhdFJlcXVlc3QaHC5wdWJsaWNfYXBpLlNhdmVDaGF0UmVzcG9uc2UiFYLT5JMCDyIKL3NhdmUtY2hhdDoBKhKJAQoTUmVjb3JkUmVxdWVzdEV2ZW50cxImLnB1YmxpY19hcGkuUmVjb3JkUmVxdWVzdEV2ZW50c1JlcXVlc3QaJy5wdWJsaWNfYXBpLlJlY29yZFJlcXVlc3RFdmVudHNSZXNwb25zZSIhgtPkkwIbIhYvcmVjb3JkLXJlcXVlc3QtZXZlbnRzOgEqEokBChNSZWNvcmRTZXNzaW9uRXZlbnRzEiYucHVibGljX2FwaS5SZWNvcmRTZXNzaW9uRXZlbnRzUmVxdWVzdBonLnB1YmxpY19hcGkuUmVjb3JkU2Vzc2lvbkV2ZW50c1Jlc3BvbnNlIiGC0+STAhsiFi9yZWNvcmQtc2Vzc2lvbi1ldmVudHM6ASoSsgEKHVJlY29yZFBvc2VpZG9uQW5hbHl0aWNzRXZlbnRzEjAucHVibGljX2FwaS5SZWNvcmRQb3NlaWRvbkFuYWx5dGljc0V2ZW50c1JlcXVlc3QaMS5wdWJsaWNfYXBpLlJlY29yZFBvc2VpZG9uQW5hbHl0aWNzRXZlbnRzUmVzcG9uc2UiLILT5JMCJiIhL3JlY29yZC1wb3NlaWRvbi1hbmFseXRpY3MtZXZlbnRzOgEqEocBChFDb2RlYmFzZVJldHJpZXZhbBIkLnB1YmxpY19hcGkuQ29kZWJhc2VSZXRyaWV2YWxSZXF1ZXN0GiUucHVibGljX2FwaS5Db2RlYmFzZVJldHJpZXZhbFJlc3BvbnNlIiWC0+STAh8iGi9hZ2VudHMvY29kZWJhc2UtcmV0cmlldmFsOgEqEpQBChRDb2RlYmFzZVJldHJpZXZhbFJhdxInLnB1YmxpY19hcGkuQ29kZWJhc2VSZXRyaWV2YWxSYXdSZXF1ZXN0GigucHVibGljX2FwaS5Db2RlYmFzZVJldHJpZXZhbFJhd1Jlc3BvbnNlIimC0+STAiMiHi9hZ2VudHMvY29kZWJhc2UtcmV0cmlldmFsLXJhdzoBKhJjCghFZGl0RmlsZRIbLnB1YmxpY19hcGkuRWRpdEZpbGVSZXF1ZXN0GhwucHVibGljX2FwaS5FZGl0RmlsZVJlc3BvbnNlIhyC0+STAhYiES9hZ2VudHMvZWRpdC1maWxlOgEqEoABCg9MaXN0UmVtb3RlVG9vbHMSIi5wdWJsaWNfYXBpLkxpc3RSZW1vdGVUb29sc1JlcXVlc3QaIy5wdWJsaWNfYXBpLkxpc3RSZW1vdGVUb29sc1Jlc3BvbnNlIiSC0+STAh4iGS9hZ2VudHMvbGlzdC1yZW1vdGUtdG9vbHM6ASoSeAoNUnVuUmVtb3RlVG9vbBIgLnB1YmxpY19hcGkuUnVuUmVtb3RlVG9vbFJlcXVlc3QaIS5wdWJsaWNfYXBpLlJ1blJlbW90ZVRvb2xSZXNwb25zZSIigtPkkwIcIhcvYWdlbnRzL3J1bi1yZW1vdGUtdG9vbDoBKhKEAQoQUmV2b2tlVG9vbEFjY2VzcxIjLnB1YmxpY19hcGkuUmV2b2tlVG9vbEFjY2Vzc1JlcXVlc3QaJC5wdWJsaWNfYXBpLlJldm9rZVRvb2xBY2Nlc3NSZXNwb25zZSIlgtPkkwIfIhovYWdlbnRzL3Jldm9rZS10b29sLWFjY2VzczoBKhKMAQoSVGVzdFRvb2xDb25uZWN0aW9uEiUucHVibGljX2FwaS5UZXN0VG9vbENvbm5lY3Rpb25SZXF1ZXN0GiYucHVibGljX2FwaS5UZXN0VG9vbENvbm5lY3Rpb25SZXNwb25zZSIngtPkkwIhIhwvYWdlbnRzL3Rlc3QtdG9vbC1jb25uZWN0aW9uOgEqEoABCg9DaGVja1Rvb2xTYWZldHkSIi5wdWJsaWNfYXBpLkNoZWNrVG9vbFNhZmV0eVJlcXVlc3QaIy5wdWJsaWNfYXBpLkNoZWNrVG9vbFNhZmV0eVJlc3BvbnNlIiSC0+STAh4iGS9hZ2VudHMvY2hlY2stdG9vbC1zYWZldHk6ASoSggEKEUNyZWF0ZVJlbW90ZUFnZW50EiQucHVibGljX2FwaS5DcmVhdGVSZW1vdGVBZ2VudFJlcXVlc3QaJS5wdWJsaWNfYXBpLkNyZWF0ZVJlbW90ZUFnZW50UmVzcG9uc2UiIILT5JMCGiIVL3JlbW90ZS1hZ2VudHMvY3JlYXRlOgEqEoIBChFEZWxldGVSZW1vdGVBZ2VudBIkLnB1YmxpY19hcGkuRGVsZXRlUmVtb3RlQWdlbnRSZXF1ZXN0GiUucHVibGljX2FwaS5EZWxldGVSZW1vdGVBZ2VudFJlc3BvbnNlIiCC0+STAhoiFS9yZW1vdGUtYWdlbnRzL2RlbGV0ZToBKhJ9ChBMaXN0UmVtb3RlQWdlbnRzEiMucHVibGljX2FwaS5MaXN0UmVtb3RlQWdlbnRzUmVxdWVzdBokLnB1YmxpY19hcGkuTGlzdFJlbW90ZUFnZW50c1Jlc3BvbnNlIh6C0+STAhgiEy9yZW1vdGUtYWdlbnRzL2xpc3Q6ASoSmAEKFkxpc3RSZW1vdGVBZ2VudHNTdHJlYW0SKS5wdWJsaWNfYXBpLkxpc3RSZW1vdGVBZ2VudHNTdHJlYW1SZXF1ZXN0GioucHVibGljX2FwaS5MaXN0UmVtb3RlQWdlbnRzU3RyZWFtUmVzcG9uc2UiJYLT5JMCHyIaL3JlbW90ZS1hZ2VudHMvbGlzdC1zdHJlYW06ASowARKkAQoZR2V0UmVtb3RlQWdlbnRDaGF0SGlzdG9yeRIsLnB1YmxpY19hcGkuR2V0UmVtb3RlQWdlbnRDaGF0SGlzdG9yeVJlcXVlc3QaLS5wdWJsaWNfYXBpLkdldFJlbW90ZUFnZW50Q2hhdEhpc3RvcnlSZXNwb25zZSIqgtPkkwIkIh8vcmVtb3RlLWFnZW50cy9nZXQtY2hhdC1oaXN0b3J5OgEqErABChtHZXRSZW1vdGVBZ2VudEhpc3RvcnlTdHJlYW0SLi5wdWJsaWNfYXBpLkdldFJlbW90ZUFnZW50SGlzdG9yeVN0cmVhbVJlcXVlc3QaLy5wdWJsaWNfYXBpLkdldFJlbW90ZUFnZW50SGlzdG9yeVN0cmVhbVJlc3BvbnNlIi6C0+STAigiIy9yZW1vdGUtYWdlbnRzL2FnZW50LWhpc3Rvcnktc3RyZWFtOgEqMAESegoPUmVtb3RlQWdlbnRDaGF0EiIucHVibGljX2FwaS5SZW1vdGVBZ2VudENoYXRSZXF1ZXN0GiMucHVibGljX2FwaS5SZW1vdGVBZ2VudENoYXRSZXNwb25zZSIegtPkkwIYIhMvcmVtb3RlLWFnZW50cy9jaGF0OgEqEo4BChRJbnRlcnJ1cHRSZW1vdGVBZ2VudBInLnB1YmxpY19hcGkuSW50ZXJydXB0UmVtb3RlQWdlbnRSZXF1ZXN0GigucHVibGljX2FwaS5JbnRlcnJ1cHRSZW1vdGVBZ2VudFJlc3BvbnNlIiOC0+STAh0iGC9yZW1vdGUtYWdlbnRzL2ludGVycnVwdDoBKhKQAQoUUmVtb3RlQWdlbnRBZGRTU0hLZXkSJy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50QWRkU1NIS2V5UmVxdWVzdBooLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRBZGRTU0hLZXlSZXNwb25zZSIlgtPkkwIfIhovcmVtb3RlLWFnZW50cy9hZGQtc3NoLWtleToBKhKVAQoYUmVtb3RlQWdlbnRXb3Jrc3BhY2VMb2dzEisucHVibGljX2FwaS5SZW1vdGVBZ2VudFdvcmtzcGFjZUxvZ3NSZXF1ZXN0GiwucHVibGljX2FwaS5SZW1vdGVBZ2VudFdvcmtzcGFjZUxvZ3NSZXNwb25zZSIegtPkkwIYIhMvcmVtb3RlLWFnZW50cy9sb2dzOgEqEn4KEFBhdXNlUmVtb3RlQWdlbnQSIy5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UGF1c2VSZXF1ZXN0GiQucHVibGljX2FwaS5SZW1vdGVBZ2VudFBhdXNlUmVzcG9uc2UiH4LT5JMCGSIUL3JlbW90ZS1hZ2VudHMvcGF1c2U6ASoSggEKEVJlc3VtZVJlbW90ZUFnZW50EiQucHVibGljX2FwaS5SZW1vdGVBZ2VudFJlc3VtZVJlcXVlc3QaJS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UmVzdW1lUmVzcG9uc2UiIILT5JMCGiIVL3JlbW90ZS1hZ2VudHMvcmVzdW1lOgEqEpMBChVSZXN1bWVIaW50UmVtb3RlQWdlbnQSKC5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UmVzdW1lSGludFJlcXVlc3QaKS5wdWJsaWNfYXBpLlJlbW90ZUFnZW50UmVzdW1lSGludFJlc3BvbnNlIiWC0+STAh8iGi9yZW1vdGUtYWdlbnRzL3Jlc3VtZS1oaW50OgEqEoIBChFVcGRhdGVSZW1vdGVBZ2VudBIkLnB1YmxpY19hcGkuVXBkYXRlUmVtb3RlQWdlbnRSZXF1ZXN0GiUucHVibGljX2FwaS5VcGRhdGVSZW1vdGVBZ2VudFJlc3BvbnNlIiCC0+STAhoiFS9yZW1vdGUtYWdlbnRzL3VwZGF0ZToBKhKGAQoNQ3JlYXRlVHJpZ2dlchIgLnB1YmxpY19hcGkuQ3JlYXRlVHJpZ2dlclJlcXVlc3QaIS5wdWJsaWNfYXBpLkNyZWF0ZVRyaWdnZXJSZXNwb25zZSIwgtPkkwIqIiUvcmVtb3RlLWFnZW50LWFjdGlvbnMvdHJpZ2dlcnMvY3JlYXRlOgEqEoEBCgxMaXN0VHJpZ2dlcnMSHy5wdWJsaWNfYXBpLkxpc3RUcmlnZ2Vyc1JlcXVlc3QaIC5wdWJsaWNfYXBpLkxpc3RUcmlnZ2Vyc1Jlc3BvbnNlIi6C0+STAigiIy9yZW1vdGUtYWdlbnQtYWN0aW9ucy90cmlnZ2Vycy9saXN0OgEqEoYBCg1VcGRhdGVUcmlnZ2VyEiAucHVibGljX2FwaS5VcGRhdGVUcmlnZ2VyUmVxdWVzdBohLnB1YmxpY19hcGkuVXBkYXRlVHJpZ2dlclJlc3BvbnNlIjCC0+STAioiJS9yZW1vdGUtYWdlbnQtYWN0aW9ucy90cmlnZ2Vycy91cGRhdGU6ASoShgEKDURlbGV0ZVRyaWdnZXISIC5wdWJsaWNfYXBpLkRlbGV0ZVRyaWdnZXJSZXF1ZXN0GiEucHVibGljX2FwaS5EZWxldGVUcmlnZ2VyUmVzcG9uc2UiMILT5JMCKiIlL3JlbW90ZS1hZ2VudC1hY3Rpb25zL3RyaWdnZXJzL2RlbGV0ZToBKhKfAQoUR2V0VHJpZ2dlckV4ZWN1dGlvbnMSJy5wdWJsaWNfYXBpLkdldFRyaWdnZXJFeGVjdXRpb25zUmVxdWVzdBooLnB1YmxpY19hcGkuR2V0VHJpZ2dlckV4ZWN1dGlvbnNSZXNwb25zZSI0gtPkkwIuIikvcmVtb3RlLWFnZW50LWFjdGlvbnMvdHJpZ2dlcnMvZXhlY3V0aW9uczoBKhKjAQoTR2V0TWF0Y2hpbmdFbnRpdGllcxImLnB1YmxpY19hcGkuR2V0TWF0Y2hpbmdFbnRpdGllc1JlcXVlc3QaJy5wdWJsaWNfYXBpLkdldE1hdGNoaW5nRW50aXRpZXNSZXNwb25zZSI7gtPkkwI1IjAvcmVtb3RlLWFnZW50LWFjdGlvbnMvdHJpZ2dlcnMvbWF0Y2hpbmctZW50aXRpZXM6ASoSjgEKDURpc21pc3NFbnRpdHkSIC5wdWJsaWNfYXBpLkRpc21pc3NFbnRpdHlSZXF1ZXN0GiEucHVibGljX2FwaS5EaXNtaXNzRW50aXR5UmVzcG9uc2UiOILT5JMCMiItL3JlbW90ZS1hZ2VudC1hY3Rpb25zL3RyaWdnZXJzL2Rpc21pc3MtZW50aXR5OgEqEqsBChZFeGVjdXRlVHJpZ2dlck1hbnVhbGx5EikucHVibGljX2FwaS5FeGVjdXRlVHJpZ2dlck1hbnVhbGx5UmVxdWVzdBoqLnB1YmxpY19hcGkuRXhlY3V0ZVRyaWdnZXJNYW51YWxseVJlc3BvbnNlIjqC0+STAjQiLy9yZW1vdGUtYWdlbnQtYWN0aW9ucy90cmlnZ2Vycy9leGVjdXRlLW1hbnVhbGx5OgEqEpoBChJFeGVjdXRlTWFudWFsQWdlbnQSJS5wdWJsaWNfYXBpLkV4ZWN1dGVNYW51YWxBZ2VudFJlcXVlc3QaJi5wdWJsaWNfYXBpLkV4ZWN1dGVNYW51YWxBZ2VudFJlc3BvbnNlIjWC0+STAi8iKi9yZW1vdGUtYWdlbnQtYWN0aW9ucy9leGVjdXRlLW1hbnVhbC1hZ2VudDoBKhKSAQoQR2V0RW50aXR5RGV0YWlscxIjLnB1YmxpY19hcGkuR2V0RW50aXR5RGV0YWlsc1JlcXVlc3QaJC5wdWJsaWNfYXBpLkdldEVudGl0eURldGFpbHNSZXNwb25zZSIzgtPkkwItIigvcmVtb3RlLWFnZW50LWFjdGlvbnMvZ2V0LWVudGl0eS1kZXRhaWxzOgEqEpkBChRMaXN0UHVsbFJlcXVlc3RGaWxlcxInLnB1YmxpY19hcGkuTGlzdFB1bGxSZXF1ZXN0RmlsZXNSZXF1ZXN0GigucHVibGljX2FwaS5MaXN0UHVsbFJlcXVlc3RGaWxlc1Jlc3BvbnNlIi6C0+STAigiIy9yZW1vdGUtYWdlbnQtYWN0aW9ucy9saXN0LXByLWZpbGVzOgEqEqcBChpSZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeRItLnB1YmxpY19hcGkuUmVtb3RlQWdlbnRHZW5lcmF0ZVN1bW1hcnlSZXF1ZXN0Gi4ucHVibGljX2FwaS5SZW1vdGVBZ2VudEdlbmVyYXRlU3VtbWFyeVJlc3BvbnNlIiqC0+STAiQiHy9yZW1vdGUtYWdlbnRzL2dlbmVyYXRlLXN1bW1hcnk6ASoSpAEKFkxpc3RHaXRodWJTZXR1cFNjcmlwdHMSKS5wdWJsaWNfYXBpLkxpc3RHaXRodWJTZXR1cFNjcmlwdHNSZXF1ZXN0GioucHVibGljX2FwaS5MaXN0R2l0aHViU2V0dXBTY3JpcHRzUmVzcG9uc2UiM4LT5JMCLSIoL3JlbW90ZS1hZ2VudHMvbGlzdC1naXRodWItc2V0dXAtc2NyaXB0czoBKhKgAQoVUmVhZEdpdGh1YlNldHVwU2NyaXB0EigucHVibGljX2FwaS5SZWFkR2l0aHViU2V0dXBTY3JpcHRSZXF1ZXN0GikucHVibGljX2FwaS5SZWFkR2l0aHViU2V0dXBTY3JpcHRSZXNwb25zZSIygtPkkwIsIicvcmVtb3RlLWFnZW50cy9yZWFkLWdpdGh1Yi1zZXR1cC1zY3JpcHQ6ASoSpgEKGkFnZW50V29ya3NwYWNlUmVwb3J0U3RhdHVzEi0ucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydFN0YXR1c1JlcXVlc3QaLi5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlUmVwb3J0U3RhdHVzUmVzcG9uc2UiKYLT5JMCIyIeL2FnZW50LXdvcmtzcGFjZS9yZXBvcnQtc3RhdHVzOgEqErsBCh9BZ2VudFdvcmtzcGFjZVJlcG9ydENoYXRIaXN0b3J5EjIucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydENoYXRIaXN0b3J5UmVxdWVzdBozLnB1YmxpY19hcGkuQWdlbnRXb3Jrc3BhY2VSZXBvcnRDaGF0SGlzdG9yeVJlc3BvbnNlIi+C0+STAikiJC9hZ2VudC13b3Jrc3BhY2UvcmVwb3J0LWNoYXQtaGlzdG9yeToBKhKeAQoYQWdlbnRXb3Jrc3BhY2VQb2xsVXBkYXRlEisucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXF1ZXN0GiwucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVBvbGxVcGRhdGVSZXNwb25zZSIngtPkkwIhIhwvYWdlbnQtd29ya3NwYWNlL3BvbGwtdXBkYXRlOgEqEo8BChRBZ2VudFdvcmtzcGFjZVN0cmVhbRInLnB1YmxpY19hcGkuQWdlbnRXb3Jrc3BhY2VTdHJlYW1SZXF1ZXN0GigucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVN0cmVhbVJlc3BvbnNlIiKC0+STAhwiFy9hZ2VudC13b3Jrc3BhY2Uvc3RyZWFtOgEqMAESwwEKIkFnZW50V29ya3NwYWNlUmVwb3J0TGFzdFNlcXVlbmNlSWQSNS5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlUmVwb3J0TGFzdFNlcXVlbmNlSWRSZXF1ZXN0GjYucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydExhc3RTZXF1ZW5jZUlkUmVzcG9uc2UiLoLT5JMCKCIjL2FnZW50LXdvcmtzcGFjZS9yZXBvcnQtbGFzdC1zZXEtaWQ6ASoStwEKH0FnZW50V29ya3NwYWNlR2V0TGFzdFNlcXVlbmNlSWQSMi5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlR2V0TGFzdFNlcXVlbmNlSWRSZXF1ZXN0GjMucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZUdldExhc3RTZXF1ZW5jZUlkUmVzcG9uc2UiK4LT5JMCJSIgL2FnZW50LXdvcmtzcGFjZS9nZXQtbGFzdC1zZXEtaWQ6ASoSswEKHUFnZW50V29ya3NwYWNlUmVwb3J0U2V0dXBMb2dzEjAucHVibGljX2FwaS5BZ2VudFdvcmtzcGFjZVJlcG9ydFNldHVwTG9nc1JlcXVlc3QaMS5wdWJsaWNfYXBpLkFnZW50V29ya3NwYWNlUmVwb3J0U2V0dXBMb2dzUmVzcG9uc2UiLYLT5JMCJyIiL2FnZW50LXdvcmtzcGFjZS9yZXBvcnQtc2V0dXAtbG9nczoBKhJ7Cg9MaXN0Q2hhdEhpc3RvcnkSIi5wdWJsaWNfYXBpLkxpc3RDaGF0SGlzdG9yeVJlcXVlc3QaIy5wdWJsaWNfYXBpLkxpc3RDaGF0SGlzdG9yeVJlc3BvbnNlIh+C0+STAhkiFC9jaGF0L2V4Y2hhbmdlcy9saXN0OgEqEn8KEENvdW50Q2hhdEhpc3RvcnkSIy5wdWJsaWNfYXBpLkNvdW50Q2hhdEhpc3RvcnlSZXF1ZXN0GiQucHVibGljX2FwaS5Db3VudENoYXRIaXN0b3J5UmVzcG9uc2UiIILT5JMCGiIVL2NoYXQvZXhjaGFuZ2VzL2NvdW50OgEqEoMBChFJbnNlcnRDaGF0SGlzdG9yeRIkLnB1YmxpY19hcGkuSW5zZXJ0Q2hhdEhpc3RvcnlSZXF1ZXN0GiUucHVibGljX2FwaS5JbnNlcnRDaGF0SGlzdG9yeVJlc3BvbnNlIiGC0+STAhsiFi9jaGF0L2V4Y2hhbmdlcy9pbnNlcnQ6ASoSfQoPQ3JlYXRlV29ya3NwYWNlEiIucHVibGljX2FwaS5DcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0GiMucHVibGljX2FwaS5DcmVhdGVXb3Jrc3BhY2VSZXNwb25zZSIhgtPkkwIbIhYvY2hhdC93b3Jrc3BhY2UvY3JlYXRlOgEqEn0KD1VwZGF0ZVdvcmtzcGFjZRIiLnB1YmxpY19hcGkuVXBkYXRlV29ya3NwYWNlUmVxdWVzdBojLnB1YmxpY19hcGkuVXBkYXRlV29ya3NwYWNlUmVzcG9uc2UiIYLT5JMCGyIWL2NoYXQvd29ya3NwYWNlL3VwZGF0ZToBKhJ4Cg5MaXN0V29ya3NwYWNlcxIhLnB1YmxpY19hcGkuTGlzdFdvcmtzcGFjZXNSZXF1ZXN0GiIucHVibGljX2FwaS5MaXN0V29ya3NwYWNlc1Jlc3BvbnNlIh+C0+STAhkiFC9jaGF0L3dvcmtzcGFjZS9saXN0OgEqEokBChJDcmVhdGVDb252ZXJzYXRpb24SJS5wdWJsaWNfYXBpLkNyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3QaJi5wdWJsaWNfYXBpLkNyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlIiSC0+STAh4iGS9jaGF0L2NvbnZlcnNhdGlvbi9jcmVhdGU6ASoSiQEKElVwZGF0ZUNvbnZlcnNhdGlvbhIlLnB1YmxpY19hcGkuVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdBomLnB1YmxpY19hcGkuVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UiJILT5JMCHiIZL2NoYXQvY29udmVyc2F0aW9uL3VwZGF0ZToBKhJ9Cg9HZXRDb252ZXJzYXRpb24SIi5wdWJsaWNfYXBpLkdldENvbnZlcnNhdGlvblJlcXVlc3QaIy5wdWJsaWNfYXBpLkdldENvbnZlcnNhdGlvblJlc3BvbnNlIiGC0+STAhsiFi9jaGF0L2NvbnZlcnNhdGlvbi9nZXQ6ASoShAEKEUxpc3RDb252ZXJzYXRpb25zEiQucHVibGljX2FwaS5MaXN0Q29udmVyc2F0aW9uc1JlcXVlc3QaJS5wdWJsaWNfYXBpLkxpc3RDb252ZXJzYXRpb25zUmVzcG9uc2UiIoLT5JMCHCIXL2NoYXQvY29udmVyc2F0aW9uL2xpc3Q6ASoStQEKI0xpc3RHaXRodWJSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyEjYucHVibGljX2FwaS5MaXN0R2l0aHViUmVwb3NGb3JBdXRoZW50aWNhdGVkVXNlclJlcXVlc3QaNy5wdWJsaWNfYXBpLkxpc3RHaXRodWJSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyUmVzcG9uc2UiHYLT5JMCFyISL2dpdGh1Yi9saXN0LXJlcG9zOgEqEpEBChZMaXN0R2l0aHViUmVwb0JyYW5jaGVzEikucHVibGljX2FwaS5MaXN0R2l0aHViUmVwb0JyYW5jaGVzUmVxdWVzdBoqLnB1YmxpY19hcGkuTGlzdEdpdGh1YlJlcG9CcmFuY2hlc1Jlc3BvbnNlIiCC0+STAhoiFS9naXRodWIvbGlzdC1icmFuY2hlczoBKhJxCg1HZXRHaXRodWJSZXBvEiAucHVibGljX2FwaS5HZXRHaXRodWJSZXBvUmVxdWVzdBohLnB1YmxpY19hcGkuR2V0R2l0aHViUmVwb1Jlc3BvbnNlIhuC0+STAhUiEC9naXRodWIvZ2V0LXJlcG86ASoSlgEKFklzVXNlckdpdGh1YkNvbmZpZ3VyZWQSKS5wdWJsaWNfYXBpLklzVXNlckdpdGh1YkNvbmZpZ3VyZWRSZXF1ZXN0GioucHVibGljX2FwaS5Jc1VzZXJHaXRodWJDb25maWd1cmVkUmVzcG9uc2UiJYLT5JMCHyIaL2dpdGh1Yi9pcy11c2VyLWNvbmZpZ3VyZWQ6ASoSiAEKEUNyZWF0ZVB1bGxSZXF1ZXN0EiQucHVibGljX2FwaS5DcmVhdGVQdWxsUmVxdWVzdFJlcXVlc3QaJS5wdWJsaWNfYXBpLkNyZWF0ZVB1bGxSZXF1ZXN0UmVzcG9uc2UiJoLT5JMCICIbL2dpdGh1Yi9jcmVhdGUtcHVsbC1yZXF1ZXN0OgEqEq8BChxSZWdpc3RlckluZGV4ZWRDb21taXRCbG9ic2V0Ei8ucHVibGljX2FwaS5SZWdpc3RlckluZGV4ZWRDb21taXRCbG9ic2V0UmVxdWVzdBowLnB1YmxpY19hcGkuUmVnaXN0ZXJJbmRleGVkQ29tbWl0QmxvYnNldFJlc3BvbnNlIiyC0+STAiYiIS9pbmRleGVkLWNvbW1pdHMvcmVnaXN0ZXItYmxvYnNldDoBKhK2AQodR2V0TGF0ZXN0SW5kZXhlZENvbW1pdEJsb2JzZXQSMC5wdWJsaWNfYXBpLkdldExhdGVzdEluZGV4ZWRDb21taXRCbG9ic2V0UmVxdWVzdBoxLnB1YmxpY19hcGkuR2V0TGF0ZXN0SW5kZXhlZENvbW1pdEJsb2JzZXRSZXNwb25zZSIugtPkkwIoIiMvaW5kZXhlZC1jb21taXRzL2dldC1sYXRlc3QtYmxvYnNldDoBKjABEoUBChNHZXRTdWJzY3JpcHRpb25JbmZvEiYucHVibGljX2FwaS5HZXRTdWJzY3JpcHRpb25JbmZvUmVxdWVzdBonLnB1YmxpY19hcGkuR2V0U3Vic2NyaXB0aW9uSW5mb1Jlc3BvbnNlIh2C0+STAhciEi9zdWJzY3JpcHRpb24taW5mbzoBKhKNAQoVR2V0U3Vic2NyaXB0aW9uQmFubmVyEigucHVibGljX2FwaS5HZXRTdWJzY3JpcHRpb25CYW5uZXJSZXF1ZXN0GikucHVibGljX2FwaS5HZXRTdWJzY3JpcHRpb25CYW5uZXJSZXNwb25zZSIfgtPkkwIZIhQvc3Vic2NyaXB0aW9uLWJhbm5lcjoBKhKaAQoXUmV2b2tlQ3VycmVudFVzZXJUb2tlbnMSKi5wdWJsaWNfYXBpLlJldm9rZUN1cnJlbnRVc2VyVG9rZW5zUmVxdWVzdBorLnB1YmxpY19hcGkuUmV2b2tlQ3VycmVudFVzZXJUb2tlbnNSZXNwb25zZSImgtPkkwIgIhsvcmV2b2tlLWN1cnJlbnQtdXNlci10b2tlbnM6ASoSgAEKEVJlYWROb3RpZmljYXRpb25zEiQucHVibGljX2FwaS5SZWFkTm90aWZpY2F0aW9uc1JlcXVlc3QaJS5wdWJsaWNfYXBpLlJlYWROb3RpZmljYXRpb25zUmVzcG9uc2UiHoLT5JMCGCITL25vdGlmaWNhdGlvbnMvcmVhZDoBKhKXAQoWTWFya05vdGlmaWNhdGlvbkFzUmVhZBIpLnB1YmxpY19hcGkuTWFya05vdGlmaWNhdGlvbkFzUmVhZFJlcXVlc3QaKi5wdWJsaWNfYXBpLk1hcmtOb3RpZmljYXRpb25Bc1JlYWRSZXNwb25zZSImgtPkkwIgIhsvbm90aWZpY2F0aW9ucy9tYXJrLWFzLXJlYWQ6ASoSlwEKE0FjdGlvbnNTZXRVc2VyU3RhdGUSJi5wdWJsaWNfYXBpLkFjdGlvbnNTZXRVc2VyU3RhdGVSZXF1ZXN0GicucHVibGljX2FwaS5BY3Rpb25zU2V0VXNlclN0YXRlUmVzcG9uc2UiL4LT5JMCKSIkL3JlbW90ZS1hZ2VudC1hY3Rpb25zL3VzZXItc3RhdGUvc2V0OgEqEpcBChNBY3Rpb25zR2V0VXNlclN0YXRlEiYucHVibGljX2FwaS5BY3Rpb25zR2V0VXNlclN0YXRlUmVxdWVzdBonLnB1YmxpY19hcGkuQWN0aW9uc0dldFVzZXJTdGF0ZVJlc3BvbnNlIi+C0+STAikiJC9yZW1vdGUtYWdlbnQtYWN0aW9ucy91c2VyLXN0YXRlL2dldDoBKhKnAQoYR2V0VGVuYW50VG9vbFBlcm1pc3Npb25zEisucHVibGljX2FwaS5HZXRUZW5hbnRUb29sUGVybWlzc2lvbnNSZXF1ZXN0GiwucHVibGljX2FwaS5HZXRUZW5hbnRUb29sUGVybWlzc2lvbnNSZXNwb25zZSIwgtPkkwIqIiUvc2V0dGluZ3MvZ2V0LXRlbmFudC10b29sLXBlcm1pc3Npb25zOgEqEpMBChNHZXRNY3BUZW5hbnRDb25maWdzEiYucHVibGljX2FwaS5HZXRNY3BUZW5hbnRDb25maWdzUmVxdWVzdBonLnB1YmxpY19hcGkuR2V0TWNwVGVuYW50Q29uZmlnc1Jlc3BvbnNlIiuC0+STAiUiIC9zZXR0aW5ncy9nZXQtbWNwLXRlbmFudC1jb25maWdzOgEqEosBChFHZXRNY3BVc2VyQ29uZmlncxIkLnB1YmxpY19hcGkuR2V0TWNwVXNlckNvbmZpZ3NSZXF1ZXN0GiUucHVibGljX2FwaS5HZXRNY3BVc2VyQ29uZmlnc1Jlc3BvbnNlIimC0+STAiMiHi9zZXR0aW5ncy9nZXQtbWNwLXVzZXItY29uZmlnczoBKhKbAQoVR2V0TWNwQ2F0YWxvZ01ldGFkYXRhEigucHVibGljX2FwaS5HZXRNY3BDYXRhbG9nTWV0YWRhdGFSZXF1ZXN0GikucHVibGljX2FwaS5HZXRNY3BDYXRhbG9nTWV0YWRhdGFSZXNwb25zZSItgtPkkwInIiIvc2V0dGluZ3MvZ2V0LW1jcC1jYXRhbG9nLW1ldGFkYXRhOgEqEogBChBHZXRNY3BDb25maWdCeUlkEiMucHVibGljX2FwaS5HZXRNY3BDb25maWdCeUlkUmVxdWVzdBokLnB1YmxpY19hcGkuR2V0TWNwQ29uZmlnQnlJZFJlc3BvbnNlIimC0+STAiMiHi9zZXR0aW5ncy9nZXQtbWNwLWNvbmZpZy1ieS1pZDoBKhKPAQoSR2V0TWNwVXNlclNldHRpbmdzEiUucHVibGljX2FwaS5HZXRNY3BVc2VyU2V0dGluZ3NSZXF1ZXN0GiYucHVibGljX2FwaS5HZXRNY3BVc2VyU2V0dGluZ3NSZXNwb25zZSIqgtPkkwIkIh8vc2V0dGluZ3MvZ2V0LW1jcC11c2VyLXNldHRpbmdzOgEqEpcBChRHZXRNY3BUZW5hbnRTZXR0aW5ncxInLnB1YmxpY19hcGkuR2V0TWNwVGVuYW50U2V0dGluZ3NSZXF1ZXN0GigucHVibGljX2FwaS5HZXRNY3BUZW5hbnRTZXR0aW5nc1Jlc3BvbnNlIiyC0+STAiYiIS9zZXR0aW5ncy9nZXQtbWNwLXRlbmFudC1zZXR0aW5nczoBKhKjAQoXR2V0UG9zZWlkb25Vc2VyU2V0dGluZ3MSKi5wdWJsaWNfYXBpLkdldFBvc2VpZG9uVXNlclNldHRpbmdzUmVxdWVzdBorLnB1YmxpY19hcGkuR2V0UG9zZWlkb25Vc2VyU2V0dGluZ3NSZXNwb25zZSIvgtPkkwIpIiQvc2V0dGluZ3MvZ2V0LXBvc2VpZG9uLXVzZXItc2V0dGluZ3M6ASoSrwEKGlVwZGF0ZVBvc2VpZG9uVXNlclNldHRpbmdzEi0ucHVibGljX2FwaS5VcGRhdGVQb3NlaWRvblVzZXJTZXR0aW5nc1JlcXVlc3QaLi5wdWJsaWNfYXBpLlVwZGF0ZVBvc2VpZG9uVXNlclNldHRpbmdzUmVzcG9uc2UiMoLT5JMCLCInL3NldHRpbmdzL3VwZGF0ZS1wb3NlaWRvbi11c2VyLXNldHRpbmdzOgEqEo4BChJQaW5Qb3NlaWRvblNlc3Npb24SJS5wdWJsaWNfYXBpLlBpblBvc2VpZG9uU2Vzc2lvblJlcXVlc3QaJi5wdWJsaWNfYXBpLlBpblBvc2VpZG9uU2Vzc2lvblJlc3BvbnNlIimC0+STAiMiHi9zZXR0aW5ncy9waW4tcG9zZWlkb24tc2Vzc2lvbjoBKhKWAQoUVW5waW5Qb3NlaWRvblNlc3Npb24SJy5wdWJsaWNfYXBpLlVucGluUG9zZWlkb25TZXNzaW9uUmVxdWVzdBooLnB1YmxpY19hcGkuVW5waW5Qb3NlaWRvblNlc3Npb25SZXNwb25zZSIrgtPkkwIlIiAvc2V0dGluZ3MvdW5waW4tcG9zZWlkb24tc2Vzc2lvbjoBKhKrAQoZR2V0UG9zZWlkb25UZW5hbnRTZXR0aW5ncxIsLnB1YmxpY19hcGkuR2V0UG9zZWlkb25UZW5hbnRTZXR0aW5nc1JlcXVlc3QaLS5wdWJsaWNfYXBpLkdldFBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXNwb25zZSIxgtPkkwIrIiYvc2V0dGluZ3MvZ2V0LXBvc2VpZG9uLXRlbmFudC1zZXR0aW5nczoBKhK3AQocVXBkYXRlUG9zZWlkb25UZW5hbnRTZXR0aW5ncxIvLnB1YmxpY19hcGkuVXBkYXRlUG9zZWlkb25UZW5hbnRTZXR0aW5nc1JlcXVlc3QaMC5wdWJsaWNfYXBpLlVwZGF0ZVBvc2VpZG9uVGVuYW50U2V0dGluZ3NSZXNwb25zZSI0gtPkkwIuIikvc2V0dGluZ3MvdXBkYXRlLXBvc2VpZG9uLXRlbmFudC1zZXR0aW5nczoBKhKTAQoTVXBzZXJ0TWNwVXNlckNvbmZpZxImLnB1YmxpY19hcGkuVXBzZXJ0TWNwVXNlckNvbmZpZ1JlcXVlc3QaJy5wdWJsaWNfYXBpLlVwc2VydE1jcFVzZXJDb25maWdSZXNwb25zZSIrgtPkkwIlIiAvc2V0dGluZ3MvdXBzZXJ0LW1jcC11c2VyLWNvbmZpZzoBKhKbAQoVVXBzZXJ0TWNwVGVuYW50Q29uZmlnEigucHVibGljX2FwaS5VcHNlcnRNY3BUZW5hbnRDb25maWdSZXF1ZXN0GikucHVibGljX2FwaS5VcHNlcnRNY3BUZW5hbnRDb25maWdSZXNwb25zZSItgtPkkwInIiIvc2V0dGluZ3MvdXBzZXJ0LW1jcC10ZW5hbnQtY29uZmlnOgEqEpMBChNSZW1vdmVNY3BVc2VyQ29uZmlnEiYucHVibGljX2FwaS5SZW1vdmVNY3BVc2VyQ29uZmlnUmVxdWVzdBonLnB1YmxpY19hcGkuUmVtb3ZlTWNwVXNlckNvbmZpZ1Jlc3BvbnNlIiuC0+STAiUiIC9zZXR0aW5ncy9yZW1vdmUtbWNwLXVzZXItY29uZmlnOgEqEpsBChVSZW1vdmVNY3BUZW5hbnRDb25maWcSKC5wdWJsaWNfYXBpLlJlbW92ZU1jcFRlbmFudENvbmZpZ1JlcXVlc3QaKS5wdWJsaWNfYXBpLlJlbW92ZU1jcFRlbmFudENvbmZpZ1Jlc3BvbnNlIi2C0+STAiciIi9zZXR0aW5ncy9yZW1vdmUtbWNwLXRlbmFudC1jb25maWc6ASoSigEKEUxpc3RBZ2VudFBlcnNvbmFzEiQucHVibGljX2FwaS5MaXN0QWdlbnRQZXJzb25hc1JlcXVlc3QaJS5wdWJsaWNfYXBpLkxpc3RBZ2VudFBlcnNvbmFzUmVzcG9uc2UiKILT5JMCIiIdL2FnZW50LXBlcnNvbmFzL2xpc3QtcGVyc29uYXM6ASoSggEKD0dldEFnZW50UGVyc29uYRIiLnB1YmxpY19hcGkuR2V0QWdlbnRQZXJzb25hUmVxdWVzdBojLnB1YmxpY19hcGkuR2V0QWdlbnRQZXJzb25hUmVzcG9uc2UiJoLT5JMCICIbL2FnZW50LXBlcnNvbmFzL2dldC1wZXJzb25hOgEqEpoBChVMaXN0QWdlbnRDYXBhYmlsaXRpZXMSKC5wdWJsaWNfYXBpLkxpc3RBZ2VudENhcGFiaWxpdGllc1JlcXVlc3QaKS5wdWJsaWNfYXBpLkxpc3RBZ2VudENhcGFiaWxpdGllc1Jlc3BvbnNlIiyC0+STAiYiIS9hZ2VudC1wZXJzb25hcy9saXN0LWNhcGFiaWxpdGllczoBKhKXAQoWQ2xvdWRBZ2VudHNDcmVhdGVBZ2VudBIpLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNDcmVhdGVBZ2VudFJlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQ3JlYXRlQWdlbnRSZXNwb25zZSImgtPkkwIgIhsvY2xvdWQtYWdlbnRzL2FnZW50cy9jcmVhdGU6ASoSiwEKE0Nsb3VkQWdlbnRzR2V0QWdlbnQSJi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzR2V0QWdlbnRSZXF1ZXN0GicucHVibGljX2FwaS5DbG91ZEFnZW50c0dldEFnZW50UmVzcG9uc2UiI4LT5JMCHSIYL2Nsb3VkLWFnZW50cy9hZ2VudHMvZ2V0OgEqEp0BChZDbG91ZEFnZW50c1NlbmRNZXNzYWdlEikucHVibGljX2FwaS5DbG91ZEFnZW50c1NlbmRNZXNzYWdlUmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNTZW5kTWVzc2FnZVJlc3BvbnNlIiyC0+STAiYiIS9jbG91ZC1hZ2VudHMvYWdlbnRzL3NlbmQtbWVzc2FnZToBKhKdAQoWQ2xvdWRBZ2VudHNHZXRNZXNzYWdlcxIpLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNHZXRNZXNzYWdlc1JlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzR2V0TWVzc2FnZXNSZXNwb25zZSIsgtPkkwImIiEvY2xvdWQtYWdlbnRzL2FnZW50cy9nZXQtbWVzc2FnZXM6ASoSuAEKHENsb3VkQWdlbnRzR2V0TWVzc2FnZXNTdHJlYW0SLy5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzR2V0TWVzc2FnZXNTdHJlYW1SZXF1ZXN0GjAucHVibGljX2FwaS5DbG91ZEFnZW50c0dldE1lc3NhZ2VzU3RyZWFtUmVzcG9uc2UiM4LT5JMCLSIoL2Nsb3VkLWFnZW50cy9hZ2VudHMvZ2V0LW1lc3NhZ2VzLXN0cmVhbToBKjABEpcBChZDbG91ZEFnZW50c1JlbmFtZUFnZW50EikucHVibGljX2FwaS5DbG91ZEFnZW50c1JlbmFtZUFnZW50UmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNSZW5hbWVBZ2VudFJlc3BvbnNlIiaC0+STAiAiGy9jbG91ZC1hZ2VudHMvYWdlbnRzL3JlbmFtZToBKhLFAQohQ2xvdWRBZ2VudHNVcGRhdGVBZ2VudFNlc3Npb25UYWdzEjQucHVibGljX2FwaS5DbG91ZEFnZW50c1VwZGF0ZUFnZW50U2Vzc2lvblRhZ3NSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEFnZW50c1VwZGF0ZUFnZW50U2Vzc2lvblRhZ3NSZXNwb25zZSIzgtPkkwItIigvY2xvdWQtYWdlbnRzL2FnZW50cy91cGRhdGUtc2Vzc2lvbi10YWdzOgEqEpcBChZDbG91ZEFnZW50c0RlbGV0ZUFnZW50EikucHVibGljX2FwaS5DbG91ZEFnZW50c0RlbGV0ZUFnZW50UmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNEZWxldGVBZ2VudFJlc3BvbnNlIiaC0+STAiAiGy9jbG91ZC1hZ2VudHMvYWdlbnRzL2RlbGV0ZToBKhKbAQoXQ2xvdWRBZ2VudHNBcmNoaXZlQWdlbnQSKi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQXJjaGl2ZUFnZW50UmVxdWVzdBorLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNBcmNoaXZlQWdlbnRSZXNwb25zZSIngtPkkwIhIhwvY2xvdWQtYWdlbnRzL2FnZW50cy9hcmNoaXZlOgEqEqMBChlDbG91ZEFnZW50c1VuYXJjaGl2ZUFnZW50EiwucHVibGljX2FwaS5DbG91ZEFnZW50c1VuYXJjaGl2ZUFnZW50UmVxdWVzdBotLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNVbmFyY2hpdmVBZ2VudFJlc3BvbnNlIimC0+STAiMiHi9jbG91ZC1hZ2VudHMvYWdlbnRzL3VuYXJjaGl2ZToBKhLHAQogQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHMSMy5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzQmF0Y2hHZXRNZXNzYWdlQ291bnRzUmVxdWVzdBo0LnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNCYXRjaEdldE1lc3NhZ2VDb3VudHNSZXNwb25zZSI4gtPkkwIyIi0vY2xvdWQtYWdlbnRzL2FnZW50cy9iYXRjaC1nZXQtbWVzc2FnZS1jb3VudHM6ASoSxgEKIENsb3VkQWdlbnRzUmVmcmVzaEdpdENyZWRlbnRpYWxzEjMucHVibGljX2FwaS5DbG91ZEFnZW50c1JlZnJlc2hHaXRDcmVkZW50aWFsc1JlcXVlc3QaNC5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzUmVmcmVzaEdpdENyZWRlbnRpYWxzUmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLWFnZW50cy9hZ2VudHMvcmVmcmVzaC1naXQtY3JlZGVudGlhbHM6ASoSsgEKG0Nsb3VkQWdlbnRzUmVxdWVzdE1jcFNlcnZlchIuLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNSZXF1ZXN0TWNwU2VydmVyUmVxdWVzdBovLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNSZXF1ZXN0TWNwU2VydmVyUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLWFnZW50cy9hZ2VudHMvcmVxdWVzdC1tY3Atc2VydmVyOgEqErYBChxDbG91ZEFnZW50c0hhbmRvZmZUb1Bvc2VpZG9uEi8ucHVibGljX2FwaS5DbG91ZEFnZW50c0hhbmRvZmZUb1Bvc2VpZG9uUmVxdWVzdBowLnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNIYW5kb2ZmVG9Qb3NlaWRvblJlc3BvbnNlIjOC0+STAi0iKC9jbG91ZC1hZ2VudHMvYWdlbnRzL2hhbmRvZmYtdG8tcG9zZWlkb246ASoSnwEKGENsb3VkRXhwZXJ0c0NyZWF0ZUV4cGVydBIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlRXhwZXJ0UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlRXhwZXJ0UmVzcG9uc2UiKILT5JMCIiIdL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9jcmVhdGU6ASoSkwEKFUNsb3VkRXhwZXJ0c0dldEV4cGVydBIoLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzR2V0RXhwZXJ0UmVxdWVzdBopLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzR2V0RXhwZXJ0UmVzcG9uc2UiJYLT5JMCHyIaL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9nZXQ6ASoSnwEKGENsb3VkRXhwZXJ0c1VwZGF0ZUV4cGVydBIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzVXBkYXRlRXhwZXJ0UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzVXBkYXRlRXhwZXJ0UmVzcG9uc2UiKILT5JMCIiIdL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy91cGRhdGU6ASoSnwEKGENsb3VkRXhwZXJ0c0RlbGV0ZUV4cGVydBIrLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzRGVsZXRlRXhwZXJ0UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzRGVsZXRlRXhwZXJ0UmVzcG9uc2UiKILT5JMCIiIdL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9kZWxldGU6ASoSmgEKF0Nsb3VkRXhwZXJ0c0xpc3RFeHBlcnRzEioucHVibGljX2FwaS5DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1JlcXVlc3QaKy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0xpc3RFeHBlcnRzUmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9saXN0OgEqEsABCiBDbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1dpdGhVc2FnZRIzLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzTGlzdEV4cGVydHNXaXRoVXNhZ2VSZXF1ZXN0GjQucHVibGljX2FwaS5DbG91ZEV4cGVydHNMaXN0RXhwZXJ0c1dpdGhVc2FnZVJlc3BvbnNlIjGC0+STAisiJi9jbG91ZC1leHBlcnRzL2V4cGVydHMvbGlzdC13aXRoLXVzYWdlOgEqEqYBChhDbG91ZEV4cGVydHNMaXN0VmVyc2lvbnMSKy5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0xpc3RWZXJzaW9uc1JlcXVlc3QaLC5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0xpc3RWZXJzaW9uc1Jlc3BvbnNlIi+C0+STAikiJC9jbG91ZC1leHBlcnRzL2V4cGVydHMvdmVyc2lvbnMvbGlzdDoBKhKfAQoWQ2xvdWRFeHBlcnRzR2V0VmVyc2lvbhIpLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzR2V0VmVyc2lvblJlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c0dldFZlcnNpb25SZXNwb25zZSIugtPkkwIoIiMvY2xvdWQtZXhwZXJ0cy9leHBlcnRzL3ZlcnNpb25zL2dldDoBKhKjAQoZQ2xvdWRFeHBlcnRzUmVzdG9yZUV4cGVydBIsLnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzUmVzdG9yZUV4cGVydFJlcXVlc3QaLS5wdWJsaWNfYXBpLkNsb3VkRXhwZXJ0c1Jlc3RvcmVFeHBlcnRSZXNwb25zZSIpgtPkkwIjIh4vY2xvdWQtZXhwZXJ0cy9leHBlcnRzL3Jlc3RvcmU6ASoSwAEKIUNsb3VkRXhwZXJ0c0NyZWF0ZUFnZW50RnJvbUV4cGVydBI0LnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlQWdlbnRGcm9tRXhwZXJ0UmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFeHBlcnRzQ3JlYXRlQWdlbnRGcm9tRXhwZXJ0UmVzcG9uc2UiLoLT5JMCKCIjL2Nsb3VkLWV4cGVydHMvZXhwZXJ0cy9jcmVhdGUtYWdlbnQ6ASoSigEKFENsb3VkRmxlZXRHZXRDYXRhbG9nEiUud2ViX3JwY19wcm94eS5HZXRGbGVldENhdGFsb2dSZXF1ZXN0GiYud2ViX3JwY19wcm94eS5HZXRGbGVldENhdGFsb2dSZXNwb25zZSIjgtPkkwIdIhgvY2xvdWQtZmxlZXQvY2F0YWxvZy9nZXQ6ASoSiwEKD0Nsb3VkRmxlZXRBcHBseRIkLndlYl9ycGNfcHJveHkuQXBwbHlGbGVldEZsb3dSZXF1ZXN0GiUud2ViX3JwY19wcm94eS5BcHBseUZsZWV0Rmxvd1Jlc3BvbnNlIiuC0+STAiUiIC9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL2FwcGx5OgEqEoMBCg1DbG91ZEZsZWV0QXJtEiIud2ViX3JwY19wcm94eS5Bcm1GbGVldEZsb3dSZXF1ZXN0GiMud2ViX3JwY19wcm94eS5Bcm1GbGVldEZsb3dSZXNwb25zZSIpgtPkkwIjIh4vY2xvdWQtZmxlZXQvaW5zdGFsbGF0aW9ucy9hcm06ASoSnwEKFENsb3VkRmxlZXREZWFjdGl2YXRlEikud2ViX3JwY19wcm94eS5EZWFjdGl2YXRlRmxlZXRGbG93UmVxdWVzdBoqLndlYl9ycGNfcHJveHkuRGVhY3RpdmF0ZUZsZWV0Rmxvd1Jlc3BvbnNlIjCC0+STAioiJS9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL2RlYWN0aXZhdGU6ASoSmwEKE0Nsb3VkRmxlZXRVbmluc3RhbGwSKC53ZWJfcnBjX3Byb3h5LlVuaW5zdGFsbEZsZWV0Rmxvd1JlcXVlc3QaKS53ZWJfcnBjX3Byb3h5LlVuaW5zdGFsbEZsZWV0Rmxvd1Jlc3BvbnNlIi+C0+STAikiJC9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL3VuaW5zdGFsbDoBKhKbAQoTQ2xvdWRGbGVldENvbmZpZ3VyZRIoLndlYl9ycGNfcHJveHkuQ29uZmlndXJlRmxlZXRGbG93UmVxdWVzdBopLndlYl9ycGNfcHJveHkuQ29uZmlndXJlRmxlZXRGbG93UmVzcG9uc2UiL4LT5JMCKSIkL2Nsb3VkLWZsZWV0L2luc3RhbGxhdGlvbnMvY29uZmlndXJlOgEqEo8BChBDbG91ZEZsZWV0UmVwYWlyEiUud2ViX3JwY19wcm94eS5SZXBhaXJGbGVldEZsb3dSZXF1ZXN0GiYud2ViX3JwY19wcm94eS5SZXBhaXJGbGVldEZsb3dSZXNwb25zZSIsgtPkkwImIiEvY2xvdWQtZmxlZXQvaW5zdGFsbGF0aW9ucy9yZXBhaXI6ASoSqAEKFkNsb3VkRmxlZXRHZXRMaWZlY3ljbGUSKy53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Rmxvd0xpZmVjeWNsZVJlcXVlc3QaLC53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Rmxvd0xpZmVjeWNsZVJlc3BvbnNlIjOC0+STAi0iKC9jbG91ZC1mbGVldC9pbnN0YWxsYXRpb25zL2xpZmVjeWNsZS9nZXQ6ASoSpgEKG0Nsb3VkRmxlZXRMaXN0SW5zdGFsbGF0aW9ucxIsLndlYl9ycGNfcHJveHkuTGlzdEZsZWV0SW5zdGFsbGF0aW9uc1JlcXVlc3QaLS53ZWJfcnBjX3Byb3h5Lkxpc3RGbGVldEluc3RhbGxhdGlvbnNSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtZmxlZXQvaW5zdGFsbGF0aW9ucy9saXN0OgEqEsgBCiJDbG91ZEZsZWV0R2V0Q29uZmlndXJhdGlvbkRvY3VtZW50EjMud2ViX3JwY19wcm94eS5HZXRGbGVldENvbmZpZ3VyYXRpb25Eb2N1bWVudFJlcXVlc3QaNC53ZWJfcnBjX3Byb3h5LkdldEZsZWV0Q29uZmlndXJhdGlvbkRvY3VtZW50UmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLWZsZWV0L2luc3RhbGxhdGlvbnMvY29uZmlndXJhdGlvbi9nZXQ6ASoSrwEKHENsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnQSLy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzQ3JlYXRlUmVzaWRlbnRSZXF1ZXN0GjAucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0NyZWF0ZVJlc2lkZW50UmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvY3JlYXRlOgEqEqMBChlDbG91ZFJlc2lkZW50c0dldFJlc2lkZW50EiwucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0dldFJlc2lkZW50UmVxdWVzdBotLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNHZXRSZXNpZGVudFJlc3BvbnNlIimC0+STAiMiHi9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL2dldDoBKhKvAQocQ2xvdWRSZXNpZGVudHNVcGRhdGVSZXNpZGVudBIvLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNVcGRhdGVSZXNpZGVudFJlcXVlc3QaMC5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzVXBkYXRlUmVzaWRlbnRSZXNwb25zZSIsgtPkkwImIiEvY2xvdWQtcmVzaWRlbnRzL3Jlc2lkZW50cy91cGRhdGU6ASoS1QEKJUNsb3VkUmVzaWRlbnRzU2V0UmVzaWRlbnRUZW5hbnRBY2Nlc3MSOC5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzU2V0UmVzaWRlbnRUZW5hbnRBY2Nlc3NSZXF1ZXN0GjkucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c1NldFJlc2lkZW50VGVuYW50QWNjZXNzUmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvc2V0LXRlbmFudC1hY2Nlc3M6ASoSrwEKHENsb3VkUmVzaWRlbnRzRGVsZXRlUmVzaWRlbnQSLy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzRGVsZXRlUmVzaWRlbnRSZXF1ZXN0GjAucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0RlbGV0ZVJlc2lkZW50UmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvZGVsZXRlOgEqEqoBChtDbG91ZFJlc2lkZW50c0xpc3RSZXNpZGVudHMSLi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzTGlzdFJlc2lkZW50c1JlcXVlc3QaLy5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzTGlzdFJlc2lkZW50c1Jlc3BvbnNlIiqC0+STAiQiHy9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL2xpc3Q6ASoSqwEKG0Nsb3VkUmVzaWRlbnRzU3RhcnRSZXNpZGVudBIuLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNTdGFydFJlc2lkZW50UmVxdWVzdBovLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNTdGFydFJlc2lkZW50UmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvc3RhcnQ6ASoSpwEKGkNsb3VkUmVzaWRlbnRzU3RvcFJlc2lkZW50Ei0ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c1N0b3BSZXNpZGVudFJlcXVlc3QaLi5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzU3RvcFJlc2lkZW50UmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvc3RvcDoBKhKwAQoaQ2xvdWRSZXNpZGVudHNMaXN0U2Vzc2lvbnMSLS5wdWJsaWNfYXBpLkNsb3VkUmVzaWRlbnRzTGlzdFNlc3Npb25zUmVxdWVzdBouLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNMaXN0U2Vzc2lvbnNSZXNwb25zZSIzgtPkkwItIigvY2xvdWQtcmVzaWRlbnRzL3Jlc2lkZW50cy9zZXNzaW9ucy9saXN0OgEqErABChpDbG91ZFJlc2lkZW50c0xpc3RWZXJzaW9ucxItLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNMaXN0VmVyc2lvbnNSZXF1ZXN0Gi4ucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c0xpc3RWZXJzaW9uc1Jlc3BvbnNlIjOC0+STAi0iKC9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL3ZlcnNpb25zL2xpc3Q6ASoSqQEKGENsb3VkUmVzaWRlbnRzR2V0VmVyc2lvbhIrLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNHZXRWZXJzaW9uUmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNHZXRWZXJzaW9uUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLXJlc2lkZW50cy9yZXNpZGVudHMvdmVyc2lvbnMvZ2V0OgEqErMBCh1DbG91ZFJlc2lkZW50c1Jlc3RvcmVSZXNpZGVudBIwLnB1YmxpY19hcGkuQ2xvdWRSZXNpZGVudHNSZXN0b3JlUmVzaWRlbnRSZXF1ZXN0GjEucHVibGljX2FwaS5DbG91ZFJlc2lkZW50c1Jlc3RvcmVSZXNpZGVudFJlc3BvbnNlIi2C0+STAiciIi9jbG91ZC1yZXNpZGVudHMvcmVzaWRlbnRzL3Jlc3RvcmU6ASoSwgEKIUNsb3VkRW52aXJvbm1lbnRzTGlzdEVudmlyb25tZW50cxI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0RW52aXJvbm1lbnRzUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0RW52aXJvbm1lbnRzUmVzcG9uc2UiMILT5JMCKiIlL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvbGlzdDoBKhK7AQofQ2xvdWRFbnZpcm9ubWVudHNHZXRFbnZpcm9ubWVudBIyLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNHZXRFbnZpcm9ubWVudFJlcXVlc3QaMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0RW52aXJvbm1lbnRSZXNwb25zZSIvgtPkkwIpIiQvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy9nZXQ6ASoS7gEKIENsb3VkRW52aXJvbm1lbnRzQ3JlYXRlQmFzZUltYWdlEjMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0NyZWF0ZUJhc2VJbWFnZVJlcXVlc3QaNC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlQmFzZUltYWdlUmVzcG9uc2UiX4LT5JMCWSImL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9jcmVhdGU6ASpaLCInL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvY3JlYXRlOgEqEokCCiVDbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlQ3JlYXRlEjgucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlQ3JlYXRlUmVxdWVzdBo5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZUNyZWF0ZVJlc3BvbnNlImuC0+STAmUiLC9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvY3JlYXRlL3N0YXJ0OgEqWjIiLS9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL2NyZWF0ZS9zdGFydDoBKhLuAQogQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVCYXNlSW1hZ2USMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlQmFzZUltYWdlUmVxdWVzdBo0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVCYXNlSW1hZ2VSZXNwb25zZSJfgtPkkwJZIiYvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3VwZGF0ZToBKlosIicvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy91cGRhdGU6ASoS7gEKIENsb3VkRW52aXJvbm1lbnRzRGVsZXRlQmFzZUltYWdlEjMucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0RlbGV0ZUJhc2VJbWFnZVJlcXVlc3QaNC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzRGVsZXRlQmFzZUltYWdlUmVzcG9uc2UiX4LT5JMCWSImL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9kZWxldGU6ASpaLCInL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvZGVsZXRlOgEqEvMBCiFDbG91ZEVudmlyb25tZW50c1Jlc3RvcmVCYXNlSW1hZ2USNC5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZUJhc2VJbWFnZVJlcXVlc3QaNS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZUJhc2VJbWFnZVJlc3BvbnNlImGC0+STAlsiJy9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvcmVzdG9yZToBKlotIigvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy9yZXN0b3JlOgEqEvMBCh1DbG91ZEVudmlyb25tZW50c0xpc3RWZXJzaW9ucxIwLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0VmVyc2lvbnNSZXF1ZXN0GjEucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RWZXJzaW9uc1Jlc3BvbnNlIm2C0+STAmciLS9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvdmVyc2lvbnMvbGlzdDoBKlozIi4vY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy92ZXJzaW9ucy9saXN0OgEqEusBChtDbG91ZEVudmlyb25tZW50c0dldFZlcnNpb24SLi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0VmVyc2lvblJlcXVlc3QaLy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0VmVyc2lvblJlc3BvbnNlImuC0+STAmUiLC9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvdmVyc2lvbnMvZ2V0OgEqWjIiLS9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL3ZlcnNpb25zL2dldDoBKhLRAQokQ2xvdWRFbnZpcm9ubWVudHNMaXN0QmFzZUltYWdlQnVpbGRzEjcucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RCYXNlSW1hZ2VCdWlsZHNSZXF1ZXN0GjgucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RCYXNlSW1hZ2VCdWlsZHNSZXNwb25zZSI2gtPkkwIwIisvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL2J1aWxkcy9saXN0OgEqEv0BCiNDbG91ZEVudmlyb25tZW50c0R1cGxpY2F0ZUJhc2VJbWFnZRI2LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEdXBsaWNhdGVCYXNlSW1hZ2VSZXF1ZXN0GjcucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0R1cGxpY2F0ZUJhc2VJbWFnZVJlc3BvbnNlImWC0+STAl8iKS9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvZHVwbGljYXRlOgEqWi8iKi9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL2R1cGxpY2F0ZToBKhLzAQohQ2xvdWRFbnZpcm9ubWVudHNSZWZyZXNoQmFzZUltYWdlEjQucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1JlZnJlc2hCYXNlSW1hZ2VSZXNwb25zZSJhgtPkkwJbIicvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3JlZnJlc2g6ASpaLSIoL2Nsb3VkLWVudmlyb25tZW50cy9lbnZpcm9ubWVudHMvcmVmcmVzaDoBKhL9AQofQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTbmFwc2hvdBIyLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTbmFwc2hvdFJlcXVlc3QaMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU25hcHNob3RSZXNwb25zZSJxgtPkkwJrIi8vY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3VwZGF0ZS1zbmFwc2hvdDoBKlo1IjAvY2xvdWQtZW52aXJvbm1lbnRzL2Vudmlyb25tZW50cy91cGRhdGUtc25hcHNob3Q6ASoS9gEKLUNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VTbmFwc2hvdFVwZGF0ZRJALnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVNuYXBzaG90VXBkYXRlUmVxdWVzdBpBLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVNuYXBzaG90VXBkYXRlUmVzcG9uc2UiQILT5JMCOiI1L2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy91cGRhdGUtc25hcHNob3Qvc3RhcnQ6ASoS8wEKIUNsb3VkRW52aXJvbm1lbnRzUmVidWlsZEJhc2VJbWFnZRI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZWJ1aWxkQmFzZUltYWdlUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZWJ1aWxkQmFzZUltYWdlUmVzcG9uc2UiYYLT5JMCWyInL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9yZWJ1aWxkOgEqWi0iKC9jbG91ZC1lbnZpcm9ubWVudHMvZW52aXJvbm1lbnRzL3JlYnVpbGQ6ASoS2QEKJkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkEjkucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlUmVidWlsZFJlcXVlc3QaOi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZWJ1aWxkUmVzcG9uc2UiOILT5JMCMiItL2Nsb3VkLWVudmlyb25tZW50cy9iYXNlLWltYWdlcy9yZWJ1aWxkL3N0YXJ0OgEqEtkBCiZDbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlUmVmcmVzaBI5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlZnJlc2hSZXF1ZXN0GjoucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1N0YXJ0QmFzZUltYWdlUmVmcmVzaFJlc3BvbnNlIjiC0+STAjIiLS9jbG91ZC1lbnZpcm9ubWVudHMvYmFzZS1pbWFnZXMvcmVmcmVzaC9zdGFydDoBKhKMAgoyQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlcG9zaXRvcnlSZWNvbmNpbGUSRS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzU3RhcnRCYXNlSW1hZ2VSZXBvc2l0b3J5UmVjb25jaWxlUmVxdWVzdBpGLnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNTdGFydEJhc2VJbWFnZVJlcG9zaXRvcnlSZWNvbmNpbGVSZXNwb25zZSJHgtPkkwJBIjwvY2xvdWQtZW52aXJvbm1lbnRzL2Jhc2UtaW1hZ2VzL3JlcG9zaXRvcmllcy9yZWNvbmNpbGUvc3RhcnQ6ASoSswEKHUNsb3VkRW52aXJvbm1lbnRzR2V0T3BlcmF0aW9uEjAucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0dldE9wZXJhdGlvblJlcXVlc3QaMS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0T3BlcmF0aW9uUmVzcG9uc2UiLYLT5JMCJyIiL2Nsb3VkLWVudmlyb25tZW50cy9vcGVyYXRpb25zL2dldDoBKhLMAQojQ2xvdWRFbnZpcm9ubWVudHNHZXRBY3RpdmVPcGVyYXRpb24SNi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzR2V0QWN0aXZlT3BlcmF0aW9uUmVxdWVzdBo3LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNHZXRBY3RpdmVPcGVyYXRpb25SZXNwb25zZSI0gtPkkwIuIikvY2xvdWQtZW52aXJvbm1lbnRzL29wZXJhdGlvbnMvYWN0aXZlL2dldDoBKhK/AQogQ2xvdWRFbnZpcm9ubWVudHNDYW5jZWxPcGVyYXRpb24SMy5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzQ2FuY2VsT3BlcmF0aW9uUmVxdWVzdBo0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNDYW5jZWxPcGVyYXRpb25SZXNwb25zZSIwgtPkkwIqIiUvY2xvdWQtZW52aXJvbm1lbnRzL29wZXJhdGlvbnMvY2FuY2VsOgEqEsABCiVDbG91ZEVudmlyb25tZW50c0xpc3RTYW5kYm94UHJvdmlkZXJzEjgucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBo5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0U2FuZGJveFByb3ZpZGVyc1Jlc3BvbnNlIiKC0+STAhwiFy9zYW5kYm94LXByb3ZpZGVycy9saXN0OgEqErkBCiNDbG91ZEVudmlyb25tZW50c0dldFNhbmRib3hQcm92aWRlchI2LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNHZXRTYW5kYm94UHJvdmlkZXJSZXF1ZXN0GjcucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0dldFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGC0+STAhsiFi9zYW5kYm94LXByb3ZpZGVycy9nZXQ6ASoSxQEKJkNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlU2FuZGJveFByb3ZpZGVyEjkucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0NyZWF0ZVNhbmRib3hQcm92aWRlclJlcXVlc3QaOi5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlU2FuZGJveFByb3ZpZGVyUmVzcG9uc2UiJILT5JMCHiIZL3NhbmRib3gtcHJvdmlkZXJzL2NyZWF0ZToBKhLFAQomQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTYW5kYm94UHJvdmlkZXISOS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzVXBkYXRlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBo6LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVTYW5kYm94UHJvdmlkZXJSZXNwb25zZSIkgtPkkwIeIhkvc2FuZGJveC1wcm92aWRlcnMvdXBkYXRlOgEqEsUBCiZDbG91ZEVudmlyb25tZW50c0RlbGV0ZVNhbmRib3hQcm92aWRlchI5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVTYW5kYm94UHJvdmlkZXJSZXF1ZXN0GjoucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0RlbGV0ZVNhbmRib3hQcm92aWRlclJlc3BvbnNlIiSC0+STAh4iGS9zYW5kYm94LXByb3ZpZGVycy9kZWxldGU6ASoSyQEKJ0Nsb3VkRW52aXJvbm1lbnRzUmVzdG9yZVNhbmRib3hQcm92aWRlchI6LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZXN0b3JlU2FuZGJveFByb3ZpZGVyUmVxdWVzdBo7LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNSZXN0b3JlU2FuZGJveFByb3ZpZGVyUmVzcG9uc2UiJYLT5JMCHyIaL3NhbmRib3gtcHJvdmlkZXJzL3Jlc3RvcmU6ASoSvQEKIUNsb3VkRW52aXJvbm1lbnRzQ3JlYXRlRGFlbW9uUG9vbBI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVEYWVtb25Qb29sUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNDcmVhdGVEYWVtb25Qb29sUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy9jcmVhdGU6ASoSvQEKIUNsb3VkRW52aXJvbm1lbnRzVXBkYXRlRGFlbW9uUG9vbBI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVEYWVtb25Qb29sUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNVcGRhdGVEYWVtb25Qb29sUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy91cGRhdGU6ASoSvQEKIUNsb3VkRW52aXJvbm1lbnRzRGVsZXRlRGFlbW9uUG9vbBI0LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVEYWVtb25Qb29sUmVxdWVzdBo1LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNEZWxldGVEYWVtb25Qb29sUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy9kZWxldGU6ASoSwQEKIkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2wSNS5wdWJsaWNfYXBpLkNsb3VkRW52aXJvbm1lbnRzUmVzdG9yZURhZW1vblBvb2xSZXF1ZXN0GjYucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c1Jlc3RvcmVEYWVtb25Qb29sUmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLWVudmlyb25tZW50cy9wb29scy9yZXN0b3JlOgEqEtIBCiZDbG91ZEVudmlyb25tZW50c0xpc3REYWVtb25Qb29sRGFlbW9ucxI5LnB1YmxpY19hcGkuQ2xvdWRFbnZpcm9ubWVudHNMaXN0RGFlbW9uUG9vbERhZW1vbnNSZXF1ZXN0GjoucHVibGljX2FwaS5DbG91ZEVudmlyb25tZW50c0xpc3REYWVtb25Qb29sRGFlbW9uc1Jlc3BvbnNlIjGC0+STAisiJi9jbG91ZC1lbnZpcm9ubWVudHMvcG9vbHMvZGFlbW9ucy9saXN0OgEqEpIBChVDbG91ZEV2ZW50c0xpc3RFdmVudHMSKC5wdWJsaWNfYXBpLkNsb3VkRXZlbnRzTGlzdEV2ZW50c1JlcXVlc3QaKS5wdWJsaWNfYXBpLkNsb3VkRXZlbnRzTGlzdEV2ZW50c1Jlc3BvbnNlIiSC0+STAh4iGS9jbG91ZC1ldmVudHMvZXZlbnRzL2xpc3Q6ASoShQEKEENsb3VkVHVubmVsc09wZW4SIy5wdWJsaWNfYXBpLkNsb3VkVHVubmVsc09wZW5SZXF1ZXN0GiQucHVibGljX2FwaS5DbG91ZFR1bm5lbHNPcGVuUmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLXR1bm5lbHMvdHVubmVscy9vcGVuOgEqEokBChFDbG91ZFR1bm5lbHNDbG9zZRIkLnB1YmxpY19hcGkuQ2xvdWRUdW5uZWxzQ2xvc2VSZXF1ZXN0GiUucHVibGljX2FwaS5DbG91ZFR1bm5lbHNDbG9zZVJlc3BvbnNlIieC0+STAiEiHC9jbG91ZC10dW5uZWxzL3R1bm5lbHMvY2xvc2U6ASoShQEKEENsb3VkVHVubmVsc0xpc3QSIy5wdWJsaWNfYXBpLkNsb3VkVHVubmVsc0xpc3RSZXF1ZXN0GiQucHVibGljX2FwaS5DbG91ZFR1bm5lbHNMaXN0UmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLXR1bm5lbHMvdHVubmVscy9saXN0OgEqEqYBChpDbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93cxItLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0xpc3RXb3JrZmxvd3NSZXF1ZXN0Gi4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzTGlzdFdvcmtmbG93c1Jlc3BvbnNlIimC0+STAiMiHi9jbG91ZC10cmlnZ2Vycy93b3JrZmxvd3MvbGlzdDoBKhKfAQoYQ2xvdWRUcmlnZ2Vyc0dldFdvcmtmbG93EisucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzR2V0V29ya2Zsb3dSZXF1ZXN0GiwucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzR2V0V29ya2Zsb3dSZXNwb25zZSIogtPkkwIiIh0vY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL2dldDoBKhKrAQobQ2xvdWRUcmlnZ2Vyc0RlbGV0ZVdvcmtmbG93Ei4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzRGVsZXRlV29ya2Zsb3dSZXF1ZXN0Gi8ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzRGVsZXRlV29ya2Zsb3dSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL2RlbGV0ZToBKhKrAQobQ2xvdWRUcmlnZ2Vyc0NyZWF0ZVdvcmtmbG93Ei4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzQ3JlYXRlV29ya2Zsb3dSZXF1ZXN0Gi8ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzQ3JlYXRlV29ya2Zsb3dSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL2NyZWF0ZToBKhKrAQobQ2xvdWRUcmlnZ2Vyc1VwZGF0ZVdvcmtmbG93Ei4ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzVXBkYXRlV29ya2Zsb3dSZXF1ZXN0Gi8ucHVibGljX2FwaS5DbG91ZFRyaWdnZXJzVXBkYXRlV29ya2Zsb3dSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtdHJpZ2dlcnMvd29ya2Zsb3dzL3VwZGF0ZToBKhKzAQodQ2xvdWRUcmlnZ2Vyc0xpc3RFdmVudFNvdXJjZXMSMC5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNMaXN0RXZlbnRTb3VyY2VzUmVxdWVzdBoxLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0xpc3RFdmVudFNvdXJjZXNSZXNwb25zZSItgtPkkwInIiIvY2xvdWQtdHJpZ2dlcnMvZXZlbnQtc291cmNlcy9saXN0OgEqEqwBChtDbG91ZFRyaWdnZXJzR2V0RXZlbnRTb3VyY2USLi5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNHZXRFdmVudFNvdXJjZVJlcXVlc3QaLy5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNHZXRFdmVudFNvdXJjZVJlc3BvbnNlIiyC0+STAiYiIS9jbG91ZC10cmlnZ2Vycy9ldmVudC1zb3VyY2VzL2dldDoBKhK7AQofQ2xvdWRUcmlnZ2Vyc0RlbGV0ZUV2ZW50U291cmNlcxIyLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0RlbGV0ZUV2ZW50U291cmNlc1JlcXVlc3QaMy5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNEZWxldGVFdmVudFNvdXJjZXNSZXNwb25zZSIvgtPkkwIpIiQvY2xvdWQtdHJpZ2dlcnMvZXZlbnQtc291cmNlcy9kZWxldGU6ASoSuAEKHkNsb3VkVHJpZ2dlcnNDcmVhdGVFdmVudFNvdXJjZRIxLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVxdWVzdBoyLnB1YmxpY19hcGkuQ2xvdWRUcmlnZ2Vyc0NyZWF0ZUV2ZW50U291cmNlUmVzcG9uc2UiL4LT5JMCKSIkL2Nsb3VkLXRyaWdnZXJzL2V2ZW50LXNvdXJjZXMvY3JlYXRlOgEqErgBCh5DbG91ZFRyaWdnZXJzVXBkYXRlRXZlbnRTb3VyY2USMS5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNVcGRhdGVFdmVudFNvdXJjZVJlcXVlc3QaMi5wdWJsaWNfYXBpLkNsb3VkVHJpZ2dlcnNVcGRhdGVFdmVudFNvdXJjZVJlc3BvbnNlIi+C0+STAikiJC9jbG91ZC10cmlnZ2Vycy9ldmVudC1zb3VyY2VzL3VwZGF0ZToBKhKKAQoRQ2xvdWRXZWJob29rc0xpc3QSJC5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NMaXN0UmVxdWVzdBolLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc0xpc3RSZXNwb25zZSIogtPkkwIiIh0vY2xvdWQtd2ViaG9va3Mvd2ViaG9va3MvbGlzdDoBKhKSAQoTQ2xvdWRXZWJob29rc0NyZWF0ZRImLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc0NyZWF0ZVJlcXVlc3QaJy5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NDcmVhdGVSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtd2ViaG9va3Mvd2ViaG9va3MvY3JlYXRlOgEqEoYBChBDbG91ZFdlYmhvb2tzR2V0EiMucHVibGljX2FwaS5DbG91ZFdlYmhvb2tzR2V0UmVxdWVzdBokLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc0dldFJlc3BvbnNlIieC0+STAiEiHC9jbG91ZC13ZWJob29rcy93ZWJob29rcy9nZXQ6ASoSkgEKE0Nsb3VkV2ViaG9va3NEZWxldGUSJi5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NEZWxldGVSZXF1ZXN0GicucHVibGljX2FwaS5DbG91ZFdlYmhvb2tzRGVsZXRlUmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLXdlYmhvb2tzL3dlYmhvb2tzL2RlbGV0ZToBKhKSAQoTQ2xvdWRXZWJob29rc1VwZGF0ZRImLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc1VwZGF0ZVJlcXVlc3QaJy5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NVcGRhdGVSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtd2ViaG9va3Mvd2ViaG9va3MvdXBkYXRlOgEqEp8BChZDbG91ZFdlYmhvb2tzU2V0U2VjcmV0EikucHVibGljX2FwaS5DbG91ZFdlYmhvb2tzU2V0U2VjcmV0UmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRXZWJob29rc1NldFNlY3JldFJlc3BvbnNlIi6C0+STAigiIy9jbG91ZC13ZWJob29rcy93ZWJob29rcy9zZXQtc2VjcmV0OgEqEsgBCiFDbG91ZFdlYmhvb2tzR2V0U2V0dXBJbnN0cnVjdGlvbnMSNC5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NHZXRTZXR1cEluc3RydWN0aW9uc1JlcXVlc3QaNS5wdWJsaWNfYXBpLkNsb3VkV2ViaG9va3NHZXRTZXR1cEluc3RydWN0aW9uc1Jlc3BvbnNlIjaC0+STAjAiKy9jbG91ZC13ZWJob29rcy93ZWJob29rcy9zZXR1cC1pbnN0cnVjdGlvbnM6ASoSkgEKFUNsb3VkU3BhY2VzTGlzdFNwYWNlcxIoLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNMaXN0U3BhY2VzUmVxdWVzdBopLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNMaXN0U3BhY2VzUmVzcG9uc2UiJILT5JMCHiIZL2Nsb3VkLXNwYWNlcy9zcGFjZXMvbGlzdDoBKhKLAQoTQ2xvdWRTcGFjZXNHZXRTcGFjZRImLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNHZXRTcGFjZVJlcXVlc3QaJy5wdWJsaWNfYXBpLkNsb3VkU3BhY2VzR2V0U3BhY2VSZXNwb25zZSIjgtPkkwIdIhgvY2xvdWQtc3BhY2VzL3NwYWNlcy9nZXQ6ASoSlwEKFkNsb3VkU3BhY2VzQ3JlYXRlU3BhY2USKS5wdWJsaWNfYXBpLkNsb3VkU3BhY2VzQ3JlYXRlU3BhY2VSZXF1ZXN0GioucHVibGljX2FwaS5DbG91ZFNwYWNlc0NyZWF0ZVNwYWNlUmVzcG9uc2UiJoLT5JMCICIbL2Nsb3VkLXNwYWNlcy9zcGFjZXMvY3JlYXRlOgEqEpcBChZDbG91ZFNwYWNlc0RlbGV0ZVNwYWNlEikucHVibGljX2FwaS5DbG91ZFNwYWNlc0RlbGV0ZVNwYWNlUmVxdWVzdBoqLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNEZWxldGVTcGFjZVJlc3BvbnNlIiaC0+STAiAiGy9jbG91ZC1zcGFjZXMvc3BhY2VzL2RlbGV0ZToBKhKXAQoWQ2xvdWRTcGFjZXNVcGRhdGVTcGFjZRIpLnB1YmxpY19hcGkuQ2xvdWRTcGFjZXNVcGRhdGVTcGFjZVJlcXVlc3QaKi5wdWJsaWNfYXBpLkNsb3VkU3BhY2VzVXBkYXRlU3BhY2VSZXNwb25zZSImgtPkkwIgIhsvY2xvdWQtc3BhY2VzL3NwYWNlcy91cGRhdGU6ASoSeQoPQ2xvdWRHcm91cHNMaXN0EiIucHVibGljX2FwaS5DbG91ZEdyb3Vwc0xpc3RSZXF1ZXN0GiMucHVibGljX2FwaS5DbG91ZEdyb3Vwc0xpc3RSZXNwb25zZSIdgtPkkwIXIhIvY2xvdWQtZ3JvdXBzL2xpc3Q6ASoSgQEKEUNsb3VkR3JvdXBzQ3JlYXRlEiQucHVibGljX2FwaS5DbG91ZEdyb3Vwc0NyZWF0ZVJlcXVlc3QaJS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzQ3JlYXRlUmVzcG9uc2UiH4LT5JMCGSIUL2Nsb3VkLWdyb3Vwcy9jcmVhdGU6ASoSgQEKEUNsb3VkR3JvdXBzVXBkYXRlEiQucHVibGljX2FwaS5DbG91ZEdyb3Vwc1VwZGF0ZVJlcXVlc3QaJS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzVXBkYXRlUmVzcG9uc2UiH4LT5JMCGSIUL2Nsb3VkLWdyb3Vwcy91cGRhdGU6ASoSgQEKEUNsb3VkR3JvdXBzRGVsZXRlEiQucHVibGljX2FwaS5DbG91ZEdyb3Vwc0RlbGV0ZVJlcXVlc3QaJS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzRGVsZXRlUmVzcG9uc2UiH4LT5JMCGSIUL2Nsb3VkLWdyb3Vwcy9kZWxldGU6ASoSlgEKFkNsb3VkR3JvdXBzTGlzdE1lbWJlcnMSKS5wdWJsaWNfYXBpLkNsb3VkR3JvdXBzTGlzdE1lbWJlcnNSZXF1ZXN0GioucHVibGljX2FwaS5DbG91ZEdyb3Vwc0xpc3RNZW1iZXJzUmVzcG9uc2UiJYLT5JMCHyIaL2Nsb3VkLWdyb3Vwcy9tZW1iZXJzL2xpc3Q6ASoSkgEKFUNsb3VkR3JvdXBzQWRkTWVtYmVycxIoLnB1YmxpY19hcGkuQ2xvdWRHcm91cHNBZGRNZW1iZXJzUmVxdWVzdBopLnB1YmxpY19hcGkuQ2xvdWRHcm91cHNBZGRNZW1iZXJzUmVzcG9uc2UiJILT5JMCHiIZL2Nsb3VkLWdyb3Vwcy9tZW1iZXJzL2FkZDoBKhKeAQoYQ2xvdWRHcm91cHNSZW1vdmVNZW1iZXJzEisucHVibGljX2FwaS5DbG91ZEdyb3Vwc1JlbW92ZU1lbWJlcnNSZXF1ZXN0GiwucHVibGljX2FwaS5DbG91ZEdyb3Vwc1JlbW92ZU1lbWJlcnNSZXNwb25zZSIngtPkkwIhIhwvY2xvdWQtZ3JvdXBzL21lbWJlcnMvcmVtb3ZlOgEqEnMKD0Nsb3VkQWNjZXNzTGlzdBIiLnB1YmxpY19hcGkuQ2xvdWRBY2Nlc3NMaXN0UmVxdWVzdBojLnB1YmxpY19hcGkuQ2xvdWRBY2Nlc3NMaXN0UmVzcG9uc2UiF4LT5JMCESIML2FjY2Vzcy9saXN0OgEqEncKEENsb3VkQWNjZXNzR3JhbnQSIy5wdWJsaWNfYXBpLkNsb3VkQWNjZXNzR3JhbnRSZXF1ZXN0GiQucHVibGljX2FwaS5DbG91ZEFjY2Vzc0dyYW50UmVzcG9uc2UiGILT5JMCEiINL2FjY2Vzcy9ncmFudDoBKhJ7ChFDbG91ZEFjY2Vzc1Jldm9rZRIkLnB1YmxpY19hcGkuQ2xvdWRBY2Nlc3NSZXZva2VSZXF1ZXN0GiUucHVibGljX2FwaS5DbG91ZEFjY2Vzc1Jldm9rZVJlc3BvbnNlIhmC0+STAhMiDi9hY2Nlc3MvcmV2b2tlOgEqEqIBChlDbG91ZFByb2plY3RzTGlzdFByb2plY3RzEiwucHVibGljX2FwaS5DbG91ZFByb2plY3RzTGlzdFByb2plY3RzUmVxdWVzdBotLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c0xpc3RQcm9qZWN0c1Jlc3BvbnNlIiiC0+STAiIiHS9jbG91ZC1wcm9qZWN0cy9wcm9qZWN0cy9saXN0OgEqEpsBChdDbG91ZFByb2plY3RzR2V0UHJvamVjdBIqLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c0dldFByb2plY3RSZXF1ZXN0GisucHVibGljX2FwaS5DbG91ZFByb2plY3RzR2V0UHJvamVjdFJlc3BvbnNlIieC0+STAiEiHC9jbG91ZC1wcm9qZWN0cy9wcm9qZWN0cy9nZXQ6ASoSpwEKGkNsb3VkUHJvamVjdHNDcmVhdGVQcm9qZWN0Ei0ucHVibGljX2FwaS5DbG91ZFByb2plY3RzQ3JlYXRlUHJvamVjdFJlcXVlc3QaLi5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNDcmVhdGVQcm9qZWN0UmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLXByb2plY3RzL3Byb2plY3RzL2NyZWF0ZToBKhKnAQoaQ2xvdWRQcm9qZWN0c0RlbGV0ZVByb2plY3QSLS5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNEZWxldGVQcm9qZWN0UmVxdWVzdBouLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c0RlbGV0ZVByb2plY3RSZXNwb25zZSIqgtPkkwIkIh8vY2xvdWQtcHJvamVjdHMvcHJvamVjdHMvZGVsZXRlOgEqEpsBChVDbG91ZFByb2plY3RzQWRkQWdlbnQSKC5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNBZGRBZ2VudFJlcXVlc3QaKS5wdWJsaWNfYXBpLkNsb3VkUHJvamVjdHNBZGRBZ2VudFJlc3BvbnNlIi2C0+STAiciIi9jbG91ZC1wcm9qZWN0cy9wcm9qZWN0cy9hZGQtYWdlbnQ6ASoSpwEKGENsb3VkUHJvamVjdHNSZW1vdmVBZ2VudBIrLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c1JlbW92ZUFnZW50UmVxdWVzdBosLnB1YmxpY19hcGkuQ2xvdWRQcm9qZWN0c1JlbW92ZUFnZW50UmVzcG9uc2UiMILT5JMCKiIlL2Nsb3VkLXByb2plY3RzL3Byb2plY3RzL3JlbW92ZS1hZ2VudDoBKhK9AQohQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja1NsYWNrU3RhdHVzEjQucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NoZWNrU2xhY2tTdGF0dXNSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NoZWNrU2xhY2tTdGF0dXNSZXNwb25zZSIrgtPkkwIlIiAvY2xvdWQtaW50ZWdyYXRpb25zL3NsYWNrL3N0YXR1czoBKhLAAQohQ2xvdWRJbnRlZ3JhdGlvbnNHZXRTbGFja09BdXRoVXJsEjQucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0dldFNsYWNrT0F1dGhVcmxSZXF1ZXN0GjUucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0dldFNsYWNrT0F1dGhVcmxSZXNwb25zZSIugtPkkwIoIiMvY2xvdWQtaW50ZWdyYXRpb25zL3NsYWNrL29hdXRoLXVybDoBKhLHAQoiQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0U2xhY2tDaGFubmVscxI1LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0U2xhY2tDaGFubmVsc1JlcXVlc3QaNi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zTGlzdFNsYWNrQ2hhbm5lbHNSZXNwb25zZSIygtPkkwIsIicvY2xvdWQtaW50ZWdyYXRpb25zL3NsYWNrL2xpc3QtY2hhbm5lbHM6ASoSwQEKIkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tMaW5lYXJTdGF0dXMSNS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tMaW5lYXJTdGF0dXNSZXF1ZXN0GjYucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NoZWNrTGluZWFyU3RhdHVzUmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLWludGVncmF0aW9ucy9saW5lYXIvc3RhdHVzOgEqEsQBCiJDbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsEjUucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0dldExpbmVhck9BdXRoVXJsUmVxdWVzdBo2LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNHZXRMaW5lYXJPQXV0aFVybFJlc3BvbnNlIi+C0+STAikiJC9jbG91ZC1pbnRlZ3JhdGlvbnMvbGluZWFyL29hdXRoLXVybDoBKhLOAQolQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0dpdEh1YkFwcFN0YXR1cxI4LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0dpdEh1YkFwcFN0YXR1c1JlcXVlc3QaOS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tHaXRIdWJBcHBTdGF0dXNSZXNwb25zZSIwgtPkkwIqIiUvY2xvdWQtaW50ZWdyYXRpb25zL2dpdGh1Yi1hcHAvc3RhdHVzOgEqEtkBCidDbG91ZEludGVncmF0aW9uc0dldEdpdEh1YkFwcEluc3RhbGxVcmwSOi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0R2l0SHViQXBwSW5zdGFsbFVybFJlcXVlc3QaOy5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0R2l0SHViQXBwSW5zdGFsbFVybFJlc3BvbnNlIjWC0+STAi8iKi9jbG91ZC1pbnRlZ3JhdGlvbnMvZ2l0aHViLWFwcC9pbnN0YWxsLXVybDoBKhLaAQooQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0F0bGFzc2lhbkFwcFN0YXR1cxI7LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNDaGVja0F0bGFzc2lhbkFwcFN0YXR1c1JlcXVlc3QaPC5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2hlY2tBdGxhc3NpYW5BcHBTdGF0dXNSZXNwb25zZSIzgtPkkwItIigvY2xvdWQtaW50ZWdyYXRpb25zL2F0bGFzc2lhbi1hcHAvc3RhdHVzOgEqEuUBCipDbG91ZEludGVncmF0aW9uc0dldEF0bGFzc2lhbkFwcEluc3RhbGxVcmwSPS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0QXRsYXNzaWFuQXBwSW5zdGFsbFVybFJlcXVlc3QaPi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zR2V0QXRsYXNzaWFuQXBwSW5zdGFsbFVybFJlc3BvbnNlIjiC0+STAjIiLS9jbG91ZC1pbnRlZ3JhdGlvbnMvYXRsYXNzaWFuLWFwcC9pbnN0YWxsLXVybDoBKhKRAQoVQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0EigucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0xpc3RSZXF1ZXN0GikucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0xpc3RSZXNwb25zZSIjgtPkkwIdIhgvY2xvdWQtaW50ZWdyYXRpb25zL2xpc3Q6ASoSsgEKHUNsb3VkSW50ZWdyYXRpb25zSW52b2tlQWN0aW9uEjAucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0ludm9rZUFjdGlvblJlcXVlc3QaMS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zSW52b2tlQWN0aW9uUmVzcG9uc2UiLILT5JMCJiIhL2Nsb3VkLWludGVncmF0aW9ucy9pbnZva2UtYWN0aW9uOgEqEuABCihDbG91ZEludGVncmF0aW9uc0NyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uEjsucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uUmVxdWVzdBo8LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNDcmVhdGVFdmVudFN1YnNjcmlwdGlvblJlc3BvbnNlIjmC0+STAjMiLi9jbG91ZC1pbnRlZ3JhdGlvbnMvZXZlbnQtc3Vic2NyaXB0aW9ucy9jcmVhdGU6ASoS2wEKJ0Nsb3VkSW50ZWdyYXRpb25zTGlzdEV2ZW50U3Vic2NyaXB0aW9ucxI6LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0RXZlbnRTdWJzY3JpcHRpb25zUmVxdWVzdBo7LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNMaXN0RXZlbnRTdWJzY3JpcHRpb25zUmVzcG9uc2UiN4LT5JMCMSIsL2Nsb3VkLWludGVncmF0aW9ucy9ldmVudC1zdWJzY3JpcHRpb25zL2xpc3Q6ASoS4AEKKENsb3VkSW50ZWdyYXRpb25zQ2FuY2VsRXZlbnRTdWJzY3JpcHRpb24SOy5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zQ2FuY2VsRXZlbnRTdWJzY3JpcHRpb25SZXF1ZXN0GjwucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc0NhbmNlbEV2ZW50U3Vic2NyaXB0aW9uUmVzcG9uc2UiOYLT5JMCMyIuL2Nsb3VkLWludGVncmF0aW9ucy9ldmVudC1zdWJzY3JpcHRpb25zL2NhbmNlbDoBKhLHAQoiQ2xvdWRJbnRlZ3JhdGlvbnNSZXZva2VHaXRodWJPQXV0aBI1LnB1YmxpY19hcGkuQ2xvdWRJbnRlZ3JhdGlvbnNSZXZva2VHaXRodWJPQXV0aFJlcXVlc3QaNi5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlR2l0aHViT0F1dGhSZXNwb25zZSIygtPkkwIsIicvY2xvdWQtaW50ZWdyYXRpb25zL2dpdGh1Yi9yZXZva2Utb2F1dGg6ASoSxwEKIkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlTGluZWFyT0F1dGgSNS5wdWJsaWNfYXBpLkNsb3VkSW50ZWdyYXRpb25zUmV2b2tlTGluZWFyT0F1dGhSZXF1ZXN0GjYucHVibGljX2FwaS5DbG91ZEludGVncmF0aW9uc1Jldm9rZUxpbmVhck9BdXRoUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLWludGVncmF0aW9ucy9saW5lYXIvcmV2b2tlLW9hdXRoOgEqEnoKDlByb2Nlc3NXZWJob29rEiEucHVibGljX2FwaS5Qcm9jZXNzV2ViaG9va1JlcXVlc3QaIi5wdWJsaWNfYXBpLlByb2Nlc3NXZWJob29rUmVzcG9uc2UiIYLT5JMCGyIWL3dlYmhvb2tzL3t3ZWJob29rX2lkfToBKhKSAQoVQ2xvdWRBZ2VudHNMaXN0QWdlbnRzEigucHVibGljX2FwaS5DbG91ZEFnZW50c0xpc3RBZ2VudHNSZXF1ZXN0GikucHVibGljX2FwaS5DbG91ZEFnZW50c0xpc3RBZ2VudHNSZXNwb25zZSIkgtPkkwIeIhkvY2xvdWQtYWdlbnRzL2FnZW50cy9saXN0OgEqEr4BCh5DbG91ZEFnZW50c1VwZGF0ZVNlc3Npb25Db25maWcSMS5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzVXBkYXRlU2Vzc2lvbkNvbmZpZ1JlcXVlc3QaMi5wdWJsaWNfYXBpLkNsb3VkQWdlbnRzVXBkYXRlU2Vzc2lvbkNvbmZpZ1Jlc3BvbnNlIjWC0+STAi8iKi9jbG91ZC1hZ2VudHMvYWdlbnRzL3VwZGF0ZS1zZXNzaW9uLWNvbmZpZzoBKhKBAQoXQ2xvdWRBZ2VudHNDb25uZWN0Q2xpVm0SHS5wb3NlaWRvbi5Db25uZWN0Q2xpVm1SZXF1ZXN0Gh4ucG9zZWlkb24uQ29ubmVjdENsaVZtUmVzcG9uc2UiJ4LT5JMCISIcL3ZtLWJlYWNoaGVhZC9jb25uZWN0LWNsaS12bToBKhKNAQoaQ2xvdWRBZ2VudHNGZXRjaFZGU0NoYW5nZXMSIC5wb3NlaWRvbi5GZXRjaFZGU0NoYW5nZXNSZXF1ZXN0GiEucG9zZWlkb24uRmV0Y2hWRlNDaGFuZ2VzUmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLWFnZW50cy92ZnMvZmV0Y2gtY2hhbmdlczoBKhKZAQoeQ2xvdWRBZ2VudHNGZXRjaFZGU0ZpbGVDb250ZW50EiQucG9zZWlkb24uRmV0Y2hWRlNGaWxlQ29udGVudFJlcXVlc3QaJS5wb3NlaWRvbi5GZXRjaFZGU0ZpbGVDb250ZW50UmVzcG9uc2UiKoLT5JMCJCIfL2Nsb3VkLWFnZW50cy92ZnMvZmV0Y2gtY29udGVudDoBKhKQAQofQ2xvdWRBZ2VudHNTdHJlYW1WRlNGaWxlQ29udGVudBIkLnBvc2VpZG9uLkZldGNoVkZTRmlsZUNvbnRlbnRSZXF1ZXN0GhgucG9zZWlkb24uVkZTRmlsZUNvbnRlbnQiK4LT5JMCJSIgL2Nsb3VkLWFnZW50cy92ZnMvc3RyZWFtLWNvbnRlbnQ6ASowARKRAQobQ2xvdWRBZ2VudHNDb21taXRWRlNDaGFuZ2VzEiEucG9zZWlkb24uQ29tbWl0VkZTQ2hhbmdlc1JlcXVlc3QaIi5wb3NlaWRvbi5Db21taXRWRlNDaGFuZ2VzUmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWFnZW50cy92ZnMvY29tbWl0LWNoYW5nZXM6ASoStwEKIENsb3VkQWdlbnRzRW5zdXJlVkZTRmlsZUlkZW50aXR5EiYucG9zZWlkb24uRW5zdXJlVkZTRmlsZUlkZW50aXR5UmVxdWVzdBo4LnB1YmxpY19hcGkuQ2xvdWRBZ2VudHNFbnN1cmVWRlNGaWxlSWRlbnRpdHlIdHRwUmVzcG9uc2UiMYLT5JMCKyImL2Nsb3VkLWFnZW50cy92ZnMvZW5zdXJlLWZpbGUtaWRlbnRpdHk6ASoSuwEKIUNsb3VkQWdlbnRzUmVzb2x2ZVZGU0ZpbGVJZGVudGl0eRInLnBvc2VpZG9uLlJlc29sdmVWRlNGaWxlSWRlbnRpdHlSZXF1ZXN0GjkucHVibGljX2FwaS5DbG91ZEFnZW50c1Jlc29sdmVWRlNGaWxlSWRlbnRpdHlIdHRwUmVzcG9uc2UiMoLT5JMCLCInL2Nsb3VkLWFnZW50cy92ZnMvcmVzb2x2ZS1maWxlLWlkZW50aXR5OgEqEp4BCh5DbG91ZEFnZW50c0xpc3RWRlNGaWxlVmVyc2lvbnMSJC5wb3NlaWRvbi5MaXN0VkZTRmlsZVZlcnNpb25zUmVxdWVzdBolLnBvc2VpZG9uLkxpc3RWRlNGaWxlVmVyc2lvbnNSZXNwb25zZSIvgtPkkwIpIiQvY2xvdWQtYWdlbnRzL3Zmcy9saXN0LWZpbGUtdmVyc2lvbnM6ASoSmgEKHUNsb3VkQWdlbnRzUmVhZFZGU0ZpbGVWZXJzaW9uEiMucG9zZWlkb24uUmVhZFZGU0ZpbGVWZXJzaW9uUmVxdWVzdBokLnBvc2VpZG9uLlJlYWRWRlNGaWxlVmVyc2lvblJlc3BvbnNlIi6C0+STAigiIy9jbG91ZC1hZ2VudHMvdmZzL3JlYWQtZmlsZS12ZXJzaW9uOgEqEqYBCiBDbG91ZEFnZW50c0xpc3RWRlNWZXJzaW9uZWRGaWxlcxImLnBvc2VpZG9uLkxpc3RWRlNWZXJzaW9uZWRGaWxlc1JlcXVlc3QaJy5wb3NlaWRvbi5MaXN0VkZTVmVyc2lvbmVkRmlsZXNSZXNwb25zZSIxgtPkkwIrIiYvY2xvdWQtYWdlbnRzL3Zmcy9saXN0LXZlcnNpb25lZC1maWxlczoBKhKRAQobQ2xvdWRBZ2VudHNBcHBlbmRWRlNDb21tZW50EiEucG9zZWlkb24uQXBwZW5kVkZTQ29tbWVudFJlcXVlc3QaIi5wb3NlaWRvbi5BcHBlbmRWRlNDb21tZW50UmVzcG9uc2UiK4LT5JMCJSIgL2Nsb3VkLWFnZW50cy92ZnMvYXBwZW5kLWNvbW1lbnQ6ASoSjQEKGkNsb3VkQWdlbnRzTGlzdFZGU0NvbW1lbnRzEiAucG9zZWlkb24uTGlzdFZGU0NvbW1lbnRzUmVxdWVzdBohLnBvc2VpZG9uLkxpc3RWRlNDb21tZW50c1Jlc3BvbnNlIiqC0+STAiQiHy9jbG91ZC1hZ2VudHMvdmZzL2xpc3QtY29tbWVudHM6ASoStAEKJUNsb3VkQWdlbnRzQ3JlYXRlSG9zdGVkQXJ0aWZhY3RVcGxvYWQSKy5wb3NlaWRvbi5DcmVhdGVIb3N0ZWRBcnRpZmFjdFVwbG9hZFJlcXVlc3QaLC5wb3NlaWRvbi5DcmVhdGVIb3N0ZWRBcnRpZmFjdFVwbG9hZFJlc3BvbnNlIjCC0+STAioiJS9jbG91ZC1hZ2VudHMvYXJ0aWZhY3RzL2NyZWF0ZS11cGxvYWQ6ASoSowEKIUNsb3VkQWdlbnRzRmluYWxpemVIb3N0ZWRBcnRpZmFjdBInLnBvc2VpZG9uLkZpbmFsaXplSG9zdGVkQXJ0aWZhY3RSZXF1ZXN0GigucG9zZWlkb24uRmluYWxpemVIb3N0ZWRBcnRpZmFjdFJlc3BvbnNlIiuC0+STAiUiIC9jbG91ZC1hZ2VudHMvYXJ0aWZhY3RzL2ZpbmFsaXplOgEqEpsBCh9DbG91ZEFnZW50c0RlbGV0ZUhvc3RlZEFydGlmYWN0EiUucG9zZWlkb24uRGVsZXRlSG9zdGVkQXJ0aWZhY3RSZXF1ZXN0GiYucG9zZWlkb24uRGVsZXRlSG9zdGVkQXJ0aWZhY3RSZXNwb25zZSIpgtPkkwIjIh4vY2xvdWQtYWdlbnRzL2FydGlmYWN0cy9kZWxldGU6ASpiBnByb3RvMw",[qi,go,QS,Ma,Ha]);var po=Ua(EJ,0);function TS(){try{new Headers}catch{throw new Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var $i=function(e){return this instanceof $i?(this.v=e,this):new $i(e)},RJ=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(b){return function(f){return Promise.resolve(f).then(b,u)}}function l(b,f){r[b]&&(o[b]=function(A){return new Promise(function(m,V){i.push([b,A,m,V])>1||a(b,A)})},f&&(o[b]=f(o[b])))}function a(b,f){try{c(r[b](f))}catch(A){h(i[0][3],A)}}function c(b){b.value instanceof $i?Promise.resolve(b.value.v).then(d,u):h(i[0][2],b)}function d(b){a("next",b)}function u(b){a("throw",b)}function h(b,f){b(f),i.shift(),i.length&&a(i[0][0],i[0][1])}},KS={redirect:"error"};function ab(e){var t;TS();let n=(t=e.useBinaryFormat)!==null&&t!==void 0?t:!1;return{async unary(r,o,i,s,l,a){let{serialize:c,parse:d}=Ja(r,n,e.jsonOptions,e.binaryOptions);return i=i===void 0?e.defaultTimeoutMs:i<=0?void 0:i,await nb({interceptors:e.interceptors,signal:o,timeoutMs:i,req:{stream:!1,service:r.parent,method:r,requestMethod:"POST",url:xa(e.baseUrl,r),header:Ka(r.methodKind,n,i,s,!1),contextValues:a??wa(),message:l},next:async u=>{var h;let b=e.useHttpGet===!0&&r.idempotency===El.NO_SIDE_EFFECTS,f=null;b?u=tb(u,c(u.message),n):f=c(u.message);let m=await((h=e.fetch)!==null&&h!==void 0?h:globalThis.fetch)(u.url,Object.assign(Object.assign({},KS),{method:u.requestMethod,headers:u.header,signal:u.signal,body:f})),{isUnaryError:V,unaryError:E}=za(r.methodKind,n,m.status,m.headers);if(V)throw ji(await m.json(),zh(...Qa(m.headers)),E);let[R,G]=Qa(m.headers);return{stream:!1,service:r.parent,method:r,header:R,message:n?d(new Uint8Array(await m.arrayBuffer())):qr(r.output,await m.json(),va(e.jsonOptions)),trailer:G}}})},async stream(r,o,i,s,l,a){let{serialize:c,parse:d}=Ja(r,n,e.jsonOptions,e.binaryOptions);function u(b,f,A,m){return RJ(this,arguments,function*(){let E=Lh(b).getReader(),R=!1;for(;;){let G=yield $i(E.read());if(G.done)break;let{flags:S,data:N}=G.value;if((S&ya)===ya)throw new se("protocol error: received unsupported compressed output",D.Internal);if((S&ka)===ka){R=!0;let g=qh(N);if(g.error){let Z=g.error;throw A.forEach((p,F)=>{Z.metadata.append(F,p)}),Z}g.metadata.forEach((Z,p)=>f.set(p,Z));continue}yield yield $i(d(N))}if("throwIfAborted"in m&&m.throwIfAborted(),!R)throw"missing EndStreamResponse"})}async function h(b){if(r.methodKind!="server_streaming")throw"The fetch API does not support streaming request bodies";let f=await b[Symbol.asyncIterator]().next();if(f.done==!0)throw"missing request message";return Hh(0,c(f.value))}return i=i===void 0?e.defaultTimeoutMs:i<=0?void 0:i,await rb({interceptors:e.interceptors,timeoutMs:i,signal:o,req:{stream:!0,service:r.parent,method:r,requestMethod:"POST",url:xa(e.baseUrl,r),header:Ka(r.methodKind,n,i,s,!1),contextValues:a??wa(),message:l},next:async b=>{var f;let m=await((f=e.fetch)!==null&&f!==void 0?f:globalThis.fetch)(b.url,Object.assign(Object.assign({},KS),{method:b.requestMethod,headers:b.header,signal:b.signal,body:await h(b.message)}));if(za(r.methodKind,n,m.status,m.headers),m.body===null)throw"missing response body";let V=new Headers;return Object.assign(Object.assign({},b),{header:m.headers,trailer:V,message:u(m.body,V,m.headers,b.signal)})}})}}}import{randomUUID as zS}from"node:crypto";async function Oa(e){return typeof e=="function"?await e():e}function es(e,t,n){n&&!e.has(t)&&e.set(t,n)}function cb(e){return t=>async n=>{n.header.has("x-request-id")||n.header.set("x-request-id",zS()),es(n.header,"x-request-session-id",await Oa(e.sessionId)),es(n.header,"x-expert-id",await Oa(e.expertId)),es(n.header,"x-workflow-id",await Oa(e.workflowId));let r=await Oa(e.apiToken);return r&&!n.header.has("authorization")&&n.header.set("authorization",`Bearer ${r}`),es(n.header,"user-agent",e.userAgent),es(n.header,"x-augment-source-agent-id",e.sourceAgentId??process.env.AUGMENT_SOURCE_AGENT_ID),await t(n)}}function ZJ(e){return e?e.replace(/ \(\/[^()]+\)/g,""):""}function SJ(e){return e instanceof se?D[e.code]??"unknown":"unknown"}async function XJ(e,t,n,r){let o=typeof r.apiToken=="function"?await r.apiToken():r.apiToken,i=typeof r.sessionId=="function"?r.sessionId():r.sessionId,s=new URL("report-error",e.replace(/\/?$/,"/")),l=AbortSignal.timeout(1e3);await t(s,{method:"POST",headers:{"Content-Type":"application/json","x-request-id":zS(),...i?{"x-request-session-id":i}:{},...o?{authorization:`Bearer ${o}`}:{}},body:JSON.stringify({original_request_id:n.requestId,sanitized_message:`${n.endpoint} call failed with status ${SJ(n.error)}`,stack_trace:ZJ(n.error.stack),diagnostics:[{key:"start_time",value:String(n.startTime)},{key:"duration_ms",value:String(n.durationMs)},{key:"message",value:n.error.message}]}),signal:l})}function WJ(e,t,n){return!!(t?.aborted||n.toLowerCase()==="reporterror"||e instanceof se&&e.code===D.Canceled)}function db(e){if(e.errorReporting===!1)return n=>r=>n(r);let t=typeof e.errorReporting=="function"?e.errorReporting:n=>XJ(e.baseUrl,e.fetch??globalThis.fetch,n,e);return n=>async r=>{let o=Date.now(),i=s=>{if(WJ(s,r.signal,r.method.name))return;let l=r.header.get("x-request-id")??"",a={endpoint:r.url,requestId:l,error:s instanceof Error?s:new Error(String(s)),startTime:o,durationMs:Date.now()-o};Promise.resolve().then(()=>t(a)).catch(()=>{})};try{let s=await n(r);if(s.stream){let l=s.message;async function*a(){try{for await(let c of l)yield c}catch(c){throw i(c),c}}return{...s,message:a()}}return s}catch(s){throw i(s),s}}}var ub;function DS(){if(ub)return ub;let e=new Map,t=`/${po.typeName}/`;for(let n of Object.values(po.methods)){let r=nu(n,FZ),o;typeof r?.pattern.value=="string"?o=r.pattern.value:r?.pattern.case==="custom"&&(o=r.pattern.value.path),o&&!o.includes("{")&&e.set(`${t}${n.name}`,o)}return ub=e,e}function GJ(e){switch(e){case 400:return"invalid_argument";case 401:return"unauthenticated";case 403:return"permission_denied";case 404:return"not_found";case 408:case 504:return"deadline_exceeded";case 409:return"already_exists";case 412:return"failed_precondition";case 413:case 429:return"resource_exhausted";case 499:return"canceled";case 501:return"unimplemented";case 502:case 503:return"unavailable";default:return e>=500&&e<600?"internal":"unknown"}}function IJ(e){try{let t=JSON.parse(e);if(typeof t=="object"&&t!==null)return t}catch{}}async function LS(e){try{let t=await e.text(),n=IJ(t),r=typeof n?.code=="string"?n.code:GJ(e.status),o=typeof n?.message=="string"&&n.message||typeof n?.error=="string"&&n.error||t.trim()||e.statusText||r,i=Array.isArray(n?.details)?n.details:void 0,s=new Headers(e.headers);return s.set("Content-Type","application/json"),new Response(JSON.stringify({code:r,message:o,...i?{details:i}:{}}),{status:e.status,statusText:e.statusText,headers:s})}catch{return e}}function hb(e=globalThis.fetch,t=DS()){return async(n,r)=>{let o;typeof n=="string"?o=n:n instanceof URL?o=n.toString():o=n.url;let i=new URL(o),s=t.get(i.pathname),l;return s?(i.pathname=s,typeof n=="string"||n instanceof URL?l=await e(i.toString(),r):l=await e(new Request(i.toString(),n),r)):l=await e(n,r),l.ok?l:await LS(l)}}function bb(e){let t=[cb(e),db(e),...e.interceptors??[]],n=e.fetch??globalThis.fetch,r=e.disableRouteMapping?n:hb(n);return ab({baseUrl:e.baseUrl,useBinaryFormat:!1,defaultTimeoutMs:e.timeoutMs??12e4,jsonOptions:{useProtoFieldName:!0,enumAsInteger:!0,...e.jsonOptions},fetch:r,interceptors:t})}function fb(e){let t="unary"in e?e:bb(e);return Mh(po,t)}var NJ={0:"unknown",1:"tenant",2:"user",CLOUD_EXPERT_SCOPE_UNKNOWN:"unknown",CLOUD_EXPERT_SCOPE_TENANT:"tenant",CLOUD_EXPERT_SCOPE_USER:"user",EXPERT_SCOPE_UNSPECIFIED:"unknown",EXPERT_SCOPE_TENANT:"tenant",EXPERT_SCOPE_USER:"user"},FJ={CLOUD_EXPERT_SCOPE_UNKNOWN:0,CLOUD_EXPERT_SCOPE_TENANT:1,CLOUD_EXPERT_SCOPE_USER:2,EXPERT_SCOPE_UNSPECIFIED:0,EXPERT_SCOPE_TENANT:1,EXPERT_SCOPE_USER:2},BJ={CLOUD_EXPERT_SESSION_VISIBILITY_UNSPECIFIED:0,CLOUD_EXPERT_SESSION_VISIBILITY_SHARED:1,CLOUD_EXPERT_SESSION_VISIBILITY_PRIVATE:2},Ab={unspecified:0,builtin_capabilities:1,names:2};function mb(e){if(Array.isArray(e))return e.map(t=>mb(t));if(e!==null&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=mb(r));return t}return e}function MS(e){let t=e.modified_at??e.modifiedAt;return{resourceVersion:e.resource_version??e.resourceVersion??0,config:e.config,scope:NJ[e.scope??0]??"unknown",modifiedBy:e.modified_by??e.modifiedBy??"",modifiedAt:t?new Date(t):void 0,changeType:e.change_type??e.changeType??""}}function CJ(e){return typeof e=="number"?e:typeof e=="string"?FJ[e]??0:0}function YJ(e){if(typeof e=="number")return e;if(typeof e=="string"){let t=e.replace(/^(?:CLOUD_EXPERT_BUILTIN_CAPABILITY_|AGENT_CAPABILITY_)/,""),n=pr[t];return typeof n=="number"?n:void 0}}function yJ(e){if(typeof e=="number")return e;if(typeof e=="string")return BJ[e]}function wJ(e){if(e.routing_target?.pool_id===void 0)return e.routing_target?.daemon_vm_id??e.daemon_vm_id}function OS(e,t,n){let r=e.capabilityNames??[],o=(e.builtinCapabilities??[]).map(c=>pr[c]??"UNKNOWN"),i=o.every(c=>c&&c!=="UNKNOWN"),s=i&&o.every(c=>r.includes(c)),l=i&&r.every(c=>o.includes(c));if(s&&l)return r;let a=new Error(`inconsistent capabilities from api call ${t}`);if(n(a),s)return r;if(l)return o;throw a}function ja(e){let t=e;return{name:t.name,description:t.description,initialMessages:t.initial_messages||[],builtinCapabilities:(t.builtin_capabilities||[]).map(n=>YJ(n)??pr.UNKNOWN),...t.capability_names===void 0?{}:{capabilityNames:t.capability_names},...t.use_all_builtin_capabilities===void 0?{}:{useAllBuiltinCapabilities:t.use_all_builtin_capabilities},capabilityInstanceIds:t.capability_instance_ids||[],toolConfig:t.tool_config?{toolName:t.tool_config.tool_name,toolDescription:t.tool_config.tool_description,timeoutSeconds:t.tool_config.timeout_seconds,allowAsync:t.tool_config.allow_async}:void 0,sessionConfig:t.session_config?{model:t.session_config.model,reasoningEffort:t.session_config.reasoning_effort,includeDefaultSystemPrompt:t.session_config.include_default_system_prompt,systemPrompt:t.session_config.system_prompt,visibility:yJ(t.session_config.visibility),userMetadata:t.session_config.user_metadata,autoCleanupOnIdle:t.session_config.auto_cleanup_on_idle}:void 0,vmConfig:t.vm_config?{baseImage:t.vm_config.base_image,snapshotId:t.vm_config.snapshot_id,cpuCores:t.vm_config.cpu_cores,memoryMib:t.vm_config.memory_mib,timeoutSeconds:t.vm_config.timeout_seconds,idleTimeoutSeconds:t.vm_config.idle_timeout_seconds,installGitCredentials:t.vm_config.install_git_credentials,installUserSecrets:t.vm_config.install_user_secrets,imageSource:t.vm_config.image_source,baseImageId:t.vm_config.base_image_id,cloneRepos:(t.vm_config.clone_repos||[]).map(n=>({owner:n.owner,name:n.name,branch:n.branch})),resources:t.vm_config.resources?{cpuCores:t.vm_config.resources.cpu_cores,memoryMib:t.vm_config.resources.memory_mib}:void 0,baseImageCurrentVersion:t.vm_config.base_image_current_version,environmentVariables:t.vm_config.environment_variables?{variables:(t.vm_config.environment_variables.variables||[]).map(n=>({name:n.name,value:n.value}))}:void 0}:void 0,daemonVmId:wJ(t),poolId:t.routing_target?.pool_id,workerExpertIds:t.worker_expert_ids||[],useAllExpertsAsWorkers:t.use_all_experts_as_workers??!1,userInstructions:t.user_instructions,placeholderText:t.placeholder_text,mcpConfigIds:t.mcp_config_ids||[],hidden:t.hidden??!1,...t.tags&&Object.keys(t.tags).length>0?{tags:t.tags}:{}}}function jS(e){return{expertId:e.expert_id,slug:e.slug,scope:CJ(e.scope),config:e.config?ja(e.config):void 0,userId:e.user_id,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:e.resource_version,deletedAt:e.deleted_at?new Date(e.deleted_at):void 0,effectiveRole:e.effective_role||void 0,...e.space_summary?{spaceSummary:{spaceId:e.space_summary.space_id??"",displayName:e.space_summary.display_name??""}}:{}}}function HS(e){let t=e?.trim();return t&&t.length>0?t:void 0}function UJ(e,t){if(e!==void 0)return{pool_id:e};if(t!==void 0)return{daemon_vm_id:t}}function Vb(e){let t=e.mcpConfigIds!==void 0,n=e.mcpConfigIds??[],r=e.tags!==void 0,o=HS(e.poolId),i=HS(e.daemonVmId),s={name:e.name,description:e.description,initial_messages:e.initialMessages||[],builtin_capabilities:e.builtinCapabilities||[],capability_names:e.capabilityNames,use_all_builtin_capabilities:e.useAllBuiltinCapabilities,capability_instance_ids:e.capabilityInstanceIds||[],tool_config:e.toolConfig?{tool_name:e.toolConfig.toolName,tool_description:e.toolConfig.toolDescription,timeout_seconds:e.toolConfig.timeoutSeconds,allow_async:e.toolConfig.allowAsync}:void 0,session_config:e.sessionConfig?{model:e.sessionConfig.model,reasoning_effort:e.sessionConfig.reasoningEffort,include_default_system_prompt:e.sessionConfig.includeDefaultSystemPrompt,system_prompt:e.sessionConfig.systemPrompt,visibility:e.sessionConfig.visibility,user_metadata:e.sessionConfig.userMetadata,auto_cleanup_on_idle:e.sessionConfig.autoCleanupOnIdle}:void 0,vm_config:e.vmConfig?{base_image:e.vmConfig.baseImage,snapshot_id:e.vmConfig.snapshotId,cpu_cores:e.vmConfig.cpuCores,memory_mib:e.vmConfig.memoryMib,timeout_seconds:e.vmConfig.timeoutSeconds,idle_timeout_seconds:e.vmConfig.idleTimeoutSeconds,install_git_credentials:e.vmConfig.installGitCredentials,install_user_secrets:e.vmConfig.installUserSecrets,image_source:e.vmConfig.imageSource,base_image_id:e.vmConfig.baseImageId,clone_repos:(e.vmConfig.cloneRepos||[]).map(l=>({owner:l.owner,name:l.name,branch:l.branch})),resources:e.vmConfig.resources?{cpu_cores:e.vmConfig.resources.cpuCores,memory_mib:e.vmConfig.resources.memoryMib}:void 0,base_image_current_version:e.vmConfig.baseImageCurrentVersion,environment_variables:e.vmConfig.environmentVariables?{variables:e.vmConfig.environmentVariables.variables.map(l=>({name:l.name,value:l.value}))}:void 0}:void 0,routing_target:UJ(o,i),worker_expert_ids:e.useAllExpertsAsWorkers?[]:e.workerExpertIds||[],use_all_experts_as_workers:e.useAllExpertsAsWorkers??!1,user_instructions:e.userInstructions,placeholder_text:e.placeholderText,mcp_config_ids:n,has_mcp_config_ids:t,hidden:e.hidden??!1,tags:e.tags,has_tags:r?!0:void 0};return mb(s)}var gb={apiCallTimeoutMs:3e4,imageBuildTimeoutMs:6e5,environmentSnapshotUpdateTimeoutMs:6e5,maxRetries:3,retryBaseDelayMs:500};var xJ={EVENT_SOURCE_TYPE_SLACK:1,EVENT_SOURCE_TYPE_GITHUB:2,EVENT_SOURCE_TYPE_LINEAR:3,EVENT_SOURCE_TYPE_WEBHOOK:4,EVENT_SOURCE_TYPE_SCHEDULED:5,EVENT_SOURCE_TYPE_PAGERDUTY:6,EVENT_SOURCE_TYPE_JIRA:7,EVENT_SOURCE_TYPE_CONFLUENCE:8,EVENT_SOURCE_TYPE_GITLAB:9,EVENT_SOURCE_TYPE_TEAMS:10,EVENT_SOURCE_TYPE_AZURE_DEVOPS:11};function vJ(e){if(typeof e=="number")return e;if(typeof e=="string")return xJ[e]??void 0}function PS(e){if(typeof e=="number")return e;if(typeof e=="string"){let t=Number(e);return Number.isFinite(t)?t:void 0}}function wn(e){let t=e,n=t.workflow_id??t.workflowId??"",r=t.slug??"",o=t.event_source_id??t.eventSourceId??"",i=t.expert_id??t.expertId??"",s=PS(t.resource_version??t.resourceVersion),l=t.created_at??t.createdAt,a=t.override_auto_cleanup_on_idle??t.overrideAutoCleanupOnIdle,c=t.initial_instructions??t.initialInstructions,d=t.actor_user_id??t.actorUserId,u=t.per_minute_create_agent_limit??t.perMinuteCreateAgentLimit,h=typeof u=="number"?u:void 0;return{workflowId:n,...r?{slug:r}:{},eventSourceId:o,name:e.name??"",description:e.description,enabled:e.enabled??!0,...typeof a=="boolean"?{overrideAutoCleanupOnIdle:a}:{},...typeof c=="string"?{initialInstructions:c}:{},...typeof d=="string"?{actorUserId:d}:{},...h===void 0?{}:{perMinuteCreateAgentLimit:h},expertId:i,resourceVersion:s,createdAt:l?new Date(l):void 0,raw:e}}function Er(e){let t=e,n=t.event_source_id??t.eventSourceId??"",r=t.slug??"",o=vJ(t.event_source_type??t.eventSourceType),i=t.user_id??t.userId,s=t.tenant_id??t.tenantId,l=PS(t.resource_version??t.resourceVersion),a=t.created_at??t.createdAt;return{eventSourceId:n,...r?{slug:r}:{},eventSourceType:o,name:e.name??n,active:e.active??!0,userId:i,tenantId:s,resourceVersion:l,createdAt:a?new Date(a):void 0,raw:e}}function qS(e,t=64){if(!e)return;let n=e.replace(/[^a-zA-Z0-9!#$%&'*+-.^_`|~]/g,"").slice(0,t);return n.length>0?n:void 0}function pb(e){if(!e)return;let t=e.split("/").map(n=>qS(n)).filter(n=>!!n);return t.length>0?t.join("/"):void 0}var _J={debug:()=>{},error:()=>{},info:()=>{},warn:()=>{}},QJ={0:"ok",1:"cancelled",2:"unknown",3:"unavailable",4:"unimplemented",5:"invalidArgument",6:"resourceExhausted",7:"unauthenticated",8:"permissionDenied",9:"deadlineExceeded",10:"augmentTooLarge",11:"augmentClientTimeout",12:"augmentUpgradeRequired"},eX=500,Eb=3e4,So=class extends It{apiStatus;originalError;errorDetails;responseBodyMessage;responseBodyText;httpUrl;httpStatus;httpRetryAfter;retryBehavior;isRetriable;shouldBackoff;requestId;constructor(t,n,r,o={}){super(n?.status??0,n?.statusText??"",o.responseBodyText??"",o.responseBodyMessage,o.errorReason??o.errorDetails),t!==void 0&&(this.message=t),this.name="APIError",this.apiStatus=n?zJ(n.status):3,this.originalError=o.originalError,this.errorDetails=o.errorDetails,this.responseBodyMessage=o.responseBodyMessage,this.responseBodyText=o.responseBodyText,this.httpUrl=LJ(n?.url),this.httpStatus=n?.status;let i=n?.headers.get("retry-after");this.httpRetryAfter=i?qJ(i):void 0,this.retryBehavior=DJ(n?.status),this.isRetriable=this.status===1||this.status===3,this.shouldBackoff=n?.status===429,this.requestId=n?.headers.get("x-request-id")??r}get status(){return this.apiStatus}},nc=class extends Error{status=3;isRetriable=!0;shouldBackoff=!1;originalError;constructor(t,n){super(t,{cause:n}),this.name="APITransportError",this.originalError=n}};function os(e){if(!e||typeof e!="object"||Array.isArray(e))throw new Error("Invalid tenant permission object");return e}function TJ(e){let t=os(e),{permission:n,...r}=t,o="permission"in t,i=o?os(n):t,s=["simple_permission","simplePermission","webhook_policy","webhookPolicy","script_policy","scriptPolicy"],l=s.filter(a=>a in i);if(l.length!==1)throw new Error("Invalid permission variant");if(o&&(Object.keys(i).length!==1||s.some(a=>a in t)))throw new Error("Conflicting permission variants");return os(i[l[0]]),o?{...r,...i}:t}function KJ(e){let t=os(e);if("tool_permissions_settings"in t&&"toolPermissionsSettings"in t)throw new Error("Conflicting permission settings");let n="tool_permissions_settings"in t?"tool_permissions_settings":"toolPermissionsSettings",r=t[n];if(r==null)return t;let o=os(r),i="rules"in o?o.rules:[];if(!Array.isArray(i))throw new Error("Invalid permission rules");return{...t,[n]:{...o,rules:i.map(TJ)}}}function zJ(e){let t={400:5,401:7,403:8,404:4,408:11,413:10,426:12,429:6,499:1,504:9};return t[e]!==void 0?t[e]:e>=500&&e<600?3:2}function DJ(e){if(e===429||e===503)return"retry";if(e===402||e===403)return"sinkhole"}function LJ(e){try{return e?new URL(e):void 0}catch{return}}function HJ(e){return e.length>eX?`${e.slice(0,eX)}\u2026(truncated, ${e.length} chars total)`:e}function MJ(e){try{return JSON.stringify(e).length}catch{return 0}}function OJ(e){let t="0123456789ABCDEFGHJKMNPQRSTVWXYZ",n=0n;if(e.length!==26)throw new Error("agent id is not a 26-character ULID");for(let o of e.toUpperCase()){let i=t.indexOf(o);if(i<0)throw new Error("agent id contains an invalid ULID character");n=n*32n+BigInt(i)}let r=n.toString(16).padStart(32,"0").slice(-32);return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}function jJ(e,t){return t?.aborted?!1:e instanceof So?[1,4,8].includes(e.status)?!1:e.httpStatus!==402:!(e instanceof It&&e.statusCode===402)}async function PJ(e,t){let n=await e.text(),r=n.trim()?HJ(n.trim()):void 0,o,i,s;try{let l=JSON.parse(n);i=l.error_details,s=l.error_reason??l.errorReason,typeof l.error=="string"?o=l.error:typeof l.message=="string"&&(o=l.message)}catch{}return new So(void 0,e,t,{errorDetails:i,errorReason:s,responseBodyMessage:o,responseBodyText:r})}function qJ(e){let t=Number(e);if(Number.isFinite(t))return new Date(Date.now()+t*1e3);let n=new Date(e);return Number.isNaN(n.getTime())?void 0:n}function $J(e){return e.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function e5(e){return e.replace(/_([a-z])/g,(t,n)=>n.toUpperCase())}function xn(e){return Array.isArray(e)?e.map(xn):e===null||typeof e!="object"?e:Object.fromEntries(Object.entries(e).map(([t,n])=>[e5(t),xn(n)]))}function t5(e,t){if(typeof e!="string")throw new Error(`Expected ${t} to be a string`);return e}function Rb(e,t){if(!Array.isArray(e)||e.some(n=>typeof n!="string"))throw new Error(`Expected ${t} to be an array of strings`);return e}function n5(e){if(typeof e=="number")return e;if(typeof e=="string")return mo[e]??mo.REASON_UNSPECIFIED}function r5(e){if(!e||typeof e!="object")return;let t=e;return{...typeof t.code=="number"?{code:t.code}:{},...typeof t.message=="string"?{message:t.message}:{},...typeof t.detail=="string"?{detail:t.detail}:{}}}function tc(e){return{checkpoint_id:e.checkpointId,added_blobs:e.addedBlobs,deleted_blobs:e.deletedBlobs}}function o5(e,t){if(!t)return{};if(e===13||e===14)return{extra_tool_input:{atlassian_tool_extra_input:{server_url:t.serverUrl,personal_api_token:t.personalApiToken,username:t.username}}};let n;return e===15?n="notion_tool_extra_input":e===12?n="linear_tool_extra_input":e===8&&(n="github_tool_extra_input"),n?{extra_tool_input:{[n]:{api_token:t.apiToken}}}:{}}function i5(e){let t={},n={enableParallelTools:"enable_parallel_tool_use",language:"lang",pathName:"path",senderUserId:"poseidon_sender_user_id",thirdPartyOverride:"third_party_override"};for(let[r,o]of Object.entries(e))if(!(r==="signal"||r==="sessionId"||o===void 0))if(r==="thirdPartyOverride"){let i=e.thirdPartyOverride;t.third_party_override={...i?.providerModelName===void 0?{}:{provider_model_name:i.providerModelName},...i?.apiKey===void 0?{}:{api_key:i.apiKey},...i?.baseUrl===void 0?{}:{base_url:i.baseUrl}}}else t[n[r]??$J(r)]=r==="blobs"?tc(o):o;return t.tool_definitions??=[],t.nodes??=[],t.rules??=[],t.skills??=[],t.mode??="CHAT",t.feature_detection_flags={support_tool_use_start:e.enableSupportToolUseStart,support_parallel_tool_use:e.enableParallelTools},t}function s5(e){if(typeof e!="string")return"unknown";let t=e.toLowerCase().replace("_tier","");return t==="community"||t==="professional"||t==="enterprise"?t:"unknown"}var rc={UNSPECIFIED:0,SECRET_URL:1,TENANT:2};function l5(e){if(!e.startsWith("https://"))return!1;try{return new URL(e).hostname!==""}catch{return!1}}var a5={"secret-url":rc.SECRET_URL,tenant:rc.TENANT};function c5(e,t){return e===rc.TENANT||e==="HOSTED_ARTIFACT_VISIBILITY_TENANT"?"tenant":e===rc.SECRET_URL||e==="HOSTED_ARTIFACT_VISIBILITY_SECRET_URL"?"secret-url":t}function d5(e){let t=typeof e.size_bytes=="string"?Number(e.size_bytes):e.size_bytes??0;return{hostedArtifactId:e.hosted_artifact_id??"",visibility:c5(e.visibility,"secret-url"),mediaType:e.media_type??"",sizeBytes:t,sha256Hex:e.sha256_hex??"",label:e.label??"",ownerUserId:e.owner_user_id??"",canonicalUrl:e.canonical_url??"",createdAt:e.created_at??"",expiresAt:e.expires_at??""}}var Zb="environment",u5={1:"pending",2:"running",3:"cancel_requested",4:"succeeded",5:"failed",6:"canceled"},h5={1:"queued",2:"preparing",3:"building",4:"promoting",6:"building"},b5=5,f5={[an.BASE_IMAGE_REBUILD]:"build",[an.BASE_IMAGE_BUILD]:"build",[an.REFRESH]:"refresh",[an.REPOSITORY_RECONCILE]:"reconcile",[b5]:"update"};function m5(e){if(e===void 0)return"build";if(e!==an.UNSPECIFIED)return f5[e]??"unknown"}function tX({sandboxProviderId:e,displayName:t,description:n,visibility:r,baseImage:o,refreshEnabled:i,repos:s,environmentVariables:l,tags:a,spaceId:c}){return{config:{...e===void 0?{}:{sandbox_provider_id:e},display_name:t,description:n,visibility:r,...s?{repos:s.map(d=>({owner:d.owner,name:d.name,branch:d.branch,...d.host?{host:d.host}:{},...d.project?{project:d.project}:{}}))}:{},...l?{environment_variables:{variables:l.variables.map(d=>({name:d.name,value:d.value}))}}:{},...i===void 0?{}:{refresh_enabled:i},tags:a??{},...c===void 0?{}:{space_id:c}},...o?{base_image:o}:{}}}function nX({imageId:e,sandboxProviderId:t,displayName:n,description:r,visibility:o,baseImage:i,refreshEnabled:s,repos:l,environmentVariables:a,expectedResourceVersion:c,tags:d,spaceId:u}){return{image_id:e,...t===void 0?{}:{sandbox_provider_id:t},...n===void 0?{}:{display_name:n},...r===void 0?{}:{description:r},...o===void 0?{}:{visibility:o},...i===void 0?{}:{base_image:i},...s===void 0?{}:{refresh_enabled:s},...l?{repos:l.map(h=>({owner:h.owner,name:h.name,...h.branch?{branch:h.branch}:{},...h.host?{host:h.host}:{},...h.project?{project:h.project}:{}})),has_repos:!0}:{},...a?{environment_variables:{variables:a.variables.map(h=>({name:h.name,value:h.value}))}}:{},...c===void 0?{}:{expected_resource_version:c},...d===void 0?{}:{tags:d,has_tags:!0},...u===void 0?{}:{space_id:u}}}function A5(e){return{eventId:e.event_id??"",source:e.source??"",eventType:e.event_type??"",payloadJson:e.payload_json??"",receivedAt:e.received_at?new Date(e.received_at):void 0,tenantId:e.tenant_id,userId:e.user_id,webhookId:e.webhook_id||void 0}}var V5=50,Sb="expert",g5=1e3;function Xb(e){return{groupId:e.group_id??"",name:e.name??"",description:e.description??"",createdBy:e.created_by??"",createdAt:e.created_at??"",updatedAt:e.updated_at??""}}function p5(e){switch(e){case 1:case"CLOUD_GROUP_MEMBER_KIND_HUMAN":return"human";case 2:case"CLOUD_GROUP_MEMBER_KIND_SERVICE_ACCOUNT":return"service_account";default:return"unspecified"}}function E5(e){return{userId:e.user_id??"",addedAt:e.added_at??"",addedBy:e.added_by??"",email:e.email??"",givenName:e.given_name??"",familyName:e.family_name??"",addedByName:e.added_by_name??"",principalKind:p5(e.principal_kind),serviceName:e.service_name??""}}function rX(e,t){let n=t.members??[],r=t.serviceAccounts??[];return r.length===0?{group_id:e,members:n}:{group_id:e,selectors:[...n.map(o=>({member:o})),...r.map(o=>({service_account:o}))]}}var R5="This deployment does not support service-account selectors yet. Pass the service account's user id as a member instead.";function Z5(e,t){return t.selectors===void 0||t.members!==void 0||!(e instanceof It)||e.statusCode!==400?!1:[e.serverMessage,e.responseBody,e.message].some(n=>n!==void 0&&/\bmembers is required\b/.test(n))}async function oX(e,t){try{return await e()}catch(n){throw Z5(n,t)?new Error(R5):n}}function iX(e){return{id:e.id??"",label:e.label??"",description:e.description??"",connected:e.connected??!1,statusKind:e.status_kind??"",statusLabel:e.status_label??"",details:(e.details??[]).map(t=>({key:t.key??"",label:t.label??"",value:t.value??""})),actions:(e.actions??[]).map(t=>({kind:t.kind??"",label:t.label??"",url:t.url??""}))}}var S5=404,sX={UNSPECIFIED:0,USER:1,TENANT:2},X5={user:sX.USER,tenant:sX.TENANT},Wb="daemon_pool";function W5(e){return e===1||e==="1"||e==="DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_ISOLATED"||e==="CLOUD_DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_ISOLATED"?"isolated":e===2||e==="2"||e==="DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_SHARED"||e==="CLOUD_DAEMON_POOL_WORKSPACE_ISOLATION_POLICY_FORCE_SHARED"?"shared":"unspecified"}var Gb="sandbox_backend";function G5(e){return e.provider_type===1||e.provider_type==="CLOUD_SANDBOX_PROVIDER_TYPE_SYSTEM_MANAGED"?"system-managed":(e.provider_type===2||e.provider_type==="CLOUD_SANDBOX_PROVIDER_TYPE_USER_MANAGED","user-managed")}function Rr(e){return{id:e.id??"",slug:e.slug??"",displayName:e.display_name??e.slug??"",description:e.description||void 0,type:G5(e),enabled:e.enabled===!0,createdByUserId:e.created_by_user_id||void 0,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:String(e.resource_version??""),deletedAt:e.deleted_at?new Date(e.deleted_at):void 0,spaceIds:e.space_ids??[],allSpaces:e.all_spaces??e.space_ids===void 0}}function lX({connectorUserId:e,connectorServiceAccount:t}){if(e!==void 0&&t!==void 0)throw new Error("Use only one of connectorUserId or connectorServiceAccount.");if(e!==void 0)return{user_id:e};if(t!==void 0)return{service_account_name:t}}function Pa(e){let t=e.connector,n=I5(e.resource_version);return{id:e.id??"",displayName:e.display_name??e.id??"",description:e.description,visibility:e.visibility,daemonConnectorUserId:e.daemon_connector_user_id??(typeof t?.user_id=="string"?t.user_id:void 0),daemonConnectorServiceAccountName:e.daemon_connector_service_account_name??(typeof t?.service_account_name=="string"?t.service_account_name:void 0),spaceId:e.space_id,workspaceIsolation:W5(e.workspace_isolation_policy??e.workspace_isolation),createdByUserId:e.created_by_user_id,createdByUserName:e.created_by_user_name,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:n}}function I5(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(typeof e=="string"&&e.trim()!==""){let t=Number(e);return Number.isInteger(t)&&t>=0?t:void 0}}function N5(e){if(e)return{daemonsOnline:e.daemons_online,slotsTotal:e.slots_total,slotsInUse:e.slots_in_use,lastDaemonSeen:e.last_daemon_seen?new Date(e.last_daemon_seen):void 0}}function F5(e){return{vmId:e.vm_id??"",name:e.name,slotsTotal:e.slots_total,slotsInUse:e.slots_in_use,workspacePath:e.workspace_path,connectedAt:e.connected_at?new Date(e.connected_at):void 0,lastHeartbeat:e.last_heartbeat?new Date(e.last_heartbeat):void 0,poolId:e.pool_id,cliVersion:e.cli_version}}function B5(e){return{agentId:e.agent_id??"",addedAt:e.added_at??""}}function ts(e){return{projectId:e.project_id??"",name:e.name??"",description:e.description??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",createdBy:e.created_by??"",agents:(e.agents??[]).map(B5)}}var Ib="resident";function mX(e){return typeof e=="number"?e:e==="CLOUD_RESIDENT_SCOPE_TENANT"?1:e==="CLOUD_RESIDENT_SCOPE_USER"?2:0}function C5(e){let t;return e.vm_config!=null?t={type:"base_image",vmConfig:{baseImageId:e.vm_config.base_image_id,...e.vm_config.resources==null?{}:{resources:{cpuCores:e.vm_config.resources.cpu_cores,memoryMib:e.vm_config.resources.memory_mib}}}}:e.daemon_vm_id!=null?t={type:"daemon",daemonVmId:e.daemon_vm_id}:e.daemon_pool_id!=null&&(t={type:"pool",daemonPoolId:e.daemon_pool_id}),{...e.model===void 0?{}:{model:e.model},...e.reasoning_effort===void 0?{}:{reasoningEffort:e.reasoning_effort},...t===void 0?{}:{environment:t}}}function Y5(e){return{...e.slack?{slack:{mentionable:e.slack.mentionable??!1,...e.slack.usergroup_handle===void 0?{}:{usergroupHandle:e.slack.usergroup_handle},...e.slack.home_channel_id===void 0?{}:{homeChannelId:e.slack.home_channel_id},...e.slack.direct_messages_enabled===void 0?{}:{directMessagesEnabled:e.slack.direct_messages_enabled}}}:{}}}function y5(e){return{...e.slack?{slack:{...e.slack.subteam_id===void 0?{}:{subteamId:e.slack.subteam_id},...e.slack.last_synced_at?{lastSyncedAt:new Date(e.slack.last_synced_at)}:{},...e.slack.error===void 0?{}:{error:e.slack.error}}}:{}}}function AX(e){return{name:e.name,description:e.description,expertId:e.expert_id,initialMessage:e.initial_message,overrides:e.overrides?C5(e.overrides):void 0,runAsUserId:e.run_as_user_id,presence:e.presence?Y5(e.presence):void 0,icon:e.icon,tags:e.tags??{}}}function Zr(e){return{residentId:e.resident_id,scope:mX(e.scope),config:e.config?AX(e.config):void 0,userId:e.user_id,createdAt:e.created_at?new Date(e.created_at):void 0,updatedAt:e.updated_at?new Date(e.updated_at):void 0,resourceVersion:e.resource_version,currentAgentId:e.current_agent_id,startedAt:e.started_at?new Date(e.started_at):void 0,effectiveRole:e.effective_role||void 0,deletedAt:e.deleted_at?new Date(e.deleted_at):void 0,presenceStatus:e.presence_status?y5(e.presence_status):void 0,...e.space_summary?{spaceSummary:{spaceId:e.space_summary.space_id??"",displayName:e.space_summary.display_name??""}}:{}}}function w5(e){return{agentId:e.agent_id,status:e.status??"",startedAt:e.started_at?new Date(e.started_at):void 0,endedAt:e.ended_at?new Date(e.ended_at):void 0}}function aX(e){return{resourceVersion:e.resource_version??0,config:e.config?AX(e.config):void 0,scope:mX(e.scope),modifiedBy:e.modified_by??"",modifiedAt:e.modified_at?new Date(e.modified_at):void 0,changeType:e.change_type??""}}function U5(e){let t={};e.model!==void 0&&(t.model=e.model),e.reasoningEffort!==void 0&&(t.reasoning_effort=e.reasoningEffort);let n=e.environment;if(n)switch(n.type){case"base_image":t.vm_config={base_image_id:n.vmConfig.baseImageId,...n.vmConfig.resources==null?{}:{resources:{cpu_cores:n.vmConfig.resources.cpuCores,memory_mib:n.vmConfig.resources.memoryMib}}};break;case"daemon":t.daemon_vm_id=n.daemonVmId;break;case"pool":t.daemon_pool_id=n.daemonPoolId;break}return t}function x5(e){let t={};return e.slack&&(t.slack={mentionable:e.slack.mentionable,...e.slack.usergroupHandle===void 0?{}:{usergroup_handle:e.slack.usergroupHandle},...e.slack.homeChannelId===void 0?{}:{home_channel_id:e.slack.homeChannelId},...e.slack.directMessagesEnabled===void 0?{}:{direct_messages_enabled:e.slack.directMessagesEnabled}}),t}function cX(e){return{name:e.name,...e.description===void 0?{}:{description:e.description},expert_id:e.expertId,...e.initialMessage===void 0?{}:{initial_message:e.initialMessage},...e.overrides===void 0?{}:{overrides:U5(e.overrides)},...e.runAsUserId===void 0?{}:{run_as_user_id:e.runAsUserId},...e.presence===void 0?{}:{presence:x5(e.presence)},...e.icon===void 0?{}:{icon:e.icon},...e.tags===void 0?{}:{tags:e.tags,has_tags:!0}}}var v5={personal:1,space:2,organization:3},VX={user:1,tenant:2};function J5(e){let t={name:e.name,scope:VX[e.scope]};if(e.value!==void 0&&(t.value=e.value),e.expectedVersion!==void 0?t.expected_version=e.expectedVersion:e.secretId===void 0&&(t.expected_version="0"),e.secretId===void 0){if(e.applicability===void 0)throw new Error("applicability is required for stable create");if(e.value===void 0)throw new Error("value is required for stable create");t.applicability=v5[e.applicability]}else t.secret_id=e.secretId,e.value===void 0&&(t.preserve_value=!0);return k5(t,e),_5(t,e),t}function k5(e,t){if(t.allSpaces===!0&&(t.spaceIds?.length??0)>0)throw new Error("allSpaces and non-empty spaceIds are mutually exclusive");if(t.allSpaces===!0){e.update_spaces=!0,e.all_spaces=!0,e.space_ids=[];return}(t.applicability==="space"||t.spaceIds!==void 0)&&(e.update_spaces=!0,e.all_spaces=!1,e.space_ids=[...t.spaceIds??[]].sort())}function _5(e,t){t.description!==void 0&&(e.description=t.description,t.secretId!==void 0&&(e.update_description=!0)),t.tags!==void 0&&(e.tags=t.tags,t.secretId!==void 0&&(e.update_tags=!0))}var ns={user:1,tenant:2};function Q5(e){switch(e){case 1:case"SECRET_APPLICABILITY_PERSONAL":return"personal";case 2:case"SECRET_APPLICABILITY_SPACE":return"space";case 3:case"SECRET_APPLICABILITY_ORGANIZATION":return"organization";default:return}}function qa(e,t,n){let r=Q5(e.applicability),o=r!==void 0||Array.isArray(e.space_ids)||typeof e.all_spaces=="boolean",i;o&&(i=Array.isArray(e.space_ids)?e.space_ids.filter(l=>typeof l=="string"):[]);let s=o?e.all_spaces===!0:void 0;return{name:e.name??t,scope:n,description:e.description??"",tags:e.tags??{},version:e.version??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",valueSizeBytes:e.value_size_bytes??0,...i===void 0?{}:{spaceIds:i},...s===void 0?{}:{allSpaces:s},...r===void 0?{}:{applicability:r},...e.secret_id===void 0?{}:{secretId:e.secret_id},...e.olac_ready===void 0?{}:{olacReady:e.olac_ready}}}function T5(e){if(e===void 0)return;let t=Object.entries(e);return t.length===0?void 0:t.map(([n,r])=>({key:n,values:[r]}))}var Nb="secret",Un=L.child({prefix:"cloud-http"});var gX=1e4,K5=2,z5={UNKNOWN:0,TOOL_PROVIDER:1,AGENT:2,WAITING:3},D5=["vfs_space_id","command_handler_ready","mcp_credential_revision","desktop_ensure","mcp_targeted_credential_update","mcp_target_material_v1","mcp_passive_credential_install_v1","mcp_target_material_stdio_v1","provisioning_generation","mcp_scoped_secret_revision_domain_v1"],L5={0:"UNKNOWN",1:"IDLE",2:"PROCESSING",3:"TERMINATED",4:"COMPLETED",5:"STARTING",6:"WAITING_FOR_INPUT"},H5={0:"unspecified",1:"CLI",2:"cloud VM",3:"local daemon",AGENT_EXECUTION_ENVIRONMENT_UNSPECIFIED:"unspecified",AGENT_EXECUTION_ENVIRONMENT_CLI:"CLI",AGENT_EXECUTION_ENVIRONMENT_MODAL_VM:"cloud VM",AGENT_EXECUTION_ENVIRONMENT_DAEMON:"local daemon"};function dX(e,t,n){if(typeof e!="string"&&typeof e!="number")return;let r=String(e);return r in t?t[r]??r:r.startsWith(n)?r.slice(n.length):r}function uX(e){return e instanceof Date?e.toISOString():e}function M5(e={}){let t={limit:e.limit??100};return e.parentAgentId&&(t.parent_agent_id=e.parentAgentId),e.includeOlacShared!==void 0&&(t.include_olac_shared=e.includeOlacShared),e.spaceId&&(t.space_id=e.spaceId),e.searchQuery&&(t.search_query=e.searchQuery),e.includeArchived&&(t.include_archived=!0),e.expertId&&(t.expert_id=e.expertId),e.createdAfter&&(t.created_after=uX(e.createdAfter)),e.createdBefore&&(t.created_before=uX(e.createdBefore)),(e.includeShared!==void 0||e.includeTenantShared!==void 0)&&(t.include_shared=e.includeShared??e.includeTenantShared),e.defaultSpaceOnly&&(t.default_space_only=!0),e.pageToken&&(t.page_token=e.pageToken),t}function Ro(e){let t=r=>typeof r=="string"?new Date(r):void 0,n=r=>typeof r=="string"&&r?r:void 0;return{agentId:n(e.agent_id)??"",agentName:n(e.agent_name)??"",status:dX(e.status,L5,"CLOUD_AGENT_STATUS_"),...Array.isArray(e.capabilities)?{capabilities:e.capabilities.filter(r=>typeof r=="number")}:{},createdAt:t(e.created_at),updatedAt:t(e.updated_at),...Array.isArray(e.tags)?{tags:e.tags.filter(r=>typeof r=="string")}:{},expertId:n(e.expert_id),spaceId:n(e.space_id),workflowId:n(e.workflow_id),environmentId:n(e.environment_id),daemonId:n(e.daemon_id),daemonPoolId:n(e.daemon_pool_id),parentAgentId:n(e.parent_agent_id),...typeof e.archived=="boolean"?{archived:e.archived}:{},...e.execution_environment===void 0?{}:{executionEnvironment:dX(e.execution_environment,H5,"AGENT_EXECUTION_ENVIRONMENT_")}}}function O5(e,t){let n={agent_id:e.agentId,workspace_path:e.workspacePath,connection_mode:t,available_tools:[],client_capabilities:[...D5,...e.extraClientCapabilities??[]]};return e.vmId!==void 0&&(n.vm_id=e.vmId),e.capabilityInstanceId&&(n.capability_instance_id=e.capabilityInstanceId),e.provisioningGeneration!==void 0&&(n.provisioning_generation=e.provisioningGeneration),e.parentVmId!==void 0&&(n.parent_vm_id=e.parentVmId),e.daemonCommandId!==void 0&&(n.daemon_command_id=e.daemonCommandId),e.cliVersion&&(n.cli_version=e.cliVersion),n}function j5(e,t,n){let r={vmId:n,agentId:e.agentId},o=t.active_generation_epoch;typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&(r.activeGenerationEpoch=o);let i=t.connection_version;typeof i=="number"&&Number.isSafeInteger(i)&&i>0&&(r.connectionVersion=i),t.session_config&&(r.sessionConfig=P5(t.session_config));let s=q5(t.remote_tools);return s.length>0&&(r.remoteTools=s),t.vfs_filesystems&&Object.keys(t.vfs_filesystems).length>0&&(r.vfsFilesystems=t.vfs_filesystems),t.space_id&&(r.spaceId=t.space_id),t.expert_id&&(r.expertId=t.expert_id),t.workflow_id&&(r.workflowId=t.workflow_id),r}function P5(e){return{systemPrompt:e.system_prompt,includeDefaultSystemPrompt:e.include_default_system_prompt,model:e.model,reasoningEffort:e.reasoning_effort??e.reasoningEffort,userMetadata:e.user_metadata,useAllExpertsAsWorkers:e.use_all_experts_as_workers}}function q5(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n,o=typeof r.name=="string"?r.name:"";o&&t.push({name:o,description:typeof r.description=="string"?r.description:"",inputSchemaJson:typeof r.input_schema_json=="string"?r.input_schema_json:"",toolSafety:typeof r.tool_safety=="string"?r.tool_safety:""})}return t}function Sr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zo(e,...t){for(let n of t){let r=e[n];if(Sr(r))return r}}function Qe(e,...t){for(let n of t){let r=e[n];if(typeof r=="string")return r}}function $5(e){if(!Sr(e))return{};let t={},n=Qe(e,"stop_reason","stopReason"),r=e.is_partial??e.isPartial,o=e.is_final??e.isFinal;return n!==void 0&&(t.stopReason=n),typeof r=="boolean"&&(t.isPartial=r),typeof o=="boolean"&&(t.isFinal=o),t}function ek(e,t){let n=[];if(Array.isArray(e.content))for(let o of e.content){let i=tk(o);if(i!==null){n.push(i);continue}if(o==null||nk(o))continue;let s=Sr(o)?`object keys=[${Object.keys(o).join(",")}]`:`type=${typeof o}`;Un.warn(`getMessages: dropping unparseable content block in agent ${t} message ${e.id??"<unknown>"}: ${s}`)}let r=n.filter(o=>o.kind==="text").map(o=>o.text).join("");return{messageId:e.id??"",role:e.role??"",content:r,contentBlocks:n,createdAt:e.created_at?new Date(e.created_at):void 0,...$5(e.metadata)}}function tk(e){if(typeof e=="string")return e.trim().length>0?{kind:"text",text:e}:null;if(!Sr(e))return null;let t=Sr(e.block)?e.block:e,n=Zo(t,"text","Text");if(n){let l=Qe(n,"text");if(l!==void 0&&l.trim().length>0)return{kind:"text",text:l}}let r=Zo(t,"tool_use","toolUse","ToolUse");if(r){let l=Qe(r,"id"),a=Qe(r,"name");if(!l||!a)return null;let c=Qe(r,"input");return{kind:"tool_use",toolUseId:l,toolName:a,inputJson:c&&c.trim().length>0?c:"{}"}}let o=Zo(t,"tool_result","toolResult","ToolResult");if(o){let l=Qe(o,"tool_use_id","toolUseId");if(!l)return null;let a=o.is_error??o.isError;return{kind:"tool_result",toolUseId:l,content:Qe(o,"content")??"",isError:typeof a=="boolean"?a:!1}}let i=Zo(t,"thinking","Thinking");if(i){let l=Qe(i,"content"),a=Qe(i,"summary"),c=Qe(i,"encrypted_content","encryptedContent"),d=Qe(i,"provider");if(l!==void 0||a!==void 0||c!==void 0)return{kind:"thinking",content:l??"",...a===void 0?{}:{summary:a},...c===void 0?{}:{encryptedContent:c},...d===void 0?{}:{provider:d}}}let s=Zo(t,"external_event","externalEvent","ExternalEvent");if(s){let l=Qe(s,"source")??"",a=Qe(s,"event_type","eventType")??"",c=Qe(s,"summary")??"";return l===""&&a===""&&c===""?null:{kind:"external_event",source:l,eventType:a,summary:c,details:Qe(s,"details")??"",subscriptionId:Qe(s,"subscription_id","subscriptionId")}}return null}function nk(e){if(typeof e=="string")return e.trim().length===0;if(!Sr(e))return!1;let t=Sr(e.block)?e.block:e,n=Zo(t,"text","Text");if(!n)return!1;let r=Qe(n,"text");return r!==void 0&&r.trim().length===0}function rk(e){return"poolId"in e?{pool_id:e.poolId}:{daemon_vm_id:e.daemonVmId}}var Fb="space";function $a(e){return{spaceId:e.space_id??"",displayName:e.display_name??"",normalizedName:e.normalized_name??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",createdBy:e.created_by??"",pinnedExpertIds:e.pinned_expert_ids??[]}}function Bb(e){return{tunnelId:e.tunnel_id??"",agentId:e.agent_id??"",vmId:e.vm_id??"",localHost:e.local_host??"",localPort:e.local_port??0,label:e.label??"",mode:e.mode??0,status:e.status??0,host:e.host??"",createdAt:e.created_at??"",expiresAt:e.expires_at??""}}var Eo={user:Vo.PRIVATE,tenant:Vo.SHARED},ok={personal:dn.PERSONAL,space:dn.SPACE,organization:dn.ORGANIZATION};function Yb(e){return Array.isArray(e)?e.map(Yb):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,t==="value"&&typeof n=="string"?"<redacted>":Yb(n)])):e}function ik(e){if(e===dn.PERSONAL||e==="SECRET_APPLICABILITY_PERSONAL")return"personal";if(e===dn.SPACE||e==="SECRET_APPLICABILITY_SPACE")return"space";if(e===dn.ORGANIZATION||e==="SECRET_APPLICABILITY_ORGANIZATION")return"organization"}function ec(e,t){let n=e.scope===Vo.SHARED||e.scope==="SECRET_SCOPE_SHARED"?"tenant":t,r=ik(e.applicability),o=e.space_ids??(e.space_id===void 0||e.space_id===""?[]:[e.space_id]);return{name:e.name??"",scope:n,description:e.description??"",tags:e.tags??{},version:e.version??"",createdAt:e.created_at??"",updatedAt:e.updated_at??"",valueSizeBytes:e.value_size_bytes??0,spaceIds:o,allSpaces:e.all_spaces===!0,...r?{applicability:r}:{},...e.secret_id?{secretId:e.secret_id}:{},...e.olac_ready===void 0?{}:{olacReady:e.olac_ready}}}function sk(e){if(!(!e||Object.keys(e).length===0))return Object.entries(e).map(([t,n])=>({key:t,values:[n]}))}var Tt="/cloud-agents/vfs",lk=3e4;function hX(e){return{event_id:e.event_id??e.eventId,comment_id:e.comment_id??e.commentId,path:e.path,kind:e.kind,author_display_name:e.author_display_name??e.authorDisplayName,author_id:e.author_id??e.authorId,body:e.body,anchor:e.anchor?{version_seq:e.anchor.version_seq??e.anchor.versionSeq,quote:e.anchor.quote,line_hint:e.anchor.line_hint??e.anchor.lineHint}:void 0,created_at:e.created_at??e.createdAt,parent_id:e.parent_id??e.parentId}}var oc=[{name:"bearer",proto:"WEBHOOK_TYPE_BEARER",numeric:1,creatable:!0},{name:"gitlab",proto:"WEBHOOK_TYPE_GITLAB",numeric:2,creatable:!0},{name:"jira",proto:"WEBHOOK_TYPE_JIRA",numeric:3,creatable:!0},{name:"github",proto:"WEBHOOK_TYPE_GITHUB",numeric:6,creatable:!0},{name:"harness-code",proto:"WEBHOOK_TYPE_HARNESS_CODE",numeric:58,creatable:!0},{name:"harness-pipeline-notification",proto:"WEBHOOK_TYPE_HARNESS_PIPELINE_NOTIFICATION",numeric:59,creatable:!0},{name:"stripe",proto:"WEBHOOK_TYPE_STRIPE",numeric:5,creatable:!0},{name:"sentry",proto:"WEBHOOK_TYPE_SENTRY",numeric:9,creatable:!0},{name:"datadog",proto:"WEBHOOK_TYPE_DATADOG",numeric:10,creatable:!0},{name:"buildkite",proto:"WEBHOOK_TYPE_BUILDKITE",numeric:11,creatable:!0},{name:"launchdarkly",proto:"WEBHOOK_TYPE_LAUNCHDARKLY",numeric:12,creatable:!0},{name:"circleci",proto:"WEBHOOK_TYPE_CIRCLECI",numeric:13,creatable:!0},{name:"snyk",proto:"WEBHOOK_TYPE_SNYK",numeric:14,creatable:!0},{name:"sonarqube",proto:"WEBHOOK_TYPE_SONARQUBE",numeric:15,creatable:!0},{name:"semgrep",proto:"WEBHOOK_TYPE_SEMGREP",numeric:16,creatable:!0},{name:"argocd",proto:"WEBHOOK_TYPE_ARGOCD",numeric:17,creatable:!0},{name:"terraform-cloud",proto:"WEBHOOK_TYPE_TERRAFORM_CLOUD",numeric:18,creatable:!0},{name:"opsgenie",proto:"WEBHOOK_TYPE_OPSGENIE",numeric:19,creatable:!0},{name:"pagerduty",proto:"WEBHOOK_TYPE_PAGERDUTY",numeric:8,creatable:!0},{name:"azure-devops",proto:"WEBHOOK_TYPE_AZURE_DEVOPS",numeric:20,creatable:!0},{name:"bitbucket",proto:"WEBHOOK_TYPE_BITBUCKET",numeric:21,creatable:!0},{name:"auth0",proto:"WEBHOOK_TYPE_AUTH0",numeric:22,creatable:!0},{name:"okta",proto:"WEBHOOK_TYPE_OKTA",numeric:23,creatable:!0},{name:"zendesk",proto:"WEBHOOK_TYPE_ZENDESK",numeric:24,creatable:!0},{name:"intercom",proto:"WEBHOOK_TYPE_INTERCOM",numeric:25,creatable:!0},{name:"posthog",proto:"WEBHOOK_TYPE_POSTHOG",numeric:26,creatable:!0},{name:"resend",proto:"WEBHOOK_TYPE_RESEND",numeric:27,creatable:!0},{name:"chargebee",proto:"WEBHOOK_TYPE_CHARGEBEE",numeric:28,creatable:!0},{name:"workos",proto:"WEBHOOK_TYPE_WORKOS",numeric:29,creatable:!0},{name:"hubspot",proto:"WEBHOOK_TYPE_HUBSPOT",numeric:30,creatable:!0},{name:"notion",proto:"WEBHOOK_TYPE_NOTION",numeric:31,creatable:!0},{name:"jsm-operations",proto:"WEBHOOK_TYPE_JSM_OPERATIONS",numeric:32,creatable:!0},{name:"incident-io",proto:"WEBHOOK_TYPE_INCIDENT_IO",numeric:33,creatable:!0},{name:"sendgrid",proto:"WEBHOOK_TYPE_SENDGRID",numeric:34,creatable:!0},{name:"mailgun",proto:"WEBHOOK_TYPE_MAILGUN",numeric:35,creatable:!0},{name:"twilio",proto:"WEBHOOK_TYPE_TWILIO",numeric:36,creatable:!0},{name:"customer-io",proto:"WEBHOOK_TYPE_CUSTOMER_IO",numeric:37,creatable:!0},{name:"vanta",proto:"WEBHOOK_TYPE_VANTA",numeric:38,creatable:!1},{name:"new-relic",proto:"WEBHOOK_TYPE_NEW_RELIC",numeric:39,creatable:!0},{name:"grafana",proto:"WEBHOOK_TYPE_GRAFANA",numeric:40,creatable:!0},{name:"jfrog-xray",proto:"WEBHOOK_TYPE_JFROG_XRAY",numeric:41,creatable:!0},{name:"vercel",proto:"WEBHOOK_TYPE_VERCEL",numeric:42,creatable:!0},{name:"cloudflare",proto:"WEBHOOK_TYPE_CLOUDFLARE",numeric:43,creatable:!0},{name:"pulumi",proto:"WEBHOOK_TYPE_PULUMI",numeric:44,creatable:!0},{name:"harbor",proto:"WEBHOOK_TYPE_HARBOR",numeric:45,creatable:!0},{name:"aws-eventbridge",proto:"WEBHOOK_TYPE_AWS_EVENTBRIDGE",numeric:46,creatable:!0},{name:"clerk",proto:"WEBHOOK_TYPE_CLERK",numeric:47,creatable:!0},{name:"replicate",proto:"WEBHOOK_TYPE_REPLICATE",numeric:48,creatable:!0},{name:"daytona",proto:"WEBHOOK_TYPE_DAYTONA",numeric:49,creatable:!0},{name:"netlify",proto:"WEBHOOK_TYPE_NETLIFY",numeric:50,creatable:!0},{name:"azure-event-grid",proto:"WEBHOOK_TYPE_AZURE_EVENT_GRID",numeric:51,creatable:!0},{name:"rootly",proto:"WEBHOOK_TYPE_ROOTLY",numeric:52,creatable:!0},{name:"firehydrant",proto:"WEBHOOK_TYPE_FIREHYDRANT",numeric:53,creatable:!0},{name:"statuspage",proto:"WEBHOOK_TYPE_STATUSPAGE",numeric:54,creatable:!0},{name:"devrev",proto:"WEBHOOK_TYPE_DEVREV",numeric:55,creatable:!0},{name:"pylon",proto:"WEBHOOK_TYPE_PYLON",numeric:56,creatable:!1},{name:"plain",proto:"WEBHOOK_TYPE_PLAIN",numeric:57,creatable:!0}],ak=oc.filter(e=>e.creatable).map(e=>e.name),Cb="webhook",bX=Object.fromEntries(oc.map(e=>[e.name,e.proto])),ck={WEBHOOK_TYPE_UNSPECIFIED:"bearer",...Object.fromEntries(oc.map(e=>[e.proto,e.name]))},dk=Object.fromEntries(oc.map(e=>[e.numeric,e.name]));function fX(e){if(e)return{steps:(e.steps??[]).map(t=>({title:t.title??"",bodyMarkdown:t.bodyMarkdown??t.body_markdown??""})),fields:(e.fields??[]).map(hk),webhookUrl:e.webhookUrl??e.webhook_url??"",secretSource:uk(e.secretSource??e.secret_source)}}function uk(e){return e===1||e==="SECRET_SOURCE_AUGMENT_GENERATED"?"augment_generated":e===2||e==="SECRET_SOURCE_SERVICE_PROVIDED"?"service_provided":"unknown"}function hk(e){let t=e.valueKind??e.value_kind;return{label:e.label??"",value:e.value??"",valueKind:bk(t),literalValue:e.literalValue??e.literal_value??"",secret:e.secret===!0}}function bk(e){return e===1||e==="SETUP_FIELD_VALUE_KIND_WEBHOOK_URL"?"webhook_url":e===2||e==="SETUP_FIELD_VALUE_KIND_SECRET"?"secret":e===3||e==="SETUP_FIELD_VALUE_KIND_LITERAL"?"literal":"unknown"}function fk(e){let t=e.failedWebhookIds??e.failed_webhook_ids??[];return{success:e.success??t.length===0,deletedWebhookIds:e.deletedWebhookIds??e.deleted_webhook_ids??[],failedWebhookIds:t}}function rs(e){return{webhookId:e.webhookId??e.webhook_id??"",description:e.description,url:e.url,type:mk(e.type),active:e.active??!1,userId:e.userId??e.user_id,tenantId:e.tenantId??e.tenant_id,createdAt:Ak(e.createdAt??e.created_at),capturedHeaders:e.capturedHeaders??e.captured_headers??[],raw:e}}function mk(e){return typeof e=="number"?dk[e]??"bearer":e?ck[e]??"bearer":"bearer"}function Ak(e){if(!e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}var Xr=class e{static userAgent;instanceUserAgent;static setUserAgent(t){e.userAgent=pb(t)}static getUserAgent(){return e.userAgent??"augment-api-sdk"}apiToken;apiUrl;fetchImpl;sessionId=$S();logger;poseidonConfig;onExpertCapabilityMismatch;reportedExpertEndpoints=new Set;expertId;workflowId;constructor(t,n,r,o,i,s){let l="apiToken"in t?t:{apiToken:r??"",apiUrl:n??"",fetchImpl:s,logger:t,userAgent:o,apiCallTimeoutMs:i?.apiCallTimeoutMs};this.apiToken=l.apiToken,this.apiUrl=l.apiUrl.endsWith("/")?l.apiUrl:`${l.apiUrl}/`,this.instanceUserAgent=l.userAgent,this.fetchImpl=l.fetchImpl??globalThis.fetch,this.logger=l.logger??_J,this.onExpertCapabilityMismatch=l.onExpertCapabilityMismatch,this.poseidonConfig={...gb,...l.apiCallTimeoutMs===void 0?{}:{apiCallTimeoutMs:l.apiCallTimeoutMs}}}getRpcClient(){return fb({baseUrl:this.apiUrl,apiToken:this.apiToken,fetch:this.fetchImpl,sessionId:this.sessionId,expertId:()=>this.expertId,workflowId:()=>this.workflowId,userAgent:this.getUserAgent(),timeoutMs:this.poseidonConfig.apiCallTimeoutMs,errorReporting:t=>this.reportRequestFailure({bodyLength:t.bodyLength??0,endpoint:t.endpoint,error:t.error,requestId:t.requestId,startTime:t.startTime})})}getApiUrl(){return this.apiUrl}getAuthToken(){return this.apiToken}getUserAgent(){return e.userAgent??this.instanceUserAgent??"augment-api-sdk"}setUserAgent(t){e.setUserAgent(t)}getAuthHeaders(){return{Authorization:`Bearer ${this.apiToken}`,"User-Agent":this.getUserAgent()}}createRequestId(){return $S()}setExpertId(t){this.expertId=t}setWorkflowId(t){this.workflowId=t}async reportRequestFailure({bodyLength:t,endpoint:n,error:r,requestId:o,signal:i,startTime:s}){if(n==="report-error"||!jJ(r,i))return;let l=r instanceof So||r instanceof nc?r.status:2;await this.reportError(o,`${n} call failed with APIStatus ${QJ[l]??"unknown"}`,r.stack??"",[{key:"body_length",value:String(t)},{key:"start_time",value:String(s)},{key:"end_time",value:String(Date.now())},{key:"message",value:r.message}])}async request(t,n,r=this.createRequestId(),o,i=12e4,s=this.sessionId){let l=Date.now();try{return await this.requestWithoutReporting(t,n,r,o,i,s)}catch(a){let c=a instanceof Error?a:new Error(String(a));throw await this.reportRequestFailure({bodyLength:MJ(n),endpoint:t,error:c,requestId:r,signal:o,startTime:l}),a}}async requestWithoutReporting(t,n,r,o,i,s){let l=new Headers({"x-request-id":r,"x-request-session-id":s,...this.expertId?{"x-expert-id":this.expertId}:{},...this.workflowId?{"x-workflow-id":this.workflowId}:{}}),a=AbortSignal.timeout(i),c=o&&typeof AbortSignal.any=="function"?AbortSignal.any([o,a]):o??a,d;try{d=await this.fetchImpl(new URL(t,this.apiUrl),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiToken}`,"User-Agent":this.getUserAgent(),...Object.fromEntries(l),...process.env.AUGMENT_SOURCE_AGENT_ID?{"x-augment-source-agent-id":process.env.AUGMENT_SOURCE_AGENT_ID}:{}},body:JSON.stringify(n),signal:c})}catch(u){let h=u instanceof Error?u:void 0;throw new nc(`Augment request to ${new URL(t,this.apiUrl).toString()} failed: ${h?.message??String(u)}`,h)}if(!d.ok)throw await PJ(d,r);return d}async reportError(t,n,r,o){let i=r.replace(/ \(\/[^()]+\)/g,"");try{await this.requestWithoutReporting("report-error",{original_request_id:t,sanitized_message:n,stack_trace:i,diagnostics:o},this.createRequestId(),void 0,500,this.sessionId)}catch{}}poseidonRequestSessionId(){let t=process.env.AUGMENT_SOURCE_AGENT_ID;if(!t)return this.sessionId;try{return OJ(t)}catch(n){return this.logger.warn("Failed to derive request session ID: %s",String(n)),this.sessionId}}async callApi(t,n,r){let i=await(await this.request(t.replace(/^\//,""),n,void 0,r?.signal,r?.timeoutMs??this.poseidonConfig.apiCallTimeoutMs,this.poseidonRequestSessionId())).text();if(i)return this.base_parseJson(i,`Augment request to ${t}`)}async getTenantToolPermissions(t={}){let n=await this.callApi("settings/get-tenant-tool-permissions",{},{signal:t.signal,timeoutMs:3e4});try{return(qr(FS,KJ(n)).toolPermissionsSettings?.rules??[]).map(o=>{let i;switch(o.permission.case){case"simplePermission":i={type:o.permission.value.type};break;case"webhookPolicy":i={type:"webhook-policy",webhookUrl:o.permission.value.webhookUrl};break;case"scriptPolicy":i={type:"script-policy",script:o.permission.value.script};break;default:throw new Error("Missing permission")}return{toolName:o.toolName,permission:i,eventType:o.eventType||void 0,shellInputRegex:o.shellInputRegex||void 0}})}catch{throw new Error("Invalid tenant tool permissions response")}}async getModelConfig(){let t=await this.callApi("get-models",{});return{defaultModel:t.default_model??"",models:(t.models??[]).map(n=>({name:n.name??"",suggestedPrefixCharCount:n.suggested_prefix_char_count??0,suggestedSuffixCharCount:n.suggested_suffix_char_count??0,completionTimeoutMs:n.completion_timeout_ms,internalName:n.internal_name})),featureFlagsV2:qr(NS,xn(t.feature_flags??{}),{ignoreUnknownFields:!0}),userTier:s5(t.user_tier),user:t.user}}async chatFeedback(t){await this.callApi("chat-feedback",{request_id:t.requestId,rating:t.rating,note:t.note,mode:t.mode})}async chat(t,n,r,o,i,s,l,a,c,d,u,h,b,f,A){let V=await(await this.request("chat",{model:l,path:h,prefix:d,selected_code:c,suffix:u,message:n,chat_history:r,lang:b,blobs:tc(o),user_guided_blobs:i,external_source_ids:s,context_code_exchange_request_id:a,feature_detection_flags:{},...f?{system_prompt:f}:{},system_prompt_replacements:A??[]},t,void 0,3e5)).text();return this.toChatResult(V?JSON.parse(V):{})}async chatStream(t,n){let r=await this.request("chat-stream",i5(n),t,n.signal,12e5,typeof n.sessionId=="string"?n.sessionId:this.sessionId);if(!r.body)throw new So("Chat stream response had no body",r,t);let o=r.body.getReader(),i=l=>{try{return this.toChatResult(JSON.parse(l))}catch{return}};async function*s(){let l=new TextDecoder,a="";try{for(;;){let{done:d,value:u}=await o.read();if(d)break;a+=l.decode(u,{stream:!0});let h=a.indexOf(`
131
131
  `);for(;h>=0;){let b=a.slice(0,h).trim();a=a.slice(h+1);let f=i(b);f&&(yield f),h=a.indexOf(`
132
132
  `)}}let c=i(a.trim());c&&(yield c)}finally{await o.cancel().catch(()=>{})}}return s()}toChatResult(t){if(typeof t.error=="string")return{text:"",error:{displayErrorMessage:t.error,errorDetails:r5(t.error_details)}};let n=t.error;return{text:typeof t.text=="string"?t.text:"",unknownBlobNames:t.unknown_blob_names??[],checkpointNotFound:t.checkpoint_not_found??!1,workspaceFileChunks:xn(t.workspace_file_chunks)??[],nodes:t.nodes,stop_reason:n5(t.stop_reason),summarizeAndRetry:t.summarize_and_retry,error:n?{displayErrorMessage:String(n.display_error_message??n.displayErrorMessage??"Unknown stream error"),isRetriable:!!(n.is_retriable??n.isRetriable),shouldBackoff:!!(n.should_backoff??n.shouldBackoff)}:void 0}}async checkpointBlobs(t){let n=await this.callApi("checkpoint-blobs",{blobs:tc(t)},{timeoutMs:Eb});return{newCheckpointId:t5(n.new_checkpoint_id,"new_checkpoint_id")}}async batchUpload(t){let n=await this.callApi("batch-upload",{blobs:t.map(r=>({blob_name:r.blobName,path:r.pathName,content:r.text}))},{timeoutMs:Eb});return{blobNames:Rb(n.blob_names,"blob_names")}}async findMissing(t,n){let r=await this.callApi("find-missing",{model:n,mem_object_names:[...t].sort()},{timeoutMs:Eb});return{unknownBlobNames:Rb(r.unknown_memory_names,"unknown_memory_names"),nonindexedBlobNames:Rb(r.nonindexed_blob_names,"nonindexed_blob_names")}}async agentCodebaseRetrieval(t,n,r,o,i,s,l){let a=await this.request("agents/codebase-retrieval",{information_request:n,blobs:tc(r),dialog:o,max_output_length:i,disable_codebase_retrieval:s?.disableCodebaseRetrieval??!1,enable_commit_retrieval:s?.enableCommitRetrieval??!1,enable_conversation_retrieval:s?.enableConversationRetrieval??!1,...s?.conversationId?{conversation_id:s.conversationId}:{},...s?.parentConversationId?{parent_conversation_id:s.parentConversationId}:{},...s?.rootConversationId?{root_conversation_id:s.rootConversationId}:{},...s?.turnId?{turn_id:s.turnId}:{},...s?.bringYourOwnKey?{bring_your_own_key:s.bringYourOwnKey}:{}},t,l);return xn(await a.json())}async revokeCurrentUserTokens(){return await this.callApi("revoke-current-user-tokens",{})}async listRemoteTools(t){let n=await this.getRpcClient().listRemoteTools({toolIdList:{toolIds:t??[]}});return xn(Wl(BS,n,{enumAsInteger:!0,alwaysEmitImplicit:!0}))}async runRemoteTool(t,n,r,o,i,s,l){if(l!==void 0){let d=await this.request("agents/run-remote-tool",{tool_name:n,tool_input_json:r,tool_id:o,...o5(o,i),bot_type:l},t,s);return xn(await d.json())}let a;if(i)switch(o){case cn.JIRA:case cn.CONFLUENCE:a={case:"atlassianToolExtraInput",value:{serverUrl:i.serverUrl,personalApiToken:i.personalApiToken,username:i.username}};break;case cn.NOTION:a={case:"notionToolExtraInput",value:{apiToken:i.apiToken}};break;case cn.LINEAR:a={case:"linearToolExtraInput",value:{apiToken:i.apiToken}};break;case cn.GITHUB_API:a={case:"githubToolExtraInput",value:{apiToken:i.apiToken}};break;default:break}let c=await this.getRpcClient().runRemoteTool({toolName:n,toolInputJson:r,toolId:o,extraToolInput:a},{signal:s,headers:{"x-request-id":t}});return{...xn(Wl(CS,c,{enumAsInteger:!0})),toolOutput:c.toolOutput,toolResultMessage:c.toolResultMessage,status:c.status,...c.fullOutputSize===void 0?{}:{fullOutputSize:Number(c.fullOutputSize)}}}async logAgentSessionEvent(t){await this.request("record-session-events",{events:t.map(n=>({time:new Date(n.event_time_sec*1e3+n.event_time_nsec/1e6).toISOString(),event:{agent_session_event:{...n,user_agent:this.getUserAgent()}}}))})}async logAgentRequestEvent(t){let n=Map.groupBy(t,r=>r.request_id);for(let[r,o]of n)await this.request("record-request-events",{events:o.map(({request_id:i,...s})=>({time:new Date(s.event_time_sec*1e3+s.event_time_nsec/1e6).toISOString(),event:{agent_request_event:{...s,user_agent:this.getUserAgent()}}}))},r)}async logToolUseRequestEvent(t){let n=Map.groupBy(t,r=>r.requestId);await Promise.all([...n].map(async([r,o])=>{await this.request("record-request-events",{events:o.map(i=>{let s=JSON.stringify(i.toolInput);return{time:new Date(i.eventTimeSec*1e3+i.eventTimeNsec/1e6).toISOString(),event:{tool_use_data:{tool_name:i.toolName,tool_use_id:i.toolUseId,tool_output_is_error:i.toolOutputIsError,tool_run_duration_ms:i.toolRunDurationMs,tool_input:s,tool_input_len:s.length,is_mcp_tool:i.isMcpTool,conversation_id:i.conversationId,chat_history_length:i.chatHistoryLength,tool_output_len:i.toolOutputLen,tool_lines_added:i.toolLinesAdded,tool_lines_deleted:i.toolLinesDeleted,tool_use_diff:i.toolUseDiff,tool_error_class:i.toolErrorClass,tool_error_snippet:i.toolErrorSnippet}}}})},r)}))}base_getApiUrl(){return this.apiUrl}base_getAuthToken(){return this.apiToken}base_getUserAgent(){return this.getUserAgent()}base_getAuthHeaders(){return{Authorization:`Bearer ${this.apiToken}`,"User-Agent":this.getUserAgent()}}base_parseJson(t,n){try{return JSON.parse(t)}catch(r){throw new Error(`Failed to parse ${n} response as JSON: ${r instanceof Error?r.message:String(r)}. Response length: ${t.length}`)}}async base_listObjectRoleBindings(t,n){return((await this.callApi("/access/list",{object_type:t,object_id:n})).entries??[]).map(o=>this.base_parseObjectRoleBinding(o))}async base_grantObjectRole(t,n,r,o){await this.callApi("/access/grant",{object_type:t,object_id:n,principal:this.base_accessPrincipal(r),role:o})}async base_revokeObjectRole(t,n,r){await this.callApi("/access/revoke",{object_type:t,object_id:n,principal:this.base_accessPrincipal(r)})}base_parseObjectRoleBinding(t){return{principalType:t.principal_type??t.principalType??"unknown",principalId:t.principal_id??t.principalId??"",principalEmail:t.principal_email??t.principalEmail,principalDisplayName:t.principal_display_name??t.principalDisplayName,role:t.role??"",grantedBy:t.granted_by??t.grantedBy,createdAt:this.base_parseTimestamp(t.created_at??t.createdAt)}}base_accessPrincipal(t){return"email"in t?{email:t.email}:"tenant"in t?{tenant:!0}:"groupId"in t?{group_id:t.groupId}:"serviceAccountId"in t?{service_account_id:t.serviceAccountId}:"group"in t?{group:t.group}:"serviceAccount"in t?{service_account:t.serviceAccount}:{user_id:t.userId}}base_parseTimestamp(t){if(typeof t=="string"){let n=new Date(t);return Number.isNaN(n.getTime())?void 0:n}if(t!==null&&typeof t=="object"&&"seconds"in t){let n=t;return new Date(Number(n.seconds)*1e3+Math.floor(Number(n.nanos??0)/1e6))}}async recordPoseidonAnalyticsEvents({events:t}){this.logger.debug("Recording %d Poseidon analytics event(s)",t.length),await this.callApi("/record-poseidon-analytics-events",{events:t})}async getCostAnalytics(t){return this.logger.debug("Fetching cost analytics"),await this.callApi("/get-cost-analytics",t)}async getCostAnalyticsV2(t){return this.logger.debug("Fetching cost analytics (v2)"),await this.callApi("/get-cost-analytics-v2",t)}async listTags(t){return this.logger.debug("Fetching analytics tag catalog"),await this.callApi("/list-tags",t)}async getSessionAnalytics(t){return this.logger.debug("Fetching outcome session analytics"),await this.callApi("/get-session-analytics",t)}async getOutcomeAnalytics(t){return this.logger.debug("Fetching outcome analytics"),await this.callApi("/get-outcome-analytics",t)}async createUpload(t){let n={visibility:a5[t.visibility],media_type:t.mediaType,size_bytes:t.sizeBytes,sha256_hex:t.sha256Hex};t.label!==void 0&&(n.label=t.label),t.filename!==void 0&&(n.filename=t.filename);let r=await this.callApi("/cloud-agents/artifacts/create-upload",n);return{hostedArtifactId:r.hosted_artifact_id??"",signedPutUrl:r.signed_put_url??"",requiredHeaders:r.required_headers??{},signedUrlExpiresAt:r.signed_url_expires_at??""}}async finalizeHostedArtifact(t){let n={hosted_artifact_id:t.hostedArtifactId};t.filename!==void 0&&(n.filename=t.filename);let r=await this.callApi("/cloud-agents/artifacts/finalize",n);if(r.artifact===void 0)throw new Error(`Finalize response missing artifact payload for ${t.hostedArtifactId}`);return d5(r.artifact)}async deleteHostedArtifact(t){let n=l5(t)?{canonical_url:t}:{hosted_artifact_id:t};await this.callApi("/cloud-agents/artifacts/delete",n)}listEnvironmentRoleBindings(t){return this.base_listObjectRoleBindings(Zb,t)}grantEnvironmentRole({imageId:t,principal:n,role:r}){return this.base_grantObjectRole(Zb,t,n,r)}revokeEnvironmentRole({imageId:t,principal:n}){return this.base_revokeObjectRole(Zb,t,n)}async getEnvironment(t){let n=await this.callApi("/cloud-environments/environments/get",{ref:this.environment_toApiEnvironmentRef(t)}),r=n.summary;if(!r?.id)throw new Error(`Environment target not found: ${t.id}`);let o=r;return t.type==="environment"?o=n.details?.base_image??r:t.type==="pool"?o=n.details?.daemon_pool??r:o=n.details?.unpooled_daemon??n.details?.unpooled??r,{id:r.id,type:this.environment_environmentKindToType(r.kind),displayName:r.display_name??r.id,description:r.description,visibility:r.visibility,raw:o}}async listBaseImages(t){let n=await this.callApi("/cloud-environments/environments/list",{...t?.includeDeleted?{include_deleted:!0}:{},kinds:[1],...t?.resolveUserDisplayNames?{resolve_user_display_names:!0}:{},...t?.orderBy===void 0?{}:{order_by:t.orderBy},...t?.searchQuery?{search_query:t.searchQuery}:{},...t?.ownedOnly?{owned_only:!0}:{},...t?.scope===void 0?{}:{scope:t.scope},...t?.spaceId?{space_id:t.spaceId}:{},...t?.defaultSpaceOnly?{default_space_only:!0}:{}}),r=(n.environment_summaries??[]).filter(o=>(o.kind??0)===1&&typeof o.id=="string"&&o.id.length>0).map(o=>this.environment_parseBaseImage({id:o.id,image_id:o.id,display_name:o.display_name,description:o.description,visibility:o.visibility,created_at:o.created_at,updated_at:o.updated_at,created_by_user_name:o.created_by_user_name,space_id:o.space_id,sandbox_provider_id:o.sandbox_provider_id,sandbox_provider:o.sandbox_provider}));return r.length>0?r:(n.environments??[]).filter(o=>{let i=o.image_id??o.id;return typeof i=="string"&&i.length>0}).map(o=>this.environment_parseBaseImage(o))}async listCloudEnvironments(t){let n=await this.callApi("/cloud-environments/environments/list",{...t?.includeDeleted?{include_deleted:!0}:{},kinds:[1,2,3],...t?.resolveUserDisplayNames?{resolve_user_display_names:!0}:{},...t?.orderBy===void 0?{}:{order_by:t.orderBy},...t?.searchQuery?{search_query:t.searchQuery}:{},...t?.ownedOnly?{owned_only:!0}:{},...t?.scope===void 0?{}:{scope:t.scope},...t?.spaceId?{space_id:t.spaceId}:{},...t?.defaultSpaceOnly?{default_space_only:!0}:{}}),r=(n.environment_summaries??[]).filter(o=>typeof o.id=="string"&&o.id.length>0).map(o=>this.environment_parseCloudEnvironmentSummary(o));return r.length>0?r:(n.environments??[]).filter(o=>{let i=o.image_id??o.id;return typeof i=="string"&&i.length>0}).map(o=>{let i=this.environment_parseBaseImage(o);return{sandboxProviderId:i.sandboxProviderId,sandboxProvider:i.sandboxProvider,kind:"base_image",id:i.imageId,displayName:i.displayName,description:i.description,visibility:i.visibility,currentVersion:i.currentVersion,status:i.status,raw:i.raw??{}}})}async createBaseImage(t){let n=await this.callApi("/cloud-environments/base-images/create",tX(t),{timeoutMs:this.poseidonConfig.imageBuildTimeoutMs});if(!n.environment)throw new Error(`Failed to create environment: ${t.displayName}`);return this.environment_parseBaseImage(n.environment)}async getBaseImage(t){let n=await this.callApi("/cloud-environments/environments/get",{ref:{base_image_id:t}}),r=n.details?.base_image??n.environment;if(!r)throw new Error(`Environment not found: ${t}`);return this.environment_parseBaseImage(r)}async updateBaseImage({imageId:t,sandboxProviderId:n,displayName:r,description:o,visibility:i,baseImage:s,refreshEnabled:l,repos:a,environmentVariables:c,expectedResourceVersion:d,tags:u,spaceId:h}){let b=await this.callApi("/cloud-environments/base-images/update",nX({imageId:t,sandboxProviderId:n,displayName:r,description:o,visibility:i,baseImage:s,refreshEnabled:l,repos:a,environmentVariables:c,expectedResourceVersion:d,tags:u,spaceId:h}));return this.environment_parseBaseImage(b?.environment??b)}async deleteBaseImage(t){await this.callApi("/cloud-environments/base-images/delete",{image_id:t})}async getBaseImageVersions(t,n=!1){return((await this.callApi("/cloud-environments/base-images/builds/list",{image_id:t,...n?{include_update_scripts:!0}:{}})).builds??[]).map(o=>({imageId:o.image_id??t,version:o.version??"",gcpImageUrl:o.gcp_image_url,upstreamDigest:o.upstream_digest,createdAt:o.created_at?new Date(o.created_at):void 0,status:o.lifecycle_status??o.status,errorMessage:o.error_message,modalImageId:o.modal_image_id,updateScript:n?o.update_script:void 0,hasUpdateScript:o.has_update_script??!!o.update_script}))}listEnvironmentBuilds(t,n=!1){return this.getBaseImageVersions(t,n)}async restoreEnvironment(t){let n=await this.callApi("/cloud-environments/base-images/restore",{image_id:t});if(!n.environment)throw new Error(`Failed to restore environment: ${t}`);return this.environment_parseBaseImage(n.environment)}async listEnvironmentVersions({environmentId:t,limit:n}){return((await this.callApi("/cloud-environments/base-images/versions/list",{image_id:t,limit:n??50})).versions??[]).map(o=>this.environment_parseEnvironmentVersion(o))}async getEnvironmentVersion({environmentId:t,resourceVersion:n}){let r=await this.callApi("/cloud-environments/base-images/versions/get",{image_id:t,resource_version:n});if(!r.version)throw new Error(`Version ${n} not found for environment ${t}`);return this.environment_parseEnvironmentVersion(r.version)}async runImageUpdate({imageId:t,provisionScript:n,vmStartupScript:r,baseImageRef:o,useDefaultScripts:i}){let s=await this.callApi("/cloud-environments/base-images/rebuild",{image_id:t,...n===void 0?{}:{provision_script:n},...r===void 0?{}:{vm_startup_script:r},...o===void 0?{}:{base_image_ref:o},...i===void 0?{}:{use_default_scripts:i}},{timeoutMs:this.poseidonConfig.imageBuildTimeoutMs});return{modalImageId:s.modal_image_id??"",updatedAt:s.updated_at?new Date(s.updated_at):void 0}}async startEnvironmentRebuild({environmentId:t,idempotencyKey:n,provisionScript:r,vmStartupScript:o,baseImageRef:i,registryCredentialName:s},l){let a=await this.environment_callAbortableApi("/cloud-environments/base-images/rebuild/start",{environment_id:t,idempotency_key:n,...r===void 0?{}:{provision_script:r},...o===void 0?{}:{vm_startup_script:o},...i===void 0?{}:{base_image_ref:i},...s===void 0?{}:{registry_credential_name:s}},l);return this.environment_parseEnvironmentOperation(a.operation)}async startEnvironmentRefresh({environmentId:t,idempotencyKey:n},r){let o=await this.environment_callAbortableApi("/cloud-environments/base-images/refresh/start",{environment_id:t,idempotency_key:n},r);return this.environment_parseEnvironmentOperation(o.operation)}async startEnvironmentSnapshotUpdate({environmentId:t,idempotencyKey:n,script:r,expectedCurrentVersion:o},i){let s=await this.environment_callAbortableApi("/cloud-environments/base-images/update-snapshot/start",{environment_id:t,idempotency_key:n,script:r,expected_current_version:o},i);return this.environment_parseEnvironmentOperation(s.operation)}async startEnvironmentRepositoryReconcile({environmentId:t,idempotencyKey:n,expectedCurrentVersion:r,...o},i){let s=await this.environment_callAbortableApi("/cloud-environments/base-images/repositories/reconcile/start",{update:nX({imageId:t,...o}),idempotency_key:n,...r===void 0?{}:{expected_current_version:r}},i);return this.environment_parseEnvironmentOperation(s.operation)}async startEnvironmentCreate({config:t,idempotencyKey:n,registryCredentialName:r},o){let i=await this.environment_callAbortableApi("/cloud-environments/base-images/create/start",{...tX(t),idempotency_key:n,...r===void 0?{}:{registry_credential_name:r}},o);if(!i.environment)throw new Error(`Failed to start environment create: ${t.displayName}`);return{environment:this.environment_parseBaseImage(i.environment),operation:this.environment_parseEnvironmentOperation(i.operation)}}async getEnvironmentOperation(t,n){let r=await this.environment_callAbortableApi("/cloud-environments/operations/get",{operation_id:t},n);return this.environment_parseEnvironmentOperation(r.operation)}async getActiveEnvironmentOperation(t,n){let r=await this.environment_callAbortableApi("/cloud-environments/operations/active/get",{environment_id:t},n);return r.operation?this.environment_parseEnvironmentOperation(r.operation):void 0}async cancelEnvironmentOperation(t,n){let r=await this.environment_callAbortableApi("/cloud-environments/operations/cancel",{operation_id:t},n);return this.environment_parseEnvironmentOperation(r.operation)}async updateEnvironmentSnapshot({environmentId:t,script:n,expectedCurrentVersion:r,idempotencyKey:o}){let i=await this.callApi("/cloud-environments/base-images/update-snapshot",{image_id:t,script:n,expected_current_version:r,idempotency_key:o},{timeoutMs:this.poseidonConfig.imageBuildTimeoutMs});return{modalImageId:i.modal_image_id??"",version:i.version??""}}async refreshEnvironment(t){await this.callApi("/cloud-environments/base-images/refresh",{image_id:t})}async duplicateBaseImage({sourceImageId:t,newDisplayName:n,visibility:r}){let o=await this.callApi("/cloud-environments/base-images/duplicate",{source_image_id:t,new_display_name:n,...r===void 0?{}:{visibility:r}}),i=o.environment??o.image;if(!i)throw new Error(`Failed to duplicate environment: ${t}`);return this.environment_parseBaseImage(i)}environment_parseEnvironmentOperation(t){let n=m5(t?.operation_type),r=t?.state===void 0?void 0:u5[t.state],o=t?.phase===void 0?void 0:h5[t.phase];if(!t?.operation_id||!t.environment_id||!n||!r||!o)throw new Error("Invalid environment operation response");let i=Number(t.result?.resource_version);if(r==="succeeded"&&(!t.result?.modal_image_id||!t.result.version||!Number.isSafeInteger(i)))throw new Error("Invalid environment operation response");return{operationId:t.operation_id,environmentId:t.environment_id,operationType:n,state:r,phase:o,result:t.result?{modalImageId:t.result.modal_image_id??"",version:t.result.version??"",resourceVersion:i}:void 0,error:t.error?{code:t.error.code??0,message:t.error.message??"",retryable:t.error.retryable??!1}:void 0}}async environment_callAbortableApi(t,n,r){let o=this.callApi(t,n,{signal:r});if(!r)return o;if(r.aborted)throw r.reason;let i,s=new Promise((l,a)=>{i=()=>a(r.reason),r.addEventListener("abort",i,{once:!0})});try{return await Promise.race([o,s])}finally{i&&r.removeEventListener("abort",i)}}environment_parseCloudEnvironmentSummary(t){let n=this.environment_cloudEnvironmentKind(t.kind),r={kind:n,id:t.id??"",displayName:t.display_name??t.id??"",description:t.description,visibility:t.visibility,raw:t},o=t.extras?.pool_status,i=t.extras?.unpooled;return n==="base_image"?(r.sandboxProviderId=t.sandbox_provider_id,r.sandboxProvider=t.sandbox_provider?Rr(t.sandbox_provider):void 0,r.currentVersion=t.current_version,r.status=t.status):n==="daemon_pool"&&o?r.poolStatus={daemonsOnline:o.daemons_online,slotsTotal:o.slots_total,slotsInUse:o.slots_in_use}:n==="daemon"&&i&&(r.daemon={vmId:i.vm_id,workspacePath:i.workspace_path,maxAgents:i.max_agents,currentAgentCount:i.current_agent_count}),r}environment_cloudEnvironmentKind(t){switch(t){case 2:return"daemon_pool";case 3:return"daemon";default:return"base_image"}}environment_parseEnvironmentVersion(t){return{resourceVersion:t.resource_version??0,config:t.config?this.environment_parseEnvironmentConfig(t.config):void 0,modifiedBy:t.modified_by??"",modifiedAt:t.modified_at?new Date(t.modified_at):void 0,changeType:t.change_type??""}}environment_parseEnvironmentConfig(t){return{sandboxProviderId:t.sandbox_provider_id,displayName:t.display_name??"",description:t.description,visibility:t.visibility,baseImage:t.base_image,refreshEnabled:t.refresh_enabled,repos:(t.repos??[]).map(n=>({owner:n.owner??"",name:n.name??"",...n.branch?{branch:n.branch}:{},...n.host?{host:n.host}:{},...n.project?{project:n.project}:{}})),environmentVariables:t.environment_variables?{variables:(t.environment_variables.variables??[]).map(n=>({name:n.name??"",value:n.value??""}))}:void 0,spaceId:typeof t.space_id=="string"?t.space_id:void 0,tags:t.tags??{}}}environment_parseBaseImage(t){let n=t.image_id??t.id??"",r=t.space_id;return{sandboxProviderId:t.sandbox_provider_id,sandboxProvider:t.sandbox_provider?Rr(t.sandbox_provider):void 0,imageId:n,displayName:t.display_name??n,description:t.description,currentVersion:t.current_version,status:t.lifecycle_status??t.status,visibility:t.visibility,modalImageId:t.modal_image_id,resourceVersion:t.resource_version,createdAt:t.created_at?new Date(t.created_at):void 0,updatedAt:t.updated_at?new Date(t.updated_at):void 0,spaceId:typeof r=="string"?r:void 0,tags:t.tags??{},raw:t}}environment_toApiEnvironmentRef(t){switch(t.type){case"environment":return{base_image_id:t.id};case"pool":return{daemon_pool_id:t.id};case"daemon":return{daemon_vm_id:t.id}}}environment_environmentKindToType(t){switch(t){case 1:return"environment";case 2:return"pool";case 3:return"daemon";default:throw new Error(`Unknown environment kind: ${t??"unset"}`)}}async getDefaultEnvironment(t){return t==="team"?(await this.callApi("/settings/get-poseidon-tenant-settings",{})).default_base_image_id??"":(await this.callApi("/settings/get-poseidon-user-settings",{})).default_environment_id??""}async setDefaultEnvironment(t,n){if(t==="team"){await this.callApi("/settings/update-poseidon-tenant-settings",{default_base_image_id:n});return}await this.callApi("/settings/update-poseidon-user-settings",{default_environment_id:n})}async unsetDefaultEnvironment(t){await this.setDefaultEnvironment(t,"")}async listEvents({limit:t,pageToken:n,source:r,filterPayload:o,eventType:i,since:s,until:l}={}){this.logger.debug("Listing cloud events");let a=await this.callApi("/cloud-events/events/list",{...t===void 0?{}:{limit:t},...n?{page_token:n}:{},...r?{source:r}:{},...o?{filter_payload:o}:{},...i?{event_type:i}:{},...s?{since:s}:{},...l?{until:l}:{}});return{events:(a.events??[]).map(A5),nextPageToken:a.next_page_token,totalCount:a.total_count}}listExpertRoleBindings(t){return this.base_listObjectRoleBindings(Sb,t)}grantExpertRole({expertId:t,principal:n,role:r}){return this.base_grantObjectRole(Sb,t,n,r)}revokeExpertRole({expertId:t,principal:n}){return this.base_revokeObjectRole(Sb,t,n)}readExpertCapabilities(t,n){return OS(t,n,r=>{if(!this.reportedExpertEndpoints.has(n)){this.reportedExpertEndpoints.add(n),this.logger.warn(r.message);try{this.onExpertCapabilityMismatch?this.onExpertCapabilityMismatch(r,n):this.reportError(null,r.message,"",[{key:"api_call",value:n}])}catch{this.logger.warn("Failed to report expert capability mismatch.")}}})}parseExpertResponse(t,n){let r=jS(t);return r.config&&(r.config.capabilityNames=this.readExpertCapabilities(r.config,n)),r}parseExpertVersionResponse(t,n){let r=MS(t);return r.config&&(r.config={...r.config,capability_names:this.readExpertCapabilities(ja(r.config),n)}),r}async createExpert({scope:t,config:n,desiredSlug:r,spaceId:o,capabilitySource:i}){let s=await this.callApi("/cloud-experts/experts/create",{scope:t,config:Vb(n),...r===void 0?{}:{desired_slug:r},...o===void 0?{}:{space_id:o},...i===void 0?{}:{capability_source:Ab[i]}});if(!s.expert)throw new Error("Failed to create expert: no expert in response");return this.parseExpertResponse(s.expert,"/cloud-experts/experts/create")}async getExpert(t){let n=await this.callApi("/cloud-experts/experts/get",{expert_id:t});if(!n.expert)throw new Error(`Expert not found: ${t}`);return this.parseExpertResponse(n.expert,"/cloud-experts/experts/get")}async updateExpert({expertId:t,config:n,scope:r,expectedResourceVersion:o,spaceId:i,capabilitySource:s}){let l=await this.callApi("/cloud-experts/experts/update",{expert_id:t,...n?{config:Vb(n)}:{},...r===void 0?{}:{scope:r},...o===void 0?{}:{expected_resource_version:o},...i===void 0?{}:{space_id:i},...s===void 0?{}:{capability_source:Ab[s]}});if(!l.expert)throw new Error(`Failed to update expert: ${t}`);return this.parseExpertResponse(l.expert,"/cloud-experts/experts/update")}async deleteExperts({expertIds:t}){let n=await this.callApi("/cloud-experts/experts/delete",{expert_ids:t});return{deletedExpertIds:n.deleted_expert_ids??[],failedExpertIds:n.failed_expert_ids??[]}}async listExperts(t){return((await this.callApi("/cloud-experts/experts/list",{...t?.includeDeleted?{include_deleted:!0}:{},...t?.spaceId?{space_id:t.spaceId}:{},...t?.defaultSpaceOnly?{default_space_only:!0}:{}})).experts??[]).map(r=>this.parseExpertResponse(r,"/cloud-experts/experts/list"))}async listExpertsWithUsage(t){let n=await this.callApi("/cloud-experts/experts/list-with-usage",{max_per_section:g5,...t?.spaceId?{space_id:t.spaceId}:{},...t?.defaultSpaceOnly?{default_space_only:!0}:{}}),r=(o,i)=>(o??[]).filter(s=>s.expert).map(s=>({expert:this.parseExpertResponse(s.expert,"/cloud-experts/experts/list-with-usage"),...i.lastUsed&&s.last_used_at?{lastUsedAt:new Date(s.last_used_at)}:{},...i.weeklyActiveUsers&&s.weekly_active_users!==void 0?{weeklyActiveUsers:s.weekly_active_users}:{}}));return{recentlyUsed:r(n.recently_used,{lastUsed:!0}),popular:r(n.popular,{weeklyActiveUsers:!0}),other:r(n.other,{})}}async restoreExpert(t){let n=await this.callApi("/cloud-experts/experts/restore",{expert_id:t});if(!n.expert)throw new Error(`Failed to restore expert: ${t}`);return this.parseExpertResponse(n.expert,"/cloud-experts/experts/restore")}async listExpertVersions({expertId:t,limit:n}){return((await this.callApi("/cloud-experts/experts/versions/list",{expert_id:t,limit:n??V5})).versions??[]).map(o=>this.parseExpertVersionResponse(o,"/cloud-experts/experts/versions/list"))}async getExpertVersion({expertId:t,resourceVersion:n}){let r=await this.callApi("/cloud-experts/experts/versions/get",{expert_id:t,resource_version:n});if(!r.version)throw new Error(`Version ${n} not found for expert ${t}`);return this.parseExpertVersionResponse(r.version,"/cloud-experts/experts/versions/get")}async listWorkflows(t={}){let n=await this.callApi("/cloud-triggers/workflows/list",{...t.eventSourceId?{event_source_id:t.eventSourceId}:{},...t.expertId?{expert_id:t.expertId}:{}});return this.base_parseJson(n.workflows_json||"[]","listWorkflows").map(o=>wn(o))}async deleteExpertWorkflows(t){let n=await this.callApi("/cloud-triggers/workflows/delete",{workflow_ids:[t]});return{success:n.success??!0,deletedWorkflowIds:n.deleted_workflow_ids??[],failedWorkflowIds:n.failed_workflow_ids??[]}}async createWorkflow(t){let n=await this.callApi("/cloud-triggers/workflows/create",{...t.desiredSlug===void 0?{}:{desired_slug:t.desiredSlug},workflow_json:JSON.stringify({event_source_id:t.eventSourceId,name:t.name,...t.description===void 0?{}:{description:t.description},enabled:t.enabled,expert_id:t.expertId,...t.eventFilter?t.eventFilter:{},...t.overrideAutoCleanupOnIdle===void 0?{}:{override_auto_cleanup_on_idle:t.overrideAutoCleanupOnIdle},...t.initialInstructions===void 0?{}:{initial_instructions:t.initialInstructions},...t.actorUserId===void 0?{}:{actor_user_id:t.actorUserId},...t.perMinuteCreateAgentLimit===void 0?{}:{per_minute_create_agent_limit:t.perMinuteCreateAgentLimit}})}),r=this.base_parseJson(n.workflow_json||"null","createWorkflow");if(!r)throw new Error("Failed to create workflow: no workflow in response");return wn(r)}async updateWorkflow({workflowId:t,name:n,enabled:r,expectedResourceVersion:o,overrideAutoCleanupOnIdle:i,initialInstructions:s,actorUserId:l,perMinuteCreateAgentLimit:a}){let c=await this.callApi("/cloud-triggers/workflows/update",{workflow_id:t,...n===void 0?{}:{name:n},...r===void 0?{}:{enabled:r},...o===void 0?{}:{expected_resource_version:o},...i===void 0?{}:{override_auto_cleanup_on_idle:i},...s===void 0?{}:{initial_instructions:s},...l===void 0?{}:{actor_user_id:l},...a===void 0?{}:{per_minute_create_agent_limit:a}}),d=this.base_parseJson(c.workflow_json||"null","updateWorkflow");if(!d)throw new Error(`Failed to update workflow: ${t}`);return wn(d)}async listEventSources(){let t=await this.callApi("/cloud-triggers/event-sources/list",{});return this.base_parseJson(t.event_sources_json||"[]","listEventSources").map(r=>Er(r))}async deleteEventSources(t){let n=await this.callApi("/cloud-triggers/event-sources/delete",{event_source_ids:t});return{success:n.success??!0,deletedEventSourceIds:n.deleted_event_source_ids??[],failedEventSourceIds:n.failed_event_source_ids??[]}}async createEventSource(t){let n=await this.callApi("/cloud-triggers/event-sources/create",{...t.desiredSlug===void 0?{}:{desired_slug:t.desiredSlug},event_source_json:JSON.stringify({name:t.name,event_source_type:t.eventSourceType,...t.config})}),r=this.base_parseJson(n.event_source_json||"null","createEventSource");if(!r)throw new Error("Failed to create event source: no event_source in response");return Er(r)}async updateEventSource(t){let n=await this.callApi("/cloud-triggers/event-sources/update",{expected_resource_version:t.expectedResourceVersion,event_source_json:JSON.stringify({event_source_id:t.eventSourceId,name:t.name,event_source_type:t.eventSourceType,active:t.active,...t.config})}),r=this.base_parseJson(n.event_source_json||"null","updateEventSource");if(!r)throw new Error(`Failed to update event source: ${t.eventSourceId}`);return Er(r)}async listGroups(){this.logger.debug("Listing tenant groups");let t=[],n="";do{let r=await this.callApi("/cloud-groups/list",{page_token:n});t.push(...(r.groups??[]).map(Xb)),n=r.next_page_token??""}while(n.length>0);return t}async createGroup(t,n){this.logger.info("Creating group %s",t);let r=await this.callApi("/cloud-groups/create",{name:t,description:n});if(!r.group)throw new Error("Failed to create group: no group in response");return Xb(r.group)}async updateGroup(t,n){this.logger.info("Updating group %s",t);let r={group_id:t};n.name!==void 0&&(r.name=n.name),n.description!==void 0&&(r.description=n.description);let o=await this.callApi("/cloud-groups/update",r);if(!o.group)throw new Error("Failed to update group: no group in response");return Xb(o.group)}async deleteGroup(t){this.logger.info("Deleting group %s",t),await this.callApi("/cloud-groups/delete",{group_id:t})}async listGroupMembers(t){this.logger.debug("Listing members of group %s",t);let n=[],r="";do{let o=await this.callApi("/cloud-groups/members/list",{group_id:t,page_token:r});n.push(...(o.members??[]).map(E5)),r=o.next_page_token??""}while(r.length>0);return n}async addGroupMembers(t,n){this.logger.info("Adding %d member(s) and %d service account(s) to group %s",n.members?.length??0,n.serviceAccounts?.length??0,t);let r=rX(t,n),o=await oX(()=>this.callApi("/cloud-groups/members/add",r),r);return{addedUserIds:o.added_user_ids??[],alreadyMemberUserIds:o.already_member_user_ids??[]}}async removeGroupMembers(t,n){this.logger.info("Removing %d member(s) and %d service account(s) from group %s",n.members?.length??0,n.serviceAccounts?.length??0,t);let r=rX(t,n),o=await oX(()=>this.callApi("/cloud-groups/members/remove",r),r);return{removedUserIds:o.removed_user_ids??[],notMemberUserIds:o.not_member_user_ids??[]}}async listIntegrations(){return this.logger.debug("Listing integrations"),((await this.callApi("/cloud-integrations/list",{})).integrations??[]).map(iX)}async invokeIntegrationAction({integrationId:t,kind:n}){this.logger.info("Invoking integration action %s on %s",n,t);let r=await this.callApi("/cloud-integrations/invoke-action",{integration_id:t,kind:n});return{urlToOpen:r.url_to_open??"",message:r.message??"",integration:r.integration?iX(r.integration):void 0}}async upsertMcpConfig({scope:t,config:n,expectedVersion:r}){let o=t==="tenant"?"/settings/upsert-mcp-tenant-config":"/settings/upsert-mcp-user-config";this.logger.debug("Upserting MCP config (scope=%s, id=%s)",t,n.id);let i={config:n};return r!==void 0&&(i.expected_version=r),await this.callApi(o,i)}async removeMcpConfig({scope:t,configId:n,expectedVersion:r}){let o=t==="tenant"?"/settings/remove-mcp-tenant-config":"/settings/remove-mcp-user-config";this.logger.debug("Removing MCP config (scope=%s, id=%s)",t,n);let i={config_id:n};return r!==void 0&&(i.expected_version=r),await this.callApi(o,i)}async getMcpTenantConfigs(){this.logger.debug("Getting tenant MCP configs");let t=await this.callApi("/settings/get-mcp-tenant-settings",{});return{configs:t.mcp_configs??[],version:t.version??""}}async getMcpUserConfigs(){this.logger.debug("Getting user MCP configs");let t=await this.callApi("/settings/get-mcp-user-settings",{});return{configs:t.mcp_configs??[],version:t.version??""}}async getMcpConfigById({configId:t,scope:n}){this.logger.debug("Getting MCP config by id (scope=%s, id=%s)",n,t);try{return(await this.callApi("/settings/get-mcp-config-by-id",{config_id:t,scope:X5[n]})).config??null}catch(r){if(r instanceof It&&r.statusCode===S5)return null;throw r}}async listSandboxProviders(t){return((await this.callApi("/sandbox-providers/list",{...t?.includeDeleted?{include_deleted:!0}:{},...t?.spaceId===void 0?{}:{space_id:t.spaceId}})).providers??[]).map(Rr)}async getSandboxProvider(t,n){let r=await this.callApi("/sandbox-providers/get",{slug:t,...n?.includeDeleted?{include_deleted:!0}:{},...n?.spaceId===void 0?{}:{space_id:n.spaceId}});if(!r.provider)throw new Error(`Sandbox provider not found: ${t}`);return Rr(r.provider)}async createSandboxProvider({slug:t,displayName:n,description:r,enabled:o,spaceIds:i,allSpaces:s}){let l=await this.callApi("/sandbox-providers/create",{slug:t,display_name:n,...r===void 0?{}:{description:r},...o===void 0?{}:{enabled:o},space_ids:i,all_spaces:s});if(!l.provider)throw new Error(`Failed to create sandbox provider: ${t}`);return Rr(l.provider)}async updateSandboxProvider({id:t,displayName:n,description:r,enabled:o,expectedResourceVersion:i,spaceIds:s,allSpaces:l}){let a=await this.callApi("/sandbox-providers/update",{id:t,...n===void 0?{}:{display_name:n},...r===void 0?{}:{description:r},...o===void 0?{}:{enabled:o},expected_resource_version:i,...s===void 0?{}:{space_ids:s},...l===void 0?{}:{all_spaces:l}});if(!a.provider)throw new Error(`Failed to update sandbox provider: ${t}`);return Rr(a.provider)}async deleteSandboxProvider({id:t,expectedResourceVersion:n}){await this.callApi("/sandbox-providers/delete",{id:t,expected_resource_version:n})}async restoreSandboxProvider({id:t,expectedResourceVersion:n}){let r=await this.callApi("/sandbox-providers/restore",{id:t,expected_resource_version:n});if(!r.provider)throw new Error(`Failed to restore sandbox provider: ${t}`);return Rr(r.provider)}listSandboxProviderRoleBindings(t){return this.base_listObjectRoleBindings(Gb,t)}grantSandboxProviderRole({providerId:t,principal:n,role:r}){return this.base_grantObjectRole(Gb,t,n,r)}revokeSandboxProviderRole({providerId:t,principal:n}){return this.base_revokeObjectRole(Gb,t,n)}async listPools(t){return this.logger.debug("Listing daemon pools"),((await this.callApi("/cloud-environments/environments/list",{...t?.includeDeleted?{include_deleted:!0}:{},kinds:[2],resolve_user_display_names:!0})).environment_summaries??[]).filter(r=>(r.kind??0)===2&&typeof r.id=="string"&&r.id.length>0).map(r=>({...Pa({id:r.id,display_name:r.display_name,description:r.description,visibility:r.visibility,created_by_user_id:r.created_by_user_id,created_by_user_name:r.created_by_user_name,created_at:r.created_at,updated_at:r.updated_at}),status:N5(r.extras?.pool_status)}))}async createPool({displayName:t,description:n,visibility:r,connectorUserId:o,connectorServiceAccount:i,workspaceIsolationPolicy:s,spaceId:l}){this.logger.info("Creating daemon pool %s",t);let a=lX({connectorUserId:o,connectorServiceAccount:i}),c=await this.callApi("/cloud-environments/pools/create",{display_name:t,...n===void 0?{}:{description:n},...r===void 0?{}:{visibility:r},...a===void 0?{}:{connector:a},...s===void 0?{}:{workspace_isolation_policy:s},...l===void 0?{}:{space_id:l}});if(!c.pool)throw new Error(`Failed to create daemon pool: ${t}`);return Pa(c.pool)}async getPool(t,n){let r=await this.callApi("/cloud-environments/environments/get",{ref:{daemon_pool_id:t}},{signal:n}),o=r.summary,i=r.details?.daemon_pool;if(!o?.id&&!i?.id)throw new Error(`Daemon pool not found: ${t}`);return Pa({...o,...i,id:i?.id??o?.id})}async updatePool({poolId:t,displayName:n,description:r,visibility:o,connectorUserId:i,connectorServiceAccount:s,workspaceIsolationPolicy:l,expectedResourceVersion:a,spaceId:c}){let d=lX({connectorUserId:i,connectorServiceAccount:s}),u=await this.callApi("/cloud-environments/pools/update",{id:t,...n===void 0?{}:{display_name:n},...r===void 0?{}:{description:r},...o===void 0?{}:{visibility:o},...d===void 0?{}:{connector:d},workspace_isolation_policy:l,expected_resource_version:a,...c===void 0?{}:{space_id:c}});return Pa(u.pool??u)}async deletePool(t){this.logger.info("Deleting daemon pool %s",t),await this.callApi("/cloud-environments/pools/delete",{id:t})}async listPoolDaemons(t){return this.logger.debug("Listing daemons for pool %s",t),((await this.callApi("/cloud-environments/pools/daemons/list",{pool_id:t})).daemons??[]).filter(r=>typeof r.vm_id=="string"&&r.vm_id.length>0).map(F5)}listPoolRoleBindings(t){return this.logger.debug("Listing daemon_pool role bindings for %s",t),this.base_listObjectRoleBindings(Wb,t)}grantPoolRole({poolId:t,principal:n,role:r}){return this.logger.debug("Granting daemon_pool role %s for %s",r,t),this.base_grantObjectRole(Wb,t,n,r)}revokePoolRole({poolId:t,principal:n}){return this.logger.debug("Revoking daemon_pool roles for %s",t),this.base_revokeObjectRole(Wb,t,n)}async listProjects(){return this.logger.debug("Listing projects"),((await this.callApi("/cloud-projects/projects/list",{})).projects??[]).map(ts)}async getProject(t){this.logger.debug("Getting project %s",t);let n=await this.callApi("/cloud-projects/projects/get",{project_id:t});if(!n.project)throw new Error("Failed to get project: no project in response");return ts(n.project)}async createProject(t){this.logger.info("Creating project %s",t.name);let n=await this.callApi("/cloud-projects/projects/create",{name:t.name,description:t.description});if(!n.project)throw new Error("Failed to create project: no project in response");return ts(n.project)}async deleteProject(t){this.logger.info("Deleting project %s",t),await this.callApi("/cloud-projects/projects/delete",{project_id:t})}async addProjectAgent(t){this.logger.info("Adding agent %s to project %s",t.agentId,t.projectId);let n=await this.callApi("/cloud-projects/projects/add-agent",{project_id:t.projectId,agent_id:t.agentId});if(!n.project)throw new Error("Failed to add agent: no project in response");return ts(n.project)}async removeProjectAgent(t){this.logger.info("Removing agent %s from project %s",t.agentId,t.projectId);let n=await this.callApi("/cloud-projects/projects/remove-agent",{project_id:t.projectId,agent_id:t.agentId});if(!n.project)throw new Error("Failed to remove agent: no project in response");return ts(n.project)}listResidentRoleBindings(t){return this.base_listObjectRoleBindings(Ib,t)}grantResidentRole({residentId:t,principal:n,role:r}){return this.base_grantObjectRole(Ib,t,n,r)}revokeResidentRole({residentId:t,principal:n}){return this.base_revokeObjectRole(Ib,t,n)}async createResident(t){let n=await this.callApi("/cloud-residents/residents/create",{scope:t.scope,config:cX(t.config)});if(!n.resident)throw new Error("Failed to create resident: no resident in response");return Zr(n.resident)}async getResident(t){let n=await this.callApi("/cloud-residents/residents/get",{resident_id:t});if(!n.resident)throw new Error(`Resident not found: ${t}`);return Zr(n.resident)}async updateResident(t){let n=await this.callApi("/cloud-residents/residents/update",{resident_id:t.residentId,...t.config?{config:cX(t.config)}:{},...t.scope===void 0?{}:{scope:t.scope},...t.expectedResourceVersion===void 0?{}:{expected_resource_version:t.expectedResourceVersion}});if(!n.resident)throw new Error(`Failed to update resident: ${t.residentId}`);return Zr(n.resident)}async deleteResidents(t){let n=await this.callApi("/cloud-residents/residents/delete",{resident_ids:t.residentIds,...t.hardDeletion?{hard_delete:!0}:{}});return{deletedResidentIds:n.deleted_resident_ids??[],failedResidentIds:n.failed_resident_ids??[]}}async listResidents(t){return((await this.callApi("/cloud-residents/residents/list",{...t?.scope===void 0?{}:{scope:t.scope},...t?.spaceId?{space_id:t.spaceId}:{},...t?.includeDeleted?{include_deleted:!0}:{},...t?.defaultSpaceOnly?{default_space_only:!0}:{}})).residents??[]).map(Zr)}async startResident(t){let n=await this.callApi("/cloud-residents/residents/start",{resident_id:t.residentId,...t.initialMessage?{initial_message:t.initialMessage}:{}});if(!n.resident)throw new Error(`Failed to start resident: ${t.residentId}`);return{resident:Zr(n.resident),agent:n.agent}}async stopResident(t){let n=await this.callApi("/cloud-residents/residents/stop",{resident_id:t.residentId});if(!n.resident)throw new Error(`Failed to stop resident: ${t.residentId}`);return Zr(n.resident)}async listResidentSessions(t){return((await this.callApi("/cloud-residents/residents/sessions/list",{resident_id:t.residentId})).sessions??[]).map(w5)}async getResidentVersion(t){let n;try{n=await this.callApi("/cloud-residents/residents/versions/get",{resident_id:t.residentId,resource_version:t.resourceVersion})}catch(r){throw r instanceof It&&r.statusCode===404?new fo(t.residentId,t.resourceVersion):r}if(!n.version)throw new fo(t.residentId,t.resourceVersion);return aX(n.version)}async listResidentVersions(t){return((await this.callApi("/cloud-residents/residents/versions/list",{resident_id:t.residentId,...t.limit===void 0?{}:{limit:t.limit}})).versions??[]).map(aX)}async restoreResident(t){let n=await this.callApi("/cloud-residents/residents/restore",{resident_id:t.residentId});if(!n.resident)throw new Error(`Failed to restore resident: ${t.residentId}`);return Zr(n.resident)}async listSlackChannels(t){let n=await this.callApi("/cloud-integrations/slack/list-channels",{...t.cursor===void 0?{}:{cursor:t.cursor},...t.limit===void 0?{}:{limit:t.limit}});return{channels:(n.channels??[]).map(r=>({id:r.id??"",name:r.name??"",isPrivate:r.is_private??!1,isMember:r.is_member??!1})),nextCursor:n.next_cursor??"",error:n.error??""}}async writeScopedSecret(t){let n=J5(t),r=await this.callApi("/user-secrets/upsert",n);if(r.secret===void 0)throw new Error(`Create response missing secret payload for ${t.name}`);let o=qa(r.secret,t.name,t.scope);return o.applicability===void 0&&t.applicability!==void 0?{...o,applicability:t.applicability}:o}async deleteScopedSecret({name:t,scope:n,secretId:r,expectedVersion:o}){let i={name:t,scope:VX[n],secret_id:r};return o!==void 0&&(i.expected_version=o),(await this.callApi("/user-secrets/delete",i)).deleted??!1}async listSecretMetadata(t){if(t.scope==="all"){let[a,c]=await Promise.all([this.listSecretMetadata({...t,scope:"user"}),this.listSecretMetadata({...t,scope:"tenant"})]);return[...a,...c].sort((d,u)=>d.scope===u.scope?d.name.localeCompare(u.name):d.scope==="user"?-1:1)}let n=t.scope==="tenant",r=n?"/tenant-secrets/list":"/user-secrets/list",o={include_values:!1},i=T5(t.tagFilter);i!==void 0&&(o.tag_filters=i),t.pageSize!==void 0&&(o.page_size=t.pageSize),t.pageToken!==void 0&&(o.page_token=t.pageToken),n||(o.scope=ns[t.scope],t.spaceId!==void 0&&(o.space_id=t.spaceId));let s=await this.callApi(r,o),l=n?"tenant":"user";return(s.secrets??[]).map(a=>qa(a,a.name??"",l))}async isSecretMetadataScopedResolutionEnabled(){return(await this.callApi("/user-secrets/list",{include_values:!1,page_size:1,scope:ns.user})).secret_scoped_resolution_enabled===!0}async isSecretMultiSpaceTargetingEnabled(){return(await this.callApi("/user-secrets/list",{include_values:!1,page_size:1,scope:ns.user})).secret_multi_space_targeting_enabled===!0}async getOptionalSecretMetadata(t,n){try{return await this.getSecretMetadata(t,n)}catch(r){if(r instanceof It&&r.statusCode===404)return;throw r}}async getSecretMetadata(t,n){try{return await this.secretMetadata_getPinned(t,n)}catch(r){if(n!=="user"||!(r instanceof It)||r.statusCode!==404)throw r;let o=await this.secretMetadata_findExactUserMatches(t);if(o.length===0)throw r;if(o.length>1)throw new Hi(`More than one user secret is named '${t}'; use a unique name to manage it.`);let i=o[0];if(i?.secretId===void 0||i.secretId==="")throw r;return this.secretMetadata_getPinned(t,n,i.secretId)}}async secretMetadata_getPinned(t,n,r){let o=n==="tenant",i=o?"/tenant-secrets/get":"/user-secrets/get",s={name:t,include_values:!1};o||(s.scope=ns[n],r!==void 0&&(s.secret_id=r));let l=await this.callApi(i,s);if(l.secret===void 0)throw new Error(`Get response missing secret payload for ${t}`);return qa(l.secret,t,n)}async secretMetadata_findExactUserMatches(t){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return((await this.callApi("/user-secrets/list",{name_pattern:`^${n}$`,include_values:!1,page_size:2,scope:ns.user})).secrets??[]).filter(o=>o.name===t).map(o=>qa(o,t,"user"))}async isSecretOlacEnabled(){return(await this.callApi("/get-models",{})).feature_flags?.cli_secret_olac_commands===!0}async renameSecret({secretId:t,newName:n}){let r=await this.callApi("/user-secrets/rename",{secret_id:t,new_name:n});if(this.logger.debug("Renamed secret %s",t),r.secret===void 0)throw new Error(`Rename response missing secret payload for ${t}`);return{name:r.secret.name??"",version:r.secret.version??"",secretId:r.secret.secret_id??t,olacReady:r.secret.olac_ready??!1}}listSecretRoleBindings(t){return this.base_listObjectRoleBindings(Nb,t)}grantSecretRole({secretId:t,principal:n,role:r}){return this.base_grantObjectRole(Nb,t,n,r)}revokeSecretRole({secretId:t,principal:n}){return this.base_revokeObjectRole(Nb,t,n)}async listAgentsPaginated(t){let n=await this.callApi("/cloud-agents/agents/list",M5(t));return{agents:(n.agents??[]).map(Ro),hasMore:n.has_more??!1,...n.next_page_token?{nextPageToken:n.next_page_token}:{}}}async getAgent(t){let n=await this.callApi("/cloud-agents/agents/get",{agent_id:t});if(!n.agent)throw new Error(`Agent not found: ${t}`);return Ro(n.agent)}async registerVm(t){let n=t.mode??z5.AGENT;Un.info(`registerVm: agent=${t.agentId} mode=${n} cwd=${t.workspacePath}`);let r=O5(t,n),o=await this.callApi("/vm-beachhead/connect-cli-vm",r);if(!o.success)throw new Error(`connect-cli-vm rejected by server: ${o.error_message??"unknown error"}`);let i=o.vm_id;if(!i)throw new Error("connect-cli-vm returned no vm_id");return j5(t,o,i)}async createAgent(t){Un.info(`createAgent: name=${t.name}`);let n={agent_loop_type:K5};t.model&&(n.model=t.model);let r={agent_name:t.name,capabilities:t.capabilities??[],tags:t.tags??[],session_config:n};t.initialMessage&&(r.initial_message=t.initialMessage);let i=(await this.callApi("/cloud-agents/agents/create",r)).agent;if(!i?.agent_id)throw new Error("createAgent: server returned no agent");return Ro({...i,agent_name:i.agent_name??t.name})}async updateSessionConfig(t){Un.info(`updateSessionConfig: agent=${t.agentId} model=${t.model??"<unset>"}`),await this.callApi("/cloud-agents/agents/update-session-config",{agent_id:t.agentId,session_config:{...t.model===void 0?{}:{model:t.model}}})}async requestSessionMcpServer(t){Un.info(`requestSessionMcpServer: agent=${t.agentId} config=${t.mcpConfigId} request=${t.requestId}`);let n=await this.callApi("/cloud-agents/agents/request-mcp-server",{agent_id:t.agentId,mcp_config_id:t.mcpConfigId,request_id:t.requestId},{timeoutMs:gX});return{status:typeof n?.status=="string"?n.status:""}}async getMessages(t,n){Un.info(`getMessages: agent=${t} limit=${n??"<default>"}`);let o=(await this.callApi("/cloud-agents/agents/get-messages",{agent_id:t,...n===void 0?{}:{limit:n},include_replay_fidelity:!0})).messages;return o==null?[]:Array.isArray(o)?o.map(i=>ek(i,t)):(Un.warn(`getMessages: unexpected response shape for agent ${t}: messages is ${typeof o}, not an array`),[])}async sendMessage(t,n){Un.info(`sendMessage: agent=${t} length=${n.length}`),await this.callApi("/cloud-agents/agents/send-message",{agent_id:t,message:n})}async listWorkerSessions(t,n){this.logger.debug("Listing worker sessions for parent %s",t);let r=n?.pageLimit??100,o=[],i;do{let s=await this.listAgentsPaginated({limit:r,parentAgentId:t,includeArchived:!0,pageToken:i});for(let l of s.agents)l.parentAgentId===t&&o.push(l);i=s.hasMore?s.nextPageToken:void 0}while(i);return o}async batchGetAgentMessageCounts(t){if(t.length===0)return{};this.logger.debug("Fetching message counts for %d agents",t.length);let r=(await this.callApi("/cloud-agents/agents/batch-get-message-counts",{agent_ids:t})).counts_by_agent_id;if(!r||typeof r!="object")return{};let o={};for(let[i,s]of Object.entries(r))typeof s=="number"&&(o[i]=s);return o}async createAgentFromExpert(t){this.logger.info("Creating agent from expert %s",t.expertId);let n=await this.callApi("/cloud-experts/experts/create-agent",{expert_id:t.expertId,...t.agentName?{agent_name:t.agentName}:{},...t.initialMessage?{initial_message:t.initialMessage}:{},idempotency_key:kJ(),send_initial_messages:!1,...t.spaceId?{space_id:t.spaceId}:{},...t.routingTarget?{routing_target:rk(t.routingTarget)}:{}});if(!n.agent)throw new Error("Failed to create agent from expert: no agent in response");return{agentId:n.agent.agent_id,agentName:n.agent.agent_name}}async getSessionUsage(t){this.logger.debug("Fetching session usage for %s",t.agentId);let n=await this.callApi("/get-session-usage",{agent_id:t.agentId});return{currentSession:{estimatedCustomerCostUsd:n.usage_current_session?.total_usage?.estimated_customer_cost_usd},withChildSessions:{estimatedCustomerCostUsd:n.usage_with_child_sessions?.total_usage?.estimated_customer_cost_usd}}}async renameAgent(t,n){this.logger.info("Renaming agent %s",t);let r=await this.callApi("/cloud-agents/agents/rename",{agent_id:t,new_name:n});if(!r.agent)throw new Error("Failed to rename agent: no agent in response");return Ro(r.agent)}async updateAgentSessionTag(t,n,r,o){this.logger.info("Updating session tag '%s' for agent %s",n,t);let i=await this.callApi("/cloud-agents/agents/update-session-tags",{agent_id:t,key:n,value:r,delete:o});if(!i.agent)throw new Error("Failed to update session tags: no agent in response");return Ro(i.agent)}async deleteAgent(t){this.logger.info("Deleting agent %s",t);let n=await this.callApi("/cloud-agents/agents/delete",{agent_id:t});if(n.success===!1)throw new Error(n.error_message||`Failed to delete agent: ${t}`)}async archiveAgent(t){this.logger.info("Archiving agent %s",t),await this.callApi("/cloud-agents/agents/archive",{agent_id:t})}async unarchiveAgent(t){this.logger.info("Unarchiving agent %s",t),await this.callApi("/cloud-agents/agents/unarchive",{agent_id:t})}async pinSession(t){this.logger.debug("Pinning session %s",t),await this.callApi("/settings/pin-poseidon-session",{session_id:t})}async unpinSession(t){this.logger.debug("Unpinning session %s",t),await this.callApi("/settings/unpin-poseidon-session",{session_id:t})}async getPinnedSessions(){return this.logger.debug("Listing pinned sessions"),((await this.callApi("/settings/get-poseidon-user-settings",{})).pinned_order??[]).map(n=>({sessionId:n.session_id||void 0,projectId:n.project_id||void 0}))}listSpaceRoleBindings(t){return this.base_listObjectRoleBindings(Fb,t)}grantSpaceRole({spaceId:t,principal:n,role:r}){return this.base_grantObjectRole(Fb,t,n,r)}revokeSpaceRole({spaceId:t,principal:n}){return this.base_revokeObjectRole(Fb,t,n)}async listSpaces(){return this.logger.debug("Listing tenant spaces"),((await this.callApi("/cloud-spaces/spaces/list",{})).spaces??[]).map($a)}async createSpace(t){this.logger.info("Creating space %s",t);let n=await this.callApi("/cloud-spaces/spaces/create",{display_name:t});if(!n.space)throw new Error("Failed to create space: no space in response");return $a(n.space)}async updateSpace(t,n){this.logger.info("Renaming space %s to %s",t,n);let r=await this.callApi("/cloud-spaces/spaces/update",{space_id:t,display_name:n});if(!r.space)throw new Error("Failed to rename space: no space in response");return $a(r.space)}async deleteSpace(t){return this.logger.info("Deleting space %s",t),(await this.callApi("/cloud-spaces/spaces/delete",{space_id:t})).success??!1}async getSpace(t,n){this.logger.debug("Getting space %s",t||"(default)");let r=await this.callApi("/cloud-spaces/spaces/get",{space_id:t},{signal:n});return r.space?$a(r.space):void 0}async openTunnel(t){this.logger.debug("Opening Poseidon tunnel for agent %s",t.agentId);let n=await this.callApi("/cloud-tunnels/tunnels/open",{agent_id:t.agentId,local_port:t.localPort,...t.localHost?{local_host:t.localHost}:{},...t.label?{label:t.label}:{},activate:t.activate??!0});if(!n.tunnel)throw new Error("Failed to open tunnel: response did not include a tunnel");return Bb(n.tunnel)}async closeTunnel(t){this.logger.debug("Closing Poseidon tunnel %s",t.tunnelId);let n=await this.callApi("/cloud-tunnels/tunnels/close",{tunnel_id:t.tunnelId,...t.reason?{reason:t.reason}:{}});return n.tunnel?Bb(n.tunnel):void 0}async listTunnels(t){return this.logger.debug("Listing Poseidon tunnels for agent %s",t),((await this.callApi("/cloud-tunnels/tunnels/list",{agent_id:t})).tunnels??[]).map(Bb)}async isScopedResolutionEnabled(){return(await this.callApi("/user-secrets/list",{include_values:!1,page_size:1,scope:1})).secret_scoped_resolution_enabled===!0}async listUserSecrets(t){if(t.scope==="all")return(await Promise.all([this.listUserSecrets({...t,scope:"user"}),this.listUserSecrets({...t,scope:"tenant"})])).flat().sort((l,a)=>l.scope===a.scope?l.name.localeCompare(a.name):l.scope==="user"?-1:1);let n=t.scope==="tenant",r={},o=sk(t.tagFilter);return o&&(r.tag_filters=o),t.includeValues!==void 0&&(r.include_values=t.includeValues),t.pageSize!==void 0&&(r.page_size=t.pageSize),t.pageToken!==void 0&&(r.page_token=t.pageToken),n||(r.scope=Eo.user,t.spaceId!==void 0&&(r.space_id=t.spaceId)),((await this.callApi(n?"/tenant-secrets/list":"/user-secrets/list",r)).secrets??[]).map(s=>ec(s,t.scope))}async getUserSecret(t,n){let r=n==="tenant",o=await this.callApi(r?"/tenant-secrets/get":"/user-secrets/get",r?{name:t}:{name:t,scope:Eo[n]});if(!o.secret)throw new Error(`Get response missing secret payload for ${t}`);return{...ec(o.secret,n),value:o.secret.value??""}}async upsertUserSecret(t){let n=t.scope==="tenant",r={name:t.name,value:t.value};if(t.description!==void 0&&(r.description=t.description),t.tags!==void 0&&(r.tags=t.tags),t.expectedVersion!==void 0&&(r.expected_version=t.expectedVersion),t.maxValueSizeBytes!==void 0&&(r.max_value_size_bytes=t.maxValueSizeBytes),!n&&(r.scope=Eo[t.scope],t.secretId!==void 0&&(r.secret_id=t.secretId),t.secretId&&t.description!==void 0&&(r.update_description=!0),t.secretId&&t.tags!==void 0&&(r.update_tags=!0),t.applicability&&(r.applicability=ok[t.applicability]),t.updateSpaces)){if(t.allSpaces&&(t.spaceIds?.length??0)>0)throw new Error("allSpaces and non-empty spaceIds are mutually exclusive");r.update_spaces=!0,r.all_spaces=t.allSpaces===!0,r.space_ids=t.allSpaces?[]:[...t.spaceIds??[]].sort()}let o=await this.callApi(n?"/tenant-secrets/upsert":"/user-secrets/upsert",r);if(this.logger.debug("Upserted secret (response=%o)",Yb(o)),!o.secret)throw new Error(`Upsert response missing secret payload for ${t.name}`);return ec(o.secret,t.scope)}async deleteUserSecret(t,n,r,o){let i=n==="tenant",s={name:t};return r!==void 0&&(s.expected_version=r),i||(s.scope=Eo[n],o!==void 0&&(s.secret_id=o)),(await this.callApi(i?"/tenant-secrets/delete":"/user-secrets/delete",s)).deleted??!1}async migrateUserSecret(t){let n=await this.callApi("/user-secrets/migrate-scope",{name:t.name,source_scope:Eo[t.fromScope],target_scope:Eo[t.toScope],delete_source:t.deleteSource});if(!n.secret)throw new Error(`Migrate response missing secret payload for ${t.name}`);return{secret:ec(n.secret,t.toScope),sourceDeleted:n.source_deleted??!1}}async listFileVersions(t){let n={filesystem_id:t.filesystemId,space_id:t.spaceId,path:t.path};return t.pageToken&&(n.page_token=t.pageToken),await this.callApi(`${Tt}/list-file-versions`,n)}async readFileVersion(t){let n={filesystem_id:t.filesystemId,space_id:t.spaceId,path:t.path,timestamp:t.timestamp};return t.seq&&t.seq>0&&(n.seq=t.seq),await this.callApi(`${Tt}/read-file-version`,n)}async listVersionedFiles(t){let n={filesystem_id:t.filesystemId,space_id:t.spaceId,include_deleted:t.includeDeleted};return t.pageToken&&(n.page_token=t.pageToken),await this.callApi(`${Tt}/list-versioned-files`,n)}async fetchChanges(t){return await this.callApi(`${Tt}/fetch-changes`,{filesystem_id:t.filesystemId,space_id:t.spaceId,after_seq:t.afterSeq})}async fetchContent(t){let n=`${Tt}/fetch-content`,r="fileId"in t?{file_id:t.fileId}:{filesystem_id:t.filesystemId,paths:[t.path],space_id:t.spaceId},s=(await(await this.request(n.replace(/^\//,""),r,void 0,void 0,lk)).json()).files?.[0];if(!s&&"fileId"in t)throw new Error("FetchVFSFileContent returned no content for this file");return s??null}async fetchContentByFileId(t){let n=await this.fetchContent({fileId:t});if(!n)throw new Error("FetchVFSFileContent returned no content for this file");return n}async commitChanges(t){return await this.callApi(`${Tt}/commit-changes`,{filesystem_id:t.filesystemId,space_id:t.spaceId,file_changes:t.fileChanges.map(n=>({path:n.path,content:JJ.from(n.content).toString("base64"),deleted:n.deleted,base_seq:n.baseSeq})),modified_by:t.modifiedBy,...t.agentId?{agent_id:t.agentId}:{}})}async ensureFileIdentity(t){let n=await this.callApi(`${Tt}/ensure-file-identity`,{filesystem_id:t.filesystemId,space_id:t.spaceId,path:t.path}),r=n.identity?.file_id;if(!r)throw new Error("EnsureVFSFileIdentity response did not include a file_id");return{fileId:r,currentPath:n.identity?.current_path??t.path,webAppBaseUrl:n.web_app_base_url,appPathPrefix:n.app_path_prefix}}async resolveFileIdentity(t){let n=await this.callApi(`${Tt}/resolve-file-identity`,{file_id:t}),r=n.identity;if(!r)throw new Error("ResolveVFSFileIdentity response did not include an identity");return{filesystemId:r.filesystem_id,spaceId:r.space_id,ownerUserId:r.owner_user_id,callerUserId:n.caller_user_id,currentPath:r.current_path,deleted:r.deleted===!0}}async appendComment(t){let n=await this.callApi(`${Tt}/append-comment`,{filesystem_id:t.filesystemId,space_id:t.spaceId,event:t.event});return{event:n.event?hX(n.event):void 0}}async listComments(t){let n={filesystem_id:t.filesystemId,space_id:t.spaceId};t.path&&(n.path=t.path),t.fileId&&(n.file_id=t.fileId),t.pageToken&&(n.page_token=t.pageToken);let r=await this.callApi(`${Tt}/list-comments`,n);return{events:r.events?.map(hX),raw_events:r.events,next_page_token:r.next_page_token??r.nextPageToken}}listWebhookRoleBindings(t){return this.base_listObjectRoleBindings(Cb,t)}grantWebhookRole({webhookId:t,principal:n,role:r}){return this.base_grantObjectRole(Cb,t,n,r)}revokeWebhookRole({webhookId:t,principal:n}){return this.base_revokeObjectRole(Cb,t,n)}async createWebhook(t){let n=await this.callApi("/cloud-webhooks/webhooks/create",{description:t.description??"",type:bX[t.type],captured_headers:t.capturedHeaders??[]}),r=n.webhookJson??n.webhook_json??"";if(!r)throw new Error("Failed to create webhook: response did not include webhook");let o=rs(this.base_parseJson(r,"create webhook")),i=n.url??o.url??"",s=n.setupInstructionsJson??n.setup_instructions_json??"",l=s?fX(this.base_parseJson(s,"create webhook setup instructions")):void 0;return{webhook:o,url:i,secret:n.secret??"",setupInstructions:l?{...l,webhookUrl:l.webhookUrl||i}:void 0}}async listWebhooks(){let t=await this.callApi("/cloud-webhooks/webhooks/list",{}),n=t.webhooksJson??t.webhooks_json??"";return n?this.base_parseJson(n,"list webhooks").filter(o=>o.webhookId||o.webhook_id).map(rs):[]}async getWebhook(t){let n=await this.callApi("/cloud-webhooks/webhooks/get",{webhook_id:t}),r=n.webhookJson??n.webhook_json??"";if(!r)throw new Error(`Webhook not found: ${t}`);return rs(this.base_parseJson(r,"get webhook"))}async deleteWebhook(t){let n=await this.callApi("/cloud-webhooks/webhooks/delete",{webhook_ids:[t]});return fk(n)}async updateWebhook(t){let n={webhook_id:t.webhookId};t.description!==void 0&&(n.description=t.description),t.capturedHeaders!==void 0&&(n.captured_headers=t.capturedHeaders,n.update_captured_headers=!0);let r=await this.callApi("/cloud-webhooks/webhooks/update",n),o=r.webhookJson??r.webhook_json??"";if(!o)throw new Error(`Failed to update webhook: ${t.webhookId}`);return{webhook:rs(this.base_parseJson(o,"update webhook"))}}async setWebhookSecret(t){let n=await this.callApi("/cloud-webhooks/webhooks/set-secret",{webhook_id:t.webhookId,secret:t.secret}),r=n.webhookJson??n.webhook_json??"";if(!r)throw new Error("Failed to set webhook secret: response did not include webhook");return{webhook:rs(this.base_parseJson(r,"set webhook secret"))}}async getWebhookSetupInstructions(t){let n=await this.callApi("/cloud-webhooks/webhooks/setup-instructions",{...t.webhookId?{webhook_id:t.webhookId}:{},...t.type?{type:bX[t.type]}:{}}),r=n.setupInstructionsJson??n.setup_instructions_json??"";return r?fX(this.base_parseJson(r,"webhook setup instructions"))??{steps:[],fields:[],webhookUrl:"",secretSource:"unknown"}:{steps:[],fields:[],webhookUrl:"",secretSource:"unknown"}}async workflow_listWorkflows(t={}){let n=await this.callApi("/cloud-triggers/workflows/list",{...t.eventSourceId?{event_source_id:t.eventSourceId}:{},...t.expertId?{expert_id:t.expertId}:{}});return this.base_parseJson(n.workflows_json||"[]","listWorkflows").map(o=>wn(o))}async getWorkflow(t){let n=await this.callApi("/cloud-triggers/workflows/get",{workflow_id:t}),r=this.base_parseJson(n.workflow_json||"null","getWorkflow");if(!r)throw new Error(`Workflow not found: ${t}`);return wn(r)}async deleteWorkflowResource({workflowId:t,expectedResourceVersion:n}){let r=await this.callApi("/cloud-triggers/workflows/delete",{workflow_ids:[t],...n===void 0?{}:{expected_resource_versions:[{workflow_id:t,expected_resource_version:n}]}});return{success:r.success??!0,deletedWorkflowIds:r.deleted_workflow_ids||r.deletedWorkflowIds||[],failedWorkflowIds:r.failed_workflow_ids||r.failedWorkflowIds||[],notFoundWorkflowIds:r.not_found_workflow_ids||r.notFoundWorkflowIds||[]}}async workflow_updateWorkflow({workflowId:t,name:n,enabled:r,expectedResourceVersion:o,overrideAutoCleanupOnIdle:i,initialInstructions:s,actorUserId:l,perMinuteCreateAgentLimit:a}){let c=await this.callApi("/cloud-triggers/workflows/update",{workflow_id:t,...n===void 0?{}:{name:n},...r===void 0?{}:{enabled:r},...o===void 0?{}:{expected_resource_version:o},...i===void 0?{}:{override_auto_cleanup_on_idle:i},...s===void 0?{}:{initial_instructions:s},...l===void 0?{}:{actor_user_id:l},...a===void 0?{}:{per_minute_create_agent_limit:a}}),d=this.base_parseJson(c.workflow_json||"null","updateWorkflow");if(!d)throw new Error(`Failed to update workflow: ${t}`);return wn(d)}async workflow_listEventSources(){let t=await this.callApi("/cloud-triggers/event-sources/list",{});return this.base_parseJson(t.event_sources_json||"[]","listEventSources").map(r=>Er(r))}async getEventSource(t){let n=await this.callApi("/cloud-triggers/event-sources/get",{event_source_id:t}),r=this.base_parseJson(n.event_source_json||"null","getEventSource");if(!r)throw new Error(`Event source not found: ${t}`);return Er(r)}deleteWorkflow(t){return typeof t=="string"?this.deleteExpertWorkflows(t):this.deleteWorkflowResource(t)}};function yb(e){return new Xr(e)}var Kt=L.child({prefix:"AugmentApiAdapter"}),ic=class{api;apiUrl;apiToken;constructor(t,n,r){this.api=t,this.apiUrl=n.endsWith("/")?n:`${n}/`,this.apiToken=r}async batchUpload(t){Kt.debug(`batchUpload \u2192 ${t.length} blob(s)`);let n=t.map(o=>({pathName:o.pathName,text:o.text,blobName:o.blobName,metadata:o.metadata})),r=await this.api.batchUpload(n);return Kt.debug("batchUpload \u2190 done"),r}async checkpointBlobs(t){Kt.debug(`checkpointBlobs \u2192 +${t.addedBlobs.length} -${t.deletedBlobs.length} (checkpoint=${t.checkpointId??"new"})`);let n=await this.api.checkpointBlobs({checkpointId:t.checkpointId,addedBlobs:t.addedBlobs,deletedBlobs:t.deletedBlobs});return Kt.debug(`checkpointBlobs \u2190 checkpoint=${n.newCheckpointId??"none"}`),n}async findMissing(t){Kt.debug(`findMissing \u2192 ${t.length} blob(s)`);let n=await this.api.findMissing(t,void 0),r=n.nonindexedBlobNames.length,o=n.unknownBlobNames.length,i=t.length-r-o;return Kt.debug(`findMissing \u2190 ${i} indexed, ${r} non-indexed, ${o} unknown`),n}async*getLatestIndexedCommitBlobset(t,n){Kt.debug(`getLatestIndexedCommitBlobset \u2192 ${t.commit_shas.length} commit(s)`);let r=new URL("indexed-commits/get-latest-blobset",this.apiUrl),o=await fetch(r.toString(),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiToken}`},body:JSON.stringify({commit_shas:t.commit_shas}),signal:n});if(!o.ok)throw new Error(`getLatestIndexedCommitBlobset failed: ${o.status} ${o.statusText}`);let i=o.body?.getReader();if(!i)return;let s=new TextDecoder,l="";for(;;){let{value:a,done:c}=await i.read();if(c)break;for(l+=s.decode(a,{stream:!0});l.includes(`
133
133
  `);){let d=l.indexOf(`