piclist 2.0.5 → 2.2.0

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.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{EventEmitter as e}from"node:events";import t,{dirname as r}from"node:path";import n from"axios";import a from"fs-extra";import{readJSONSync as i,ensureDirSync as s,emptyDirSync as E,pathExistsSync as o,createFileSync as S,outputFileSync as I,removeSync as _,moveSync as l,ensureFileSync as P,remove as c}from"fs-extra/esm";import u from"heic-convert";import{cloneDeep as p,merge as A,get as C,set as T,unset as D}from"lodash-es";import g from"node:crypto";import m,{fileURLToPath as L,URL as d,pathToFileURL as h}from"node:url";import{imageSize as f}from"image-size";import B from"sharp";import N from"text-to-svg";import{v4 as U}from"uuid";import R,{homedir as O}from"node:os";import{ObjectAdapter as M,I18n as y}from"@piclist/i18n";import G from"js-yaml";import{Command as w}from"commander";import b from"inquirer";import x from"node:util";import W from"chalk";import H from"dayjs";import{spawn as F}from"cross-spawn";import K from"resolve";import $ from"node:https";import k from"form-data";import{httpsOverHttp as v}from"tunnel";import Y from"mime";import{S3Client as V,PutObjectCommand as z,GetObjectCommand as j}from"@aws-sdk/client-s3";import{getSignedUrl as q}from"@aws-sdk/s3-request-presigner";import{NodeHttpHandler as X}from"@smithy/node-http-handler";import{fileTypeFromBuffer as Q}from"file-type";import{HttpsProxyAgent as Z,HttpProxyAgent as J}from"hpagent";import ee from"qiniu";import{NodeSSH as te}from"node-ssh-no-cpu-features";import{AuthType as re,createClient as ne}from"webdav";import{JSONStore as ae}from"@piclist/store";import{spawn as ie}from"node:child_process";import se from"is-wsl";const Ee=r(L(import.meta.url));function oe(e){const t=new Array(e);let r=0,n=0,a=0;for(;r<e;){if(a<6){n=n<<30|1073741824*Math.random()>>>0,a+=30;continue}const e=63&n;n>>>=6,a-=6,e<62&&(t[r++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[e])}return t.join("")}function Se(e){return 1===e.toString().length?`0${e}`:e.toString()}function Ie(e){return g.createHash("md5").update(e).digest("hex")}function _e(e){return g.createHash("sha256").update(e).digest("hex")}function le(e,r,n,a){const i=new Date,s=i.getFullYear().toString(),E=t.basename(e,t.extname(e)),o={"{Y}":()=>s,"{y}":()=>s.slice(2),"{m}":()=>Se(i.getMonth()+1),"{d}":()=>Se(i.getDate()),"{h}":()=>Se(i.getHours()),"{i}":()=>Se(i.getMinutes()),"{s}":()=>Se(i.getSeconds()),"{ms}":()=>i.getMilliseconds().toString().padStart(3,"0"),"{md5}":()=>Ie(a||E),"{sha256}":()=>_e(a||E),"{md5-16}":()=>Ie(a||E).slice(0,16),"{filename}":()=>n?t.basename(n,t.extname(n)):E,"{uuid}":()=>U().replace(/-/g,""),"{timestamp}":()=>i.getTime().toString()};if(void 0===r||!Object.keys(o).some(e=>r.includes(e))&&!r.includes("localFolder:")&&!r.includes("str-"))return e;const S=t.extname(e);let I=Object.keys(o).reduce((e,t)=>e.replace(new RegExp(t,"g"),o[t]()),r)+S;return I=I.replace(/{str-(\d+)}/gi,(e,t)=>oe(parseInt(t,10))),I=I.replace(/{sha256-(\d+)}/gi,(e,t)=>{const r=parseInt(t,10);return _e(a||E).slice(0,r)}),I=I.replace(/{(localFolder:?(\d+)?)}/gi,(r,n,a)=>{a=Math.max(1,a||0);return t.dirname(e).split(t.sep).slice(0-a).reduce((e,t)=>`${e}/${t}`).replace(/:/g,"")}),I}const Pe=e=>/^https?:\/\//.test(e),ce=e=>{e=e||"";try{return e!==decodeURI(e)}catch(e){return!1}},ue=e=>(ce(e)||(e=encodeURI(e)),e),pe=e=>{try{const{width:t=0,height:r=0,type:n}=f(e);return{real:!0,width:t,height:r,extname:n?`.${n}`:".png"}}catch(e){return{real:!1,width:200,height:200,extname:".png"}}},Ae=async e=>{try{return{extname:t.extname(e),fileName:t.basename(e),filePath:e,buffer:await a.readFile(e),success:!0}}catch{return{reason:`read file ${e} error`,success:!1}}},Ce=async(e,r)=>{let n;e=ue(e);const a=new Promise((a,i)=>{(async()=>{try{const i=await r.request({method:"get",url:e,resolveWithFullResponse:!0,responseType:"arraybuffer"}).then(e=>e.data);clearTimeout(n);const s=new d(e).pathname;let E="";try{E=new d(e).searchParams.get("wx_fmt")||t.extname(s)||""}catch(e){E=t.extname(s)||""}!E.startsWith(".")&&E&&(E=`.${E}`),a({buffer:i,fileName:t.basename(s),extname:E,success:!0})}catch(t){clearTimeout(n),a({success:!1,reason:`request ${e} error, ${t?.message??""}`})}})().catch(i)}),i=new Promise(t=>{n=setTimeout(()=>{t({success:!1,reason:`request ${e} timeout`})},3e4)});return Promise.race([a,i])},Te=e=>/^@[^/]+\/picgo-plugin-/.test(e)?"scope":e.startsWith("picgo-plugin-")?"normal":De(e)?"simple":"unknown",De=e=>{if(t.isAbsolute(e))return!1;const r=t.join(process.cwd(),e);return!a.existsSync(r)&&(!e.includes("/")&&!e.includes("\\"))},ge=(e,t="")=>t?`@${t}/picgo-plugin-${e}`:`picgo-plugin-${e}`,me=(e,r=console)=>{switch(Te(e)){case"normal":case"scope":return e;case"simple":return ge(e);default:{let n=e;return t.isAbsolute(e)&&a.existsSync(e)?de(n):(n=t.join(process.cwd(),e),a.existsSync(n)?de(n):(r.warn(`Can't find plugin ${e}`),""))}}},Le=(e,r=console)=>{switch(Te(e)){case"normal":return he(e);case"scope":return he(e,!0);case"simple":return he(ge(e));default:{if(!a.existsSync(e))return r.warn(`Can't find plugin: ${e}`),"";const n=t.posix.join(e,"package.json");if(a.existsSync(n)){const e=i(n)||{};return e.name?.includes("picgo-plugin-")?e.name:(r.warn(`The plugin package.json's name filed is ${e.name||"empty"}, need to include the prefix: picgo-plugin-`),"")}return r.warn(`Can't find plugin: ${e}`),""}}},de=e=>e.split(t.sep).join("/"),he=(e,t=!1)=>{if(e.includes("@")){let r=/(.+\/)?(picgo-plugin-\w+)(@.+)*/;t&&(r=/(.+\/)?(^@[^/]+\/picgo-plugin-\w+)(@.+)*/);const n=e.match(r);return n?n[2]:(console.warn("can not remove plugin version"),e)}return e},fe=[],Be=e=>fe.some(t=>e.startsWith(t)),Ne=e=>"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0;function Ue(e){try{return JSON.parse(e)}catch(e){return JSON.parse("{}")}}const Re=(e=0)=>isNaN(Number(e))?0:Number(e),Oe=()=>"development"===process.env.NODE_ENV;const Me=t.join(Ee,"assets","piclist.png");async function ye(e,t,r,n,a,i,s,E,o,S,I,_){E=!E||E<0||E>1?.15:E;const l=B(e,{animated:!0}),{width:P=200}=await l.metadata(),c=await async function(e,t,r,n,a,i,s,E=200,o=0,S=255){let I;"image"===e?(S=Re(S),s=s||Me,I=await B(s).composite([{input:Buffer.from([255,255,255,S>255?255:S]),raw:{width:1,height:1,channels:4},tile:!0,blend:"dest-in"}]).toBuffer()):I=await async function(e,t,r,n){t=t||"测试",n=n||e;const a={anchor:"top",attributes:{fill:r=r||"rgba(204, 204, 204, 0.45)"}},i=N.loadSync(n).getSVG(t,a);return Buffer.from(i)}(t,r,i,n||t);const{width:_,height:l}=await async function(e){const{width:t,height:r}=await B(e).metadata();return{width:t||200,height:r||200}}(I),P=Math.floor(E*Re(a)),c=Math.floor(P*l/_);return await B(I).resize(P,c,{fit:"inside"}).rotate(o,{background:{r:255,g:255,b:255,alpha:0}}).toBuffer()}(t,r,i,s,E,o,S,P,a,_);return await l.composite([{input:c,gravity:I||"southeast",tile:n}]).toBuffer()}const Ge=(...e)=>e.every(e=>null!=e&&("string"==typeof e?""!==e:"number"==typeof e?e>0:"object"!=typeof e||Object.keys(e).length>0)),we=["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"],be=["jpg","jpeg","png","webp","bmp","tiff","tif","svg","ico","avif","heif","heic","gif"],xe=e=>we.includes(e);function We(e,t){e=e||{};return{isAddWatermark:!!(e.isAddWatermarkMap?.[t]??e.isAddWatermark),watermarkType:(e.watermarkTypeMap?.[t]??e.watermarkType)||"text",isFullScreenWatermark:!!(e.isFullScreenWatermarkMap?.[t]??e.isFullScreenWatermark),watermarkDegree:Re(e.watermarkDegreeMap?.[t]??e.watermarkDegree),watermarkText:(e.watermarkTextMap?.[t]??e.watermarkText)||"",watermarkFontPath:e.watermarkFontPath||"",watermarkScaleRatio:Re(e.watermarkScaleRatioMap?.[t]??e.watermarkScaleRatio),watermarkColor:(e.watermarkColorMap?.[t]??e.watermarkColor)||"rgba(204, 204, 204, 0.45)",watermarkImagePath:(e.watermarkImagePathMap?.[t]??e.watermarkImagePath)||"",watermarkPosition:(e.watermarkPositionMap?.[t]??e.watermarkPosition)||"southeast",watermarkImageOpacity:Re(e.watermarkImageOpacityMap?.[t]??e.watermarkImageOpacity),picBed:t}}function He(e,t){e=e||{};return{quality:Re(e.qualityMap?.[t]??e.quality),isConvert:!!(e.isConvertMap?.[t]??e.isConvert),convertFormat:(e.convertFormatMap?.[t]??e.convertFormat)||"jpg",isReSize:!!(e.isReSizeMap?.[t]??e.isReSize),reSizeHeight:Re(e.reSizeHeightMap?.[t]??e.reSizeHeight),reSizeWidth:Re(e.reSizeWidthMap?.[t]??e.reSizeWidth),skipReSizeOfSmallImg:!!(e.skipReSizeOfSmallImgMap?.[t]??e.skipReSizeOfSmallImg),isReSizeByPercent:!!(e.isReSizeByPercentMap?.[t]??e.isReSizeByPercent),reSizePercent:Re(e.reSizePercentMap?.[t]??e.reSizePercent),isRotate:!!(e.isRotateMap?.[t]??e.isRotate),rotateDegree:Re(e.rotateDegreeMap?.[t]??e.rotateDegree),isRemoveExif:!!(e.isRemoveExifMap?.[t]??e.isRemoveExif),isFlip:!!(e.isFlipMap?.[t]??e.isFlip),isFlop:!!(e.isFlopMap?.[t]??e.isFlop),formatConvertObj:(e.formatConvertObjMap?.[t]??e.formatConvertObj)||{},picBed:t}}async function Fe(e,t,r,n){try{let n=B(e,{animated:!0});return n=B(await ye(e,t.watermarkType||"text",r,t.isFullScreenWatermark,Re(t.watermarkDegree),t.watermarkText,t.watermarkFontPath,Re(t.watermarkScaleRatio),t.watermarkColor,t.watermarkImagePath,t.watermarkPosition,Re(t.watermarkImageOpacity)),{animated:!0}),await n.toBuffer()}catch(t){return n.error(`Image add watermark error: ${t}`),e}}function Ke(e){const t="string"==typeof e.formatConvertObj?Ue(e.formatConvertObj):e.formatConvertObj;return{quality:Re(e.quality),isConvert:e.isConvert||!1,convertFormat:e.convertFormat||"jpg",isReSize:e.isReSize||!1,reSizeHeight:Re(e.reSizeHeight),reSizeWidth:Re(e.reSizeWidth),skipReSizeOfSmallImg:e.skipReSizeOfSmallImg||!1,isReSizeByPercent:e.isReSizeByPercent||!1,reSizePercent:Re(e.reSizePercent),isRotate:e.isRotate||!1,isFlip:e.isFlip||!1,isFlop:e.isFlop||!1,rotateDegree:Re(e.rotateDegree),picBed:e.picBed||"smms",formatConvertObj:t||{}}}async function $e(e,t,r,n){t=Ke(t);try{if(r=ke(r),!be.includes(r)||"gif"===r)return e;let n=B(e,{animated:!0}),a=100;if(Ge(t.quality)&&t.quality<100&&(a=Math.min(Math.max(Math.round(t.quality),1),100)),t.isReSizeByPercent){if(Ge(t.reSizePercent)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);e&&r&&(n=n.resize(Math.round(e*t.reSizePercent/100),Math.round(r*t.reSizePercent/100),{fit:"inside"}))}}else if(t.isReSize)if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&"number"==typeof t.reSizeWidth&&t.reSizeWidth>0)n=n.resize(t.reSizeWidth,t.reSizeHeight,{fit:"fill"});else if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&("number"!=typeof t.reSizeWidth||0===t.reSizeWidth)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeHeight<r)){const a=t.reSizeHeight/r;n=n.resize(Math.round(e*a),t.reSizeHeight,{fit:"inside"})}}else if("number"==typeof t.reSizeWidth&&t.reSizeWidth>0&&("number"!=typeof t.reSizeHeight||0===t.reSizeHeight)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeWidth<e)){const a=t.reSizeWidth/e;n=n.resize(t.reSizeWidth,Math.round(r*a),{fit:"inside"})}}if(t.isRotate&&t.rotateDegree&&(n=n.rotate(t.rotateDegree,{background:{r:255,g:255,b:255,alpha:0}})),t.isFlip&&(n=n.flip()),t.isFlop&&(n=n.flop()),t.isConvert){const e=ve(t,r);e!==r&&(n=n.toFormat(e,{quality:a,mozjpeg:!0}))}else n=r&&xe(r)?n.toFormat(r,{quality:a,mozjpeg:!0}):n.toFormat("jpg",{quality:a,mozjpeg:!0});return await n.toBuffer()}catch(t){return n.error(`Image process error: ${t}`),e}}const ke=e=>e.toLowerCase().replace(".","");function ve(e,t){if(e=Ke(e||{}),"gif"===(t=ke(t)))return"gif";let r=e?.convertFormat||"jpg";if(e?.formatConvertObj&&Object.keys(e.formatConvertObj).length>0){const n=e.formatConvertObj;Object.keys(n).includes(t)&&(r=n[t],xe(r)||(r="jpg"))}return"imgur"===e?.picBed&&"webp"===r&&(r="jpg"),r}const Ye=(e,t)=>(t=ke(t),!!e&&!!e.isAddWatermark&&be.includes(t)&&"svg"!==t),Ve=(e,t)=>{if(!be.includes(ke(t))||!e)return!1;const{quality:r,isReSizeByPercent:n,reSizePercent:a,isReSize:i,reSizeHeight:s,reSizeWidth:E,isRotate:o,rotateDegree:S,isConvert:I,convertFormat:_,isFlip:l,isFlop:P}=Ke(e);if(Ge(r)&&r<100)return!0;if(n&&Ge(a))return!0;if(i&&("number"==typeof s&&s>0||"number"==typeof E&&E>0))return!0;if(o&&S)return!0;if(l||P)return!0;if(I){return t!==(_||"jpg")}return!1},ze=async(e,t)=>(t=ke(t),be.includes(t)&&"svg"!==t?await B(e,{animated:!0}).toBuffer():e);var je=Object.freeze({__proto__:null,AddWatermark:ye,configBlackList:fe,forceNumber:Re,getConvertedFormat:ve,getFSFile:Ae,getImageSize:pe,getNormalPluginName:Le,getPluginNameType:Te,getProcessPluginName:me,getTreatedCompressOptions:He,getTreatedWaterMarkOptions:We,getURLFile:Ce,handleCompletePluginName:ge,handleStreamlinePluginName:e=>/^@[^/]+\/picgo-plugin-/.test(e)?e.replace(/^@[^/]+\/picgo-plugin-/,""):e.replace(/picgo-plugin-/,""),handleUnixStylePath:de,handleUrlEncode:ue,imageAddWaterMark:Fe,imageCompress:$e,isConfigKeyInBlackList:Be,isDev:Oe,isInputConfigValid:Ne,isNeedAddWatermark:Ye,isNeedCompress:Ve,isSimpleName:De,isUrl:Pe,isUrlEncode:ce,randomStringGenerator:oe,removeExif:ze,removePluginVersion:he,renameFileNameWithCustomString:le,renameFileNameWithRandomString:function(e,r=5){return`${oe(r)}${t.extname(e)}`},renameFileNameWithTimestamp:function(e){return`${Math.floor(Date.now()/1e3)}${oe(5)}${t.extname(e)}`},safeParse:Ue});var qe,Xe,Qe;!function(e){e.success="success",e.info="info",e.warn="warn",e.error="error"}(qe||(qe={})),function(e){e.UPLOAD_PROGRESS="uploadProgress",e.FAILED="failed",e.BEFORE_TRANSFORM="beforeTransform",e.BEFORE_UPLOAD="beforeUpload",e.AFTER_UPLOAD="afterUpload",e.FINISHED="finished",e.INSTALL="install",e.UNINSTALL="uninstall",e.UPDATE="update",e.NOTIFICATION="notification"}(Xe||(Xe={})),function(e){e.CONFIG_CHANGE="CONFIG_CHANGE"}(Qe||(Qe={}));const Ze="Add watermark to image",Je="Compress or convert image",et="Remove exif info",tt="Download ttf file",rt="Download ttf file successfully",nt="Download ttf file failed",at="Download ttf file failed, skip add watermark",it=0,st=30,Et=60,ot=-1,St=["zip","rar","7z","tar","gz","tar.gz","tar.bz2","tar.xz"],It="smms";class _t extends e{ctx;ttfPath;constructor(e){super(),this.ctx=e,this.ttfPath=t.join(e.baseDir,"assets","simhei.ttf"),this.initializeDirs()}initializeDirs(){s(t.join(this.ctx.baseDir,"imgTemp"));this.ctx.getConfig("settings.enableSecondUploader")||!1||E(t.join(this.ctx.baseDir,"piclistTemp"))}async downloadTTF(){try{if(s(t.dirname(this.ttfPath)),a.existsSync(this.ttfPath)&&a.statSync(this.ttfPath).size>0)return!0;this.ctx.log.info(tt);const e=await n.get("https://release.piclist.cn/simhei.ttf",{responseType:"arraybuffer"});return a.writeFileSync(this.ttfPath,e.data),this.ctx.log.info(rt),!0}catch(e){return this.ctx.log.error(nt),!1}}getProcessingOptions(e){const t=e.getConfig("buildIn.compress"),r=e.getConfig("buildIn.watermark"),n=this.getUploaderType(e);if(t){t.picBed=n;const e="string"==typeof t.formatConvertObj?Ue(t.formatConvertObj):t.formatConvertObj;t.formatConvertObj=e}r&&(r.picBed=n);return{compressOptions:He(t,n),watermarkOptions:We(r,n)}}getUploaderType(e){return e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||It}getSkipExtensions(e){const t=e.getConfig("buildIn.skipProcess")||{},r=t.skipProcessExtList?t.skipProcessExtList.split(",").map(e=>e.trim()):St;return new Set(r.map(e=>{const t=e.trim().toLowerCase();return t.startsWith(".")?t:`.${t}`}))}async start(e,t=!1){const r=(e=>({configPath:e.configPath,baseDir:e.baseDir,log:e.log,cmd:e.cmd,output:[],input:[],rawInput:[],processedInput:[],pluginLoader:e.pluginLoader,pluginHandler:e.pluginHandler,Request:e.Request,helper:e.helper,VERSION:e.VERSION,GUI_VERSION:e.GUI_VERSION,request:e.request,i18n:e.i18n,getConfig:e.getConfig.bind(e),saveConfig:e.saveConfig.bind(e),removeConfig:e.removeConfig.bind(e),setConfig:e.setConfig.bind(e),unsetConfig:e.unsetConfig.bind(e),upload:e.upload.bind(e),uploadReturnCtx:e.uploadReturnCtx.bind(e),addListener:e.addListener.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeListener:e.removeListener.bind(e),off:e.off.bind(e),removeAllListeners:e.removeAllListeners.bind(e),setMaxListeners:e.setMaxListeners.bind(e),getMaxListeners:e.getMaxListeners.bind(e),listeners:e.listeners.bind(e),rawListeners:e.rawListeners.bind(e),emit:e.emit.bind(e),listenerCount:e.listenerCount.bind(e),prependListener:e.prependListener.bind(e),prependOnceListener:e.prependOnceListener.bind(e),eventNames:e.eventNames.bind(e)}))(this.ctx);try{if(!Array.isArray(e))throw new Error("Input must be an array.");return this.initializeContext(r,e),t?await this.handleSkipProcess(r):await this.executeLifecycle(r)}catch(e){return this.handleError(r,e)}}initializeContext(e,t){e.input=t,e.output=[],e.rawInputPath=[],e.rawInput=p(t)}async handleSkipProcess(e){return e.log.info("Skip process."),e.output=e.input,await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}async executeLifecycle(e){return await this.preprocess(e),await this.beforeTransform(e),await this.doTransform(e),await this.buildInRename(e),await this.beforeUpload(e),e.processedInput=p(e.output),await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}handleError(e,t){if(e.log.warn(Xe.FAILED),e.emit(Xe.UPLOAD_PROGRESS,ot),e.emit(Xe.FAILED,t),e.log.error(t),e.getConfig("debug"))throw t;return e}async preprocess(e){const{compressOptions:r,watermarkOptions:n}=this.getProcessingOptions(e),a=this.getSkipExtensions(e);if(e.emit(Xe.UPLOAD_PROGRESS,it),e.emit(Xe.BEFORE_TRANSFORM,e),e.log.info("Before transform"),r||n){const i=t.join(e.baseDir,"piclistTemp");await this.processImages(e,i,r,n,a)}else this.initializeRawInputPaths(e);return e}initializeRawInputPaths(e){for(const t of e.input)e.rawInputPath.push(t)}async processImages(e,t,r,n,a){await Promise.allSettled(e.input.map(async(i,s)=>{await this.processImage(i,s,e,t,r,n,a)}))}async processImage(e,r,n,i,s,E,o){const S=Pe(e),I=S?await Ce(e,n):{success:!1};if(S&&(!I.success||!I.buffer))return;n.rawInputPath[r]=e;const _=S?I.extname||"":t.extname(e),l=o.has(_.toLowerCase()),P=S?I.buffer:a.readFileSync(e),c=await this.applyProcessing(P,_,s,E,l,e,i,n);c&&await this.saveProcessedImage(e,r,n,i,c,_,s,S,I)}async applyProcessing(e,t,r,n,a,i,s,E){let o;return Ve(r,t)&&!a&&(o=await this.compressImage(e,o,t,r,i,s,E)),Ye(n,t)&&!a&&(o=await this.addWatermark(e,n,E)),o||!r?.isRemoveExif||a||(E.log.info(et),o=await ze(e,t)),o}async addWatermark(e,t,r){if(!t?.watermarkFontPath&&"image"!==t?.watermarkType){if(!await this.downloadTTF())return void this.ctx.log.warn(at)}return r.log.info(Ze),await Fe(e,t,this.ttfPath,r.log)}async compressImage(e,t,r,n,a,i,s){s.log.info(Je);const E=r.toLowerCase();return Pe(a)||".heic"!==E&&".heif"!==E?await $e(t??e,n,r,s.log):await this.convertHeicAndCompress(e,a,r,i,n,s)}async convertHeicAndCompress(e,r,n,i,s,E){const o=await u({buffer:e.buffer,format:"JPEG",quality:1}),S=t.join(i,`${t.basename(r,n)}.jpg`);return a.writeFileSync(S,Buffer.from(o)),await $e(a.readFileSync(S),s,".jpg",E.log)}async saveProcessedImage(e,r,n,i,s,E,o,S,I){let _=o?.isConvert?ve(o,E):E;_=_.startsWith(".")?_:`.${_}`;const l=S?t.join(i,`${this.getFileBaseName(I)}${_}`):t.join(i,`${t.basename(e,E)}${_}`);n.rawInputPath[r]=t.join(t.dirname(e),S?t.basename(l):`${t.basename(e,E)}${_}`),a.writeFileSync(l,s),n.input[r]=l}getFileBaseName(e){return e.fileName?t.basename(e.fileName,t.extname(e.fileName)):(new Date).getTime().toString()}async buildInRename(e){const t=e.getConfig("buildIn.rename")||{};if(!t.enable)return e;const r=t.format||"{filename}";return e.output=e.output.map((t,n)=>{let a=t.fileName;return a=le(e.rawInputPath[n],r,void 0,t.base64Image?t.base64Image:t.buffer),a=a.replace(/\/+/g,"/"),"/"===a.slice(-1)&&(a+=n.toString()),t.fileName=a,t}),e}async beforeTransform(e){return await this.handlePlugins(e.helper.beforeTransformPlugins,e),e}async doTransform(e){e.emit(Xe.UPLOAD_PROGRESS,st);const t=e.getConfig("picBed.transformer")||"path";let r=e.helper.transformer.get(t),n=t;return r||(r=e.helper.transformer.get("path"),n="path",e.log.warn(`Can't find transformer - ${t}, switch to default transformer - path`)),e.log.info(`Transforming... Current transformer is [${n}]`),await(r?.handle(e)),e}async beforeUpload(e){return e.emit(Xe.UPLOAD_PROGRESS,Et),e.log.info("Before upload"),e.emit(Xe.BEFORE_UPLOAD,e),await this.handlePlugins(e.helper.beforeUploadPlugins,e),e}async doUpload(e){const t=this.getUploaderType(e);let r=e.helper.uploader.get(t),n=t;r||(e.log.warn(`Can't find uploader - ${t}, switch to default uploader - ${It}`),n=It,r=e.helper.uploader.get(It)),e.log.info(`Uploading... Current uploader is [${n}]`),await(r?.handle(e));for(const t of e.output)t.type=n;return e}async afterUpload(e){e.emit(Xe.AFTER_UPLOAD,e),e.emit(Xe.UPLOAD_PROGRESS,100),await this.handlePlugins(e.helper.afterUploadPlugins,e);let t="";const r=e.output.length,n=!0===e.getConfig("settings.encodeOutputURL");for(let a=0;a<r;a++)void 0!==e.output[a].imgUrl&&(t+=n?ue(e.output[a].imgUrl):e.output[a].imgUrl,a!==r-1&&(t+="\n")),delete e.output[a].base64Image,delete e.output[a].buffer;return e.emit(Xe.FINISHED,e),e.log.success(`\n${t}`),e}async handlePlugins(e,t){const r=e.getList(),n=e.getIdList(),a=e.getName();return await Promise.all(r.map(async(e,r)=>{try{t.log.info(`${a}: ${n[r]} running`),await e.handle(t)}catch(e){throw t.log.error(`${a}: ${n[r]} error`),e}})),t}}const lt={"zh-CN":{UPLOAD_FAILED:"上传失败",CHECK_SETTINGS:"请检查你的配置项是否正确",CHECK_SETTINGS_AND_NETWORK:"请检查你的配置项以及网络",UPLOAD_FAILED_REASON:"错误码: ${code},请打开浏览器粘贴地址查看相关原因",SERVER_ERROR:"服务端出错,请重试",AUTH_FAILED:"认证失败",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"设定Token",PICBED_SMMS_MESSAGE_TOKEN:"请填写Token",PICBED_SMMS_BACKUPDOMAIN:"备用上传域名",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高级自定义",PICBED_ADVANCEDPLIST_ENDPOINT:"设定接口网址",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"设定请求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"请选择请求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"设定表单参数名",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"设定请求头",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"设定请求体",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"设定自定义前缀",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"设定网站路径",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ADVANCEDPLIST_RESDATAPATH:"设定返回数据URL路径",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地上传",PICBED_LOCAL_PATH:"设定路径",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"设定自定义域名",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"设定网站路径",PICBED_LOCAL_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"设定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"设定Token",PICBED_ALIST_MESSAGE_TOKEN:"请输入Token(与用户名-密码二选一)",PICBED_ALIST_USERNAME:"设定用户名",PICBED_ALIST_MESSAGE_USERNAME:"请输入用户名(与Token二选一)",PICBED_ALIST_PASSWORD:"设定密码",PICBED_ALIST_MESSAGE_PASSWORD:"请输入密码",PICBED_ALIST_UPLOADPATH:"设定上传路径",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"设定网站路径",PICBED_ALIST_MESSAGE_WEB_PATH:"用于拼接网址路径",PICBED_ALIST_CUSTOMURL:"设定自定义域名",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里云OSS",PICBED_ALICLOUD_ACCESSKEYID:"设定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"设定accessKeySecret",PICBED_ALICLOUD_BUCKET:"设定Bucket",PICBED_ALICLOUD_AREA:"设定存储区域",PICBED_ALICLOUD_PATH:"设定存储路径",PICBED_ALICLOUD_WEBPATH:"设定网站路径",PICBED_ALICLOUD_CUSTOMURL:"设定自定义域名",PICBED_ALICLOUD_OPTIONS:"设定网址后缀",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"腾讯云COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"设定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"设定SecretKey",PICBED_TENCENTCLOUD_APPID:"设定AppId",PICBED_TENCENTCLOUD_BUCKET:"设定Bucket",PICBED_TENCENTCLOUD_AREA:"设定存储区域",PICBED_TENCENTCLOUD_ENDPOINT:"设定接入点",PICBED_TENCENTCLOUD_PATH:"设定存储路径",PICBED_TENCENTCLOUD_WEBPATH:"设定网站路径",PICBED_TENCENTCLOUD_OPTIONS:"设定网址后缀",PICBED_TENCENTCLOUD_CUSTOMURL:"设定自定义域名",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"极智压缩",PICBED_TENCENTCLOUD_SLIM_TIP:"图片极智压缩,详情请参考[文档说明](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"开启",PICBED_TENCENTCLOUD_SLIM_CANCEL:"关闭",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"设定Token",PICBED_GITHUB_REPO:"设定仓库名",PICBED_GITHUB_PATH:"设定存储路径",PICBED_GITHUB_WEBPATH:"设定网站路径",PICBED_GITHUB_BRANCH:"设定分支名",PICBED_GITHUB_CUSTOMURL:"设定自定义域名",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛云",PICBED_QINIU_ACCESSKEY:"设定AccessKey",PICBED_QINIU_SECRETKEY:"设定SecretKey",PICBED_QINIU_BUCKET:"设定Bucket",PICBED_QINIU_PATH:"设定存储路径",PICBED_QINIU_URL:"设定访问网址",PICBED_QINIU_OPTIONS:"设定网址后缀",PICBED_QINIU_AREA:"设定存储区域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"设定ClientId",PICBED_IMGUR_USERNAME:"设定用户名",PICBED_IMGUR_ACCESS_TOKEN:"设定accessToken",PICBED_IMGUR_ALBUM:"设定相册名",PICBED_IMGUR_PROXY:"设定代理",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上传时填写",PICBED_IMGUR_MESSAGE_USERNAME:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍云",PICBED_UPYUN_BUCKET:"设定Bucket",PICBED_UPYUN_OPERATOR:"设定操作员",PICBED_UPYUN_PASSWORD:"设定操作员密码",PICBED_UPYUN_PATH:"设定存储路径",PICBED_UPYUN_URL:"设定加速域名",PICBED_UPYUN_OPTIONS:"设定网址后缀",PICBED_UPYUN_ENDPOINT:"设定自定义API接入点",PICBED_UPYUN_ANTILEECHTOKEN:"设定防盗链Token",PICBED_UPYUN_EXPIRETIME:"设定过期时间(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"设定接口网址",PICBED_WEBDAVPLIST_SSLENABLED:"启用SSL",PICBED_WEBDAVPLIST_USERNAME:"设定用户名",PICBED_WEBDAVPLIST_PASSWORD:"设定密码",PICBED_WEBDAVPLIST_PATH:"设定存储路径",PICBED_WEBDAVPLIST_WEBPATH:"设定网址路径",PICBED_WEBDAVPLIST_CUSTOMURL:"设定自定义域名",PICBED_WEBDAVPLIST_AUTHTYPE:"设定认证方式",PICBED_WEBDAVPLIST_OPTIONS:"设定网址后缀",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS时启用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"输入密码",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=123456",PICBED_SFTPPLIST:"内置SFTP",PICBED_SFTPPLIST_HOST:"设定主机",PICBED_SFTPPLIST_PORT:"设定端口",PICBED_SFTPPLIST_USERNAME:"设定用户名",PICBED_SFTPPLIST_PASSWORD:"设定密码",PICBED_SFTPPLIST_PRIVATEKEY:"设定私钥",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"设定私钥密码",PICBED_SFTPPLIST_UPLOADPATH:"设定上传路径",PICBED_SFTPPLIST_CUSTOMURL:"设定自定义域名",PICBED_SFTPPLIST_WEBSITE_PATH:"设定网站路径",PICBED_SFTPPLIST_FILE_USER:"设定文件用户:组",PICBED_SFTPPLIST_FILE_MODE:"设定文件权限",PICBED_SFTPPLIST_DIR_MODE:"设定文件夹权限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默认22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"输入私钥密码",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"设定主机",PICBED_PICLIST_PORT:"设定端口",PICBED_PICLIST_PICBED:"设定图床",PICBED_PICLIST_CONFIGNAME:"设定配置名",PICBED_PICLIST_KEY:"设定鉴权Key",PICBED_LSKY_PLIST:"兰空图床",PICBED_LSKY_VERSION:"设定版本",PICBED_LSKY_MESSAGE_VERSION:"例如V1",PICBED_LSKY_HOST:"设定主机",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"设定Token",PICBED_LSKY_MESSAGE_TOKEN:"例如: 1234567890",PICBED_LSKY_STRATEGY_ID:"设定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如: 1",PICBED_LSKY_ALBUM_ID:"设定相册ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"选填,V2版本限定",PICBED_LSKY_PERMISSION:"设定权限",PICBED_LSKY_MESSAGE_PERMISSION:"例如: public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"设定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"设定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"设定Bucket",PICBED_AWSS3PLIST_REGION:"设定Region",PICBED_AWSS3PLIST_UPLOADPATH:"设定上传路径",PICBED_AWSS3PLIST_ENDPOINT:"设定自定义节点",PICBED_AWSS3PLIST_PROXY:"设定代理",PICBED_AWSS3PLIST_URLPREFIX:"设定自定义域名",PICBED_AWSS3PLIST_OPTIONS:"设定网址后缀",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"启用s3ForcePathStyle",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"拒绝无效TLS证书连接",PICBED_AWSS3PLIST_ACL:"设定上传资源的访问策略",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"开启 `pathStyleAccess` 时,是否要禁用最终生成URL中添加 bucket 前缀",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要时启用",BUILDIN_WATERMARK:"水印设置",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印时启用",BUILDIN_WATERMARK_WATERMARKTYPE:"设定水印类型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"请选择水印类型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印时启用",BUILDIN_WATERMARK_WATERMARKDEGREE:"设定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"请输入数字",BUILDIN_WATERMARK_WATERMARKTEXT:"设定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"请输入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"设定水印字体文件路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"请输入水印字体文件路径",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"设定水印相对于图片的比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"请输入0-1的小数",BUILDIN_WATERMARK_WATERMARKCOLOR:"设定水印字体颜色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"请输入rgb颜色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"设定水印图片路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"请输入水印图片路径",BUILDIN_WATERMARK_WATERMARKPOSITION:"设定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"请选择水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"设定水印图片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"请输入0-255的整数",BUILDIN_SKIPPROCESS:"跳过处理设置",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"设定跳过处理的文件后缀列表",BUILDIN_RENAME:"重命名设置",BUILDIN_RENAME_FORMAT:"设定重命名格式",BUILDIN_RENAME_ENABLE:"是否启用重命名",BUILDIN_COMPRESS:"图片处理",BUILDIN_COMPRESS_QUALITY:"设定图片质量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"请输入1-100的整数",BUILDIN_COMPRESS_ISCONVERT:"是否进行格式转换",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要转换时启用",BUILDIN_COMPRESS_CONVERTFORMAT:"设定转换格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"请选择转换格式",BUILDIN_COMPRESS_ISRESIZE:"是否进行图片缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要缩放时启用",BUILDIN_COMPRESS_RESIZEWIDTH:"设定缩放宽度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"请输入数字",BUILDIN_COMPRESS_RESIZEHEIGHT:"设定缩放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"请输入数字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比进行缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比缩放时启用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻转图片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻转图片",BUILDIN_COMPRESS_RESIZEPERCENT:"设定缩放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"请输入数字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳过小图缩放",BUILDIN_COMPRESS_ISROTATE:"是否进行图片旋转",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋转时启用",BUILDIN_COMPRESS_ROTATEDEGREE:"设定旋转角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"请输入数字,可为负数",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF信息",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF信息时启用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安装成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安装失败",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安装失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安装失败,请输入合法插件名或合法安装路径",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸载成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸载失败",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸载失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸载失败,请输入合法插件名",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失败",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失败,请输入合法插件名"},"zh-TW":{UPLOAD_FAILED:"上傳失敗",CHECK_SETTINGS:"請檢查你的設定是否正確",CHECK_SETTINGS_AND_NETWORK:"請檢查你的設定及網路",UPLOAD_FAILED_REASON:"錯誤碼: ${code},請打開瀏覽器貼上地址查看相關原因",SERVER_ERROR:"伺服器出錯,請重試",AUTH_FAILED:"認證失敗",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"設定Token",PICBED_SMMS_MESSAGE_TOKEN:"請輸入Token",PICBED_SMMS_BACKUPDOMAIN:"備用上傳網址",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高級自定義",PICBED_ADVANCEDPLIST_ENDPOINT:"設定API主機",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"設定請求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"請選擇請求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"設定表單Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"設定請求頭",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"設定請求體",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"設定自定義前綴",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"設定網站路徑",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ADVANCEDPLIST_RESDATAPATH:"設定返回數據路徑",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地",PICBED_LOCAL_PATH:"設定儲存路徑",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"設定自訂網址",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"設定網址路徑",PICBED_LOCAL_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"設定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"設定Token",PICBED_ALIST_MESSAGE_TOKEN:"請輸入Token(與用戶名-密碼二選一)",PICBED_ALIST_USERNAME:"設定用戶名",PICBED_ALIST_MESSAGE_USERNAME:"請輸入用戶名(與Token二選一)",PICBED_ALIST_PASSWORD:"設定密碼",PICBED_ALIST_MESSAGE_PASSWORD:"請輸入密碼",PICBED_ALIST_UPLOADPATH:"設定上傳路徑",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"設定網址路徑",PICBED_ALIST_MESSAGE_WEB_PATH:"用於網頁顯示的路徑",PICBED_ALIST_CUSTOMURL:"設定自訂網址",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里雲OSS",PICBED_ALICLOUD_ACCESSKEYID:"設定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"設定accessKeySecret",PICBED_ALICLOUD_BUCKET:"設定Bucket",PICBED_ALICLOUD_AREA:"設定儲存區域",PICBED_ALICLOUD_PATH:"設定儲存路徑",PICBED_ALICLOUD_WEBPATH:"設定網址路徑",PICBED_ALICLOUD_CUSTOMURL:"設定自訂網址",PICBED_ALICLOUD_OPTIONS:"設定網址後綴",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"騰訊雲COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"設定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"設定SecretKey",PICBED_TENCENTCLOUD_APPID:"設定AppId",PICBED_TENCENTCLOUD_BUCKET:"設定Bucket",PICBED_TENCENTCLOUD_AREA:"設定儲存區域",PICBED_TENCENTCLOUD_ENDPOINT:"設定接入點",PICBED_TENCENTCLOUD_PATH:"設定儲存路徑",PICBED_TENCENTCLOUD_WEBPATH:"設定網址路徑",PICBED_TENCENTCLOUD_OPTIONS:"設定網址後綴",PICBED_TENCENTCLOUD_CUSTOMURL:"設定自訂網址",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"極智壓縮",PICBED_TENCENTCLOUD_SLIM_CANCEL:"關閉",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"開啟",PICBED_TENCENTCLOUD_SLIM_TIP:"圖片極智壓縮,詳情請參考[文檔說明](https://cloud.tencent.com/document/product/436/49259)",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"設定Token",PICBED_GITHUB_REPO:"設定倉庫名稱",PICBED_GITHUB_PATH:"設定儲存路徑",PICBED_GITHUB_WEBPATH:"設定網站路徑",PICBED_GITHUB_BRANCH:"設定分支名稱",PICBED_GITHUB_CUSTOMURL:"設定自訂網址",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用於拼接網址路徑",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛雲",PICBED_QINIU_ACCESSKEY:"設定AccessKey",PICBED_QINIU_SECRETKEY:"設定SecretKey",PICBED_QINIU_BUCKET:"設定Bucket",PICBED_QINIU_PATH:"設定儲存路徑",PICBED_QINIU_URL:"設定訪問網址",PICBED_QINIU_OPTIONS:"設定網址後綴",PICBED_QINIU_AREA:"設定儲存區域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"設定ClientId",PICBED_IMGUR_USERNAME:"設定用戶名",PICBED_IMGUR_ACCESS_TOKEN:"設定accessToken",PICBED_IMGUR_ALBUM:"設定相簿名",PICBED_IMGUR_PROXY:"設定PROXY",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上傳時填寫",PICBED_IMGUR_MESSAGE_USERNAME:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍雲",PICBED_UPYUN_BUCKET:"設定Bucket",PICBED_UPYUN_ENDPOINT:"設定接入點",PICBED_UPYUN_OPERATOR:"設定操作員",PICBED_UPYUN_PASSWORD:"設定操作員密碼",PICBED_UPYUN_PATH:"設定儲存路徑",PICBED_UPYUN_URL:"設定加速網址",PICBED_UPYUN_OPTIONS:"設定網址後綴",PICBED_UPYUN_ANTILEECHTOKEN:"設定防盜鏈Token",PICBED_UPYUN_EXPIRETIME:"設定過期時間(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"設定API主機",PICBED_WEBDAVPLIST_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_USERNAME:"設定用戶名",PICBED_WEBDAVPLIST_PASSWORD:"設定密碼",PICBED_WEBDAVPLIST_PATH:"設定儲存路徑",PICBED_WEBDAVPLIST_CUSTOMURL:"設定自訂網址",PICBED_WEBDAVPLIST_AUTHTYPE:"設定認證方式",PICBED_WEBDAVPLIST_OPTIONS:"設定網址後綴",PICBED_WEBDAVPLIST_WEBPATH:"設定網站路徑",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"輸入用戶密碼",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=value",PICBED_SFTPPLIST:"內置SFTP",PICBED_SFTPPLIST_HOST:"設定主機",PICBED_SFTPPLIST_PORT:"設定端口",PICBED_SFTPPLIST_USERNAME:"設定用戶名",PICBED_SFTPPLIST_PASSWORD:"設定密碼",PICBED_SFTPPLIST_PRIVATEKEY:"設定私鑰",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"設定私鑰密碼",PICBED_SFTPPLIST_UPLOADPATH:"設定上傳路徑",PICBED_SFTPPLIST_CUSTOMURL:"設定自訂網址",PICBED_SFTPPLIST_WEBSITE_PATH:"設定網站路徑",PICBED_SFTPPLIST_FILE_USER:"設定文件用戶:組",PICBED_SFTPPLIST_FILE_MODE:"設定文件權限",PICBED_SFTPPLIST_DIR_MODE:"設定文件夾權限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默認22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"輸入私鑰密碼",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"設定主機",PICBED_PICLIST_PORT:"設定端口",PICBED_PICLIST_PICBED:"設定圖床",PICBED_PICLIST_CONFIGNAME:"設定配置名",PICBED_PICLIST_KEY:"設定鑒權Key",PICBED_LSKY_PLIST:"蘭空圖床",PICBED_LSKY_VERSION:"設定版本",PICBED_LSKY_MESSAGE_VERSION:"請選擇版本",PICBED_LSKY_HOST:"設定主機",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"設定Token",PICBED_LSKY_MESSAGE_TOKEN:"請輸入Token",PICBED_LSKY_STRATEGY_ID:"設定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如1",PICBED_LSKY_ALBUM_ID:"設定相冊ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"例如1",PICBED_LSKY_PERMISSION:"設定上傳權限",PICBED_LSKY_MESSAGE_PERMISSION:"請選擇上傳權限",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"設定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"設定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"設定Bucket",PICBED_AWSS3PLIST_REGION:"設定Region",PICBED_AWSS3PLIST_UPLOADPATH:"設定上傳路徑",PICBED_AWSS3PLIST_ENDPOINT:"設定自定義節點",PICBED_AWSS3PLIST_PROXY:"設定代理",PICBED_AWSS3PLIST_URLPREFIX:"設定自定義網址",PICBED_AWSS3PLIST_OPTIONS:"設定網址後綴",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"開啟 `pathStyleAccess`",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"開啟 `rejectUnauthorized`",PICBED_AWSS3PLIST_ACL:"設定ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"開啟 `pathStyleAccess` 時,是否要禁用最終生成URL中添加 bucket 前綴",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要時啟用",BUILDIN_WATERMARK:"水印設定",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印時啟用",BUILDIN_WATERMARK_WATERMARKTYPE:"設定水印類型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"請選擇水印類型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印時啟用",BUILDIN_WATERMARK_WATERMARKDEGREE:"設定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"請輸入數字",BUILDIN_WATERMARK_WATERMARKTEXT:"設定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"請輸入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"設定水印字體",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"請輸入水印字體文件路徑",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"設定水印圖片比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"請輸入0-1的數字",BUILDIN_WATERMARK_WATERMARKCOLOR:"設定水印字體顏色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"請輸入rgb顏色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"設定水印圖片路徑",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"請輸入水印圖片路徑",BUILDIN_WATERMARK_WATERMARKPOSITION:"設定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"請選擇水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"設定水印圖片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"請輸入0-255的整數",BUILDIN_SKIPPROCESS:"跳過處理設定",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"設定跳過處理的擴展名列表",BUILDIN_RENAME:"重命名設定",BUILDIN_RENAME_FORMAT:"設定重命名格式",BUILDIN_RENAME_ENABLE:"是否啟用重命名",BUILDIN_COMPRESS:"圖片處理設定",BUILDIN_COMPRESS_QUALITY:"設定圖片質量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"請輸入1-100的整數",BUILDIN_COMPRESS_ISCONVERT:"是否進行格式轉換",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要轉換時啟用",BUILDIN_COMPRESS_CONVERTFORMAT:"設定轉換格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"請選擇轉換格式",BUILDIN_COMPRESS_ISRESIZE:"是否進行圖片縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要縮放時啟用",BUILDIN_COMPRESS_RESIZEWIDTH:"設定縮放寬度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"請輸入數字",BUILDIN_COMPRESS_RESIZEHEIGHT:"設定縮放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"請輸入數字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比進行縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比縮放時啟用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻轉圖片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻轉圖片",BUILDIN_COMPRESS_RESIZEPERCENT:"設定縮放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"請輸入數字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳過小圖縮放",BUILDIN_COMPRESS_ISROTATE:"是否進行圖片旋轉",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋轉時啟用",BUILDIN_COMPRESS_ROTATEDEGREE:"設定旋轉角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"請輸入數字,可為負數",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF資訊",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF資訊時啟用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安裝成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安裝失敗",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安裝失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安裝失敗,請輸入正確的插件名稱或正確的安裝路徑",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸載成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸載失敗",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸載失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸載失敗,請輸入正確的插件名稱",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失敗",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失敗,請輸入正確的插件名稱"},en:{UPLOAD_FAILED:"Upload failed",CHECK_SETTINGS:"Please check your settings",CHECK_SETTINGS_AND_NETWORK:"Please check your settings and network",UPLOAD_FAILED_REASON:"Error code: ${code}, please open the browser and paste the address to see the reason",SERVER_ERROR:"Server error, please try again later",AUTH_FAILED:"Authentication failed",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"Set Token",PICBED_SMMS_MESSAGE_TOKEN:"Please enter the token",PICBED_SMMS_BACKUPDOMAIN:"Set Backup Upload Domain",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"Ex. smms.app",PICBED_ADVANCEDPLIST:"Advanced",PICBED_ADVANCEDPLIST_ENDPOINT:"Set Endpoint",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"Please enter the endpoint",PICBED_ADVANCEDPLIST_METHOD:"Set Method",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"Please select the request method",PICBED_ADVANCEDPLIST_FORMDATAKEY:"Set FormData Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"Please enter the FormData key",PICBED_ADVANCEDPLIST_HEADERS:"Set Headers",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'e.g. {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"Set Body",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'e.g. {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"Set Custom Prefix",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"e.g. https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"Set Web Path",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ADVANCEDPLIST_RESDATAPATH:"Set Response Data Path",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"e.g. data.url",PICBED_LOCAL:"Local",PICBED_LOCAL_PATH:"Set Path",PICBED_LOCAL_MESSAGE_PATH:"Ex. /Users/name/Pictures/",PICBED_LOCAL_CUSTOMURL:"Set Custom URL",PICBED_LOCAL_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_LOCAL_WEBPATH:"Set Web Path",PICBED_LOCAL_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"Set URL",PICBED_ALIST_MESSAGE_URL:"Ex. https://alist.example.com",PICBED_ALIST_TOKEN:"Set Token",PICBED_ALIST_MESSAGE_TOKEN:"Please enter the token(choose one of either username-password or token)",PICBED_ALIST_USERNAME:"Set Username",PICBED_ALIST_MESSAGE_USERNAME:"Please enter the username(choose one of either username-password or token)",PICBED_ALIST_PASSWORD:"Set Password",PICBED_ALIST_MESSAGE_PASSWORD:"Please enter the password",PICBED_ALIST_UPLOADPATH:"Set Upload Path",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"Ex. /test/",PICBED_ALIST_WEBPATH:"Set Web Path",PICBED_ALIST_MESSAGE_WEB_PATH:"Used to generate URL path",PICBED_ALIST_CUSTOMURL:"Set Custom URL",PICBED_ALIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_ALICLOUD:"Ali Cloud",PICBED_ALICLOUD_ACCESSKEYID:"Set accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"Set accessKeySecret",PICBED_ALICLOUD_BUCKET:"Set Bucket",PICBED_ALICLOUD_AREA:"Set Area",PICBED_ALICLOUD_PATH:"Set Path",PICBED_ALICLOUD_WEBPATH:"Set Web Path",PICBED_ALICLOUD_CUSTOMURL:"Set Custom URL",PICBED_ALICLOUD_OPTIONS:"Set URL Suffix",PICBED_ALICLOUD_MESSAGE_AREA:"Ex. oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"Ex. test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALICLOUD_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD:"Tencent Cloud",PICBED_TENCENTCLOUD_VERSION:"Choose COS version",PICBED_TENCENTCLOUD_SECRETID:"Set SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"Set SecretKey",PICBED_TENCENTCLOUD_APPID:"Set AppId",PICBED_TENCENTCLOUD_BUCKET:"Set Bucket",PICBED_TENCENTCLOUD_AREA:"Set Area",PICBED_TENCENTCLOUD_ENDPOINT:"Set Endpoint",PICBED_TENCENTCLOUD_PATH:"Set Path",PICBED_TENCENTCLOUD_WEBPATH:"Set Web Path",PICBED_TENCENTCLOUD_OPTIONS:"Set URL Suffix",PICBED_TENCENTCLOUD_CUSTOMURL:"Set Custom URL",PICBED_TENCENTCLOUD_MESSAGE_APPID:"Ex. 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"Ex. ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"Ex. test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"Ex. ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"Ex. cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"Set ImageSlim",PICBED_TENCENTCLOUD_SLIM_TIP:"Image extremely intelligent compression, please refer to the [document description](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"OPEN",PICBED_TENCENTCLOUD_SLIM_CANCEL:"CLOSE",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"Set Token",PICBED_GITHUB_REPO:"Set Repo Name",PICBED_GITHUB_PATH:"Set Path",PICBED_GITHUB_WEBPATH:"Set Web Path",PICBED_GITHUB_BRANCH:"Set Branch",PICBED_GITHUB_CUSTOMURL:"Set Custom URL",PICBED_GITHUB_MESSAGE_REPO:"Ex. username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"Ex. main",PICBED_GITHUB_MESSAGE_PATH:"Ex. test/",PICBED_GITHUB_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_GITHUB_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_QINIU:"Qiniu",PICBED_QINIU_ACCESSKEY:"Set AccessKey",PICBED_QINIU_SECRETKEY:"Set SecretKey",PICBED_QINIU_BUCKET:"Set Bucket",PICBED_QINIU_PATH:"Set Path",PICBED_QINIU_URL:"Set URL",PICBED_QINIU_OPTIONS:"Set URL Suffix",PICBED_QINIU_AREA:"Set Area",PICBED_QINIU_MESSAGE_PATH:"Ex. test/",PICBED_QINIU_MESSAGE_AREA:"Ex. z0",PICBED_QINIU_MESSAGE_OPTIONS:"Ex. ?imageslim",PICBED_QINIU_MESSAGE_URL:"Ex. https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"Set ClientId",PICBED_IMGUR_USERNAME:"Set Username",PICBED_IMGUR_ACCESS_TOKEN:"Set Access Token",PICBED_IMGUR_ALBUM:"Set Album Name",PICBED_IMGUR_PROXY:"Set Proxy",PICBED_IMGUR_MESSAGE_CLIENTID:"Fill in when you need to upload as anonymous",PICBED_IMGUR_MESSAGE_USERNAME:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ALBUM:"Ex. test",PICBED_IMGUR_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_UPYUN:"Upyun",PICBED_UPYUN_BUCKET:"Set Bucket",PICBED_UPYUN_ENDPOINT:"Set Endpoint",PICBED_UPYUN_OPERATOR:"Set Operator",PICBED_UPYUN_PASSWORD:"Set Operator Password",PICBED_UPYUN_PATH:"Set Path",PICBED_UPYUN_URL:"Set URL",PICBED_UPYUN_OPTIONS:"Set URL Suffix",PICBED_UPYUN_ANTILEECHTOKEN:"Set Anti-Leech Token",PICBED_UPYUN_EXPIRETIME:"Set Expire Time(seconds)",PICBED_UPYUN_MESSAGE_OPERATOR:"Ex. me",PICBED_UPYUN_MESSAGE_PASSWORD:"Ex. xxx",PICBED_UPYUN_MESSAGE_URL:"Ex. http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"Ex. !imgslim",PICBED_UPYUN_MESSAGE_PATH:"Ex. test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"Ex. https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"Set Host",PICBED_WEBDAVPLIST_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_USERNAME:"Set Username",PICBED_WEBDAVPLIST_PASSWORD:"Set Password",PICBED_WEBDAVPLIST_PATH:"Set Path",PICBED_WEBDAVPLIST_WEBPATH:"Set Website Path",PICBED_WEBDAVPLIST_CUSTOMURL:"Set Custom URL",PICBED_WEBDAVPLIST_AUTHTYPE:"Set Auth Type",PICBED_WEBDAVPLIST_OPTIONS:"Set URL Suffix",PICBED_WEBDAVPLIST_MESSAGE_HOST:"Ex. https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"Ex. me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"Please type the password",PICBED_WEBDAVPLIST_MESSAGE_PATH:"Ex. test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"Ex. ?key=value",PICBED_SFTPPLIST:"SFTP Built-in",PICBED_SFTPPLIST_HOST:"Set Host",PICBED_SFTPPLIST_PORT:"Set Port",PICBED_SFTPPLIST_USERNAME:"Set Username",PICBED_SFTPPLIST_PASSWORD:"Set Password",PICBED_SFTPPLIST_PRIVATEKEY:"Set Private Key",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"Set Private Key Passphrase",PICBED_SFTPPLIST_UPLOADPATH:"Set Upload Path",PICBED_SFTPPLIST_CUSTOMURL:"Set Custom URL",PICBED_SFTPPLIST_WEBSITE_PATH:"Set Website Path",PICBED_SFTPPLIST_FILE_USER:"Set File User:Group",PICBED_SFTPPLIST_FILE_MODE:"Set File Mode",PICBED_SFTPPLIST_DIR_MODE:"Set Directory Mode",PICBED_SFTPPLIST_MESSAGE_HOST:"Ex. 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"Default 22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"Ex. /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"Please type the private key passphrase",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"Ex. test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"Ex. www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"Ex. 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"Ex. 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"Set Host",PICBED_PICLIST_PORT:"Set Port",PICBED_PICLIST_PICBED:"Set PicBed",PICBED_PICLIST_CONFIGNAME:"Set Config Name",PICBED_PICLIST_KEY:"Set Key",PICBED_LSKY_PLIST:"Lsky",PICBED_LSKY_VERSION:"Set Version",PICBED_LSKY_MESSAGE_VERSION:"Ex. v1",PICBED_LSKY_HOST:"Set Host",PICBED_LSKY_MESSAGE_HOST:"Ex. https://lsky.co",PICBED_LSKY_TOKEN:"Set Token",PICBED_LSKY_MESSAGE_TOKEN:"Ex. xxx",PICBED_LSKY_STRATEGY_ID:"Set Strategy ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"Ex. 1",PICBED_LSKY_ALBUM_ID:"Set Album ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"Optional, only for V2",PICBED_LSKY_PERMISSION:"Set Permission",PICBED_LSKY_MESSAGE_PERMISSION:"Ex. public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"Set AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"Set SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"Set Bucket",PICBED_AWSS3PLIST_REGION:"Set Region",PICBED_AWSS3PLIST_UPLOADPATH:"Set Upload Path",PICBED_AWSS3PLIST_ENDPOINT:"Set Endpoint",PICBED_AWSS3PLIST_PROXY:"Set Proxy",PICBED_AWSS3PLIST_URLPREFIX:"Set Custom URL",PICBED_AWSS3PLIST_OPTIONS:"Set Options",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"Set PathStyleAccess",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"Set RejectUnauthorized",PICBED_AWSS3PLIST_ACL:"Set ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"when `pathStyleAccess` is enabled, whether to disable adding bucket prefix to url",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"Ex. test",PICBED_AWSS3PLIST_MESSAGE_REGION:"Ex. us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"Ex. test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"Ex. https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"Ex. https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"Enable when `pathStyleAccess` is required",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"Enable when rejecting invalid TLS certificate connection is required",PICBED_AWSS3PLIST_MESSAGE_ACL:"Ex. public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"Enable when `pathStyleAccess` is enabled",BUILDIN_SKIPPROCESS:"Skip Process Settings",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"Set Skip Process Ext List",BUILDIN_RENAME:"Rename Settings",BUILDIN_RENAME_FORMAT:"Set rename format",BUILDIN_RENAME_ENABLE:"Enable rename",BUILDIN_WATERMARK:"Watermark Settings",BUILDIN_WATERMARK_ISADDWATERMARK:"Whether to add watermark",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"Enable when watermark is required",BUILDIN_WATERMARK_WATERMARKTYPE:"Set watermark type",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"Please select watermark type",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"Whether to use full-screen watermark",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"Enable when full-screen watermark is required",BUILDIN_WATERMARK_WATERMARKDEGREE:"Set watermark angle",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"Please enter a number",BUILDIN_WATERMARK_WATERMARKTEXT:"Set watermark text",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"Please enter watermark text",BUILDIN_WATERMARK_WATERMARKFONTPATH:"Set watermark font",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"Please enter the watermark font file path",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"Set the ratio of the watermark to the image",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"Please enter a number between 0-1",BUILDIN_WATERMARK_WATERMARKCOLOR:"Set watermark font color",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"Please enter the RGB color value",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"Set watermark image path",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"Please enter the watermark image path",BUILDIN_WATERMARK_WATERMARKPOSITION:"Set watermark position",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"Please select watermark position",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"Set watermark image opacity",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"Please enter an integer between 0-255",BUILDIN_COMPRESS:"Processing Settings",BUILDIN_COMPRESS_QUALITY:"Set image quality",BUILDIN_COMPRESS_MESSAGE_QUALITY:"Please enter an integer between 1-100",BUILDIN_COMPRESS_ISCONVERT:"Whether to perform format conversion",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"Enable when format conversion is required",BUILDIN_COMPRESS_CONVERTFORMAT:"Set conversion format",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"Please select conversion format",BUILDIN_COMPRESS_ISRESIZE:"Whether to resize the image",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"Enable when image resizing is required",BUILDIN_COMPRESS_RESIZEWIDTH:"Set resizing width",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"Please enter a number",BUILDIN_COMPRESS_RESIZEHEIGHT:"Set resizing height",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"Please enter a number",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"Whether to resize the image by percentage",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"Enable when resizing by percentage is required",BUILDIN_COMPRESS_ISFLIP:"Whether to flip the image vertically",BUILDIN_COMPRESS_ISFLOP:"Whether to flip the image horizontally",BUILDIN_COMPRESS_RESIZEPERCENT:"Set resizing percentage",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"Please enter a number",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"Whether to skip resizing of small images",BUILDIN_COMPRESS_ISROTATE:"Whether to rotate the image",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"Enable when image rotation is required",BUILDIN_COMPRESS_ROTATEDEGREE:"Set rotation angle",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"Please enter a number, can be negative",BUILDIN_COMPRESS_ISREMOVEEXIF:"Whether to remove EXIF information",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"Enable when removing EXIF information is required",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"Plugin installed successfully",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"Plugin installation failed",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"Plugin installation failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"Plugin installation failed, please enter a valid plugin name or valid installation path",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"Plugin uninstalled successfully",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"Plugin uninstall failed",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"Plugin uninstall failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"Plugin uninstall failed, please enter a valid plugin name",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"Plugin updated successfully",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"Plugin update failed",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"Plugin update failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"Plugin update failed, please enter a valid plugin name"}};class Pt{i18n;objectAdapter;ctx;constructor(e){this.ctx=e,this.objectAdapter=new M(lt);let t=this.ctx.getConfig("settings.language")||"zh-CN";lt[t]||(t="zh-CN"),this.i18n=new y({adapter:this.objectAdapter,defaultLanguage:t}),this.loadOutterI18n()}loadOutterI18n(){const e=this.getOutterI18nFolder();a.readdirSync(e,{withFileTypes:!0}).forEach(r=>{if(r.isFile()&&r.name.endsWith(".yml")){const n=t.join(e,r.name),i=a.readFileSync(n,"utf8");try{const e=G.load(i);lt[r.name.replace(/\.yml$/,"")]=e}catch(e){console.error(e)}}})}getOutterI18nFolder(){const e=t.join(this.ctx.baseDir,"i18n-cli");return o(e)||s(e),e}translate(e,t){return this.i18n.translate(e,t)||e}setLanguage(e){this.i18n.setLanguage(e),this.ctx.saveConfig({"settings.language":e})}addLocale(e,t){const r=this.objectAdapter.getLocale(e);if(!r)return!1;const n=A(r,t);return this.objectAdapter.setLocale(e,n),!0}addLanguage(e,t){return!this.objectAdapter.getLocale(e)&&(this.objectAdapter.setLocale(e,t),lt[e]=t,!0)}getLanguageList(){return Object.keys(lt)}}const ct={handle:e=>{e.cmd.program.option("-c, --config <path>","set config path")}},ut={handle:e=>{e.cmd.program.command("i18n").arguments("[lang]").description("change language, zh-CN, zh-TW, en").action(async(t="")=>{const r=e.i18n.getLanguageList();if(!t){const n=[{type:"list",name:"i18n",choices:r,message:"Choose a language",default:e.getConfig("settings.language")||"zh-CN"}];t=(await e.cmd.inquirer.prompt(n)).i18n}r.includes(t)?(e.i18n.setLanguage(t),e.log.success(`Language set to ${t}`)):e.log.warn("No such language")})}},pt=(e,t,r,n,a,i)=>{let s=e.program.command(t).description(r).alias(n);i?.proxy&&(s=s.option("-p, --proxy <proxy>","Add proxy for installing plugins")),i?.registry&&(s=s.option("-r, --registry <registry>","Choose a registry for installing plugins")),s.action(a)},At={handle:e=>{const t=e.cmd;pt(t,"install <plugins...>","install picgo plugin","add",(t,r)=>{const{proxy:n,registry:a}=r,i={proxy:n,registry:a};e.pluginHandler.install(t,i).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0}),pt(t,"uninstall <plugins...>","uninstall picgo plugin","rm",t=>{e.pluginHandler.uninstall(t).catch(t=>{e.log.error(t)})}),pt(t,"update <plugins...>","update picgo plugin","up",(t,r)=>{const{proxy:n,registry:a}=r,i={proxy:n,registry:a};e.pluginHandler.update(t,i).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0})}},Ct={handle:e=>{e.cmd.program.option("-p, --proxy <url>","set proxy for uploading",t=>{e.setConfig({"picBed.proxy":t})})}};function Tt({path:e,startSlash:t=!1,endSlash:r=!0,rootToEmpty:n=!0}){const a=e?.replace(/^\/+|\/+$/g,"").replace(/\/{2,}/g,"/");return a?`${t?"/":""}${a}${r?"/":""}`:n?"":"/"}function Dt(e){return e.replace(/\/{2,}/g,"/").split("/").map(e=>encodeURIComponent(e)).join("/")}const gt="advancedplist",mt="alistplist",Lt="aliyun",dt="aws-s3-plist",ht="github",ft="imgur",Bt="local",Nt="lskyplist",Ut="piclist",Rt="qiniu",Ot="sftpplist",Mt="smms",yt="tcyun",Gt="upyun",wt="webdavplist",bt=(e,t,r,n,a,i,s="PICBED",E)=>({name:r,type:n,get prefix(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},default:a,required:i,...E});const xt=e=>({advancedplist:e.i18n.translate("PICBED_ADVANCEDPLIST"),alistplist:e.i18n.translate("PICBED_ALIST_PLIST"),aliyun:e.i18n.translate("PICBED_ALICLOUD"),"aws-s3-plist":e.i18n.translate("PICBED_AWSS3PLIST"),github:e.i18n.translate("PICBED_GITHUB"),imgur:e.i18n.translate("PICBED_IMGUR"),local:e.i18n.translate("PICBED_LOCAL"),lskyplist:e.i18n.translate("PICBED_LSKY_PLIST"),piclist:e.i18n.translate("PICBED_PICLIST"),qiniu:e.i18n.translate("PICBED_QINIU"),sftpplist:e.i18n.translate("PICBED_SFTPPLIST"),smms:e.i18n.translate("PICBED_SMMS"),tcyun:e.i18n.translate("PICBED_TENCENTCLOUD"),upyun:e.i18n.translate("PICBED_UPYUN"),webdavplist:e.i18n.translate("PICBED_WEBDAVPLIST")}),Wt={compress:{config:{config:e=>{const t=e.getConfig("buildIn.compress")||{};return[bt(e,"compress","quality","input",t.quality||100,!1,"BUILDIN"),bt(e,"compress","isConvert","confirm",t.isConvert||!1,!1,"BUILDIN"),bt(e,"compress","convertFormat","list",t.convertFormat||"jpg",!1,"BUILDIN",{choices:["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"]}),bt(e,"compress","isReSize","confirm",t.isReSize||!1,!1,"BUILDIN"),bt(e,"compress","reSizeWidth","input",t.reSizeWidth||500,!1,"BUILDIN"),bt(e,"compress","reSizeHeight","input",t.reSizeHeight||500,!1,"BUILDIN"),bt(e,"compress","skipReSizeOfSmallImg","confirm",t.skipReSizeOfSmallImg||!1,!1,"BUILDIN"),bt(e,"compress","isReSizeByPercent","confirm",t.isReSizeByPercent||!1,!1,"BUILDIN"),bt(e,"compress","reSizePercent","input",t.reSizePercent||50,!1,"BUILDIN"),bt(e,"compress","isFlip","confirm",t.isFlip||!1,!1,"BUILDIN"),bt(e,"compress","isFlop","confirm",t.isFlop||!1,!1,"BUILDIN"),bt(e,"compress","isRotate","confirm",t.isRotate||!1,!1,"BUILDIN"),bt(e,"compress","rotateDegree","input",t.rotateDegree||90,!1,"BUILDIN"),bt(e,"compress","isRemoveExif","confirm",t.isRemoveExif||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_COMPRESS"},watermark:{config:{config:e=>{const t=e.getConfig("buildIn.watermark")||{};return[bt(e,"watermark","isAddWatermark","confirm",t.isAddWatermark||!1,!1,"BUILDIN"),bt(e,"watermark","watermarkType","list",t.watermarkType||"text",!1,"BUILDIN",{choices:["text","image"]}),bt(e,"watermark","isFullScreenWatermark","confirm",t.isFullScreenWatermark||!1,!1,"BUILDIN"),bt(e,"watermark","watermarkDegree","input",t.watermarkDegree||0,!1,"BUILDIN"),bt(e,"watermark","watermarkText","input",t.watermarkText||"",!1,"BUILDIN"),bt(e,"watermark","watermarkFontPath","input",t.watermarkFontPath||"",!1,"BUILDIN"),bt(e,"watermark","watermarkScaleRatio","input",t.watermarkScaleRatio||.15,!1,"BUILDIN"),bt(e,"watermark","watermarkColor","input",t.watermarkColor||"rgba(204, 204, 204, 0.45)",!1,"BUILDIN"),bt(e,"watermark","watermarkImagePath","input",t.watermarkImagePath||"",!1,"BUILDIN"),bt(e,"watermark","watermarkImageOpacity","input",t.watermarkImageOpacity||255,!1,"BUILDIN"),bt(e,"watermark","watermarkPosition","list",t.watermarkPosition||"southeast",!1,"BUILDIN",{choices:["north","northeast","southeast","south","southwest","northwest","west","east","center","centre"]})]}}.config,key:"BUILDIN_WATERMARK"},rename:{config:{config:e=>{const t=e.getConfig("buildIn.rename")||{};return[bt(e,"rename","format","input",t.format||"{filename}",!1,"BUILDIN"),bt(e,"rename","enable","confirm",t.enable||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_RENAME"},skipProcess:{config:{config:e=>{const t=e.getConfig("buildIn.skipProcess")||{};return[bt(e,"skipProcess","skipProcessExtList","input",t.skipProcessExtList||"zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz",!1,"BUILDIN")]}}.config,key:"BUILDIN_SKIPPROCESS"}},Ht=async(e,t,r,n)=>{const a=await e.cmd.inquirer.prompt(t),i=Ft(r,n);e.saveConfig({[i]:a}),"uploader"===r?e.saveConfig({"picBed.current":n,"picBed.uploader":n}):"transformer"===r&&e.saveConfig({"picBed.transformer":n})},Ft=(e,t)=>({uploader:`picBed.${t}`,transformer:`transformer.${t}`,buildin:`buildIn.${t}`}[e]||t),Kt={handle:e=>{e.cmd.program.command("set").alias("config").arguments("<module> [name]").description("configure config of picgo modules, uploader|transformer|plugin|buildin").action((t,r)=>{(async()=>{try{switch(t){case"buildin":await(async(e,t)=>{if(t&&t in Wt){const r=Wt[t];return void await Ht(e,r.config(e),"buildin",t)}const r=[{type:"list",name:"buildin",choices:Object.entries(Wt).map(([t,{key:r}])=>({name:e.i18n.translate(r),value:t})),message:"Choose a buildin module"}],n=await e.cmd.inquirer.prompt(r),a=Wt[n.buildin];await Ht(e,a.config(e),"buildin",n.buildin)})(e,r);break;case"uploader":case"transformer":await(async(e,t,r)=>{if(r){const n=e.helper[t].get(r);return n?void(n.config&&await Ht(e,n.config(e),t,r)):void e.log.error(`No ${t} named ${r}`)}const n=e.helper[t].getIdList().map(t=>({name:xt(e)[t]||t,value:t})),a=[{type:"list",name:t,choices:n,message:`Choose a(n) ${t}`}],i=await e.cmd.inquirer.prompt(a),s=e.helper[t].get(i[t]);s?.config&&await Ht(e,s.config(e),t,i[t])})(e,t,r);break;case"plugin":await(async(e,t)=>{if(t){const r=t.includes("picgo-plugin-")?t:`picgo-plugin-${t}`;if(!Object.keys(e.getConfig("picgoPlugins")).includes(r))return void e.log.error(`No plugin named ${r}`);const n=await e.pluginLoader.getPlugin(r);return void(n?.config&&await Ht(e,n.config(e),"plugin",r))}const r=[{type:"list",name:"plugin",choices:e.pluginLoader.getFullList(),message:"Choose a plugin"}],n=await e.cmd.inquirer.prompt(r),a=await e.pluginLoader.getPlugin(n.plugin);a?.config&&await Ht(e,a.config(e),"plugin",n.plugin)})(e,r);break;default:return e.log.warn(`No module named ${t}`),void e.log.warn("Available modules are uploader|transformer|plugin|buildin")}e.log.success("Configure config successfully!"),"plugin"===t&&e.log.info("If you want to use this config, please run 'picgo use plugins'")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}},$t={handle:e=>{e.cmd.program.command("upload").description("upload, go go go").arguments("[input...]").alias("u").action(r=>{(async()=>{const n=r.map(e=>Pe(e)?e:t.resolve(e)).filter(t=>{const r=a.existsSync(t)||Pe(t);return r||e.log.warn(`${t} does not exist.`),r});await e.upload(n)})().catch(t=>{e.log.error(t)})})}},kt={handle:async e=>{const t=e.cmd;t.program.command("use").arguments("[module]").description("use modules of picgo").action(r=>{(async()=>{try{let n=[];const a={uploader:{type:"list",name:"uploader",message:"Use an uploader",choices:e.helper.uploader.getIdList().map(t=>({name:xt(e)[t]||t,value:t})),default:e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||"smms"},transformer:{type:"list",name:"transformer",message:"Use a transformer",choices:e.helper.transformer.getIdList(),default:e.getConfig("picBed.transformer")||"path"},plugins:{type:"checkbox",name:"plugins",message:"Use plugins",choices:e.pluginLoader.getFullList(),default:Object.keys(e.getConfig("picgoPlugins")).filter(t=>e.getConfig(`picgoPlugins.${t}`))}};if(r){if(!a[r])return e.log.warn(`No module named ${r}`),void e.log.warn("Available modules are uploader|transformer|plugins");n.push(a[r])}else n=Object.keys(a).map(e=>a[e]);const i=await t.inquirer.prompt(n);if(i.plugins){const t=e.getConfig("picgoPlugins");Object.keys(t).forEach(e=>{i.plugins.includes(e)?t[e]=!0:t[e]=!1}),e.saveConfig({picgoPlugins:t})}e.saveConfig({"picBed.current":i.uploader||e.getConfig("picBed.current"),"picBed.uploader":i.uploader||e.getConfig("picBed.current"),"picBed.transformer":i.transformer||"path"}),e.log.success("Configure saved successfully!")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}};class vt{static currentPlugin;name;list;pluginIdMap;constructor(e){this.name=e,this.list=new Map,this.pluginIdMap=new Map}register(e,t){if(!e)throw new TypeError("id is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} duplicate id: ${e}!`);this.list.set(e,t),vt.currentPlugin&&(this.pluginIdMap.has(vt.currentPlugin)?this.pluginIdMap.get(vt.currentPlugin)?.push(e):this.pluginIdMap.set(vt.currentPlugin,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}getName(){return this.name}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}const Yt=(e=null)=>{vt.currentPlugin=e};class Vt{name="commander";static currentPlugin;list=new Map;pluginIdMap=new Map;ctx;program;inquirer;constructor(e){this.program=new w,this.inquirer=b,this.ctx=e}getName(){return this.name}init(){var e;this.program.version("2.0.5","-v, --version").option("-d, --debug","debug mode",()=>{this.ctx.setConfig({debug:!0})}).option("-s, --silent","silent mode",()=>{this.ctx.setConfig({silent:!0})}).on("command:*",()=>{this.ctx.log.error(`Invalid command: ${this.program.args.join(" ")}\nSee --help for a list of available commands.`),process.exit(1)}),(e=this.ctx).cmd.register("pluginHandler",At),e.cmd.register("config",ct),e.cmd.register("setting",Kt),e.cmd.register("upload",$t),e.cmd.register("use",kt),e.cmd.register("proxy",Ct),e.cmd.register("i18n",ut)}register(e,t){if(!e)throw new TypeError("name is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} plugin duplicate id: ${e}!`);this.list.set(e,t);const r=vt.currentPlugin;null!==r&&(this.pluginIdMap.has(r)?this.pluginIdMap.get(r)?.push(e):this.pluginIdMap.set(r,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}loadCommands(){this.getList().forEach(e=>{try{e.handle(this.ctx)}catch(e){this.ctx.log.error(e)}})}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}class zt{level={[qe.success]:"green",[qe.info]:"blue",[qe.warn]:"yellow",[qe.error]:"red"};ctx;logLevel;logPath;constructor(e){this.ctx=e}handleLog(e,...r){if(this.logLevel=this.ctx.getConfig("settings.logLevel"),!this.ctx.getConfig("silent")&&this.checkLogLevel(e,this.logLevel)){const n=W[this.level[e]](`[PicList ${e.toUpperCase()}]:`);console.log(n,...r),this.logPath=this.ctx.getConfig("settings.logPath")||t.join(this.ctx.baseDir,"./piclist.log"),setTimeout(()=>{try{const t=this.checkLogFileIsLarge(this.logPath);if(t.isLarge){const e=`Log file is too large (> ${t.logFileSizeLimit/1024/1024||"10"} MB), recreate log file`;console.log(W.yellow("[PicList WARN]:"),e),this.recreateLogFile(this.logPath),r.unshift(e)}this.handleWriteLog(this.logPath,e,...r)}catch(e){console.error("[PicList Error] on checking log file size",e)}},0)}}checkLogFileIsLarge(e){if(a.existsSync(e)){const t=a.statSync(e).size,r=1024*Re(this.ctx.getConfig("settings.logFileSizeLimit")||10)*1024;return{isLarge:t>r,logFileSize:t,logFileSizeLimit:r}}return{isLarge:!1}}recreateLogFile(e){a.existsSync(e)&&(a.unlinkSync(e),S(e))}handleWriteLog(e,t,...r){try{let n=`${H().format("YYYY-MM-DD HH:mm:ss")} [PicList ${t.toUpperCase()}] `;r.forEach(e=>{e instanceof Error&&"error"===t?n+=`\n------Error Stack Begin------\n${x.format(e?.stack)}\n-------Error Stack End------- `:("object"==typeof e&&(e=JSON.stringify(e,null,2)),n+=`${e} `)}),n+="\n",a.appendFileSync(e,n)}catch(e){console.error("[PicList Error] on writing log file",e)}}checkLogLevel(e,t){return void 0===t||"all"===t||(Array.isArray(t)?t.some(t=>t===e||"all"===t):e===t)}success(...e){this.handleLog(qe.success,...e)}info(...e){this.handleLog(qe.info,...e)}error(...e){this.handleLog(qe.error,...e)}warn(...e){this.handleLog(qe.warn,...e)}debug(...e){Oe()&&this.handleLog(qe.info,...e)}}class jt{ctx;constructor(e){this.ctx=e}async install(e,t={},r){const n=[],a=e.map(e=>qt(this.ctx,e)).filter(e=>this.ctx.pluginLoader.hasPlugin(e.pkgName)?(n.push(e.pkgName),this.ctx.log.success(`PicList has already installed ${e.pkgName}`),!1):!!e.success),i=a.map(e=>e.fullName),s=a.map(e=>e.pkgName);if(i.length>0){const e=await this.execCommand("install",i,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:t});return{success:!1,body:t}}for(const e of i)await this.ctx.pluginLoader.registerPlugin(e);this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}if(0===n.length){const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:e});return{success:!1,body:e}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}async uninstall(e){const t=e.map(e=>qt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(t.length>0){const e=await this.execCommand("uninstall",t,this.ctx.baseDir);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:t});return{success:!1,body:t}}t.forEach(e=>{this.ctx.pluginLoader.unregisterPlugin(e)}),this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS")),this.ctx.emit("uninstallSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS"),body:t});return{success:!0,body:t}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:e});return{success:!1,body:e}}}async update(e,t={},r){const n=e.map(e=>qt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(n.length>0){const e=await this.execCommand("update",n,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:t});return{success:!1,body:t}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS")),this.ctx.emit("updateSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS"),body:n});return{success:!0,body:n}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:e});return{success:!1,body:e}}}async execCommand(e,t,r,n={},a={}){const i=n.registry||this.ctx.getConfig("settings.registry"),s=n.proxy||this.ctx.getConfig("settings.proxy");return await new Promise(n=>{let E=[e].concat(t).concat("--color=always").concat("--save");i&&(E=E.concat(`--registry=${i}`)),s&&(E=E.concat(`--proxy=${s}`));try{const e=F("npm",E,{cwd:r,env:{...process.env,...a}});let t="";e.stdout?.on("data",e=>{t+=e}).pipe(process.stdout),e.stderr?.on("data",e=>{t+=e}).pipe(process.stderr),e.on("close",e=>{n(e?{code:e,data:t}:{code:0,data:t})}),e.on("error",e=>{this.ctx.log.error(e),this.ctx.log.error("NPM is not installed"),this.ctx.emit(Xe.FAILED,"NPM is not installed")})}catch(e){this.ctx.log.error(e),this.ctx.emit(Xe.FAILED,e)}})}}const qt=(e,t)=>{const r={success:!1,fullName:"",pkgName:""},n=me(t,e.log);if(!n)return r;const a=Le(n,e.log);return a?{success:!0,fullName:n,pkgName:a}:r};class Xt{ctx;list=[];fullList=new Set;pluginMap=new Map;constructor(e){this.ctx=e,this.init()}init(){const e=t.join(this.ctx.baseDir,"package.json");if(!a.existsSync(e)){const t={name:"picgo-plugins",description:"picgo-plugins",repository:"https://github.com/Kuingsmile/PicList-Core",license:"MIT"};a.writeFileSync(e,JSON.stringify(t),"utf8")}}resolvePlugin(e,r){try{return K.sync(r,{basedir:e.baseDir})}catch(n){return t.join(e.baseDir,"node_modules",r)}}async load(){const e=t.join(this.ctx.baseDir,"node_modules/");if(!a.existsSync(e))return!1;const r=t.join(this.ctx.baseDir,"package.json"),n=i(r),s=Object.keys(n.dependencies||{}),E=Object.keys(n.devDependencies||{}),o=s.concat(E).filter(e=>{if(!/^picgo-plugin-|^@[^/]+\/picgo-plugin-/.test(e))return!1;const t=this.resolvePlugin(this.ctx,e);return a.existsSync(t)});for(const e of o)await this.registerPlugin(e);return!0}async registerPlugin(e,t){if(e&&"string"==typeof e){this.fullList.add(e);try{if(t){this.list.push(e),Yt(e);const r=t(this.ctx);this.pluginMap.set(e,r),r.register(this.ctx)}else if(!0===this.ctx.getConfig(`picgoPlugins.${e}`)||void 0===this.ctx.getConfig(`picgoPlugins.${e}`)){this.list.push(e),Yt(e);(await this.getPlugin(e)).register(this.ctx);const t=`picgoPlugins[${e}]`;this.ctx.saveConfig({[t]:!0})}}catch(t){this.pluginMap.delete(e),this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.ctx.log.error(t),this.ctx.emit(Xe.NOTIFICATION,{title:`Plugin ${e} Load Error`,body:t})}}else this.ctx.log.warn("Please provide valid plugin")}unregisterPlugin(e){this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.pluginMap.delete(e),Yt(e),this.ctx.helper.uploader.unregister(e),this.ctx.helper.transformer.unregister(e),this.ctx.helper.beforeTransformPlugins.unregister(e),this.ctx.helper.beforeUploadPlugins.unregister(e),this.ctx.helper.afterUploadPlugins.unregister(e),this.ctx.cmd.unregister(e),this.ctx.removeConfig("picgoPlugins",e)}async getPlugin(e){if(this.pluginMap.has(e))return this.pluginMap.get(e);let r;try{r=this.resolvePlugin(this.ctx,e)}catch(n){const s=t.join(this.ctx.baseDir,"node_modules",e),E=t.join(s,"package.json");if(!a.existsSync(E))throw new Error(`Plugin package.json not found: ${e}`);try{const e=i(E),n=e.main||e.module||"index.js";r=t.join(s,n)}catch{const n=["index.js","src/index.js","dist/index.js","lib/index.js"];r="";for(const e of n){const n=t.join(s,e);if(a.existsSync(n)){r=n;break}}if(!r)throw new Error(`Cannot find entry point for plugin: ${e}`)}}const n=h(r).href,s=await import(n),E=(s.default||s)(this.ctx);return this.pluginMap.set(e,E),E}getList(){return this.list}hasPlugin(e){return this.fullList.has(e)}getFullList(){return[...this.fullList]}}const Qt=new e,Zt=new $.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2",rejectUnauthorized:!1});function Jt(e,t,r){"object"==typeof r&&"value"in r&&"options"in r?e.append(t,r.value,r.options):e.append(t,r)}function er(e){return{...e,statusCode:e.status,body:e.data}}function tr(e){const t={method:e?.config?.method?.toUpperCase()||"",url:e?.config?.url||"",statusCode:e?.response?.status||0,message:e?.message||"",stack:e?.stack||{},response:{status:e?.response?.status||0,statusCode:e?.response?.status||0,body:e?.response?.data||""}};return Promise.reject(t)}class rr{ctx;proxy="";options={};constructor(e){this.ctx=e,this.init(),Qt.on(Qe.CONFIG_CHANGE,e=>{switch(e.configName){case"picBed":e.value?.proxy&&(this.proxy=e.value.proxy);break;case"picBed.proxy":this.proxy=e.value}})}init(){const e=this.ctx.getConfig("picBed.proxy");e&&(this.proxy=e)}handleProxy(){if(this.proxy)try{const e=new d(this.proxy);return{host:e.hostname,port:parseInt(e.port||"0",10),protocol:e.protocol}}catch(e){}return!1}request(e){this.options.proxy=this.handleProxy(),this.options.headers=e.headers||{},this.options.maxBodyLength=1/0,this.options.maxContentLength=1/0,this.options.proxy&&e.url?.startsWith("https://")?(this.options.httpsAgent=v({proxy:{host:this.options.proxy.host,port:this.options.proxy.port}}),this.options.proxy=!1):this.options.httpsAgent=Zt;const t=n.create(this.options);t.interceptors.response.use(er,tr);const r=function(e){let t=!1;const r={...e,url:e.url||"",headers:e.headers||{}};if(e.proxy){let n=e.proxy;if("string"==typeof n){try{n=new d(e.proxy)}catch(e){n=!1,r.proxy=!1,console.error(e)}t=!0}n&&(e.url?.startsWith("https://")?(r.proxy=!1,r.httpsAgent=v({proxy:{host:n?.hostname,port:parseInt(n?.port,10)}})):r.proxy={host:n.hostname,port:parseInt(n.port,10),protocol:"http"})}if("formData"in e){const n=new k;for(const t in e.formData)Jt(n,t,e.formData[t]);r.data=n,r.headers=Object.assign(r.headers||{},n.getHeaders()),t=!0,delete r.formData}return"body"in e&&(r.data=e.body,t=!0,delete r.body),"qs"in e&&(r.params=e.qs,t=!0),r.__isOldOptions=t,r}(e);return t.interceptors.request.use(function(e){let t="";return e?.headers?.contentType?(t=e.headers.contentType,delete e.headers.contentType):e?.headers?.ContentType?(t=e.headers.ContentType,delete e.headers.ContentType):e?.headers?.["content-type"]&&(t=e.headers["content-type"],delete e.headers["content-type"]),""!==t&&e.headers&&(e.headers["Content-Type"]=t),e}),"resolveWithFullResponse"in e&&e.resolveWithFullResponse?t.request(r):t.request(r).then(t=>r.__isOldOptions?"json"in e?e.json?t.data:void 0:JSON.stringify(t.data):t.data)}}var nr={handle:async e=>(e.output.push(...e.input),e)};const ar=(e,t,r)=>{const n=pe(t);return n.real||("string"==typeof r?e.log.warn(`can't get ${r}'s image size`):e.log.warn("can't get image size"),e.log.warn("fallback to 200 * 200")),n};var ir={handle:async e=>{const t=e.output;return await Promise.all(e.input.map(async(r,n)=>{let a;if(a=Buffer.isBuffer(r)?{success:!0,buffer:r,fileName:"",extname:""}:Pe(r)?await Ce(r,e):await Ae(r),a.success&&a.buffer){const i=ar(e,a.buffer,r),s=a.extname||i.extname||".png";t[n]={buffer:a.buffer,fileName:a.fileName||`${H().format("YYYYMMDDHHmmssSSS")}${s}`,width:i.width,height:i.height,filePath:a.filePath,extname:a.extname,mimeType:Y.getType(s)||"application/octet-stream"}}else e.log.error(a.reason)})),e.output=t.filter(e=>e),e}};const sr=(e,t,r,n,a,i,s)=>({method:n.toUpperCase(),url:r,headers:{contentType:"multipart/form-data","User-Agent":"PicList",...a},formData:{[s]:{value:e,options:{filename:t}},...i},json:!0}),Er=async e=>{const t=e.getConfig("picBed.advancedplist");if(!t)throw new Error("Can not find advancedplist config");const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.buffer||(n.base64Image?Buffer.from(n.base64Image,"base64"):null);if(!r)continue;const a=sr(r,n.fileName,t.endpoint,t.method||"POST",JSON.parse(t.headers||"{}"),JSON.parse(t.body||"{}"),t.formDataKey||"file");let i=await e.request(a);i="string"==typeof i?JSON.parse(i):i;let s=i;const E=t.resDataPath||"data.url";for(const e of E.split(".")){if(!s||"object"!=typeof s||!(e in s)){s=void 0;break}s=s[e]}if(!s||"string"!=typeof s)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:i.message}),console.error("AdvancedPlist upload failed:",i),new Error(i.message);if(delete n.base64Image,delete n.buffer,t.webPath){const e=s.split("/").pop()||s;s=(t.webPath.endsWith("/")?t.webPath:t.webPath+"/")+e}n.imgUrl=t.customPrefix?t.customPrefix+s:s}return e},or=e=>{const t=e.getConfig("picBed.advancedplist")||{},r=(r,n,a,i=!1,s)=>({name:r,type:n,get prefix(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get message(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_MESSAGE_${r.toUpperCase()}`)},default:t[r]||a,required:i,...s});return[r("endpoint","input","",!0),r("method","list","POST",!1,{choices:["POST","PUT","GET"]}),r("formDataKey","input","file"),r("headers","input","{}"),r("body","input","{}"),r("customPrefix","input",""),r("webPath","input",""),r("resDataPath","input","data.url")]};const Sr=(e,t,r,n,a)=>({method:"PUT",url:`${e}/api/fs/form`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:t,"File-Path":encodeURIComponent(n)},formData:{file:{value:a,options:{filename:r}}},resolveWithFullResponse:!0}),Ir=(e,t)=>{if(200!==t.statusCode||200!==t.body.code||"success"!==t.body.message)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:t.body.message}),new Error(t.body.message)},_r=(e,t,r)=>({method:"POST",url:e,headers:{Authorization:t,"Content-Type":"application/json"},body:r,resolveWithFullResponse:!0}),lr=e=>{const{url:t,token:r,username:n,password:a,uploadPath:i,webPath:s,customUrl:E}=e;return{url:(t||"").replace(/\/$/,""),token:r||"",username:n||"",password:a||"",uploadPath:Tt({path:i||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}),webPath:s?Tt({path:s||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}):"",customUrl:(E||"").replace(/\/$/,"")}},Pr=async e=>{const r=e.getConfig("picBed.alistplist");if(!r)throw new Error("Can not find alist config!");const{url:a,username:i,password:s,uploadPath:E,webPath:o,customUrl:S}=lr(r);let{token:I}=lr(r);if(I||(I=await(async(e,t,r,a)=>{const i=e.getConfig("picgo-plugin-buildin-alistplist");if(i&&i.refreshedAt&&Date.now()-i.refreshedAt<36e5&&i.token)return i.token;const s=await n.post(`${t}/api/auth/login`,{username:r,password:a});if(200===s.data.code&&"success"===s.data.message){const t=s.data.data.token;return e.saveConfig({"picgo-plugin-buildin-alistplist":{token:t,refreshedAt:Date.now()}}),t}throw new Error("Get token failed")})(e,a,i,s)),!a||!(I||i&&s))throw new Error("Please check your alist config!");const _=e.output;for(const r of _)if(r.fileName&&r.buffer){let n=r.buffer;!n&&r.base64Image&&(n=Buffer.from(r.base64Image,"base64"));const i=`${E}${r.fileName}`,s=Sr(a,I,r.fileName,i,n),_=await e.request(s);Ir(e,_);const l=await e.request(_r(`${a}/api/fs/list`,I,{password:"",page:1,per_page:1,refresh:!0,path:t.dirname(i)}));Ir(e,l);const P=await e.request(_r(`${a}/api/fs/get`,I,{password:"",path:i,page:1,per_page:1,refresh:!0}));Ir(e,P);const c=P.body.data.sign,u=Dt(`${o||E}${r.fileName}`);r.imgUrl=`${S||a}${S&&S!==a?"":"/d"}${u}`,r.imgUrl+=S&&S!==a||!c?"":`?sign=${c}`,delete r.base64Image,delete r.buffer}return e},cr=e=>{const t=e.getConfig("picBed.alistplist")||{};return[bt(e,"alist","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_URL")}}),bt(e,"alist","token","input",t.token||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_TOKEN")}}),bt(e,"alist","username","input",t.username||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_USERNAME")}}),bt(e,"alist","password","input",t.password||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_PASSWORD")}}),bt(e,"alist","uploadPath","input",t.uploadPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_UPLOAD_PATH")}}),bt(e,"alist","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_WEB_PATH")}}),bt(e,"alist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_CUSTOMURL")}})]};const ur=()=>(new Date).toUTCString(),pr=(e,t)=>{const r=ur(),n=`PUT\n\n${Y.getType(t)||"application/octet-stream"}\n${r}\n/${e.bucket}/${e.path}${t}`,a=g.createHmac("sha1",e.accessKeySecret).update(n).digest("base64");return`OSS ${e.accessKeyId}:${a}`},Ar=(e,t,r,n)=>({method:"PUT",url:`https://${e.bucket}.${e.area}.aliyuncs.com/${Dt(`${e.path}${t}`)}`,headers:{Host:`${e.bucket}.${e.area}.aliyuncs.com`,Authorization:r,Date:ur(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}),Cr=async e=>{const t=e.getConfig("picBed.aliyun");if(!t)throw new Error("Can't find aliYun OSS config");t.path=Tt({path:t.path});const r=Tt({path:t.webPath});try{const{output:n}=e,a=(t.customUrl||"").replace(/\/$/,""),{path:i,bucket:s,area:E,options:o=""}=t;for(const S of n)if(S.fileName&&S.buffer){const n=pr(t,S.fileName),I=S.buffer||Buffer.from(S.base64Image,"base64"),_=Ar(t,S.fileName,n,I);if(200!==(await e.request(_)).statusCode)throw new Error("Upload failed");{delete S.base64Image,delete S.buffer;const e=Dt(`${r||i}${S.fileName}`);S.imgUrl=a?`${a}/${e}${o}`:`https://${s}.${E}.aliyuncs.com/${e}${o}`}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Tr=e=>{const t=e.getConfig("picBed.aliyun")||{};return[bt(e,"alicloud","accessKeyId","input",t.accessKeyId||"",!0),bt(e,"alicloud","accessKeySecret","input",t.accessKeySecret||"",!0),bt(e,"alicloud","bucket","input",t.bucket||"",!0),bt(e,"alicloud","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_AREA")}}),bt(e,"alicloud","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_PATH")}}),bt(e,"alicloud","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_WEBPATH")}}),bt(e,"alicloud","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_CUSTOMURL")}}),bt(e,"alicloud","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_OPTIONS")}})]};class Dr{date;info;static fields=["year","month","day","fullName","fileName","extName","md5","md5B64","md5B64Short","sha1","sha256","timestamp","timestampMS"];constructor(e){this.date=new Date,this.info=e}year(){return`${this.date.getFullYear()}`}month(){return(this.date.getMonth()+1).toString().padStart(2,"0")}day(){return this.date.getDate().toString().padStart(2,"0")}fullName(){return this.info.fileName}fileName(){return(this.info.fileName??"").replace(this.info.extname??"","")}extName(){return(this.info.extname??"").replace(".","")}md5(){return g.createHash("md5").update(this.imgBuffer()).digest("hex")}md5B64(){return g.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}md5B64Short(){return g.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").slice(0,7)}sha1(){return g.createHash("sha1").update(this.imgBuffer()).digest("hex")}sha256(){return g.createHash("sha256").update(this.imgBuffer()).digest("hex")}timestamp(){return Math.floor(Date.now()/1e3).toString()}timestampMS(){return Date.now().toString()}imgBuffer(){return this.info.base64Image?this.info.base64Image:this.info.buffer}}function gr(e,t){if(!t)return e.fileName;const r=new Dr(e);let n=t;for(const e of Dr.fields){const t=new RegExp(`{${e}}`,"g");n=n.replace(t,r[e]())}return n}function mr(e,t,r){const n=function(e=""){if(!e)return"";if(!/^https?:\/\//.test(e)){const[t,r]=e.split(":");return`http://${t.replace("127.0.0.1","localhost")}:${r}`}try{const{protocol:t,hostname:r,port:n}=new d(e);return`${t}//${r.replace("127.0.0.1","localhost")}:${n}`}catch(e){return""}}(e);if(!n)return;return new(t?Z:J)({keepAlive:!0,keepAliveMsecs:1e3,scheduling:"lifo",rejectUnauthorized:r,proxy:n})}async function Lr(e,t,r){const n=await q(e.client,new j({Bucket:e.bucketName,Key:e.path,IfMatch:t,VersionId:r}),{expiresIn:3600}),a=new m.URL(n);return a.search="",a.href}var dr={createS3Client:function(e){let t=!0;try{t="https:"===new m.URL(e.endpoint).protocol}catch{}const r={};t?r.httpsAgent=mr(e.proxy,!0,!!e.rejectUnauthorized):r.httpAgent=mr(e.proxy,!1,!!e.rejectUnauthorized);const n={region:e.region||"auto",endpoint:e.endpoint||void 0,credentials:{accessKeyId:e.accessKeyID,secretAccessKey:e.secretAccessKey},tls:t,forcePathStyle:e.pathStyleAccess,requestHandler:new X(r)};return new V(n)},createUploadTask:async function(e){if(!e.item.buffer&&!e.item.base64Image)throw new Error("undefined image");try{const{body:t,contentType:r,contentEncoding:n}=await async function(e){const t={};if(e.base64Image){const r=e.base64Image.replace(/^data:[/\w]+;base64,/,"");t.contentType=e.base64Image.match(/[^:]\w+\/[\w-+\d.]+(?=;|,)/)?.[0],t.body=Buffer.from(r,"base64"),t.contentEncoding="base64"}else e.extname&&(t.contentType=Y.getType(e.extname)||void 0),t.body=e.buffer;if(!t.contentType){const e=await Q(t.body);t.contentType=e?.mime}return t}(e.item),a=new z({Bucket:e.bucketName,Key:e.path,ACL:e.acl,Body:t,ContentType:r,ContentEncoding:n}),i=await e.client.send(a);let s;return s=e.urlPrefix?`${e.urlPrefix}/${e.path}`:await Lr(e,i.ETag,i.VersionId),e.options&&(s+=e.options.startsWith("?")?e.options:`?${e.options}`),{key:e.path,url:s,imgURL:s,versionId:i.VersionId,eTag:i.ETag}}catch(e){return Promise.reject(e)}}};function hr(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const fr=async e=>{const t=e.getConfig("picBed.aws-s3-plist");if(!t)throw new Error("Can't find aws s3 uploader config");try{const r=hr(t.disableBucketPrefixToURL);let n=t.urlPrefix;n&&(n=n.replace(/\/?$/,""),t.pathStyleAccess&&!r&&(n+="/"+t.bucketName));const a=dr.createS3Client(t),i=e.output;for(const e of i){const r=await dr.createUploadTask({client:a,bucketName:t.bucketName,path:gr(e,t.uploadPath),item:e,acl:t.acl||"public-read",urlPrefix:n,options:t.options||""});delete e.buffer,delete e.base64Image,e.imgUrl=r.imgURL,e.url=r.url}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:""}),t}},Br=e=>{let t=e.getConfig("picBed.aws-s3-plist")||{};t={accessKeyID:"",secretAccessKey:"",bucketName:"",uploadPath:"{year}/{month}/{md5}.{extName}",pathStyleAccess:!1,rejectUnauthorized:!1,acl:"public-read",...t};return[{name:"accessKeyID",type:"input",default:t.accessKeyID,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID")}},{name:"secretAccessKey",type:"input",default:t.secretAccessKey,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY")}},{name:"bucketName",type:"input",default:t.bucketName,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_BUCKET")}},{name:"uploadPath",type:"input",default:t.uploadPath,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH")}},{name:"region",type:"input",default:t.region,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REGION")}},{name:"endpoint",type:"input",default:t.endpoint,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ENDPOINT")}},{name:"proxy",type:"input",default:t.proxy,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PROXY")}},{name:"urlPrefix",type:"input",default:t.urlPrefix,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_URLPREFIX")}},{name:"options",type:"input",default:t.options||"",required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_OPTIONS")}},{name:"pathStyleAccess",type:"confirm",default:t.pathStyleAccess||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS")}},{name:"rejectUnauthorized",type:"confirm",default:t.rejectUnauthorized||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED")}},{name:"acl",type:"list",default:t.acl||"public-read",choices:["private","public-read","public-read-write","authenticated-read","aws-exec-read","bucket-owner-read","bucket-owner-full-control"],required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACL")}},{name:"disableBucketPrefixToURL",type:"confirm",default:hr(t.disableBucketPrefixToURL)||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL")}}]};function Nr(e,t,r,n=""){return`https://api.github.com/repos/${e}/contents/${Dt(`${t}${r}`)}${n}`}const Ur=(e,t,r)=>{const{token:n,repo:a}=t,i=Y.getType(e)||"application/octet-stream";return{method:"PUT",url:Nr(a,t.path,e),headers:{Authorization:`token ${n}`,"User-Agent":"PicList","Content-Type":i},body:r,json:!0}},Rr=(e,t)=>{const{token:r,repo:n,branch:a}=t;return{method:"GET",url:Nr(n,t.path,e,`?ref=${a}`),headers:{Authorization:`token ${r}`,"User-Agent":"PicList"},json:!0}},Or=async e=>{const t=e.getConfig("picBed.github");if(!t)throw new Error("Can't find github config");const r=Tt({path:t.path}),n=Tt({path:t.webPath||""});t.path=r,t.customUrl=(t.customUrl||"").replace(/\/$/,"");try{const a=e.output;for(const i of a)if(i.fileName&&i.buffer){const a=i.base64Image||Buffer.from(i.buffer).toString("base64"),s={message:"Upload by PicList",branch:t.branch,content:a,path:r+encodeURI(i.fileName)},E=Ur(i.fileName,t,s);try{const a=await e.request(E);if(!a)throw new Error("Server error, please try again");delete i.base64Image,delete i.buffer,i.imgUrl=t.customUrl?`${t.customUrl}/${Dt(`${n||r}${i.fileName}`)}`:a.content.download_url,i.hash=a.content.sha}catch(a){if(422!==a.statusCode)throw a;delete i.base64Image,delete i.buffer;const s=await e.request(Rr(i.fileName,t));if(!Object.keys(s).length)throw a;i.hash=s.sha,i.imgUrl=t.customUrl?`${t.customUrl}/${Dt(`${n||r}${i.fileName}`)}`:s.download_url}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK")}),t}},Mr=e=>{const t=e.getConfig("picBed.github")||{};return[{name:"repo",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_REPO")},get alias(){return e.i18n.translate("PICBED_GITHUB_REPO")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_REPO")},default:t.repo||"",required:!0},{name:"branch",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get alias(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_BRANCH")},default:t.branch||"master",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},get alias(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},default:t.token||"",required:!0},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_PATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_PATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_PATH")},default:t.path||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_WEBPATH")},default:t.webPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1}]};const yr=async(e,t,r,n)=>{const a=t.clientId||"",i=t.username||"",s=(e=>e?e.startsWith("Bearer")?e:`Bearer ${e}`:"")(t.accessToken||""),E=t.album||"";let o;if(i&&s)o=s;else{if(!a)throw new Error("clientId or accessToken is required");o=`Client-ID ${a}`}const S={method:"POST",url:"https://api.imgur.com/3/image",headers:{Authorization:o,"content-type":"multipart/form-data",Host:"api.imgur.com","User-Agent":"PicList"},formData:{image:n,type:"base64",name:r,description:"Uploaded with PicList"}};if(i&&s&&E){let r,n=0,a="";do{const s={method:"GET",url:`https://api.imgur.com/3/account/${i}/albums/${n}`,headers:{Authorization:o},json:!0,resolveWithFullResponse:!0,timeout:1e4};if(t.proxy&&(s.proxy=t.proxy),r=await e.request(s),200!==r.statusCode||!r.body.success)throw new Error("Server error, please try again");const S=r.body.data;for(const e of S)if(e.title===E){a=e.id;break}n++}while(r.body.data.length>0);a&&S.formData&&(S.formData.album=a)}return t.proxy&&(S.proxy=t.proxy),S},Gr=async e=>{const t=e.getConfig("picBed.imgur");if(!t)throw new Error("Can't find imgur config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),a=await yr(e,t,n.fileName,r),i=await e.request(a),s="string"==typeof i?JSON.parse(i):i;if(!s.success)throw new Error("Server error, please try again");delete n.base64Image,delete n.buffer,n.imgUrl=s.data.link,n.hash=s.data.deletehash}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:"http://docs.imgur.com/api/errno/"}),t?.response?.data||t}},wr=e=>{const t=e.getConfig("picBed.imgur")||{};return[{name:"clientId",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get alias(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_CLIENTID")},default:t.clientId||"",required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get alias(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_USERNAME")},default:t.username||"",required:!1},{name:"accessToken",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get alias(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ACCESS_TOKEN")},default:t.accessToken||"",required:!1},{name:"album",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get alias(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ALBUM")},default:t.album||"",required:!1},{name:"proxy",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get alias(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_PROXY")},default:t.proxy||"",required:!1}]};const br=async e=>{const r=e.getConfig("picBed.local");if(!r)throw new Error("Can not find local config!");const n=r.path||"",i=(r.customUrl||"").replace(/\/$/,""),E=Tt({path:r.webPath?.replace(/\\/g,"/")}),o=e.output;for(const r of o)if(r.fileName&&r.buffer){let o=r.buffer;!o&&r.base64Image&&(o=Buffer.from(r.base64Image,"base64"));try{const S=t.join(e.baseDir,"imgTemp","local"),I=t.join(S,r.fileName),_=t.join(n,r.fileName);s(t.dirname(_)),s(t.dirname(I)),a.writeFileSync(_,o),a.copyFileSync(_,I),delete r.base64Image,delete r.buffer,r.imgUrl=i?`${i}/${Dt(`${E}${r.fileName}`)}`:t.join(n,r.fileName),r.hash=t.join(n,r.fileName),r.galleryPath=`http://localhost:36699/local/${Dt(r.fileName).replace(/^\//,"")}`}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:"failed to upload image"}),new Error("failed to upload image")}}return e},xr=e=>{const t=e.getConfig("picBed.local")||{};return[{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_PATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_PATH")},default:t.path||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_PATH")},required:!0},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},default:t.customUrl||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_CUSTOMURL")},required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},default:t.webPath||"",required:!1,get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_WEBPATH")}}]};const Wr=(e,t,r)=>{let n=e.host;n=n.replace(/\/$/,"");const a="V2"===e.version,i=e.token,s={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",token:i||void 0},E={image:{value:r,options:{filename:t}},ssl:"true"},o={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",Accept:"application/json",Authorization:i||void 0},S=e.strategyId,I=e.albumId;let _=e.permission.value;void 0===_&&(_=e.permission);const l={file:{value:r,options:{filename:t}},ssl:"true",strategy_id:S,album_id:I,permission:_};S||delete l.strategy_id,I||delete l.album_id,0!==_&&1!==_&&delete l.permission;return{method:"POST",url:a?`${n}/api/v1/upload`:`${n}/api/upload`,agent:new $.Agent({rejectUnauthorized:!1}),headers:a?o:s,formData:a?l:E}},Hr=async e=>{const t=e.getConfig("picBed.lskyplist");if(!t)throw new Error("Can't find lsky uploader config");const r=e.output;for(const n of r){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const a=Wr(t,n.fileName,r);let i=await e.request(a);i="string"==typeof i?JSON.parse(i):i;const s="V2"===t.version;if(!(s?!0===i.status:200===i.code))throw e.emit(Xe.NOTIFICATION,{title:"upload failed",body:i.message}),new Error(i.message);delete n.base64Image,delete n.buffer,n.imgUrl=s?i.data.links.url:i.data.url,s&&(n.hash=i.data.key)}return e},Fr=e=>{const t=e.getConfig("picBed.lskyplist")||{};return[{name:"version",type:"list",default:t.version||"V1",get prefix(){return e.i18n.translate("PICBED_LSKY_VERSION")},get alias(){return e.i18n.translate("PICBED_LSKY_VERSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_VERSION")},choices:["V1","V2"],required:!0},{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_HOST")},get alias(){return e.i18n.translate("PICBED_LSKY_HOST")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get alias(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_TOKEN")},default:t.token,required:!0},{name:"strategyId",type:"input",default:t.strategyId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_STRATEGY_ID")}},{name:"albumId",type:"input",default:t.albumId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_ALBUM_ID")}},{name:"permission",type:"list",default:t.permission||"private(default)",choices:[{name:"private(default)",value:0},{name:"public",value:1}],required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get alias(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_PERMISSION")}}]};const Kr=(e,t,r)=>{const{host:n="127.0.0.1",port:a="",picbed:i="",configName:s="Default",serverKey:E=""}=e,o=n.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/),S=n.startsWith("https://")?"https://":"http://",I=n.replace(/(http:\/\/|https:\/\/)/,"");return{method:"POST",url:`${o?`${S}${I}:${a||"36677"}`:`${S}${I}${a?`:${a}`:""}`}/upload?configName=${s}${i?`&picbed=${i}`:""}${E?`&key=${E}`:""}`,headers:{"content-type":"multipart/form-data"},formData:{file:{value:r,options:{filename:t,contentType:Y.getType(t)||"application/octet-stream"}}},resolveWithFullResponse:!0}},$r=async e=>{const t=e.getConfig("picBed.piclist");if(!t)throw new Error("Can't find PicList config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const a=Kr(t,n.fileName,r),i=await e.request(a).then(e=>e).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}}));if(200!==i.statusCode||!i.body?.success)throw new Error(i.body.message);delete n.base64Image,delete n.buffer,n.imgUrl=i.body.result[0],n.fullResult=i.body.fullResult?i.body.fullResult[0]:""}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},kr=e=>{const t=e.getConfig("picBed.piclist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_HOST")},get alias(){return e.i18n.translate("PICBED_PICLIST_HOST")},default:t.host||"127.0.0.1",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PORT")},get alias(){return e.i18n.translate("PICBED_PICLIST_PORT")},default:t.port||36677,required:!1},{name:"picbed",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PICBED")},get alias(){return e.i18n.translate("PICBED_PICLIST_PICBED")},default:t.picbed||"",required:!1},{name:"configName",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},get alias(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},default:t.configName||"",required:!1},{name:"serverKey",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_KEY")},get alias(){return e.i18n.translate("PICBED_PICLIST_KEY")},default:t.serverKey||"",required:!1}]};function vr(e,t,r,n){const a=function(e){return"z0"===e?"":"-"+e}(e.area||"z0"),i=e.path||"";return{method:"POST",url:`http://upload${a}.qiniup.com/putb64/-1/key/${Buffer.from(i+t,"utf-8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_")}`,headers:{Authorization:`UpToken ${r}`,"Content-Type":Y.getType(t)||"application/octet-stream"},body:n}}function Yr(e){const t=e.accessKey,r=e.secretKey,n=new ee.auth.digest.Mac(t,r),a={scope:e.bucket};return new ee.rs.PutPolicy(a).uploadToken(n)}const Vr=async e=>{const t=e.getConfig("picBed.qiniu");if(!t)throw new Error("Can't find qiniu config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),a=vr(t,n.fileName,Yr(t),r),i=await e.request(a),s=JSON.parse(i);if(!s?.key)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:s.msg}),e.log.error("qiniu error",s),new Error("Upload failed");{delete n.base64Image,delete n.buffer;const e=t.url,r=t.options||"";n.imgUrl=`${e}/${s.key}${r}`}}return e}catch(t){if("Upload failed"!==t.message&&t.response){const r=t.response.body;e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:r.error})}throw t}},zr=e=>{const t=e.getConfig("picBed.qiniu")||{};return[{name:"accessKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},default:t.accessKey||"",required:!0},{name:"secretKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},default:t.secretKey||"",required:!0},{name:"bucket",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_BUCKET")},get alias(){return e.i18n.translate("PICBED_QINIU_BUCKET")},default:t.bucket||"",required:!0},{name:"url",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_URL")},get alias(){return e.i18n.translate("PICBED_QINIU_URL")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_URL")},default:t.url||"",required:!0},{name:"area",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_AREA")},get alias(){return e.i18n.translate("PICBED_QINIU_AREA")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_AREA")},default:t.area||"",required:!0},{name:"options",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get alias(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_OPTIONS")},default:t.options||"",required:!1},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_PATH")},get alias(){return e.i18n.translate("PICBED_QINIU_PATH")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_PATH")},default:t.path||"",required:!1}]};class jr{static instance;client=new te;isConnected=!1;constructor(){}static getInstance(){return jr.instance||(jr.instance=new jr),jr.instance}static changeWinStylePathToUnix(e){return e.replace(/\\/g,"/")}async connect(e){const{host:t,port:r,username:n,password:a,privateKey:i,passphrase:s}=e,E=i?{username:n,privateKeyPath:i,passphrase:s||void 0}:{username:n,password:a};try{await this.client.connect({host:t,port:Number(r)||22,...E}),this.isConnected=!0}catch(e){throw new Error(e)}}async upload(e,r,n){if(!this.isConnected)throw new Error("SSH client is not connected");try{r=jr.changeWinStylePathToUnix(r),await this.mkdir(t.dirname(r).replace(/^\/+|\/+$/g,""),n),await this.client.putFile(e,r);const a=n.fileMode||"0644";"0644"!==a&&await this.exec(`chmod ${a} "${r}"`)}catch(e){throw new Error(e)}}async mkdir(e,t){if(!this.client.isConnected())throw new Error("sftp client is not connected");const r=t.dirMode||"0755";if("0755"!==r){const t=e.split("/");let n="";for(const e of t)if(e){n+=`/${e}`;const t=`mkdir "${n}" && chmod ${r} "${n}"`;await this.exec(t)}}else{const t=`cd / && mkdir -p "${e}"`;await this.exec(t)}}async chown(e,t,r){e=jr.changeWinStylePathToUnix(e);const[n,a]=r?[t,r]:t.includes(":")?t.split(":"):[t,t];await this.exec(`chown ${n}:${a} "${e}"`)}async exec(e){return 0===(await this.client.execCommand(e)).code}close(){this.client.dispose(),this.isConnected=!1}}const qr=async e=>{const r=e.getConfig("picBed.sftpplist");if(!r)throw new Error("Can not find sftpplist config!");r.port=Number(r.port)||22,(r.port<0||r.port>65535)&&(r.port=22),r.uploadPath=Tt({path:r.uploadPath,rootToEmpty:!1});const n=Tt({path:r.webPath,rootToEmpty:!1});try{const a=e.output;for(const i of a)if(i.fileName&&i.buffer){let a=i.buffer;!a&&i.base64Image&&(a=Buffer.from(i.base64Image,"base64"));const E=t.join(e.baseDir,"uploadTemp"),o=t.join(e.baseDir,"imgTemp","sftpplist");s(o);const S=t.join(E,i.fileName);s(t.dirname(S)),I(S,a);const P=jr.getInstance();await P.connect(r);const c=t.join(`/${r.uploadPath}`.replace(/\/\/+/g,"/"),i.fileName);await P.upload(S,c,r),r.fileUser&&await P.chown(c,r.fileUser),delete i.base64Image,delete i.buffer;const u=r.customUrl||r.host;r.webPath?i.imgUrl=`${u}/${Dt(`${"/"===n?"":n}${i.fileName}`)}`:i.imgUrl=`${u}/${Dt(`${"/"===r.uploadPath?"":r.uploadPath}${i.fileName}`)}`;const p=t.join(o,i.fileName);s(t.dirname(p)),_(p),l(S,t.join(o,i.fileName)),i.galleryPath=`http://localhost:36699/sftpplist/${encodeURIComponent(i.fileName)}`,P.close()}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Xr=e=>{const t=e.getConfig("picBed.sftpplist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PORT")},default:t.port||22,required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},default:t.username||"",required:!0},{name:"password",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},default:t.password||"",required:!1},{name:"privateKey",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY")},default:t.privateKey||"",required:!1},{name:"passphrase",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE")},default:t.passphrase||"",required:!1},{name:"uploadPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_UPLOADPATH")},default:t.uploadPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH")},default:t.webPath||"",required:!1},{name:"fileUser",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_USER")},default:t.fileUser||"",required:!1},{name:"fileMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_MODE")},default:t.fileMode||"",required:!1},{name:"dirMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_DIR_MODE")},default:t.dirMode||"",required:!1}]};const Qr=(e,t,r,n="")=>({method:"POST",url:`https://${n}/api/v2/upload`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:r},formData:{smfile:{value:t,options:{filename:e}},ssl:"true"}}),Zr=async e=>{const t=e.getConfig("picBed.smms");if(!t?.token?.trim())throw new Error("SM.MS token is required!");const r=(t.backupDomain||"sm.ms").replace(/^https?:\/\//,"").replace(/\/$/,""),a=e.output;for(const i of a){if(!i.fileName)continue;const a=i.buffer||(i.base64Image?Buffer.from(i.base64Image,"base64"):void 0);if(!a)continue;const s=Qr(i.fileName,a,t.token,r),E=await e.request(s),o=JSON.parse(E);if("success"===o.code)i.imgUrl=o.data.url,i.hash=o.data.hash;else{if("image_repeated"!==o.code||"string"!=typeof o.images){const t=o.message||"Upload failed";throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:t}),new Error(t)}i.imgUrl=o.images;try{const e=await n.get(`https://${r}/api/v2/upload_history`,{headers:{Authorization:t.token}}),a=e.data?.data?.find(e=>e.url===o.images);a&&(i.hash=a.hash)}catch{}}delete i.base64Image,delete i.buffer}return e},Jr=e=>{const t=e.getConfig("picBed.smms")||{};return[bt(e,"SMMS","token","input",t.token||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_TOKEN")}}),bt(e,"SMMS","backupDomain","input",t.backupDomain||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_BACKUP_DOMAIN")}})]};const en=(e,t)=>{const{secretId:r,secretKey:n,appId:a,bucket:i,version:s,area:E,endpoint:o,path:S}=e;let I,_="";if(!s||"v4"===s){const e=Math.floor(1e10*Math.random()),t=Math.floor(Date.now()/1e3)-1,s=`a=${a}&b=${i}&k=${r}&e=${t+3600}&t=${t}&r=${e}&f=`,E=g.createHmac("sha1",n).update(s).digest(),o=Buffer.concat([E,Buffer.from(s)]);I=Buffer.from(o).toString("base64")}else{const e=Math.floor(Date.now()/1e3);_=`${e};${e+86400}`;const r=g.createHmac("sha1",n).update(_).digest("hex"),a=`put\n/${S}${t}\n\nhost=${i}.${o||`cos.${E}.myqcloud.com`}\n`,s=`sha1\n${_}\n${g.createHash("sha1").update(a).digest("hex")}\n`;I=g.createHmac("sha1",r).update(s).digest("hex")}return{signature:I,appId:a,bucket:i,signTime:_}},tn=(e,t,r,n,a)=>{const{area:i,path:s,bucket:E,endpoint:o,secretId:S}=e,I=`PicGo;${a};null;null`;if(!e.version||"v4"===e.version)return{method:"POST",url:`http://${i}.file.myqcloud.com/files/v2/${r.appId}/${r.bucket}/${encodeURI(s)}${t}`,headers:{Host:`${i}.file.myqcloud.com`,Authorization:r.signature,contentType:"multipart/form-data","User-Agent":I},formData:{op:"upload",filecontent:n},resolveWithFullResponse:!0};const _=`${E}.${o||`cos.${i}.myqcloud.com`}`;return{method:"PUT",url:`http://${_}/${Dt(`${s}${t}`)}`,headers:{Host:_,Authorization:`q-sign-algorithm=sha1&q-ak=${S}&q-sign-time=${r.signTime}&q-key-time=${r.signTime}&q-header-list=host&q-url-param-list=&q-signature=${r.signature}`,contentType:Y.getType(t)||"application/octet-stream","User-Agent":I},body:n,resolveWithFullResponse:!0}},rn=async e=>{const t=e.getConfig("picBed.tcyun");if(!t)throw new Error("Can't find tencent COS config");try{const r=e.output,n=(t.customUrl||"").replace(/\/$/,""),a=Tt({path:t.path}),i=Tt({path:t.webPath});t.path=a;const s=!t.version||"v4"===t.version;for(const E of r){if(!E.fileName||!E.buffer)continue;const r=en(t,E.fileName),o=E.buffer||Buffer.from(E.base64Image,"base64"),S=tn(t,E.fileName,r,o,e.GUI_VERSION||e.VERSION),I=await e.request(S).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}})),_=s&&"string"==typeof I?JSON.parse(I):I;if(400===_.statusCode)throw _?.body?.err||new Error(_?.body?.msg||_?.body?.message);const l=t.options||"",P=!!t.slim;if(delete E.base64Image,delete E.buffer,s&&"SUCCESS"===_.message)E.imgUrl=n?`${n}/${Dt(`${i||a}${E.fileName}`)}${l}`:`${_.data.source_url}${l}`;else{if(s||200!==_?.statusCode)throw new Error(I.body?.msg||"Upload failed");if(n)E.imgUrl=`${n}/${Dt(`${i||a}${E.fileName}`)}${l}`;else{const e=t.endpoint||`cos.${t.area}.myqcloud.com`;E.imgUrl=`https://${t.bucket}.${e}/${Dt(`${a}${E.fileName}`)}${l}`}}P&&(E.imgUrl+=l?"&imageSlim":"?imageSlim")}return e}catch(r){if((!t.version||"v4"===t.version)&&r.error)try{const t=JSON.parse(r.error);e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:t.code}),text:"https://cloud.tencent.com/document/product/436/8432"})}catch(e){}throw r}},nn=e=>{const t=e.getConfig("picBed.tcyun")||{};return[bt(e,"TENCENTCLOUD","version","list","v5",!1,void 0,{choices:["v4","v5"]}),bt(e,"TENCENTCLOUD","secretId","input",t.secretId||"",!0),bt(e,"TENCENTCLOUD","secretKey","input",t.secretKey||"",!0),bt(e,"TENCENTCLOUD","bucket","input",t.bucket||"",!0),bt(e,"TENCENTCLOUD","appId","input",t.appId||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_APPID")}}),bt(e,"TENCENTCLOUD","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_AREA")}}),bt(e,"TENCENTCLOUD","endpoint","input",t.endpoint||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT")}}),bt(e,"TENCENTCLOUD","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_PATH")}}),bt(e,"TENCENTCLOUD","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_WEBPATH")}}),bt(e,"TENCENTCLOUD","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL")}}),bt(e,"TENCENTCLOUD","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_OPTIONS")}}),bt(e,"TENCENTCLOUD","slim","confirm",!!t.slim,!1,void 0,{get confirmText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CONFIRM")},get cancelText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CANCEL")},get tips(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_TIP")}})]};const an="https://v0.api.upyun.com",sn=e=>g.createHash("md5").update(e).digest("hex"),En=async(e,t,r,n)=>{if(!t.fileName||!t.buffer)return;const a=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!a)return;const i=((e,t)=>{const{path:r="",operator:n,password:a,bucket:i}=e,s=sn(a),E=(new Date).toUTCString(),o=`PUT&/${i}/${Dt(`${r}${t}`)}&${E}`;return`UPYUN ${n}:${g.createHmac("sha1",s).update(o).digest("base64")}`})(r,t.fileName),s=((e,t,r,n)=>{const{bucket:a,path:i}=e;let s=(e.endpoint||an).replace(/\/+$/g,"");return s.startsWith("http")||(s=`https://${s}`),{method:"PUT",url:`${s}/${a}/${Dt(`${i}${t}`)}`,headers:{Authorization:r,Date:(new Date).toUTCString(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}})(r,t.fileName,i,a);if(200!==(await e.request(s)).statusCode)throw new Error("Upload failed");delete t.base64Image,delete t.buffer;const E=r.options||"",o=`${r.url}/${Dt(`${n}${t.fileName}`)}${E}`;t.imgUrl=r.antiLeechToken?on(o,r,t.fileName):o},on=(e,t,r)=>{const n=((e,t,r,n)=>{const a=`/${r.path||""}${n}`.replace(/%2F/g,"/").replace(/^\/+/g,"/"),i=Math.round(Date.now()/1e3),s=t?i+parseInt(t.toString(),10):i+1800;return`_upt=${sn(`${e}&${s}&${a}`).substring(12,20)}${s}`})(t.antiLeechToken,t.expireTime,t,r);return e.includes("?")?`${e}&${n}`:`${e}?${n}`},Sn=async e=>{const t=e.getConfig("picBed.upyun");if(!t)throw new Error("Can't find UpYun config");try{const r=e.output,n=Tt({path:t.path});t.path=n;for(const a of r)await En(e,a,t,n);return e}catch(t){throw In(e,t),t}},In=(e,t)=>{if("Upload failed"===t.message)e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")});else{const r=Ue(t.error),n="object"==typeof r&&r?r.code:r||"Unknown error";e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:n}),text:"http://docs.upyun.com/api/errno/"})}},_n=e=>{const t=e.getConfig("picBed.upyun")||{};return[bt(e,"upyun","bucket","input",t.bucket||"",!0),bt(e,"upyun","operator","input",t.operator||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPERATOR")}}),bt(e,"upyun","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PASSWORD")}}),bt(e,"upyun","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_URL")}}),bt(e,"upyun","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPTIONS")}}),bt(e,"upyun","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PATH")}}),bt(e,"upyun","antiLeechToken","input",t.antiLeechToken||"",!1),bt(e,"upyun","expireTime","input",t.expireTime||"",!1),bt(e,"upyun","endpoint","input",t.endpoint||an,!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_ENDPOINT")}})]};const ln=4294967296,Pn=e=>{if(e.buffer)return e.buffer;if(e.base64Image)return Buffer.from(e.base64Image,"base64");throw new Error("No image data found")},cn=(e,t,r,n,a,i)=>`${e}/${Dt(`${i?r:t}${n}`).replace(/^\/+/g,"")}${a}`,un=(e,r,n)=>{const i=t.join(e.baseDir,"imgTemp","webdavplist"),E=t.join(i,r);s(t.dirname(E)),a.writeFileSync(E,n)},pn=async(e,r,n,a)=>{const i=t.dirname(`${r}${n}`),s="/"===i?"":i;s&&await e.createDirectory(s,{recursive:!0});const E=`${r}${n}`.replace(/^\/+|\/+$/g,"");return await e.putFileContents(E,a,{overwrite:!0})},An=async e=>{const t=e.getConfig("picBed.webdavplist");if(!t)throw new Error("Can't find webdavplist config");var r;t.host=(r=t.host,`${t.sslEnabled?"https://":"http://"}${r.replace(/^https?:\/\/|\/+$/g,"")}`),t.path=Tt({path:t.path,rootToEmpty:!1});const n=Tt({path:t.webpath,rootToEmpty:!1}),a=t.options||"";try{const r=(e=>{const t={username:e.username,password:e.password,maxBodyLength:ln,maxContentLength:ln};return"digest"===e.authType&&(t.authType=re.Digest),ne(e.host,t)})(t),i=t.customUrl||t.host;for(const s of e.output){if(!s.fileName)continue;const E=Pn(s);if(!await pn(r,t.path,s.fileName,E))throw new Error("Upload failed");un(e,s.fileName,E),delete s.base64Image,delete s.buffer,s.imgUrl=cn(i,t.path,n,s.fileName,a,!!t.webpath),s.galleryPath=`http://localhost:36699/webdavplist/${encodeURIComponent(s.fileName)}`}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Cn=e=>{const t=e.getConfig("picBed.webdavplist")||{};return[bt(e,"webdavplist","host","input",t.host||"",!0),bt(e,"webdavplist","sslEnabled","confirm",!!t.sslEnabled,!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED")}}),bt(e,"webdavplist","username","input",t.username||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_USERNAME")}}),bt(e,"webdavplist","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PASSWORD")}}),bt(e,"webdavplist","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PATH")}}),bt(e,"webdavplist","webpath","input",t.webpath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH")}}),bt(e,"webdavplist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL")}}),bt(e,"webdavplist","authType","list",t.authType||"basic",!1,void 0,{choices:["basic","digest"]}),bt(e,"webdavplist","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_OPTIONS")}})]};const Tn=()=>({register(e){!function(e){e.helper.uploader.register(gt,{get name(){return e.i18n.translate("PICBED_ADVANCEDPLIST")},handle:Er,config:or})}(e),function(e){e.helper.uploader.register(mt,{get name(){return e.i18n.translate("PICBED_ALIST_PLIST")},handle:Pr,config:cr})}(e),function(e){e.helper.uploader.register(Lt,{get name(){return e.i18n.translate("PICBED_ALICLOUD")},handle:Cr,config:Tr})}(e),function(e){e.helper.uploader.register(dt,{get name(){return e.i18n.translate("PICBED_AWSS3PLIST")},handle:fr,config:Br})}(e),function(e){e.helper.uploader.register(ht,{get name(){return e.i18n.translate("PICBED_GITHUB")},handle:Or,config:Mr})}(e),function(e){e.helper.uploader.register(ft,{get name(){return e.i18n.translate("PICBED_IMGUR")},handle:Gr,config:wr})}(e),function(e){e.helper.uploader.register(Bt,{get name(){return e.i18n.translate("PICBED_LOCAL")},handle:br,config:xr})}(e),function(e){e.helper.uploader.register(Nt,{get name(){return e.i18n.translate("PICBED_LSKY_PLIST")},handle:Hr,config:Fr})}(e),function(e){e.helper.uploader.register(Ut,{get name(){return e.i18n.translate("PICBED_PICLIST")},handle:$r,config:kr})}(e),function(e){e.helper.uploader.register(Rt,{get name(){return e.i18n.translate("PICBED_QINIU")},handle:Vr,config:zr})}(e),function(e){e.helper.uploader.register(Ot,{get name(){return e.i18n.translate("PICBED_SFTPPLIST")},handle:qr,config:Xr})}(e),function(e){e.helper.uploader.register(Mt,{get name(){return e.i18n.translate("PICBED_SMMS")},handle:Zr,config:Jr})}(e),function(e){e.helper.uploader.register(yt,{get name(){return e.i18n.translate("PICBED_TENCENTCLOUD")},handle:rn,config:nn})}(e),function(e){e.helper.uploader.register(Gt,{get name(){return e.i18n.translate("PICBED_UPYUN")},handle:Sn,config:_n})}(e),function(e){e.helper.uploader.register(wt,{get name(){return e.i18n.translate("PICBED_WEBDAVPLIST")},handle:An,config:Cn})}(e)}});class Dn{ctx;db;constructor(e){if(this.ctx=e,this.db=new ae(this.ctx.configPath),!this.db.has("picBed"))try{this.db.set("picBed",{uploader:"smms",current:"smms",smms:{token:""}})}catch(e){throw this.ctx.log.error(e),e}if(!this.db.has("picgoPlugins"))try{this.db.set("picgoPlugins",{})}catch(e){throw this.ctx.log.error(e),e}}read(e){return this.db.read(e)}get(e=""){return this.read(!0),this.db.get(e)}set(e,t){this.read(!0),this.db.set(e,t)}has(e){return this.read(!0),this.db.has(e)}unset(e,t){return this.read(!0),this.db.unset(e,t)}saveConfig(e){Object.keys(e).forEach(t=>{this.set(t,e[t])})}removeConfig(e){Object.keys(e).forEach(t=>{this.unset(t,e[t])})}}const gn="piclist-clipboard-images",mn={darwin:'-- From https://github.com/mushanshitiancai/vscode-paste-image\nproperty fileTypes : {{«class PNGf», ".png"}}\n\non run argv\n\tif argv is {} then\n\t\treturn ""\n\tend if\n\n\tif ((clipboard info) as string) contains "«class furl»" then\n\t\treturn POSIX path of (the clipboard as «class furl»)\n\telse\n\t\tset imagePath to (item 1 of argv)\n\t\tset theType to getType()\n\n\t\tif theType is not missing value then\n\t\t\ttry\n\t\t\t\tset myFile to (open for access imagePath with write permission)\n\t\t\t\tset eof myFile to 0\n\t\t\t\twrite (the clipboard as (first item of theType)) to myFile\n\t\t\t\tclose access myFile\n\t\t\t\treturn (POSIX path of imagePath)\n\t\t\ton error\n\t\t\t\ttry\n\t\t\t\t\tclose access myFile\n\t\t\t\tend try\n\t\t\t\treturn "no image"\n\t\t\tend try\n\t\telse\n\t\t\treturn "no image"\n\t\tend if\n\tend if\nend run\n\non getType()\n\trepeat with aType in fileTypes\n\t\trepeat with theInfo in (clipboard info)\n\t\t\tif (first item of theInfo) is equal to (first item of aType) then return aType\n\t\tend repeat\n\tend repeat\n\treturn missing value\nend getType\n',win32:'\r\nparam($imagePath)\r\n\r\n# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\n\r\nAdd-Type -Assembly PresentationCore\r\n$img = [Windows.Clipboard]::GetImage()\r\n\r\nif ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\nif (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\n$fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n$stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n$encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n$encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n$encoder.Save($stream) | out-null\r\n$stream.Dispose() | out-null\r\n\r\n$imagePath\r\n',win10:'# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\nparam($imagePath)\r\n\r\n# https://github.com/PowerShell/PowerShell/issues/7233\r\n# fix the output encoding bug\r\n[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding\r\n\r\nAdd-Type -Assembly PresentationCore\r\nfunction main {\r\n $img = [Windows.Clipboard]::GetImage()\r\n\r\n if ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n if (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n $fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n $stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n $encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n $encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n $encoder.Save($stream) | out-null\r\n $stream.Dispose() | out-null\r\n\r\n $imagePath\r\n # fix windows 10 native cmd crash bug when "picgo upload"\r\n # https://github.com/PicGo/PicGo-Core/issues/32\r\n Exit 1\r\n}\r\n\r\ntry {\r\n # For WIN10\r\n $file = Get-Clipboard -Format FileDropList\r\n if ($null -ne $file) {\r\n Convert-Path $file\r\n Exit 1\r\n }\r\n} catch {\r\n # For WIN7 WIN8 WIN10\r\n main\r\n}\r\n\r\nmain',linux:'#!/bin/sh\nif [ "$XDG_SESSION_TYPE" = "x11" ]; then\n # require xclip(see http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212)\n command -v xclip >/dev/null 2>&1 || { echo >&1 "no xclip"; exit 1; }\n # write image in clipboard to file (see http://unix.stackexchange.com/questions/145131/copy-image-from-clipboard-to-file)\n filePath=`xclip -selection clipboard -o 2>/dev/null | grep ^file:// | cut -c8-`\n if [ ! -n "$filePath" ] ;then\n if\n xclip -selection clipboard -target image/png -o >/dev/null 2>&1\n then\n xclip -selection clipboard -target image/png -o >$1 2>/dev/null\n echo $1\n else\n echo "no image"\n fi\n else\n echo $filePath\n fi\nelif [ "$XDG_SESSION_TYPE" = "wayland" ]; then\n command -v wl-paste >/dev/null 2>&1 || { echo >&1 "no wl-clipboard"; exit 1; }\n isImage=`wl-paste --list-types | grep image`\n if [ -n "$isImage" ]; then\n wl-paste --type image/png > $1 2>/dev/null\n echo $1\n else\n echo "no image"\n exit 1\n fi\nfi',wsl:'#!/bin/sh\n# grab the paths\nscriptPath=$(echo $0 | awk \'{ print substr( $0, 1, length($0)-6 ) }\')"windows10.ps1"\nimagePath=$(echo $1 | awk \'{ print substr( $0, 1, length($0)-18 ) }\')\nimageName=$(echo $1 | awk \'{ print substr( $0, length($0)-17, length($0) ) }\')\n\n# run the powershell script\nres=$(powershell.exe -noprofile -noninteractive -nologo -sta -executionpolicy unrestricted -file $(wslpath -w $scriptPath) $(wslpath -w $imagePath)"\\\\"$imageName)\n\n# note that there is a return symbol in powershell result\nnoImage=$(echo "no image\\r")\n\n# check whether image exists\nif [ "$res" = "$noImage" ] ;then\n echo "no image"\nelse\n echo $(wslpath -u -a "${res}")\nfi\n'},Ln={darwin:"mac.applescript",win32:"windows.ps1",win10:"windows10.ps1",linux:"linux.sh",wsl:"wsl.sh"};const dn=async e=>{!function(e){const r=t.join(e.baseDir,gn);s(r)}(e);const r=t.join(e.baseDir,gn,`${H().format("YYYYMMDDHHmmssSSS")}.png`);return await new Promise((n,i)=>{const s=(()=>{const e=process.platform;return se?"wsl":"win32"===e?"10"===R.release().split(".")[0]?"win10":"win32":"darwin"===e?"darwin":"linux"})(),E=t.join(e.baseDir,Ln[s]);let o;a.existsSync(E)||a.writeFileSync(E,mn[s],"utf8"),o="darwin"===s?ie("osascript",[E,r]):"win32"===s||"win10"===s?ie("powershell",["-noprofile","-noninteractive","-nologo","-sta","-executionpolicy","unrestricted","-file",E,r]):ie("sh",[E,r]),o.stdout.on("data",E=>{if("linux"===s&&"no xclip or wl-clipboard"===E.toString().trim())return e.emit(Xe.NOTIFICATION,{title:"xclip or wl-clipboard not found",body:"Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"}),i(new Error("Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"));const o=E.toString().trim();let S=!1;if(t.basename(o)!==t.basename(r)&&a.existsSync(o)&&(S=!0),"no image"!==o&&!a.existsSync(o))return i(new Error(`Can't find ${o}`));n({imgPath:o,shouldKeepAfterUploading:S})})})};class hn extends e{_config;lifecycle;db;_pluginLoader;configPath;baseDir;helper;log;cmd;output;input;rawInput;processedInput;pluginHandler;Request;i18n;VERSION="2.0.5";GUI_VERSION;get pluginLoader(){return this._pluginLoader}constructor(e=""){super(),this.configPath=e,this.input=[],this.rawInput=[],this.processedInput=[],this.output=[],this.helper={transformer:new vt("transformer"),uploader:new vt("uploader"),beforeTransformPlugins:new vt("beforeTransformPlugins"),beforeUploadPlugins:new vt("beforeUploadPlugins"),afterUploadPlugins:new vt("afterUploadPlugins")},this.initConfigPath(),this.log=new zt(this),this.cmd=new Vt(this),this.pluginHandler=new jt(this),this.initConfig()}static async create(e=""){const t=new hn(e);return await t.init(),t}initConfigPath(){if(this.configPath=this.configPath||t.join(O(),".piclist/config.json"),".JSON"!==t.extname(this.configPath).toUpperCase())throw this.configPath="",Error("The configuration file only supports JSON format.");this.baseDir=t.dirname(this.configPath),o(this.configPath)||P(`${this.configPath}`)}initConfig(){this.db=new Dn(this),this._config=this.db.read(!0)}async init(){try{this.i18n=new Pt(this),this.Request=new rr(this),this._pluginLoader=new Xt(this),Yt("picgo"),Tn().register(this),{register(e){e.helper.transformer.register("path",ir),e.helper.transformer.register("base64",nr)}}.register(this),Yt(""),await this._pluginLoader.load(),this.lifecycle=new _t(this)}catch(e){throw this.emit(Xe.UPLOAD_PROGRESS,-1),this.log.error(e),e}}async use(e,t){return t?(await this.pluginLoader.registerPlugin(t,e),await this.pluginLoader.getPlugin(t)):e(this)}registerCommands(){""!==this.configPath&&(this.cmd.init(),this.cmd.loadCommands())}getConfig(e){return this._config=this.db.read(!0),e?C(this._config,e):this._config}saveConfig(e){Ne(e)?(this.setConfig(e),this.db.saveConfig(e)):this.log.warn("the format of config is invalid, please provide object")}removeConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be removed`):(this.unsetConfig(e,t),this.db.unset(e,t)))}setConfig(e){Ne(e)?Object.keys(e).forEach(t=>{Be(t)&&(this.log.warn(`the config.${t} can't be modified`),delete e[t]),T(this._config,t,e[t]),Qt.emit(Qe.CONFIG_CHANGE,{configName:t,value:e[t]})}):this.log.warn("the format of config is invalid, please provide object")}unsetConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be unset`):D(this.getConfig(e),t))}get request(){return this.Request.request.bind(this.Request)}async upload(e){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),[];if(void 0!==e&&0!==e.length){const{output:t}=await this.lifecycle.start(e);return t}try{const{imgPath:e,shouldKeepAfterUploading:t}=await dn(this),r=()=>{t||c(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");{this.once(Xe.FAILED,r),this.once(Xe.FINISHED,r);const{output:t}=await this.lifecycle.start([e]);return t}}catch(e){throw this.emit(Xe.FAILED,e),e}}async uploadReturnCtx(e,t=!1){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),this;if(void 0!==e&&0!==e.length)return await this.lifecycle.start(e,t);try{const{imgPath:e,shouldKeepAfterUploading:r}=await dn(this),n=()=>{r||c(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");return this.once(Xe.FAILED,n),this.once(Xe.FINISHED,n),await this.lifecycle.start([e],t)}catch(e){throw this.emit(Xe.FAILED,e),e}}}export{Vt as Commander,_t as Lifecycle,vt as LifecyclePlugins,zt as Logger,hn as PicGo,je as PicGoUtils,jt as PluginHandler,Xt as PluginLoader,rr as Request};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9jb21tb24udHMiLCIuLi9zcmMvdXRpbHMvZW51bS50cyIsIi4uL3NyYy9jb3JlL0xpZmVjeWNsZS50cyIsIi4uL3NyYy91dGlscy9jcmVhdGVDb250ZXh0LnRzIiwiLi4vc3JjL2kxOG4vZW4udHMiLCIuLi9zcmMvaTE4bi9pbmRleC50cyIsIi4uL3NyYy9pMThuL3poLUNOLnRzIiwiLi4vc3JjL2kxOG4vemgtVFcudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvY29uZmlnLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2kxOG4udHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvcGx1Z2luSGFuZGxlci50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9wcm94eS50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3NldHRpbmcudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV0cmFuc2Zvcm1lci9jb21wcmVzcy50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXRyYW5zZm9ybWVyL3dhdGVybWFyay50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXVwbG9hZC9idWlsZEluUmVuYW1lLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldHJhbnNmb3JtZXIvc2tpcFByb2Nlc3MudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvdXBsb2FkLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3VzZS50cyIsIi4uL3NyYy9saWIvTGlmZWN5Y2xlUGx1Z2lucy50cyIsIi4uL3NyYy9saWIvQ29tbWFuZGVyLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2luZGV4LnRzIiwiLi4vc3JjL2xpYi9Mb2dnZXIudHMiLCIuLi9zcmMvbGliL1BsdWdpbkhhbmRsZXIudHMiLCIuLi9zcmMvbGliL1BsdWdpbkxvYWRlci50cyIsIi4uL3NyYy91dGlscy9ldmVudEJ1cy50cyIsIi4uL3NyYy9saWIvUmVxdWVzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL2Jhc2U2NC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL3BhdGgudHMiLCIuLi9zcmMvcGx1Z2lucy90cmFuc2Zvcm1lci9pbmRleC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FkdmFuY2VkcGxpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FsaXl1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3MzL3V0aWxzLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvczMvdXBsb2FkZXIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9hd3NzM3BsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvZ2l0aHViLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvaW1ndXIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9sb2NhbC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2xza3kudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9waWNsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvcWluaXUudHMiLCIuLi9zcmMvdXRpbHMvc3NoQ2xpZW50LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvc2Z0cC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3NtbXMudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci90Y3l1bi50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3VweXVuLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvd2ViZGF2LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvaW5kZXgudHMiLCIuLi9zcmMvdXRpbHMvZGIudHMiLCIuLi9zcmMvdXRpbHMvc3RhdGljLnRzIiwiLi4vc3JjL3V0aWxzL2dldENsaXBib2FyZEltYWdlLnRzIiwiLi4vc3JjL2NvcmUvUGljR28udHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXSwibmFtZXMiOlsiX19kaXJuYW1lIiwiZGlybmFtZSIsImZpbGVVUkxUb1BhdGgiLCJ1cmwiLCJyYW5kb21TdHJpbmdHZW5lcmF0b3IiLCJsZW5ndGgiLCJvdXQiLCJBcnJheSIsImkiLCJwb29sIiwiYml0cyIsIk1hdGgiLCJyYW5kb20iLCJpZHgiLCJqb2luIiwiZm9ybWF0SGVscGVyIiwibnVtIiwidG9TdHJpbmciLCJnZXRNZDUiLCJpbnB1dCIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJ1cGRhdGUiLCJkaWdlc3QiLCJnZXRTaGEyNTYiLCJyZW5hbWVGaWxlTmFtZVdpdGhDdXN0b21TdHJpbmciLCJvbGROYW1lIiwiY3VzdG9tRm9ybWF0IiwiYWZmaXhGaWxlTmFtZSIsImZpbGVCdWZmZXIiLCJub3ciLCJEYXRlIiwieWVhciIsImdldEZ1bGxZZWFyIiwiZmlsZWJhc2VuYW1lIiwicGF0aCIsImJhc2VuYW1lIiwiZXh0bmFtZSIsImNvbnZlcnNpb25NYXAiLCJzbGljZSIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImdldEhvdXJzIiwiZ2V0TWludXRlcyIsImdldFNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJwYWRTdGFydCIsInV1aWR2NCIsInJlcGxhY2UiLCJnZXRUaW1lIiwidW5kZWZpbmVkIiwiT2JqZWN0Iiwia2V5cyIsInNvbWUiLCJpdGVtIiwiaW5jbHVkZXMiLCJleHQiLCJuZXdOYW1lIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiUmVnRXhwIiwiXyIsImdyb3VwMSIsInBhcnNlSW50IiwiX3Jlc3VsdCIsImtleSIsImNvdW50IiwibWF4Iiwic3BsaXQiLCJzZXAiLCJhIiwiYiIsImlzVXJsIiwidGVzdCIsImlzVXJsRW5jb2RlIiwiZGVjb2RlVVJJIiwiX2UiLCJoYW5kbGVVcmxFbmNvZGUiLCJlbmNvZGVVUkkiLCJnZXRJbWFnZVNpemUiLCJmaWxlIiwid2lkdGgiLCJoZWlnaHQiLCJ0eXBlIiwiaW1hZ2VTaXplIiwicmVhbCIsImdldEZTRmlsZSIsImFzeW5jIiwiZmlsZVBhdGgiLCJmaWxlTmFtZSIsImJ1ZmZlciIsImZzIiwicmVhZEZpbGUiLCJzdWNjZXNzIiwicmVhc29uIiwiZ2V0VVJMRmlsZSIsImN0eCIsInRpbWVvdXRJZCIsInJlcXVlc3RGbiIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVzIiwicmVxdWVzdCIsIm1ldGhvZCIsInJlc29sdmVXaXRoRnVsbFJlc3BvbnNlIiwicmVzcG9uc2VUeXBlIiwidGhlbiIsInJlc3AiLCJkYXRhIiwiY2xlYXJUaW1lb3V0IiwidXJsUGF0aCIsIlVSTCIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwiZ2V0Iiwic3RhcnRzV2l0aCIsImVycm9yIiwibWVzc2FnZSIsImNhdGNoIiwidGltZW91dFByb21pc2UiLCJzZXRUaW1lb3V0IiwicmFjZSIsImdldFBsdWdpbk5hbWVUeXBlIiwibmFtZSIsImlzU2ltcGxlTmFtZSIsIm5hbWVPclBhdGgiLCJpc0Fic29sdXRlIiwicGx1Z2luUGF0aCIsInByb2Nlc3MiLCJjd2QiLCJleGlzdHNTeW5jIiwiaGFuZGxlQ29tcGxldGVQbHVnaW5OYW1lIiwic2NvcGUiLCJnZXRQcm9jZXNzUGx1Z2luTmFtZSIsImxvZ2dlciIsImNvbnNvbGUiLCJoYW5kbGVVbml4U3R5bGVQYXRoIiwid2FybiIsImdldE5vcm1hbFBsdWdpbk5hbWUiLCJyZW1vdmVQbHVnaW5WZXJzaW9uIiwicGFja2FnZUpTT05QYXRoIiwicG9zaXgiLCJwa2ciLCJyZWFkSlNPTlN5bmMiLCJwYXRoU3RyIiwicmVnIiwibWF0Y2hBcnIiLCJtYXRjaCIsImNvbmZpZ0JsYWNrTGlzdCIsImlzQ29uZmlnS2V5SW5CbGFja0xpc3QiLCJibGFja0l0ZW0iLCJpc0lucHV0Q29uZmlnVmFsaWQiLCJjb25maWciLCJpc0FycmF5Iiwic2FmZVBhcnNlIiwic3RyIiwiSlNPTiIsInBhcnNlIiwiZm9yY2VOdW1iZXIiLCJpc05hTiIsIk51bWJlciIsImlzRGV2IiwiZW52IiwiTk9ERV9FTlYiLCJkZWZhdWx0V2F0ZXJtYXJrSW1hZ2VQYXRoIiwiQWRkV2F0ZXJtYXJrIiwiaW1nIiwid2F0ZXJtYXJrVHlwZSIsImRlZmF1bHRXYXRlcm1hcmtGb250UGF0aCIsImlzRnVsbFNjcmVlbldhdGVybWFyayIsIndhdGVybWFya0RlZ3JlZSIsInRleHQiLCJ3YXRlcm1hcmtGb250UGF0aCIsIndhdGVybWFya1NjYWxlUmF0aW8iLCJ3YXRlcm1hcmtDb2xvciIsIndhdGVybWFya0ltYWdlUGF0aCIsInBvc2l0aW9uIiwid2F0ZXJtYXJrSW1hZ2VPcGFjaXR5IiwiaW1hZ2UiLCJzaGFycCIsImFuaW1hdGVkIiwiaW1nV2lkdGgiLCJtZXRhZGF0YSIsIndhdGVybWFyayIsImNvbXBvc2l0ZSIsIkJ1ZmZlciIsImZyb20iLCJyYXciLCJjaGFubmVscyIsInRpbGUiLCJibGVuZCIsInRvQnVmZmVyIiwiY29sb3IiLCJmb250RmFtaWx5Iiwib3B0aW9ucyIsImFuY2hvciIsImF0dHJpYnV0ZXMiLCJmaWxsIiwidGV4dFNWRyIsIlRleHRUb1NWRyIsImxvYWRTeW5jIiwiZ2V0U1ZHIiwidGV4dDJTVkciLCJ3YXRlcm1hcmtXaWR0aCIsIndhdGVybWFya0hlaWdodCIsImdldFNpemUiLCJ3YXRlcm1hcmtSZXNpemVXaWR0aCIsImZsb29yIiwid2F0ZXJtYXJrUmVzaXplSGVpZ2h0IiwicmVzaXplIiwiZml0Iiwicm90YXRlIiwiYmFja2dyb3VuZCIsInIiLCJnIiwiYWxwaGEiLCJjcmVhdGVXYXRlcm1hcmsiLCJncmF2aXR5IiwidmFsaWRQYXJhbSIsInBhcmFtcyIsImV2ZXJ5IiwicGFyYW0iLCJhdmFpbGFibGVDb252ZXJ0Rm9ybWF0TGlzdCIsImltYWdlRm9ybWF0TGlzdCIsInZhbGlkT3V0cHV0Rm9ybWF0IiwiZm9ybWF0IiwiZ2V0VHJlYXRlZFdhdGVyTWFya09wdGlvbnMiLCJwaWNCZWQiLCJpc0FkZFdhdGVybWFyayIsImlzQWRkV2F0ZXJtYXJrTWFwIiwid2F0ZXJtYXJrVHlwZU1hcCIsImlzRnVsbFNjcmVlbldhdGVybWFya01hcCIsIndhdGVybWFya0RlZ3JlZU1hcCIsIndhdGVybWFya1RleHQiLCJ3YXRlcm1hcmtUZXh0TWFwIiwid2F0ZXJtYXJrU2NhbGVSYXRpb01hcCIsIndhdGVybWFya0NvbG9yTWFwIiwid2F0ZXJtYXJrSW1hZ2VQYXRoTWFwIiwid2F0ZXJtYXJrUG9zaXRpb24iLCJ3YXRlcm1hcmtQb3NpdGlvbk1hcCIsIndhdGVybWFya0ltYWdlT3BhY2l0eU1hcCIsImdldFRyZWF0ZWRDb21wcmVzc09wdGlvbnMiLCJxdWFsaXR5IiwicXVhbGl0eU1hcCIsImlzQ29udmVydCIsImlzQ29udmVydE1hcCIsImNvbnZlcnRGb3JtYXQiLCJjb252ZXJ0Rm9ybWF0TWFwIiwiaXNSZVNpemUiLCJpc1JlU2l6ZU1hcCIsInJlU2l6ZUhlaWdodCIsInJlU2l6ZUhlaWdodE1hcCIsInJlU2l6ZVdpZHRoIiwicmVTaXplV2lkdGhNYXAiLCJza2lwUmVTaXplT2ZTbWFsbEltZyIsInNraXBSZVNpemVPZlNtYWxsSW1nTWFwIiwiaXNSZVNpemVCeVBlcmNlbnQiLCJpc1JlU2l6ZUJ5UGVyY2VudE1hcCIsInJlU2l6ZVBlcmNlbnQiLCJyZVNpemVQZXJjZW50TWFwIiwiaXNSb3RhdGUiLCJpc1JvdGF0ZU1hcCIsInJvdGF0ZURlZ3JlZSIsInJvdGF0ZURlZ3JlZU1hcCIsImlzUmVtb3ZlRXhpZiIsImlzUmVtb3ZlRXhpZk1hcCIsImlzRmxpcCIsImlzRmxpcE1hcCIsImlzRmxvcCIsImlzRmxvcE1hcCIsImZvcm1hdENvbnZlcnRPYmoiLCJmb3JtYXRDb252ZXJ0T2JqTWFwIiwiaW1hZ2VBZGRXYXRlck1hcmsiLCJmb3JtYXRPcHRpb25zIiwiaW1hZ2VDb21wcmVzcyIsInJhd0Zvcm1hdCIsIm5vcm1hbGl6ZUltYWdlRXh0IiwibWluIiwicm91bmQiLCJpbWFnZVdpZHRoIiwiaW1hZ2VIZWlnaHQiLCJzY2FsZVJhdGlvIiwiZmxpcCIsImZsb3AiLCJuZXdGb3JtYXQiLCJnZXRDb252ZXJ0ZWRGb3JtYXQiLCJ0b0Zvcm1hdCIsIm1vempwZWciLCJ0b0xvd2VyQ2FzZSIsImlzTmVlZEFkZFdhdGVybWFyayIsIndhdGVybWFya09wdGlvbnMiLCJmaWxlRXh0IiwiaXNOZWVkQ29tcHJlc3MiLCJjb21wcmVzc09wdGlvbnMiLCJyZW1vdmVFeGlmIiwiSUxvZ1R5cGUiLCJJQnVpbGRJbkV2ZW50IiwiSUJ1c0V2ZW50IiwiTUVTU0FHRVMiLCJQUk9HUkVTUyIsIkRFRkFVTFRfU0tJUF9FWFRFTlNJT05TIiwiREVGQVVMVF9VUExPQURFUiIsIkxpZmVjeWNsZSIsIkV2ZW50RW1pdHRlciIsInR0ZlBhdGgiLCJjb25zdHJ1Y3RvciIsInN1cGVyIiwidGhpcyIsImJhc2VEaXIiLCJpbml0aWFsaXplRGlycyIsImVuc3VyZURpclN5bmMiLCJnZXRDb25maWciLCJlbXB0eURpclN5bmMiLCJkb3dubG9hZFRURiIsInN0YXRTeW5jIiwic2l6ZSIsImxvZyIsImluZm8iLCJheGlvcyIsIndyaXRlRmlsZVN5bmMiLCJnZXRQcm9jZXNzaW5nT3B0aW9ucyIsImdldFVwbG9hZGVyVHlwZSIsImdldFNraXBFeHRlbnNpb25zIiwic2tpcFByb2Nlc3MiLCJza2lwUHJvY2Vzc0V4dExpc3QiLCJtYXAiLCJ0cmltIiwiU2V0IiwiZm9ybWF0dGVkSXRlbSIsInN0YXJ0IiwiY29uZmlnUGF0aCIsImNtZCIsIm91dHB1dCIsInJhd0lucHV0IiwicHJvY2Vzc2VkSW5wdXQiLCJwbHVnaW5Mb2FkZXIiLCJwbHVnaW5IYW5kbGVyIiwiUmVxdWVzdCIsImhlbHBlciIsIlZFUlNJT04iLCJHVUlfVkVSU0lPTiIsImkxOG4iLCJiaW5kIiwic2F2ZUNvbmZpZyIsInJlbW92ZUNvbmZpZyIsInNldENvbmZpZyIsInVuc2V0Q29uZmlnIiwidXBsb2FkIiwidXBsb2FkUmV0dXJuQ3R4IiwiYWRkTGlzdGVuZXIiLCJvbiIsIm9uY2UiLCJyZW1vdmVMaXN0ZW5lciIsIm9mZiIsInJlbW92ZUFsbExpc3RlbmVycyIsInNldE1heExpc3RlbmVycyIsImdldE1heExpc3RlbmVycyIsImxpc3RlbmVycyIsInJhd0xpc3RlbmVycyIsImVtaXQiLCJsaXN0ZW5lckNvdW50IiwicHJlcGVuZExpc3RlbmVyIiwicHJlcGVuZE9uY2VMaXN0ZW5lciIsImV2ZW50TmFtZXMiLCJjcmVhdGVDb250ZXh0IiwiRXJyb3IiLCJpbml0aWFsaXplQ29udGV4dCIsImhhbmRsZVNraXBQcm9jZXNzIiwiZXhlY3V0ZUxpZmVjeWNsZSIsImUiLCJoYW5kbGVFcnJvciIsInJhd0lucHV0UGF0aCIsImNsb25lRGVlcCIsImRvVXBsb2FkIiwiYWZ0ZXJVcGxvYWQiLCJwcmVwcm9jZXNzIiwiYmVmb3JlVHJhbnNmb3JtIiwiZG9UcmFuc2Zvcm0iLCJidWlsZEluUmVuYW1lIiwiYmVmb3JlVXBsb2FkIiwiRkFJTEVEIiwiVVBMT0FEX1BST0dSRVNTIiwic2tpcEV4dGVuc2lvbnMiLCJCRUZPUkVfVFJBTlNGT1JNIiwidGVtcEZpbGVQYXRoIiwicHJvY2Vzc0ltYWdlcyIsImluaXRpYWxpemVSYXdJbnB1dFBhdGhzIiwicHVzaCIsImFsbFNldHRsZWQiLCJpbmRleCIsInByb2Nlc3NJbWFnZSIsIml0ZW1Jc1VybCIsImV4dGVuc2lvbiIsInNob3VsZFNraXBFeHRlbnNpb24iLCJoYXMiLCJyZWFkRmlsZVN5bmMiLCJ0cmFuc2Zvcm1lZEJ1ZmZlciIsImFwcGx5UHJvY2Vzc2luZyIsInNhdmVQcm9jZXNzZWRJbWFnZSIsImNvbXByZXNzSW1hZ2UiLCJhZGRXYXRlcm1hcmsiLCJub3JtYWxpemVkRXh0ZW5zaW9uIiwiY29udmVydEhlaWNBbmRDb21wcmVzcyIsImhlaWNSZXN1bHQiLCJoZWljQ29udmVydCIsInRlbXBIZWljQ29udmVydEZpbGUiLCJuZXdFeHQiLCJ0ZW1wRmlsZSIsImdldEZpbGVCYXNlTmFtZSIsInJlbmFtZUNvbmZpZyIsImVuYWJsZSIsImJhc2U2NEltYWdlIiwiaGFuZGxlUGx1Z2lucyIsImJlZm9yZVRyYW5zZm9ybVBsdWdpbnMiLCJ0cmFuc2Zvcm1lciIsImN1cnJlbnRUcmFuc2Zvcm1lciIsImhhbmRsZSIsIkJFRk9SRV9VUExPQUQiLCJiZWZvcmVVcGxvYWRQbHVnaW5zIiwidXBsb2FkZXIiLCJjdXJyZW50VXBsb2FkZXIiLCJvdXRwdXRJbWciLCJBRlRFUl9VUExPQUQiLCJhZnRlclVwbG9hZFBsdWdpbnMiLCJtc2ciLCJpc0VuY29kZU91dHB1dFVSTCIsImltZ1VybCIsIkZJTklTSEVEIiwibGlmZUN5Y2xlUGx1Z2lucyIsInBsdWdpbnMiLCJnZXRMaXN0IiwicGx1Z2luTmFtZXMiLCJnZXRJZExpc3QiLCJsaWZlQ3ljbGVOYW1lIiwiZ2V0TmFtZSIsImFsbCIsInBsdWdpbiIsImxhbmd1YWdlTGlzdCIsIlVQTE9BRF9GQUlMRUQiLCJDSEVDS19TRVRUSU5HUyIsIkNIRUNLX1NFVFRJTkdTX0FORF9ORVRXT1JLIiwiVVBMT0FEX0ZBSUxFRF9SRUFTT04iLCJTRVJWRVJfRVJST1IiLCJBVVRIX0ZBSUxFRCIsIlBJQ0JFRF9TTU1TIiwiUElDQkVEX1NNTVNfVE9LRU4iLCJQSUNCRURfU01NU19NRVNTQUdFX1RPS0VOIiwiUElDQkVEX1NNTVNfQkFDS1VQRE9NQUlOIiwiUElDQkVEX1NNTVNfTUVTU0FHRV9CQUNLVVBfRE9NQUlOIiwiUElDQkVEX0FEVkFOQ0VEUExJU1QiLCJQSUNCRURfQURWQU5DRURQTElTVF9FTkRQT0lOVCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVRIT0QiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX01FVEhPRCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0ZPUk1EQVRBS0VZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9GT1JNREFUQUtFWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfQ1VTVE9NUFJFRklYIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9DVVNUT01QUkVGSVgiLCJQSUNCRURfQURWQU5DRURQTElTVF9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfUkVTREFUQVBBVEgiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX1JFU0RBVEFQQVRIIiwiUElDQkVEX0xPQ0FMIiwiUElDQkVEX0xPQ0FMX1BBVEgiLCJQSUNCRURfTE9DQUxfTUVTU0FHRV9QQVRIIiwiUElDQkVEX0xPQ0FMX0NVU1RPTVVSTCIsIlBJQ0JFRF9MT0NBTF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9MT0NBTF9XRUJQQVRIIiwiUElDQkVEX0xPQ0FMX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9BTElTVF9QTElTVCIsIlBJQ0JFRF9BTElTVF9VUkwiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VUkwiLCJQSUNCRURfQUxJU1RfVE9LRU4iLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9UT0tFTiIsIlBJQ0JFRF9BTElTVF9VU0VSTkFNRSIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX0FMSVNUX1BBU1NXT1JEIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfUEFTU1dPUkQiLCJQSUNCRURfQUxJU1RfVVBMT0FEUEFUSCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1VQTE9BRF9QQVRIIiwiUElDQkVEX0FMSVNUX1dFQlBBVEgiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9XRUJfUEFUSCIsIlBJQ0JFRF9BTElTVF9DVVNUT01VUkwiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfQUxJQ0xPVUQiLCJQSUNCRURfQUxJQ0xPVURfQUNDRVNTS0VZSUQiLCJQSUNCRURfQUxJQ0xPVURfQUNDRVNTS0VZU0VDUkVUIiwiUElDQkVEX0FMSUNMT1VEX0JVQ0tFVCIsIlBJQ0JFRF9BTElDTE9VRF9BUkVBIiwiUElDQkVEX0FMSUNMT1VEX1BBVEgiLCJQSUNCRURfQUxJQ0xPVURfV0VCUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9DVVNUT01VUkwiLCJQSUNCRURfQUxJQ0xPVURfT1BUSU9OUyIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX0FSRUEiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9QQVRIIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfVEVOQ0VOVENMT1VEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9WRVJTSU9OIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TRUNSRVRJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0VDUkVUS0VZIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9BUFBJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQlVDS0VUIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9BUkVBIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9FTkRQT0lOVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfV0VCUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfT1BUSU9OUyIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQ1VTVE9NVVJMIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0FQUElEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0FSRUEiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNX1RJUCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9DT05GSVJNIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNX0NBTkNFTCIsIlBJQ0JFRF9HSVRIVUIiLCJQSUNCRURfR0lUSFVCX1RPS0VOIiwiUElDQkVEX0dJVEhVQl9SRVBPIiwiUElDQkVEX0dJVEhVQl9QQVRIIiwiUElDQkVEX0dJVEhVQl9XRUJQQVRIIiwiUElDQkVEX0dJVEhVQl9CUkFOQ0giLCJQSUNCRURfR0lUSFVCX0NVU1RPTVVSTCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9SRVBPIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX0JSQU5DSCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9QQVRIIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1FJTklVIiwiUElDQkVEX1FJTklVX0FDQ0VTU0tFWSIsIlBJQ0JFRF9RSU5JVV9TRUNSRVRLRVkiLCJQSUNCRURfUUlOSVVfQlVDS0VUIiwiUElDQkVEX1FJTklVX1BBVEgiLCJQSUNCRURfUUlOSVVfVVJMIiwiUElDQkVEX1FJTklVX09QVElPTlMiLCJQSUNCRURfUUlOSVVfQVJFQSIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX1BBVEgiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9BUkVBIiwiUElDQkVEX1FJTklVX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9JTUdVUiIsIlBJQ0JFRF9JTUdVUl9DTElFTlRJRCIsIlBJQ0JFRF9JTUdVUl9VU0VSTkFNRSIsIlBJQ0JFRF9JTUdVUl9BQ0NFU1NfVE9LRU4iLCJQSUNCRURfSU1HVVJfQUxCVU0iLCJQSUNCRURfSU1HVVJfUFJPWFkiLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9DTElFTlRJRCIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQUNDRVNTX1RPS0VOIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQUxCVU0iLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9QUk9YWSIsIlBJQ0JFRF9VUFlVTiIsIlBJQ0JFRF9VUFlVTl9CVUNLRVQiLCJQSUNCRURfVVBZVU5fT1BFUkFUT1IiLCJQSUNCRURfVVBZVU5fUEFTU1dPUkQiLCJQSUNCRURfVVBZVU5fUEFUSCIsIlBJQ0JFRF9VUFlVTl9VUkwiLCJQSUNCRURfVVBZVU5fT1BUSU9OUyIsIlBJQ0JFRF9VUFlVTl9FTkRQT0lOVCIsIlBJQ0JFRF9VUFlVTl9BTlRJTEVFQ0hUT0tFTiIsIlBJQ0JFRF9VUFlVTl9FWFBJUkVUSU1FIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfT1BFUkFUT1IiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9QQVRIIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfV0VCREFWUExJU1QiLCJQSUNCRURfV0VCREFWUExJU1RfSE9TVCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9TU0xFTkFCTEVEIiwiUElDQkVEX1dFQkRBVlBMSVNUX1VTRVJOQU1FIiwiUElDQkVEX1dFQkRBVlBMSVNUX1BBU1NXT1JEIiwiUElDQkVEX1dFQkRBVlBMSVNUX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfV0VCUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9DVVNUT01VUkwiLCJQSUNCRURfV0VCREFWUExJU1RfQVVUSFRZUEUiLCJQSUNCRURfV0VCREFWUExJU1RfT1BUSU9OUyIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX0hPU1QiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9TU0xFTkFCTEVEIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfVVNFUk5BTUUiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9XRUJTSVRFX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1NGVFBQTElTVCIsIlBJQ0JFRF9TRlRQUExJU1RfSE9TVCIsIlBJQ0JFRF9TRlRQUExJU1RfUE9SVCIsIlBJQ0JFRF9TRlRQUExJU1RfVVNFUk5BTUUiLCJQSUNCRURfU0ZUUFBMSVNUX1BBU1NXT1JEIiwiUElDQkVEX1NGVFBQTElTVF9QUklWQVRFS0VZIiwiUElDQkVEX1NGVFBQTElTVF9QUklWQVRFS0VZX1BBU1NQSFJBU0UiLCJQSUNCRURfU0ZUUFBMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX0NVU1RPTVVSTCIsIlBJQ0JFRF9TRlRQUExJU1RfV0VCU0lURV9QQVRIIiwiUElDQkVEX1NGVFBQTElTVF9GSUxFX1VTRVIiLCJQSUNCRURfU0ZUUFBMSVNUX0ZJTEVfTU9ERSIsIlBJQ0JFRF9TRlRQUExJU1RfRElSX01PREUiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfSE9TVCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9QT1JUIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1BSSVZBVEVLRVkiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfUFJJVkFURUtFWV9QQVNTUEhSQVNFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1VQTE9BRFBBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1dFQlNJVEVfUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9GSUxFX1VTRVIiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfRklMRV9NT0RFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0RJUl9NT0RFIiwiUElDQkVEX1BJQ0xJU1QiLCJQSUNCRURfUElDTElTVF9IT1NUIiwiUElDQkVEX1BJQ0xJU1RfUE9SVCIsIlBJQ0JFRF9QSUNMSVNUX1BJQ0JFRCIsIlBJQ0JFRF9QSUNMSVNUX0NPTkZJR05BTUUiLCJQSUNCRURfUElDTElTVF9LRVkiLCJQSUNCRURfTFNLWV9QTElTVCIsIlBJQ0JFRF9MU0tZX1ZFUlNJT04iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1ZFUlNJT04iLCJQSUNCRURfTFNLWV9IT1NUIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9IT1NUIiwiUElDQkVEX0xTS1lfVE9LRU4iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1RPS0VOIiwiUElDQkVEX0xTS1lfU1RSQVRFR1lfSUQiLCJQSUNCRURfTFNLWV9NRVNTQUdFX1NUUkFURUdZX0lEIiwiUElDQkVEX0xTS1lfQUxCVU1fSUQiLCJQSUNCRURfTFNLWV9NRVNTQUdFX0FMQlVNX0lEIiwiUElDQkVEX0xTS1lfUEVSTUlTU0lPTiIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfUEVSTUlTU0lPTiIsIlBJQ0JFRF9BV1NTM1BMSVNUIiwiUElDQkVEX0FXU1MzUExJU1RfQUNDRVNTS0VZSUQiLCJQSUNCRURfQVdTUzNQTElTVF9TRUNSRVRfQUNDRVNTS0VZIiwiUElDQkVEX0FXU1MzUExJU1RfQlVDS0VUIiwiUElDQkVEX0FXU1MzUExJU1RfUkVHSU9OIiwiUElDQkVEX0FXU1MzUExJU1RfVVBMT0FEUEFUSCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0VORFBPSU5UIiwiUElDQkVEX0FXU1MzUExJU1RfUFJPWFkiLCJQSUNCRURfQVdTUzNQTElTVF9VUkxQUkVGSVgiLCJQSUNCRURfQVdTUzNQTElTVF9PUFRJT05TIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX0FXU1MzUExJU1RfUEFUSFNUWUxFQUNDRVNTIiwiUElDQkVEX0FXU1MzUExJU1RfUkVKRUNUVU5BVVRIT1JJWkVEIiwiUElDQkVEX0FXU1MzUExJU1RfQUNMIiwiUElDQkVEX0FXU1MzUExJU1RfRElTQUJMRUJVQ0tFVFBSRUZJWFRPVVJMIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9BQ0NFU1NLRVlJRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfU0VDUkVUX0FDQ0VTU0tFWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQlVDS0VUIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9SRUdJT04iLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1VQTE9BRFBBVEgiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9QUk9YWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfVVJMUFJFRklYIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9QQVRIU1RZTEVBQ0NFU1MiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1JFSkVDVFVOQVVUSE9SSVpFRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQUNMIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9ESVNBQkxFQlVDS0VUUFJFRklYVE9VUkwiLCJCVUlMRElOX1dBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX0lTQUREV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9JU0FERFdBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1RZUEUiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS1RZUEUiLCJCVUlMRElOX1dBVEVSTUFSS19JU0ZVTExTQ1JFRU5XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX0lTRlVMTFNDUkVFTldBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0RFR1JFRSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLREVHUkVFIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLVEVYVCIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLVEVYVCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0ZPTlRQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1NDQUxFUkFUSU8iLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0ZPTlRSQVRJTyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0NPTE9SIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UQ09MT1IiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktJTUFHRVBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0lNQUdFUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1BPU0lUSU9OIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktQT1NJVElPTiIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0lNQUdFT1BBQ0lUWSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLSU1BR0VPUEFDSVRZIiwiQlVJTERJTl9TS0lQUFJPQ0VTUyIsIkJVSUxESU5fU0tJUFBST0NFU1NfU0tJUFBST0NFU1NFWFRMSVNUIiwiQlVJTERJTl9SRU5BTUUiLCJCVUlMRElOX1JFTkFNRV9GT1JNQVQiLCJCVUlMRElOX1JFTkFNRV9FTkFCTEUiLCJCVUlMRElOX0NPTVBSRVNTIiwiQlVJTERJTl9DT01QUkVTU19RVUFMSVRZIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1FVQUxJVFkiLCJCVUlMRElOX0NPTVBSRVNTX0lTQ09OVkVSVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU0NPTlZFUlQiLCJCVUlMRElOX0NPTVBSRVNTX0NPTlZFUlRGT1JNQVQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfQ09OVkVSVEZPUk1BVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRVNJWkUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRVNJWkUiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRVdJRFRIIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRVdJRFRIIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVIRUlHSFQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFSEVJR0hUIiwiQlVJTERJTl9DT01QUkVTU19JU1JFU0laRUJZUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JFU0laRUJZUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNGTElQIiwiQlVJTERJTl9DT01QUkVTU19JU0ZMT1AiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfU0tJUFJFU0laRU9GU01BTExJTUciLCJCVUlMRElOX0NPTVBSRVNTX0lTUk9UQVRFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUk9UQVRFIiwiQlVJTERJTl9DT01QUkVTU19ST1RBVEVERUdSRUUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUk9UQVRFREVHUkVFIiwiQlVJTERJTl9DT01QUkVTU19JU1JFTU9WRUVYSUYiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRU1PVkVFWElGIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRF9SRUFTT04iLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRURfUEFUSCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRURfUkVBU09OIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRURfVkFMSUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEX1JFQVNPTiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEX1ZBTElEIiwiZW4iLCJJMThuTWFuYWdlciIsIm9iamVjdEFkYXB0ZXIiLCJPYmplY3RBZGFwdGVyIiwibGFuZ3VhZ2UiLCJJMThuIiwiYWRhcHRlciIsImRlZmF1bHRMYW5ndWFnZSIsImxvYWRPdXR0ZXJJMThuIiwiaTE4bkZvbGRlciIsImdldE91dHRlckkxOG5Gb2xkZXIiLCJyZWFkZGlyU3luYyIsIndpdGhGaWxlVHlwZXMiLCJmb3JFYWNoIiwiaXNGaWxlIiwiZW5kc1dpdGgiLCJpMThuRmlsZVBhdGgiLCJpMThuRmlsZSIsImkxOG5GaWxlT2JqIiwieWFtbCIsImxvYWQiLCJwYXRoRXhpc3RzU3luYyIsInRyYW5zbGF0ZSIsImFyZ3MiLCJzZXRMYW5ndWFnZSIsImFkZExvY2FsZSIsImxvY2FsZXMiLCJvcmlnaW5Mb2NhbGVzIiwiZ2V0TG9jYWxlIiwibmV3TG9jYWxlcyIsIm1lcmdlIiwic2V0TG9jYWxlIiwiYWRkTGFuZ3VhZ2UiLCJnZXRMYW5ndWFnZUxpc3QiLCJwcm9ncmFtIiwib3B0aW9uIiwiY29tbWFuZCIsImFyZ3VtZW50cyIsImRlc2NyaXB0aW9uIiwiYWN0aW9uIiwibGFuZyIsImxpc3QiLCJwcm9tcHRzIiwiY2hvaWNlcyIsImRlZmF1bHQiLCJpbnF1aXJlciIsInByb21wdCIsImNyZWF0ZUNvbW1hbmQiLCJhbGlhcyIsInByb3h5IiwicmVnaXN0cnkiLCJpbnN0YWxsIiwidW5pbnN0YWxsIiwiZm9ybWF0UGF0aEhlbHBlciIsInN0YXJ0U2xhc2giLCJlbmRTbGFzaCIsInJvb3RUb0VtcHR5IiwiY2xlYW5QYXRoIiwiZW5jb2RlUGF0aCIsInAiLCJlbmNvZGVVUklDb21wb25lbnQiLCJidWlsZEluVXBsb2FkZXJOYW1lcyIsImNyZWF0ZUZpZWxkIiwicGljQmVkTmFtZSIsImRlZmF1bHRWYWx1ZSIsInJlcXVpcmVkIiwiaTE4blByZWZpeCIsImV4dHJhcyIsInByZWZpeCIsInRvVXBwZXJDYXNlIiwidXBsb2FkZXJUcmFuc2xhdG9ycyIsImFkdmFuY2VkcGxpc3QiLCJhbGlzdHBsaXN0IiwiYWxpeXVuIiwiZ2l0aHViIiwiaW1ndXIiLCJsb2NhbCIsImxza3lwbGlzdCIsInBpY2xpc3QiLCJxaW5pdSIsInNmdHBwbGlzdCIsInNtbXMiLCJ0Y3l1biIsInVweXVuIiwid2ViZGF2cGxpc3QiLCJCVUlMRElOX01PRFVMRVMiLCJjb21wcmVzcyIsInVzZXJDb25maWciLCJyZW5hbWUiLCJoYW5kbGVDb25maWciLCJtb2R1bGUiLCJhbnN3ZXIiLCJjb25maWdOYW1lIiwiZ2V0Q29uZmlnTmFtZSIsImJ1aWxkaW4iLCJzZXR0aW5nIiwiZW50cmllcyIsInZhbHVlIiwic2VsZWN0ZWRNb2R1bGUiLCJoYW5kbGVCdWlsZGluTW9kdWxlIiwiaGFuZGxlVXBsb2FkZXJPclRyYW5zZm9ybWVyIiwicGx1Z2luTmFtZSIsImdldFBsdWdpbiIsImdldEZ1bGxMaXN0IiwiaGFuZGxlUGx1Z2luIiwiYXJndiIsImlucHV0TGlzdCIsImZpbHRlciIsImV4aXN0IiwidXNlIiwicGljZ29QbHVnaW5zIiwiTGlmZWN5Y2xlUGx1Z2lucyIsInN0YXRpYyIsInBsdWdpbklkTWFwIiwiTWFwIiwicmVnaXN0ZXIiLCJpZCIsIlR5cGVFcnJvciIsInNldCIsImN1cnJlbnRQbHVnaW4iLCJ1bnJlZ2lzdGVyIiwicGx1Z2luTGlzdCIsImRlbGV0ZSIsInZhbHVlcyIsInNldEN1cnJlbnRQbHVnaW5OYW1lIiwiQ29tbWFuZGVyIiwiQ29tbWFuZCIsImluaXQiLCJ2ZXJzaW9uIiwiZGVidWciLCJzaWxlbnQiLCJleGl0IiwiY3VycmVudFBsdWdpbk5hbWUiLCJsb2FkQ29tbWFuZHMiLCJMb2dnZXIiLCJsZXZlbCIsImxvZ0xldmVsIiwibG9nUGF0aCIsImhhbmRsZUxvZyIsImNoZWNrTG9nTGV2ZWwiLCJsb2dIZWFkZXIiLCJjaGFsayIsInJlc3VsdCIsImNoZWNrTG9nRmlsZUlzTGFyZ2UiLCJpc0xhcmdlIiwid2FybmluZ01zZyIsImxvZ0ZpbGVTaXplTGltaXQiLCJ5ZWxsb3ciLCJyZWNyZWF0ZUxvZ0ZpbGUiLCJ1bnNoaWZ0IiwiaGFuZGxlV3JpdGVMb2ciLCJsb2dGaWxlU2l6ZSIsInVubGlua1N5bmMiLCJjcmVhdGVGaWxlU3luYyIsImRheWpzIiwidXRpbCIsInN0YWNrIiwic3RyaW5naWZ5IiwiYXBwZW5kRmlsZVN5bmMiLCJQbHVnaW5IYW5kbGVyIiwiaW5zdGFsbGVkUGx1Z2lucyIsInByb2Nlc3NQbHVnaW5zIiwiaGFuZGxlUGx1Z2luTmFtZVByb2Nlc3MiLCJoYXNQbHVnaW4iLCJwa2dOYW1lIiwiZnVsbE5hbWVMaXN0IiwiZnVsbE5hbWUiLCJwa2dOYW1lTGlzdCIsImV4ZWNDb21tYW5kIiwiY29kZSIsImVyciIsInRpdGxlIiwiYm9keSIsInJlZ2lzdGVyUGx1Z2luIiwidW5yZWdpc3RlclBsdWdpbiIsIm1vZHVsZXMiLCJ3aGVyZSIsImNvbmNhdCIsIm5wbSIsInNwYXduIiwic3Rkb3V0IiwicGlwZSIsInN0ZGVyciIsIlBsdWdpbkxvYWRlciIsImZ1bGxMaXN0IiwicGx1Z2luTWFwIiwicGFja2FnZVBhdGgiLCJyZXBvc2l0b3J5IiwibGljZW5zZSIsInJlc29sdmVQbHVnaW4iLCJzeW5jIiwiYmFzZWRpciIsInBsdWdpbkRpciIsImpzb24iLCJkZXBzIiwiZGVwZW5kZW5jaWVzIiwiZGV2RGVwcyIsImRldkRlcGVuZGVuY2llcyIsImFkZCIsInBsdWdpbkludGVyZmFjZSIsIk5PVElGSUNBVElPTiIsInBhY2thZ2VKc29uUGF0aCIsInBhY2thZ2VKc29uIiwibWFpbiIsInBvc3NpYmxlRW50cmllcyIsImVudHJ5IiwiZW50cnlQYXRoIiwicGx1Z2luVXJsIiwicGF0aFRvRmlsZVVSTCIsImhyZWYiLCJtb2QiLCJpbXBvcnQiLCJldmVudEJ1cyIsImh0dHBzQWdlbnQiLCJodHRwcyIsIkFnZW50IiwibWF4VmVyc2lvbiIsIm1pblZlcnNpb24iLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJhcHBlbmRGb3JtRGF0YSIsImZvcm0iLCJhcHBlbmQiLCJyZXNwb25zZUludGVyY2VwdG9yIiwicmVzcG9uc2UiLCJzdGF0dXNDb2RlIiwic3RhdHVzIiwicmVzcG9uc2VFcnJvckhhbmRsZXIiLCJlcnJvck9iaiIsIkNPTkZJR19DSEFOR0UiLCJoYW5kbGVQcm94eSIsInByb3h5T3B0aW9ucyIsImhvc3QiLCJob3N0bmFtZSIsInBvcnQiLCJwcm90b2NvbCIsImhlYWRlcnMiLCJtYXhCb2R5TGVuZ3RoIiwiSW5maW5pdHkiLCJtYXhDb250ZW50TGVuZ3RoIiwiaHR0cHNPdmVySHR0cCIsImluc3RhbmNlIiwiY3JlYXRlIiwiaW50ZXJjZXB0b3JzIiwib3B0IiwiX19pc09sZE9wdGlvbnMiLCJGb3JtRGF0YSIsImZvcm1EYXRhIiwiYXNzaWduIiwiZ2V0SGVhZGVycyIsInFzIiwicmVxdWVzdEludGVyY2VwdG9yIiwib2JqIiwiY29udGVudFR5cGUiLCJDb250ZW50VHlwZSIsIkltZ0Zyb21CYXNlNjQiLCJnZXRJbWdTaXplIiwiSW1nRnJvbVBhdGgiLCJyZXN1bHRzIiwiaXNCdWZmZXIiLCJpbWdTaXplIiwibWltZVR5cGUiLCJtaW1lIiwiZ2V0VHlwZSIsInBvc3RPcHRpb25zIiwiZW5kcG9pbnQiLCJmb3JtRGF0YUtleSIsImZpbGVuYW1lIiwiYWR2YW5jZWRwbGlzdENvbmZpZyIsImltZ0xpc3QiLCJwb3N0Q29uZmlnIiwiaW1hZ2VVcmwiLCJyZXNEYXRhUGF0aCIsIndlYlBhdGgiLCJwb3AiLCJjdXN0b21QcmVmaXgiLCJjcmVhdGVDb25maWdGaWVsZCIsInRva2VuIiwiQXV0aG9yaXphdGlvbiIsImhhbmRsZVJlc0Vycm9yIiwiY3JlYXRlQXBpUmVxdWVzdCIsImV4dHJhY3RDb25maWciLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwidXBsb2FkUGF0aCIsImN1c3RvbVVybCIsImFsaXN0Q29uZmlnIiwidG9rZW5TdG9yZSIsInJlZnJlc2hlZEF0IiwicG9zdCIsImdldEFsaXN0VG9rZW4iLCJmdWxsVXBsb2FkUGF0aCIsInVwbG9hZFJlcyIsInJlZnJlc2hSZXMiLCJwYWdlIiwicGVyX3BhZ2UiLCJyZWZyZXNoIiwiZ2V0SW5mb1JlcyIsInNpZ24iLCJlbmNvZGVkUGF0aCIsImdldEN1cnJlbnRVVENEYXRlIiwidG9VVENTdHJpbmciLCJnZW5lcmF0ZVNpZ25hdHVyZSIsImRhdGUiLCJzaWduU3RyaW5nIiwiYnVja2V0Iiwic2lnbmF0dXJlIiwiY3JlYXRlSG1hYyIsImFjY2Vzc0tleVNlY3JldCIsImFjY2Vzc0tleUlkIiwiYXJlYSIsIkhvc3QiLCJhbGlZdW5PcHRpb25zIiwidXJsT3B0aW9ucyIsIkZpbGVOYW1lR2VuZXJhdG9yIiwibW9udGgiLCJkYXkiLCJleHROYW1lIiwibWQ1IiwiaW1nQnVmZmVyIiwibWQ1QjY0IiwibWQ1QjY0U2hvcnQiLCJzaGExIiwic2hhMjU2IiwidGltZXN0YW1wIiwidGltZXN0YW1wTVMiLCJmb3JtYXRQYXRoIiwiZmlsZU5hbWVHZW5lcmF0b3IiLCJmaWVsZHMiLCJyZSIsImdldFByb3h5QWdlbnQiLCJzc2xFbmFibGVkIiwiZm9ybWF0ZWRQcm94eSIsImZvcm1hdEh0dHBQcm94eVVSTCIsIkh0dHBzUHJveHlBZ2VudCIsIkh0dHBQcm94eUFnZW50Iiwia2VlcEFsaXZlIiwia2VlcEFsaXZlTXNlY3MiLCJzY2hlZHVsaW5nIiwiZ2V0RmlsZVVSTCIsIm9wdHMiLCJlVGFnIiwidmVyc2lvbklkIiwic2lnbmVkVXJsIiwiZ2V0U2lnbmVkVXJsIiwiY2xpZW50IiwiR2V0T2JqZWN0Q29tbWFuZCIsIkJ1Y2tldCIsImJ1Y2tldE5hbWUiLCJLZXkiLCJJZk1hdGNoIiwiVmVyc2lvbklkIiwiZXhwaXJlc0luIiwidXJsT2JqZWN0Iiwic2VhcmNoIiwiY3JlYXRlUzNDbGllbnQiLCJodHRwSGFuZGxlck9wdHMiLCJodHRwQWdlbnQiLCJjbGllbnRPcHRpb25zIiwicmVnaW9uIiwiY3JlZGVudGlhbHMiLCJhY2Nlc3NLZXlJRCIsInNlY3JldEFjY2Vzc0tleSIsInRscyIsImZvcmNlUGF0aFN0eWxlIiwicGF0aFN0eWxlQWNjZXNzIiwicmVxdWVzdEhhbmRsZXIiLCJOb2RlSHR0cEhhbmRsZXIiLCJTM0NsaWVudCIsImNyZWF0ZVVwbG9hZFRhc2siLCJjb250ZW50RW5jb2RpbmciLCJmaWxlVHlwZSIsImZpbGVUeXBlRnJvbUJ1ZmZlciIsImV4dHJhY3RJbmZvIiwiUHV0T2JqZWN0Q29tbWFuZCIsIkFDTCIsImFjbCIsIkJvZHkiLCJDb250ZW50RW5jb2RpbmciLCJzZW5kIiwidXJsUHJlZml4IiwiRVRhZyIsImltZ1VSTCIsImZvcm1hdERpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsImRpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsIkJvb2xlYW4iLCJ0YXNrIiwiYnVpbGRHaXRodWJBcGlVcmwiLCJyZXBvIiwiZXh0cmEiLCJnZXRPcHRpb25zIiwiYnJhbmNoIiwiZ2l0aHViT3B0aW9ucyIsImNvbnRlbnQiLCJkb3dubG9hZF91cmwiLCJoYXNoIiwic2hhIiwiaW1nQmFzZTY0IiwiY2xpZW50SWQiLCJhY2Nlc3NUb2tlbiIsImZvcm1hdEFjY2Vzc1Rva2VuIiwiYWxidW0iLCJhdXRob3JpemF0aW9uIiwicmVxdWVzdE9wdGlvbnMiLCJpbml0UGFnZXMiLCJhbGJ1bUhhc2giLCJnZXRBbGJ1bUhhc2hPcHRpb25zIiwidGltZW91dCIsImFsYnVtTGlzdCIsImltZ3VyT3B0aW9ucyIsImxpbmsiLCJkZWxldGVoYXNoIiwibG9jYWxDb25maWciLCJpbWdUZW1wUGF0aCIsImZpbGVJbWdUZW1wUGF0aCIsImZpbGVVcGxvYWRQYXRoIiwiY29weUZpbGVTeW5jIiwiZ2FsbGVyeVBhdGgiLCJpc1YyIiwidjFIZWFkZXJzIiwiQ29ubmVjdGlvbiIsInYxRm9ybURhdGEiLCJzc2wiLCJ2MkhlYWRlcnMiLCJBY2NlcHQiLCJzdHJhdGVneUlkIiwiYWxidW1JZCIsInBlcm1pc3Npb24iLCJ2MkZvcm1EYXRhIiwic3RyYXRlZ3lfaWQiLCJhbGJ1bV9pZCIsImFnZW50IiwibHNreU9wdGlvbnMiLCJsaW5rcyIsInBpY2JlZCIsInNlcnZlcktleSIsImlzSXAiLCJmb3JtYXRIb3N0IiwicGljbGlzdE9wdGlvbnMiLCJmdWxsUmVzdWx0Iiwic2VsZWN0QXJlYSIsImdldFRva2VuIiwicWluaXVPcHRpb25zIiwiYWNjZXNzS2V5Iiwic2VjcmV0S2V5IiwibWFjIiwiYXV0aCIsIk1hYyIsInJzIiwiUHV0UG9saWN5IiwidXBsb2FkVG9rZW4iLCJiYXNlVXJsIiwiU1NIQ2xpZW50IiwiTm9kZVNTSCIsImlzQ29ubmVjdGVkIiwiZ2V0SW5zdGFuY2UiLCJjaGFuZ2VXaW5TdHlsZVBhdGhUb1VuaXgiLCJjb25uZWN0IiwicHJpdmF0ZUtleSIsInBhc3NwaHJhc2UiLCJsb2dpbkluZm8iLCJwcml2YXRlS2V5UGF0aCIsInJlbW90ZSIsIm1rZGlyIiwicHV0RmlsZSIsImZpbGVNb2RlIiwiZXhlYyIsImRpclBhdGgiLCJkaXJlY3RvcnlNb2RlIiwiZGlyTW9kZSIsImRpcnMiLCJjdXJyZW50UGF0aCIsImRpciIsInNjcmlwdCIsImNob3duIiwidXNlciIsImdyb3VwIiwiX3VzZXIiLCJfZ3JvdXAiLCJjbG9zZSIsImRpc3Bvc2UiLCJzZnRwcGxpc3RDb25maWciLCJ1cGxvYWRUZW1wUGF0aCIsIm91dHB1dEZpbGVTeW5jIiwicmVtb3RlUGF0aCIsImZpbGVVc2VyIiwiaW1nVGVtcEZpbGVQYXRoIiwicmVtb3ZlU3luYyIsIm1vdmVTeW5jIiwiYXBpVG9rZW4iLCJkb21haW4iLCJzbWZpbGUiLCJzbW1zQ29uZmlnIiwiYmFja3VwRG9tYWluIiwiaW1hZ2VCdWZmZXIiLCJpbWFnZXMiLCJlcnJvck1zZyIsInVwbG9hZEhpc3RvcnkiLCJtYXRjaGVkSW1hZ2UiLCJmaW5kIiwic2VjcmV0SWQiLCJhcHBJZCIsInNpZ25UaW1lIiwiY3VycmVudCIsIm11bHRpU2lnbmF0dXJlIiwic2lnbkhleEtleSIsInRlbXBTdHJpbmciLCJ0b2RheSIsInNpZ25LZXkiLCJodHRwU3RyaW5nIiwic3RyaW5nVG9TaWduIiwidXNlckFnZW50Iiwib3AiLCJmaWxlY29udGVudCIsInRjWXVuT3B0aW9ucyIsInVzZVY0Iiwib3B0aW9uVXJsIiwic2xpbSIsInNvdXJjZV91cmwiLCJjb25maXJtVGV4dCIsImNhbmNlbFRleHQiLCJ0aXBzIiwiREVGQVVMVF9FTkRQT0lOVCIsInVweXVuT3B0aW9ucyIsIm9wZXJhdG9yIiwibWQ1UGFzc3dvcmQiLCJzdWZmaXgiLCJhbnRpTGVlY2hUb2tlbiIsImFkZEFudGlMZWVjaFRva2VuIiwidXB0IiwiZXhwaXJlVGltZSIsInVyaSIsImV4cGlyZSIsInN1YnN0cmluZyIsImdldEFudGlMZWVjaFBhcmFtIiwiaGFuZGxlVXBsb2FkRXJyb3IiLCJlcnJvckJvZHkiLCJlcnJvckNvZGUiLCJNQVhfRklMRV9TSVpFIiwiZ2V0SW1hZ2VCdWZmZXIiLCJidWlsZEltYWdlVXJsIiwid2VicGF0aCIsInVzZVdlYnBhdGgiLCJzYXZlSW1hZ2VUb1RlbXAiLCJ1cGxvYWRJbWFnZSIsImZ1bGxVcGxvYWREaXJQYXRoIiwicGF0aFRvQ3JlYXRlIiwiY3JlYXRlRGlyZWN0b3J5IiwicmVjdXJzaXZlIiwicHV0RmlsZUNvbnRlbnRzIiwib3ZlcndyaXRlIiwiYXV0aFR5cGUiLCJBdXRoVHlwZSIsIkRpZ2VzdCIsImNyZWF0ZUNsaWVudCIsImNyZWF0ZVdlYkRBVkNsaWVudCIsImJ1aWxkSW5VcGxvYWRlcnMiLCJhZHZhbmNlZHBsaXN0VXBsb2FkZXIiLCJhbGlzdFVwbG9hZGVyIiwiYWxpWXVuVXBsb2FkZXIiLCJhd3NzM3BsaXN0VXBsb2FkZXIiLCJnaXRodWJVcGxvYWRlciIsImltZ3VyVXBsb2FkZXIiLCJsb2NhbFVwbG9hZGVyIiwibHNreVVwbG9hZGVyIiwicGljbGlzdFVwbG9hZGVyIiwicWluaXVVcGxvYWRlciIsInNmdHBVcGxvYWRlciIsInNtbXNVcGxvYWRlciIsInRjWXVuVXBsb2FkZXIiLCJ1cFl1blVwbG9hZGVyIiwid2ViZGF2cGxpc3RVcGxvYWRlciIsIkRCIiwiZGIiLCJKU09OU3RvcmUiLCJyZWFkIiwiZmx1c2giLCJ1bnNldCIsIkNMSVBCT0FSRF9JTUFHRV9GT0xERVIiLCJwbGF0Zm9ybTJTY3JpcHRDb250ZW50IiwiZGFyd2luIiwid2luMzIiLCJ3aW4xMCIsImxpbnV4Iiwid3NsIiwicGxhdGZvcm0yU2NyaXB0RmlsZW5hbWUiLCJnZXRDbGlwYm9hcmRJbWFnZSIsImltYWdlUGF0aCIsImNyZWF0ZUltYWdlRm9sZGVyIiwicGxhdGZvcm0iLCJpc1dzbCIsIm9zIiwicmVsZWFzZSIsImdldEN1cnJlbnRQbGF0Zm9ybSIsInNjcmlwdFBhdGgiLCJleGVjdXRpb24iLCJpbWdQYXRoIiwic2hvdWxkS2VlcEFmdGVyVXBsb2FkaW5nIiwiUGljR28iLCJfY29uZmlnIiwibGlmZWN5Y2xlIiwiX3BsdWdpbkxvYWRlciIsImluaXRDb25maWdQYXRoIiwiaW5pdENvbmZpZyIsImhvbWVkaXIiLCJlbnN1cmVGaWxlU3luYyIsInJlZ2lzdGVyQ29tbWFuZHMiLCJwcm9wTmFtZSIsImNsZWFudXAiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiJtbERBV0EsTUFDTUEsR0FBWUMsRUFEQ0MsY0FBMEJDLE1BbUJ2QyxTQUFVQyxHQUFzQkMsR0FDcEMsTUFBTUMsRUFBTSxJQUFJQyxNQUFNRixHQUN0QixJQUFJRyxFQUFJLEVBQ0pDLEVBQU8sRUFDUEMsRUFBTyxFQUNYLEtBQU9GLEVBQUlILEdBQVEsQ0FDakIsR0FBSUssRUFBTyxFQUFHLENBQ1pELEVBQVFBLEdBQVEsR0FBd0IsV0FBaEJFLEtBQUtDLFdBQTJCLEVBQ3hERixHQUFRLEdBQ1IsUUFDRixDQUNBLE1BQU1HLEVBZkcsR0FlR0osRUFDWkEsS0FBVSxFQUNWQyxHQUFRLEVBQ0pHLEVBQU0sS0FBSVAsRUFBSUUsS0FqQlIsaUVBaUJxQkssR0FDakMsQ0FDQSxPQUFPUCxFQUFJUSxLQUFLLEdBQ2xCLENBVUEsU0FBU0MsR0FBYUMsR0FDcEIsT0FBaUMsSUFBMUJBLEVBQUlDLFdBQVdaLE9BQWUsSUFBSVcsSUFBUUEsRUFBSUMsVUFDdkQsQ0FFQSxTQUFTQyxHQUFPQyxHQUNkLE9BQU9DLEVBQU9DLFdBQVcsT0FBT0MsT0FBT0gsR0FBT0ksT0FBTyxNQUN2RCxDQUVBLFNBQVNDLEdBQVVMLEdBQ2pCLE9BQU9DLEVBQU9DLFdBQVcsVUFBVUMsT0FBT0gsR0FBT0ksT0FBTyxNQUMxRCxDQUVNLFNBQVVFLEdBQ2RDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEdBRUEsTUFBTUMsRUFBTSxJQUFJQyxLQUNWQyxFQUFPRixFQUFJRyxjQUFjaEIsV0FDekJpQixFQUFlQyxFQUFLQyxTQUFTVixF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
1
+ import{EventEmitter as e}from"node:events";import t,{dirname as r}from"node:path";import n from"axios";import i from"fs-extra";import{readJSONSync as a,ensureDirSync as s,emptyDirSync as o,pathExistsSync as E,createFileSync as S,outputFileSync as I,removeSync as _,moveSync as l,ensureFileSync as c,remove as P}from"fs-extra/esm";import u from"heic-convert";import{cloneDeep as p,merge as A,get as g,set as C,unset as d}from"lodash-es";import T from"node:crypto";import D,{fileURLToPath as m,URL as f,pathToFileURL as L}from"node:url";import{imageSize as h}from"image-size";import B from"sharp";import N from"text-to-svg";import{v4 as U}from"uuid";import R,{homedir as M}from"node:os";import{ObjectAdapter as O,I18n as y}from"@piclist/i18n";import w from"js-yaml";import{Command as G}from"commander";import b from"inquirer";import x from"node:util";import W from"chalk";import $ from"dayjs";import{spawn as H}from"cross-spawn";import F from"resolve";import K from"node:https";import k from"form-data";import{httpsOverHttp as v}from"tunnel";import Y from"mime";import{S3Client as V,PutObjectCommand as z,GetObjectCommand as j}from"@aws-sdk/client-s3";import{getSignedUrl as q}from"@aws-sdk/s3-request-presigner";import{NodeHttpHandler as X}from"@smithy/node-http-handler";import{fileTypeFromBuffer as Q}from"file-type";import{HttpsProxyAgent as Z,HttpProxyAgent as J}from"hpagent";import ee from"qiniu";import{NodeSSH as te}from"node-ssh-no-cpu-features";import{AuthType as re,createClient as ne}from"webdav";import{JSONStore as ie}from"@piclist/store";import{spawn as ae}from"node:child_process";import se from"is-wsl";const oe=r(m(import.meta.url));function Ee(e){const t=new Array(e);let r=0,n=0,i=0;for(;r<e;){if(i<6){n=n<<30|1073741824*Math.random()>>>0,i+=30;continue}const e=63&n;n>>>=6,i-=6,e<62&&(t[r++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[e])}return t.join("")}function Se(e){return 1===e.toString().length?`0${e}`:e.toString()}function Ie(e){return T.createHash("md5").update(e).digest("hex")}function _e(e){return T.createHash("sha256").update(e).digest("hex")}function le(e,r,n,i){const a=new Date,s=a.getFullYear().toString(),o=t.basename(e,t.extname(e)),E={"{Y}":()=>s,"{y}":()=>s.slice(2),"{m}":()=>Se(a.getMonth()+1),"{d}":()=>Se(a.getDate()),"{h}":()=>Se(a.getHours()),"{i}":()=>Se(a.getMinutes()),"{s}":()=>Se(a.getSeconds()),"{ms}":()=>a.getMilliseconds().toString().padStart(3,"0"),"{md5}":()=>Ie(i||o),"{sha256}":()=>_e(i||o),"{md5-16}":()=>Ie(i||o).slice(0,16),"{filename}":()=>n?t.basename(n,t.extname(n)):o,"{uuid}":()=>U().replace(/-/g,""),"{timestamp}":()=>a.getTime().toString()};if(void 0===r||!Object.keys(E).some(e=>r.includes(e))&&!r.includes("localFolder:")&&!r.includes("str-"))return e;const S=t.extname(e);let I=Object.keys(E).reduce((e,t)=>e.replace(new RegExp(t,"g"),E[t]()),r)+S;return I=I.replace(/{str-(\d+)}/gi,(e,t)=>Ee(parseInt(t,10))),I=I.replace(/{sha256-(\d+)}/gi,(e,t)=>{const r=parseInt(t,10);return _e(i||o).slice(0,r)}),I=I.replace(/{(localFolder:?(\d+)?)}/gi,(r,n,i)=>{i=Math.max(1,i||0);return t.dirname(e).split(t.sep).slice(0-i).reduce((e,t)=>`${e}/${t}`).replace(/:/g,"")}),I}const ce=e=>/^https?:\/\//.test(e),Pe=e=>{e=e||"";try{return e!==decodeURI(e)}catch(e){return!1}},ue=e=>(Pe(e)||(e=encodeURI(e)),e),pe=e=>{try{const{width:t=0,height:r=0,type:n}=h(e);return{real:!0,width:t,height:r,extname:n?`.${n}`:".png"}}catch(e){return{real:!1,width:200,height:200,extname:".png"}}},Ae=async e=>{try{return{extname:t.extname(e),fileName:t.basename(e),filePath:e,buffer:await i.readFile(e),success:!0}}catch{return{reason:`read file ${e} error`,success:!1}}},ge=async(e,r)=>{let n;e=ue(e);const i=new Promise((i,a)=>{(async()=>{try{const a=await r.request({method:"get",url:e,resolveWithFullResponse:!0,responseType:"arraybuffer"}).then(e=>e.data);clearTimeout(n);const s=new f(e).pathname;let o="";try{o=new f(e).searchParams.get("wx_fmt")||t.extname(s)||""}catch(e){o=t.extname(s)||""}!o.startsWith(".")&&o&&(o=`.${o}`),i({buffer:a,fileName:t.basename(s),extname:o,success:!0})}catch(t){clearTimeout(n),i({success:!1,reason:`request ${e} error, ${t?.message??""}`})}})().catch(a)}),a=new Promise(t=>{n=setTimeout(()=>{t({success:!1,reason:`request ${e} timeout`})},3e4)});return Promise.race([i,a])},Ce=e=>/^@[^/]+\/picgo-plugin-/.test(e)?"scope":e.startsWith("picgo-plugin-")?"normal":de(e)?"simple":"unknown",de=e=>{if(t.isAbsolute(e))return!1;const r=t.join(process.cwd(),e);return!i.existsSync(r)&&(!e.includes("/")&&!e.includes("\\"))},Te=(e,t="")=>t?`@${t}/picgo-plugin-${e}`:`picgo-plugin-${e}`,De=(e,r=console)=>{switch(Ce(e)){case"normal":case"scope":return e;case"simple":return Te(e);default:{let n=e;return t.isAbsolute(e)&&i.existsSync(e)?fe(n):(n=t.join(process.cwd(),e),i.existsSync(n)?fe(n):(r.warn(`Can't find plugin ${e}`),""))}}},me=(e,r=console)=>{switch(Ce(e)){case"normal":return Le(e);case"scope":return Le(e,!0);case"simple":return Le(Te(e));default:{if(!i.existsSync(e))return r.warn(`Can't find plugin: ${e}`),"";const n=t.posix.join(e,"package.json");if(i.existsSync(n)){const e=a(n)||{};return e.name?.includes("picgo-plugin-")?e.name:(r.warn(`The plugin package.json's name filed is ${e.name||"empty"}, need to include the prefix: picgo-plugin-`),"")}return r.warn(`Can't find plugin: ${e}`),""}}},fe=e=>e.split(t.sep).join("/"),Le=(e,t=!1)=>{if(e.includes("@")){let r=/(.+\/)?(picgo-plugin-\w+)(@.+)*/;t&&(r=/(.+\/)?(^@[^/]+\/picgo-plugin-\w+)(@.+)*/);const n=e.match(r);return n?n[2]:(console.warn("can not remove plugin version"),e)}return e},he=[],Be=e=>he.some(t=>e.startsWith(t)),Ne=e=>"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0;function Ue(e){try{return JSON.parse(e)}catch(e){return JSON.parse("{}")}}const Re=(e=0)=>isNaN(Number(e))?0:Number(e),Me=()=>"development"===process.env.NODE_ENV;const Oe=t.join(oe,"assets","piclist.png");async function ye(e,t,r,n,i,a,s,o,E,S,I,_){o=!o||o<0||o>1?.15:o;const l=B(e,{animated:!0}),{width:c=200}=await l.metadata(),P=await async function(e,t,r,n,i,a,s,o=200,E=0,S=255){let I;"image"===e?(S=Re(S),s=s||Oe,I=await B(s).composite([{input:Buffer.from([255,255,255,S>255?255:S]),raw:{width:1,height:1,channels:4},tile:!0,blend:"dest-in"}]).toBuffer()):I=await async function(e,t,r,n){t=t||"测试",n=n||e;const i={anchor:"top",attributes:{fill:r=r||"rgba(204, 204, 204, 0.45)"}},a=N.loadSync(n).getSVG(t,i);return Buffer.from(a)}(t,r,a,n||t);const{width:_,height:l}=await async function(e){const{width:t,height:r}=await B(e).metadata();return{width:t||200,height:r||200}}(I),c=Math.floor(o*Re(i)),P=Math.floor(c*l/_);return await B(I).resize(c,P,{fit:"inside"}).rotate(E,{background:{r:255,g:255,b:255,alpha:0}}).toBuffer()}(t,r,a,s,o,E,S,c,i,_);return await l.composite([{input:P,gravity:I||"southeast",tile:n}]).toBuffer()}const we=(...e)=>e.every(e=>null!=e&&("string"==typeof e?""!==e:"number"==typeof e?e>0:"object"!=typeof e||Object.keys(e).length>0)),Ge=["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"],be=["jpg","jpeg","png","webp","bmp","tiff","tif","svg","ico","avif","heif","heic","gif"],xe=e=>Ge.includes(e);function We(e,t,r,n){e=e||{};return{isAddWatermark:!!(t.isAddWatermark??e.isAddWatermarkMap?.[r]??e.isAddWatermark),watermarkType:(t.watermarkType??e.watermarkTypeMap?.[r]??e.watermarkType)||"text",isFullScreenWatermark:!!(t.isFullScreenWatermark??e.isFullScreenWatermarkMap?.[r]??e.isFullScreenWatermark),watermarkDegree:Re(t.watermarkDegree??e.watermarkDegreeMap?.[r]??e.watermarkDegree),watermarkText:(t.watermarkText??e.watermarkTextMap?.[r]??e.watermarkText)||"",watermarkFontPath:(t.watermarkFontPath??e.watermarkFontPath)||"",watermarkScaleRatio:Re(t.watermarkScaleRatio??e.watermarkScaleRatioMap?.[r]??e.watermarkScaleRatio),watermarkColor:(t.watermarkColor??e.watermarkColorMap?.[r]??e.watermarkColor)||"rgba(204, 204, 204, 0.45)",watermarkImagePath:(t.watermarkImagePath??e.watermarkImagePathMap?.[r]??e.watermarkImagePath)||"",watermarkPosition:(t.watermarkPosition??e.watermarkPositionMap?.[r]??e.watermarkPosition)||"southeast",watermarkImageOpacity:Re(t.watermarkImageOpacity??e.watermarkImageOpacityMap?.[r]??e.watermarkImageOpacity),picBed:r,id:n}}function $e(e,t,r,n){e=e||{};return{quality:Re(t.quality??e.qualityMap?.[r]??e.quality),isConvert:!!(t.isConvert??e.isConvertMap?.[r]??e.isConvert),convertFormat:(t.convertFormat??e.convertFormatMap?.[r]??e.convertFormat)||"jpg",isReSize:!!(t.isReSize??e.isReSizeMap?.[r]??e.isReSize),reSizeHeight:Re(t.reSizeHeight??e.reSizeHeightMap?.[r]??e.reSizeHeight),reSizeWidth:Re(t.reSizeWidth??e.reSizeWidthMap?.[r]??e.reSizeWidth),skipReSizeOfSmallImg:!!(t.skipReSizeOfSmallImg??e.skipReSizeOfSmallImgMap?.[r]??e.skipReSizeOfSmallImg),isReSizeByPercent:!!(t.isReSizeByPercent??e.isReSizeByPercentMap?.[r]??e.isReSizeByPercent),reSizePercent:Re(t.reSizePercent??e.reSizePercentMap?.[r]??e.reSizePercent),isRotate:!!(t.isRotate??e.isRotateMap?.[r]??e.isRotate),rotateDegree:Re(t.rotateDegree??e.rotateDegreeMap?.[r]??e.rotateDegree),isRemoveExif:!!(t.isRemoveExif??e.isRemoveExifMap?.[r]??e.isRemoveExif),isFlip:!!(t.isFlip??e.isFlipMap?.[r]??e.isFlip),isFlop:!!(t.isFlop??e.isFlopMap?.[r]??e.isFlop),formatConvertObj:(t.formatConvertObj??e.formatConvertObjMap?.[r]??e.formatConvertObj)||{},picBed:r,id:n}}async function He(e,t,r,n){try{let n=B(e,{animated:!0});return n=B(await ye(e,t.watermarkType||"text",r,t.isFullScreenWatermark,Re(t.watermarkDegree),t.watermarkText,t.watermarkFontPath,Re(t.watermarkScaleRatio),t.watermarkColor,t.watermarkImagePath,t.watermarkPosition,Re(t.watermarkImageOpacity)),{animated:!0}),await n.toBuffer()}catch(t){return n.error(`Image add watermark error: ${t}`),e}}function Fe(e){const t="string"==typeof e.formatConvertObj?Ue(e.formatConvertObj):e.formatConvertObj;return{quality:Re(e.quality),isConvert:e.isConvert||!1,convertFormat:e.convertFormat||"jpg",isReSize:e.isReSize||!1,reSizeHeight:Re(e.reSizeHeight),reSizeWidth:Re(e.reSizeWidth),skipReSizeOfSmallImg:e.skipReSizeOfSmallImg||!1,isReSizeByPercent:e.isReSizeByPercent||!1,reSizePercent:Re(e.reSizePercent),isRotate:e.isRotate||!1,isFlip:e.isFlip||!1,isFlop:e.isFlop||!1,rotateDegree:Re(e.rotateDegree),picBed:e.picBed||"smms",formatConvertObj:t||{}}}async function Ke(e,t,r,n){t=Fe(t);try{if(r=ke(r),!be.includes(r)||"gif"===r)return e;let n=B(e,{animated:!0}),i=100;if(we(t.quality)&&t.quality<100&&(i=Math.min(Math.max(Math.round(t.quality),1),100)),t.isReSizeByPercent){if(we(t.reSizePercent)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);e&&r&&(n=n.resize(Math.round(e*t.reSizePercent/100),Math.round(r*t.reSizePercent/100),{fit:"inside"}))}}else if(t.isReSize)if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&"number"==typeof t.reSizeWidth&&t.reSizeWidth>0)n=n.resize(t.reSizeWidth,t.reSizeHeight,{fit:"fill"});else if("number"==typeof t.reSizeHeight&&t.reSizeHeight>0&&("number"!=typeof t.reSizeWidth||0===t.reSizeWidth)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeHeight<r)){const i=t.reSizeHeight/r;n=n.resize(Math.round(e*i),t.reSizeHeight,{fit:"inside"})}}else if("number"==typeof t.reSizeWidth&&t.reSizeWidth>0&&("number"!=typeof t.reSizeHeight||0===t.reSizeHeight)){const e=await n.metadata().then(e=>e.width),r=await n.metadata().then(e=>e.height);if(e&&r&&(!t.skipReSizeOfSmallImg||t.skipReSizeOfSmallImg&&t.reSizeWidth<e)){const i=t.reSizeWidth/e;n=n.resize(t.reSizeWidth,Math.round(r*i),{fit:"inside"})}}if(t.isRotate&&t.rotateDegree&&(n=n.rotate(t.rotateDegree,{background:{r:255,g:255,b:255,alpha:0}})),t.isFlip&&(n=n.flip()),t.isFlop&&(n=n.flop()),t.isConvert){const e=ve(t,r);e!==r&&(n=n.toFormat(e,{quality:i,mozjpeg:!0}))}else n=r&&xe(r)?n.toFormat(r,{quality:i,mozjpeg:!0}):n.toFormat("jpg",{quality:i,mozjpeg:!0});return await n.toBuffer()}catch(t){return n.error(`Image process error: ${t}`),e}}const ke=e=>e.toLowerCase().replace(".","");function ve(e,t){if(e=Fe(e||{}),"gif"===(t=ke(t)))return"gif";let r=e?.convertFormat||"jpg";if(e?.formatConvertObj&&Object.keys(e.formatConvertObj).length>0){const n=e.formatConvertObj;Object.keys(n).includes(t)&&(r=n[t],xe(r)||(r="jpg"))}return"imgur"===e?.picBed&&"webp"===r&&(r="jpg"),r}const Ye=(e,t)=>(t=ke(t),!!e&&!!e.isAddWatermark&&be.includes(t)&&"svg"!==t),Ve=(e,t)=>{if(!be.includes(ke(t))||!e)return!1;const{quality:r,isReSizeByPercent:n,reSizePercent:i,isReSize:a,reSizeHeight:s,reSizeWidth:o,isRotate:E,rotateDegree:S,isConvert:I,convertFormat:_,isFlip:l,isFlop:c}=Fe(e);if(we(r)&&r<100)return!0;if(n&&we(i))return!0;if(a&&("number"==typeof s&&s>0||"number"==typeof o&&o>0))return!0;if(E&&S)return!0;if(l||c)return!0;if(I){return t!==(_||"jpg")}return!1},ze=async(e,t)=>(t=ke(t),be.includes(t)&&"svg"!==t?await B(e,{animated:!0}).toBuffer():e);var je=Object.freeze({__proto__:null,AddWatermark:ye,configBlackList:he,forceNumber:Re,getConvertedFormat:ve,getFSFile:Ae,getImageSize:pe,getNormalPluginName:me,getPluginNameType:Ce,getProcessPluginName:De,getTreatedCompressOptions:$e,getTreatedWaterMarkOptions:We,getURLFile:ge,handleCompletePluginName:Te,handleStreamlinePluginName:e=>/^@[^/]+\/picgo-plugin-/.test(e)?e.replace(/^@[^/]+\/picgo-plugin-/,""):e.replace(/picgo-plugin-/,""),handleUnixStylePath:fe,handleUrlEncode:ue,imageAddWaterMark:He,imageCompress:Ke,isConfigKeyInBlackList:Be,isDev:Me,isInputConfigValid:Ne,isNeedAddWatermark:Ye,isNeedCompress:Ve,isSimpleName:de,isUrl:ce,isUrlEncode:Pe,randomStringGenerator:Ee,removeExif:ze,removePluginVersion:Le,renameFileNameWithCustomString:le,renameFileNameWithRandomString:function(e,r=5){return`${Ee(r)}${t.extname(e)}`},renameFileNameWithTimestamp:function(e){return`${Math.floor(Date.now()/1e3)}${Ee(5)}${t.extname(e)}`},safeParse:Ue});var qe,Xe,Qe;!function(e){e.success="success",e.info="info",e.warn="warn",e.error="error"}(qe||(qe={})),function(e){e.UPLOAD_PROGRESS="uploadProgress",e.FAILED="failed",e.BEFORE_TRANSFORM="beforeTransform",e.BEFORE_UPLOAD="beforeUpload",e.AFTER_UPLOAD="afterUpload",e.FINISHED="finished",e.INSTALL="install",e.UNINSTALL="uninstall",e.UPDATE="update",e.NOTIFICATION="notification"}(Xe||(Xe={})),function(e){e.CONFIG_CHANGE="CONFIG_CHANGE"}(Qe||(Qe={}));const Ze="Add watermark to image",Je="Compress or convert image",et="Remove exif info",tt="Download ttf file",rt="Download ttf file successfully",nt="Download ttf file failed",it="Download ttf file failed, skip add watermark",at=0,st=30,ot=60,Et=-1,St=["zip","rar","7z","tar","gz","tar.gz","tar.bz2","tar.xz"],It="smms";class _t extends e{ctx;ttfPath;constructor(e){super(),this.ctx=e,this.ttfPath=t.join(e.baseDir,"assets","simhei.ttf"),this.initializeDirs()}initializeDirs(){s(t.join(this.ctx.baseDir,"imgTemp"));this.ctx.getConfig("settings.enableSecondUploader")||!1||o(t.join(this.ctx.baseDir,"piclistTemp"))}async downloadTTF(){try{if(s(t.dirname(this.ttfPath)),i.existsSync(this.ttfPath)&&i.statSync(this.ttfPath).size>0)return!0;this.ctx.log.info(tt);const e=await n.get("https://release.piclist.cn/simhei.ttf",{responseType:"arraybuffer"});return i.writeFileSync(this.ttfPath,e.data),this.ctx.log.info(rt),!0}catch(e){return this.ctx.log.error(nt),!1}}getProcessingOptions(e){const t=e.getConfig("buildIn.compress"),r=e.getConfig("buildIn.watermark"),n=e.getConfig("buildIn.list")||[],i=this.getUploaderType(e),a=n.find(e=>e.id===i.id)?.compress||{},s=n.find(e=>e.id===i.id)?.watermark||{};if(t){t.picBed=i.picBed,t.id=i.id;const e="string"==typeof t.formatConvertObj?Ue(t.formatConvertObj):t.formatConvertObj;t.formatConvertObj=e}r&&(r.picBed=i.picBed,r.id=i.id);return{compressOptions:$e(t,a,i.picBed,i.id),watermarkOptions:We(r,s,i.picBed,i.id)}}getUploaderType(e){const t=e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||It;return{picBed:t,id:(e.getConfig(`picBed.${t}`)||{})._id||""}}getSkipExtensions(e){const t=e.getConfig("buildIn.skipProcess")||{},r=e.getConfig("buildIn.list")||[],n=this.getUploaderType(e),i=r.find(e=>e.id===n.id)?.skipProcess||{},a=i.skipProcessExtList?i.skipProcessExtList.split(",").map(e=>e.trim()):t.skipProcessExtList?t.skipProcessExtList.split(",").map(e=>e.trim()):St;return new Set(a.map(e=>{const t=e.trim().toLowerCase();return t.startsWith(".")?t:`.${t}`}))}async start(e,t=!1){const r=(e=>({configPath:e.configPath,baseDir:e.baseDir,log:e.log,cmd:e.cmd,output:[],input:[],rawInput:[],processedInput:[],pluginLoader:e.pluginLoader,pluginHandler:e.pluginHandler,Request:e.Request,helper:e.helper,VERSION:e.VERSION,GUI_VERSION:e.GUI_VERSION,request:e.request,i18n:e.i18n,configManager:e.configManager,getConfig:e.getConfig.bind(e),saveConfig:e.saveConfig.bind(e),removeConfig:e.removeConfig.bind(e),setConfig:e.setConfig.bind(e),unsetConfig:e.unsetConfig.bind(e),upload:e.upload.bind(e),uploadReturnCtx:e.uploadReturnCtx.bind(e),addListener:e.addListener.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeListener:e.removeListener.bind(e),off:e.off.bind(e),removeAllListeners:e.removeAllListeners.bind(e),setMaxListeners:e.setMaxListeners.bind(e),getMaxListeners:e.getMaxListeners.bind(e),listeners:e.listeners.bind(e),rawListeners:e.rawListeners.bind(e),emit:e.emit.bind(e),listenerCount:e.listenerCount.bind(e),prependListener:e.prependListener.bind(e),prependOnceListener:e.prependOnceListener.bind(e),eventNames:e.eventNames.bind(e)}))(this.ctx);try{if(!Array.isArray(e))throw new Error("Input must be an array.");return this.initializeContext(r,e),t?await this.handleSkipProcess(r):await this.executeLifecycle(r)}catch(e){return this.handleError(r,e)}}initializeContext(e,t){e.input=t,e.output=[],e.rawInputPath=[],e.rawInput=p(t)}async handleSkipProcess(e){return e.log.info("Skip process."),e.output=e.input,await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}async executeLifecycle(e){return await this.preprocess(e),await this.beforeTransform(e),await this.doTransform(e),await this.buildInRename(e),await this.beforeUpload(e),e.processedInput=p(e.output),await this.doUpload(e),e.input=e.rawInput,await this.afterUpload(e),e}handleError(e,t){if(e.log.warn(Xe.FAILED),e.emit(Xe.UPLOAD_PROGRESS,Et),e.emit(Xe.FAILED,t),e.log.error(t),e.getConfig("debug"))throw t;return e}async preprocess(e){const{compressOptions:r,watermarkOptions:n}=this.getProcessingOptions(e),i=this.getSkipExtensions(e);if(e.emit(Xe.UPLOAD_PROGRESS,at),e.emit(Xe.BEFORE_TRANSFORM,e),e.log.info("Before transform"),r||n){const a=t.join(e.baseDir,"piclistTemp");await this.processImages(e,a,r,n,i)}else this.initializeRawInputPaths(e);return e}initializeRawInputPaths(e){for(const t of e.input)e.rawInputPath.push(t)}async processImages(e,t,r,n,i){await Promise.allSettled(e.input.map(async(a,s)=>{await this.processImage(a,s,e,t,r,n,i)}))}async processImage(e,r,n,a,s,o,E){const S=ce(e),I=S?await ge(e,n):{success:!1};if(S&&(!I.success||!I.buffer))return;n.rawInputPath[r]=e;const _=S?I.extname||"":t.extname(e),l=E.has(_.toLowerCase()),c=S?I.buffer:i.readFileSync(e),P=await this.applyProcessing(c,_,s,o,l,e,a,n);P&&await this.saveProcessedImage(e,r,n,a,P,_,s,S,I)}async applyProcessing(e,t,r,n,i,a,s,o){let E;return Ve(r,t)&&!i&&(E=await this.compressImage(e,E,t,r,a,s,o)),Ye(n,t)&&!i&&(E=await this.addWatermark(e,n,o)),E||!r?.isRemoveExif||i||(o.log.info(et),E=await ze(e,t)),E}async addWatermark(e,t,r){if(!t?.watermarkFontPath&&"image"!==t?.watermarkType){if(!await this.downloadTTF())return void this.ctx.log.warn(it)}return r.log.info(Ze),await He(e,t,this.ttfPath,r.log)}async compressImage(e,t,r,n,i,a,s){s.log.info(Je);const o=r.toLowerCase();return ce(i)||".heic"!==o&&".heif"!==o?await Ke(t??e,n,r,s.log):await this.convertHeicAndCompress(e,i,r,a,n,s)}async convertHeicAndCompress(e,r,n,a,s,o){const E=await u({buffer:e.buffer,format:"JPEG",quality:1}),S=t.join(a,`${t.basename(r,n)}.jpg`);return i.writeFileSync(S,Buffer.from(E)),await Ke(i.readFileSync(S),s,".jpg",o.log)}async saveProcessedImage(e,r,n,a,s,o,E,S,I){let _=E?.isConvert?ve(E,o):o;_=_.startsWith(".")?_:`.${_}`;const l=S?t.join(a,`${this.getFileBaseName(I)}${_}`):t.join(a,`${t.basename(e,o)}${_}`);n.rawInputPath[r]=t.join(t.dirname(e),S?t.basename(l):`${t.basename(e,o)}${_}`),i.writeFileSync(l,s),n.input[r]=l}getFileBaseName(e){return e.fileName?t.basename(e.fileName,t.extname(e.fileName)):(new Date).getTime().toString()}async buildInRename(e){const t=this.getUploaderType(e),r=e.getConfig("buildIn.rename")||{},n=e.getConfig("buildIn.list")||[],i={...r,...n.find(e=>e.id===t.id)?.rename||{}};if(!i.enable)return e;const a=i.format||"{filename}";return e.output=e.output.map((t,r)=>{let n=t.fileName;return n=le(e.rawInputPath[r],a,void 0,t.base64Image?t.base64Image:t.buffer),n=n.replace(/\/+/g,"/"),"/"===n.slice(-1)&&(n+=r.toString()),t.fileName=n,t}),e}async beforeTransform(e){return await this.handlePlugins(e.helper.beforeTransformPlugins,e),e}async doTransform(e){e.emit(Xe.UPLOAD_PROGRESS,st);const t=e.getConfig("picBed.transformer")||"path";let r=e.helper.transformer.get(t),n=t;return r||(r=e.helper.transformer.get("path"),n="path",e.log.warn(`Can't find transformer - ${t}, switch to default transformer - path`)),e.log.info(`Transforming... Current transformer is [${n}]`),await(r?.handle(e)),e}async beforeUpload(e){return e.emit(Xe.UPLOAD_PROGRESS,ot),e.log.info("Before upload"),e.emit(Xe.BEFORE_UPLOAD,e),await this.handlePlugins(e.helper.beforeUploadPlugins,e),e}async doUpload(e){const t=this.getUploaderType(e);let r=e.helper.uploader.get(t.picBed),n=t.picBed;r||(e.log.warn(`Can't find uploader - ${n}, switch to default uploader - ${It}`),n=It,r=e.helper.uploader.get(It)),e.log.info(`Uploading... Current uploader is [${n}] with config id [${t.id||"default"}]`),await(r?.handle(e));for(const t of e.output)t.type=n;return e}async afterUpload(e){e.emit(Xe.AFTER_UPLOAD,e),e.emit(Xe.UPLOAD_PROGRESS,100),await this.handlePlugins(e.helper.afterUploadPlugins,e);let t="";const r=e.output.length,n=!0===e.getConfig("settings.encodeOutputURL");for(let i=0;i<r;i++)void 0!==e.output[i].imgUrl&&(t+=n?ue(e.output[i].imgUrl):e.output[i].imgUrl,i!==r-1&&(t+="\n")),delete e.output[i].base64Image,delete e.output[i].buffer;return e.emit(Xe.FINISHED,e),e.log.success(`\n${t}`),e}async handlePlugins(e,t){const r=e.getList(),n=e.getIdList(),i=e.getName();return await Promise.all(r.map(async(e,r)=>{try{t.log.info(`${i}: ${n[r]} running`),await e.handle(t)}catch(e){throw t.log.error(`${i}: ${n[r]} error`),e}})),t}}const lt={"zh-CN":{UPLOAD_FAILED:"上传失败",CHECK_SETTINGS:"请检查你的配置项是否正确",CHECK_SETTINGS_AND_NETWORK:"请检查你的配置项以及网络",UPLOAD_FAILED_REASON:"错误码: ${code},请打开浏览器粘贴地址查看相关原因",SERVER_ERROR:"服务端出错,请重试",AUTH_FAILED:"认证失败",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"设定Token",PICBED_SMMS_MESSAGE_TOKEN:"请填写Token",PICBED_SMMS_BACKUPDOMAIN:"备用上传域名",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高级自定义",PICBED_ADVANCEDPLIST_ENDPOINT:"设定接口网址",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"设定请求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"请选择请求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"设定表单参数名",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"设定请求头",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"设定请求体",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"设定自定义前缀",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"设定网站路径",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ADVANCEDPLIST_RESDATAPATH:"设定返回数据URL路径",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地上传",PICBED_LOCAL_PATH:"设定路径",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"设定自定义域名",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"设定网站路径",PICBED_LOCAL_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"设定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"设定Token",PICBED_ALIST_MESSAGE_TOKEN:"请输入Token(与用户名-密码二选一)",PICBED_ALIST_USERNAME:"设定用户名",PICBED_ALIST_MESSAGE_USERNAME:"请输入用户名(与Token二选一)",PICBED_ALIST_PASSWORD:"设定密码",PICBED_ALIST_MESSAGE_PASSWORD:"请输入密码",PICBED_ALIST_UPLOADPATH:"设定上传路径",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"设定网站路径",PICBED_ALIST_MESSAGE_WEB_PATH:"用于拼接网址路径",PICBED_ALIST_CUSTOMURL:"设定自定义域名",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里云OSS",PICBED_ALICLOUD_ACCESSKEYID:"设定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"设定accessKeySecret",PICBED_ALICLOUD_BUCKET:"设定Bucket",PICBED_ALICLOUD_AREA:"设定存储区域",PICBED_ALICLOUD_PATH:"设定存储路径",PICBED_ALICLOUD_WEBPATH:"设定网站路径",PICBED_ALICLOUD_CUSTOMURL:"设定自定义域名",PICBED_ALICLOUD_OPTIONS:"设定网址后缀",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"腾讯云COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"设定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"设定SecretKey",PICBED_TENCENTCLOUD_APPID:"设定AppId",PICBED_TENCENTCLOUD_BUCKET:"设定Bucket",PICBED_TENCENTCLOUD_AREA:"设定存储区域",PICBED_TENCENTCLOUD_ENDPOINT:"设定接入点",PICBED_TENCENTCLOUD_PATH:"设定存储路径",PICBED_TENCENTCLOUD_WEBPATH:"设定网站路径",PICBED_TENCENTCLOUD_OPTIONS:"设定网址后缀",PICBED_TENCENTCLOUD_CUSTOMURL:"设定自定义域名",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"极智压缩",PICBED_TENCENTCLOUD_SLIM_TIP:"图片极智压缩,详情请参考[文档说明](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"开启",PICBED_TENCENTCLOUD_SLIM_CANCEL:"关闭",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"设定Token",PICBED_GITHUB_REPO:"设定仓库名",PICBED_GITHUB_PATH:"设定存储路径",PICBED_GITHUB_WEBPATH:"设定网站路径",PICBED_GITHUB_BRANCH:"设定分支名",PICBED_GITHUB_CUSTOMURL:"设定自定义域名",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用于拼接网址路径",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛云",PICBED_QINIU_ACCESSKEY:"设定AccessKey",PICBED_QINIU_SECRETKEY:"设定SecretKey",PICBED_QINIU_BUCKET:"设定Bucket",PICBED_QINIU_PATH:"设定存储路径",PICBED_QINIU_URL:"设定访问网址",PICBED_QINIU_OPTIONS:"设定网址后缀",PICBED_QINIU_AREA:"设定存储区域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"设定ClientId",PICBED_IMGUR_USERNAME:"设定用户名",PICBED_IMGUR_ACCESS_TOKEN:"设定accessToken",PICBED_IMGUR_ALBUM:"设定相册名",PICBED_IMGUR_PROXY:"设定代理",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上传时填写",PICBED_IMGUR_MESSAGE_USERNAME:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上传到账户时填写",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍云",PICBED_UPYUN_BUCKET:"设定Bucket",PICBED_UPYUN_OPERATOR:"设定操作员",PICBED_UPYUN_PASSWORD:"设定操作员密码",PICBED_UPYUN_PATH:"设定存储路径",PICBED_UPYUN_URL:"设定加速域名",PICBED_UPYUN_OPTIONS:"设定网址后缀",PICBED_UPYUN_ENDPOINT:"设定自定义API接入点",PICBED_UPYUN_ANTILEECHTOKEN:"设定防盗链Token",PICBED_UPYUN_EXPIRETIME:"设定过期时间(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"设定接口网址",PICBED_WEBDAVPLIST_SSLENABLED:"启用SSL",PICBED_WEBDAVPLIST_USERNAME:"设定用户名",PICBED_WEBDAVPLIST_PASSWORD:"设定密码",PICBED_WEBDAVPLIST_PATH:"设定存储路径",PICBED_WEBDAVPLIST_WEBPATH:"设定网址路径",PICBED_WEBDAVPLIST_CUSTOMURL:"设定自定义域名",PICBED_WEBDAVPLIST_AUTHTYPE:"设定认证方式",PICBED_WEBDAVPLIST_OPTIONS:"设定网址后缀",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS时启用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"输入密码",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=123456",PICBED_SFTPPLIST:"内置SFTP",PICBED_SFTPPLIST_HOST:"设定主机",PICBED_SFTPPLIST_PORT:"设定端口",PICBED_SFTPPLIST_USERNAME:"设定用户名",PICBED_SFTPPLIST_PASSWORD:"设定密码",PICBED_SFTPPLIST_PRIVATEKEY:"设定私钥",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"设定私钥密码",PICBED_SFTPPLIST_UPLOADPATH:"设定上传路径",PICBED_SFTPPLIST_CUSTOMURL:"设定自定义域名",PICBED_SFTPPLIST_WEBSITE_PATH:"设定网站路径",PICBED_SFTPPLIST_FILE_USER:"设定文件用户:组",PICBED_SFTPPLIST_FILE_MODE:"设定文件权限",PICBED_SFTPPLIST_DIR_MODE:"设定文件夹权限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默认22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"输入私钥密码",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接网址时使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"设定主机",PICBED_PICLIST_PORT:"设定端口",PICBED_PICLIST_PICBED:"设定图床",PICBED_PICLIST_CONFIGNAME:"设定配置名",PICBED_PICLIST_KEY:"设定鉴权Key",PICBED_LSKY_PLIST:"兰空图床",PICBED_LSKY_VERSION:"设定版本",PICBED_LSKY_MESSAGE_VERSION:"例如V1",PICBED_LSKY_HOST:"设定主机",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"设定Token",PICBED_LSKY_MESSAGE_TOKEN:"例如: 1234567890",PICBED_LSKY_STRATEGY_ID:"设定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如: 1",PICBED_LSKY_ALBUM_ID:"设定相册ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"选填,V2版本限定",PICBED_LSKY_PERMISSION:"设定权限",PICBED_LSKY_MESSAGE_PERMISSION:"例如: public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"设定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"设定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"设定Bucket",PICBED_AWSS3PLIST_REGION:"设定Region",PICBED_AWSS3PLIST_UPLOADPATH:"设定上传路径",PICBED_AWSS3PLIST_ENDPOINT:"设定自定义节点",PICBED_AWSS3PLIST_PROXY:"设定代理",PICBED_AWSS3PLIST_URLPREFIX:"设定自定义域名",PICBED_AWSS3PLIST_OPTIONS:"设定网址后缀",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"启用s3ForcePathStyle",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"拒绝无效TLS证书连接",PICBED_AWSS3PLIST_ACL:"设定上传资源的访问策略",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"开启 `pathStyleAccess` 时,是否要禁用最终生成URL中添加 bucket 前缀",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要时启用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要时启用",BUILDIN_WATERMARK:"水印设置",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印时启用",BUILDIN_WATERMARK_WATERMARKTYPE:"设定水印类型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"请选择水印类型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印时启用",BUILDIN_WATERMARK_WATERMARKDEGREE:"设定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"请输入数字",BUILDIN_WATERMARK_WATERMARKTEXT:"设定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"请输入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"设定水印字体文件路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"请输入水印字体文件路径",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"设定水印相对于图片的比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"请输入0-1的小数",BUILDIN_WATERMARK_WATERMARKCOLOR:"设定水印字体颜色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"请输入rgb颜色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"设定水印图片路径",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"请输入水印图片路径",BUILDIN_WATERMARK_WATERMARKPOSITION:"设定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"请选择水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"设定水印图片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"请输入0-255的整数",BUILDIN_SKIPPROCESS:"跳过处理设置",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"设定跳过处理的文件后缀列表",BUILDIN_RENAME:"重命名设置",BUILDIN_RENAME_FORMAT:"设定重命名格式",BUILDIN_RENAME_ENABLE:"是否启用重命名",BUILDIN_COMPRESS:"图片处理",BUILDIN_COMPRESS_QUALITY:"设定图片质量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"请输入1-100的整数",BUILDIN_COMPRESS_ISCONVERT:"是否进行格式转换",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要转换时启用",BUILDIN_COMPRESS_CONVERTFORMAT:"设定转换格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"请选择转换格式",BUILDIN_COMPRESS_ISRESIZE:"是否进行图片缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要缩放时启用",BUILDIN_COMPRESS_RESIZEWIDTH:"设定缩放宽度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"请输入数字",BUILDIN_COMPRESS_RESIZEHEIGHT:"设定缩放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"请输入数字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比进行缩放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比缩放时启用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻转图片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻转图片",BUILDIN_COMPRESS_RESIZEPERCENT:"设定缩放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"请输入数字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳过小图缩放",BUILDIN_COMPRESS_ISROTATE:"是否进行图片旋转",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋转时启用",BUILDIN_COMPRESS_ROTATEDEGREE:"设定旋转角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"请输入数字,可为负数",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF信息",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF信息时启用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安装成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安装失败",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安装失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安装失败,请输入合法插件名或合法安装路径",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸载成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸载失败",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸载失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸载失败,请输入合法插件名",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失败",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失败,失败码为${code},错误日志为 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失败,请输入合法插件名"},"zh-TW":{UPLOAD_FAILED:"上傳失敗",CHECK_SETTINGS:"請檢查你的設定是否正確",CHECK_SETTINGS_AND_NETWORK:"請檢查你的設定及網路",UPLOAD_FAILED_REASON:"錯誤碼: ${code},請打開瀏覽器貼上地址查看相關原因",SERVER_ERROR:"伺服器出錯,請重試",AUTH_FAILED:"認證失敗",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"設定Token",PICBED_SMMS_MESSAGE_TOKEN:"請輸入Token",PICBED_SMMS_BACKUPDOMAIN:"備用上傳網址",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"例如 smms.app",PICBED_ADVANCEDPLIST:"高級自定義",PICBED_ADVANCEDPLIST_ENDPOINT:"設定API主機",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"例如: https://example.com/upload",PICBED_ADVANCEDPLIST_METHOD:"設定請求方法",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"請選擇請求方法",PICBED_ADVANCEDPLIST_FORMDATAKEY:"設定表單Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"例如: file",PICBED_ADVANCEDPLIST_HEADERS:"設定請求頭",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'例如: {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"設定請求體",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'例如: {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"設定自定義前綴",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"例如: https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"設定網站路徑",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ADVANCEDPLIST_RESDATAPATH:"設定返回數據路徑",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"例如: data.url",PICBED_LOCAL:"本地",PICBED_LOCAL_PATH:"設定儲存路徑",PICBED_LOCAL_MESSAGE_PATH:"例如 /usr/local/images/",PICBED_LOCAL_CUSTOMURL:"設定自訂網址",PICBED_LOCAL_MESSAGE_CUSTOMURL:"例如 https://test.com",PICBED_LOCAL_WEBPATH:"設定網址路徑",PICBED_LOCAL_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"設定URL",PICBED_ALIST_MESSAGE_URL:"例如: https://alist.example.com",PICBED_ALIST_TOKEN:"設定Token",PICBED_ALIST_MESSAGE_TOKEN:"請輸入Token(與用戶名-密碼二選一)",PICBED_ALIST_USERNAME:"設定用戶名",PICBED_ALIST_MESSAGE_USERNAME:"請輸入用戶名(與Token二選一)",PICBED_ALIST_PASSWORD:"設定密碼",PICBED_ALIST_MESSAGE_PASSWORD:"請輸入密碼",PICBED_ALIST_UPLOADPATH:"設定上傳路徑",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"例如: /test",PICBED_ALIST_WEBPATH:"設定網址路徑",PICBED_ALIST_MESSAGE_WEB_PATH:"用於網頁顯示的路徑",PICBED_ALIST_CUSTOMURL:"設定自訂網址",PICBED_ALIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_ALICLOUD:"阿里雲OSS",PICBED_ALICLOUD_ACCESSKEYID:"設定accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"設定accessKeySecret",PICBED_ALICLOUD_BUCKET:"設定Bucket",PICBED_ALICLOUD_AREA:"設定儲存區域",PICBED_ALICLOUD_PATH:"設定儲存路徑",PICBED_ALICLOUD_WEBPATH:"設定網址路徑",PICBED_ALICLOUD_CUSTOMURL:"設定自訂網址",PICBED_ALICLOUD_OPTIONS:"設定網址後綴",PICBED_ALICLOUD_MESSAGE_AREA:"例如: oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"例如: test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"用於網頁顯示的路徑",PICBED_ALICLOUD_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD:"騰訊雲COS",PICBED_TENCENTCLOUD_VERSION:"COS版本",PICBED_TENCENTCLOUD_SECRETID:"設定SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"設定SecretKey",PICBED_TENCENTCLOUD_APPID:"設定AppId",PICBED_TENCENTCLOUD_BUCKET:"設定Bucket",PICBED_TENCENTCLOUD_AREA:"設定儲存區域",PICBED_TENCENTCLOUD_ENDPOINT:"設定接入點",PICBED_TENCENTCLOUD_PATH:"設定儲存路徑",PICBED_TENCENTCLOUD_WEBPATH:"設定網址路徑",PICBED_TENCENTCLOUD_OPTIONS:"設定網址後綴",PICBED_TENCENTCLOUD_CUSTOMURL:"設定自訂網址",PICBED_TENCENTCLOUD_MESSAGE_APPID:"例如: 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"例如: ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"例如: test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"例如: /usr/local/images/",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"例如: ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"例如: cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"極智壓縮",PICBED_TENCENTCLOUD_SLIM_CANCEL:"關閉",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"開啟",PICBED_TENCENTCLOUD_SLIM_TIP:"圖片極智壓縮,詳情請參考[文檔說明](https://cloud.tencent.com/document/product/436/49259)",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"設定Token",PICBED_GITHUB_REPO:"設定倉庫名稱",PICBED_GITHUB_PATH:"設定儲存路徑",PICBED_GITHUB_WEBPATH:"設定網站路徑",PICBED_GITHUB_BRANCH:"設定分支名稱",PICBED_GITHUB_CUSTOMURL:"設定自訂網址",PICBED_GITHUB_MESSAGE_REPO:"格式: username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"例如: main",PICBED_GITHUB_MESSAGE_PATH:"例如: test/",PICBED_GITHUB_MESSAGE_WEBPATH:"用於拼接網址路徑",PICBED_GITHUB_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_QINIU:"七牛雲",PICBED_QINIU_ACCESSKEY:"設定AccessKey",PICBED_QINIU_SECRETKEY:"設定SecretKey",PICBED_QINIU_BUCKET:"設定Bucket",PICBED_QINIU_PATH:"設定儲存路徑",PICBED_QINIU_URL:"設定訪問網址",PICBED_QINIU_OPTIONS:"設定網址後綴",PICBED_QINIU_AREA:"設定儲存區域",PICBED_QINIU_MESSAGE_PATH:"例如: test/",PICBED_QINIU_MESSAGE_AREA:"例如: z0",PICBED_QINIU_MESSAGE_OPTIONS:"例如: ?imageslim",PICBED_QINIU_MESSAGE_URL:"例如: https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"設定ClientId",PICBED_IMGUR_USERNAME:"設定用戶名",PICBED_IMGUR_ACCESS_TOKEN:"設定accessToken",PICBED_IMGUR_ALBUM:"設定相簿名",PICBED_IMGUR_PROXY:"設定PROXY",PICBED_IMGUR_MESSAGE_CLIENTID:"匿名上傳時填寫",PICBED_IMGUR_MESSAGE_USERNAME:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"需要上傳到賬戶時填寫",PICBED_IMGUR_MESSAGE_ALBUM:"例如: test",PICBED_IMGUR_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_UPYUN:"又拍雲",PICBED_UPYUN_BUCKET:"設定Bucket",PICBED_UPYUN_ENDPOINT:"設定接入點",PICBED_UPYUN_OPERATOR:"設定操作員",PICBED_UPYUN_PASSWORD:"設定操作員密碼",PICBED_UPYUN_PATH:"設定儲存路徑",PICBED_UPYUN_URL:"設定加速網址",PICBED_UPYUN_OPTIONS:"設定網址後綴",PICBED_UPYUN_ANTILEECHTOKEN:"設定防盜鏈Token",PICBED_UPYUN_EXPIRETIME:"設定過期時間(秒)",PICBED_UPYUN_MESSAGE_OPERATOR:"例如: me",PICBED_UPYUN_MESSAGE_PASSWORD:"例如: 123456",PICBED_UPYUN_MESSAGE_URL:"例如: http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"例如: !imgslim",PICBED_UPYUN_MESSAGE_PATH:"例如: test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"例如: https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"設定API主機",PICBED_WEBDAVPLIST_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_USERNAME:"設定用戶名",PICBED_WEBDAVPLIST_PASSWORD:"設定密碼",PICBED_WEBDAVPLIST_PATH:"設定儲存路徑",PICBED_WEBDAVPLIST_CUSTOMURL:"設定自訂網址",PICBED_WEBDAVPLIST_AUTHTYPE:"設定認證方式",PICBED_WEBDAVPLIST_OPTIONS:"設定網址後綴",PICBED_WEBDAVPLIST_WEBPATH:"設定網站路徑",PICBED_WEBDAVPLIST_MESSAGE_HOST:"例如: https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"需要HTTPS時啟用",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"例如: me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"輸入用戶密碼",PICBED_WEBDAVPLIST_MESSAGE_PATH:"例如: test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"例如: ?key=value",PICBED_SFTPPLIST:"內置SFTP",PICBED_SFTPPLIST_HOST:"設定主機",PICBED_SFTPPLIST_PORT:"設定端口",PICBED_SFTPPLIST_USERNAME:"設定用戶名",PICBED_SFTPPLIST_PASSWORD:"設定密碼",PICBED_SFTPPLIST_PRIVATEKEY:"設定私鑰",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"設定私鑰密碼",PICBED_SFTPPLIST_UPLOADPATH:"設定上傳路徑",PICBED_SFTPPLIST_CUSTOMURL:"設定自訂網址",PICBED_SFTPPLIST_WEBSITE_PATH:"設定網站路徑",PICBED_SFTPPLIST_FILE_USER:"設定文件用戶:組",PICBED_SFTPPLIST_FILE_MODE:"設定文件權限",PICBED_SFTPPLIST_DIR_MODE:"設定文件夾權限",PICBED_SFTPPLIST_MESSAGE_HOST:"例如: 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"默認22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"例如: /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"輸入私鑰密碼",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"例如: https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"拼接網址時使用",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"例如: www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"例如: 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"例如: 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"設定主機",PICBED_PICLIST_PORT:"設定端口",PICBED_PICLIST_PICBED:"設定圖床",PICBED_PICLIST_CONFIGNAME:"設定配置名",PICBED_PICLIST_KEY:"設定鑒權Key",PICBED_LSKY_PLIST:"蘭空圖床",PICBED_LSKY_VERSION:"設定版本",PICBED_LSKY_MESSAGE_VERSION:"請選擇版本",PICBED_LSKY_HOST:"設定主機",PICBED_LSKY_MESSAGE_HOST:"例如: https://example.com",PICBED_LSKY_TOKEN:"設定Token",PICBED_LSKY_MESSAGE_TOKEN:"請輸入Token",PICBED_LSKY_STRATEGY_ID:"設定策略ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"例如1",PICBED_LSKY_ALBUM_ID:"設定相冊ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"例如1",PICBED_LSKY_PERMISSION:"設定上傳權限",PICBED_LSKY_MESSAGE_PERMISSION:"請選擇上傳權限",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"設定AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"設定SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"設定Bucket",PICBED_AWSS3PLIST_REGION:"設定Region",PICBED_AWSS3PLIST_UPLOADPATH:"設定上傳路徑",PICBED_AWSS3PLIST_ENDPOINT:"設定自定義節點",PICBED_AWSS3PLIST_PROXY:"設定代理",PICBED_AWSS3PLIST_URLPREFIX:"設定自定義網址",PICBED_AWSS3PLIST_OPTIONS:"設定網址後綴",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"例如: ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"開啟 `pathStyleAccess`",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"開啟 `rejectUnauthorized`",PICBED_AWSS3PLIST_ACL:"設定ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"開啟 `pathStyleAccess` 時,是否要禁用最終生成URL中添加 bucket 前綴",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"例如: AKIAxxxxxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"例如: xxxxxxxxxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"例如: test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_REGION:"例如: us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"例如: test/",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"例如: https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"例如: http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"例如: https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"需要時啟用",PICBED_AWSS3PLIST_MESSAGE_ACL:"例如: public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"需要時啟用",BUILDIN_WATERMARK:"水印設定",BUILDIN_WATERMARK_ISADDWATERMARK:"是否添加水印",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"需要添加水印時啟用",BUILDIN_WATERMARK_WATERMARKTYPE:"設定水印類型",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"請選擇水印類型",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"是否全屏水印",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"需要全屏水印時啟用",BUILDIN_WATERMARK_WATERMARKDEGREE:"設定水印角度",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"請輸入數字",BUILDIN_WATERMARK_WATERMARKTEXT:"設定水印文字",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"請輸入水印文字",BUILDIN_WATERMARK_WATERMARKFONTPATH:"設定水印字體",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"請輸入水印字體文件路徑",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"設定水印圖片比例",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"請輸入0-1的數字",BUILDIN_WATERMARK_WATERMARKCOLOR:"設定水印字體顏色",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"請輸入rgb顏色值",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"設定水印圖片路徑",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"請輸入水印圖片路徑",BUILDIN_WATERMARK_WATERMARKPOSITION:"設定水印位置",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"請選擇水印位置",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"設定水印圖片透明度",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"請輸入0-255的整數",BUILDIN_SKIPPROCESS:"跳過處理設定",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"設定跳過處理的擴展名列表",BUILDIN_RENAME:"重命名設定",BUILDIN_RENAME_FORMAT:"設定重命名格式",BUILDIN_RENAME_ENABLE:"是否啟用重命名",BUILDIN_COMPRESS:"圖片處理設定",BUILDIN_COMPRESS_QUALITY:"設定圖片質量",BUILDIN_COMPRESS_MESSAGE_QUALITY:"請輸入1-100的整數",BUILDIN_COMPRESS_ISCONVERT:"是否進行格式轉換",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"需要轉換時啟用",BUILDIN_COMPRESS_CONVERTFORMAT:"設定轉換格式",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"請選擇轉換格式",BUILDIN_COMPRESS_ISRESIZE:"是否進行圖片縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"需要縮放時啟用",BUILDIN_COMPRESS_RESIZEWIDTH:"設定縮放寬度",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"請輸入數字",BUILDIN_COMPRESS_RESIZEHEIGHT:"設定縮放高度",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"請輸入數字",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"是否按百分比進行縮放",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"需要按百分比縮放時啟用",BUILDIN_COMPRESS_ISFLIP:"是否垂直翻轉圖片",BUILDIN_COMPRESS_ISFLOP:"是否水平翻轉圖片",BUILDIN_COMPRESS_RESIZEPERCENT:"設定縮放百分比",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"請輸入數字",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"是否跳過小圖縮放",BUILDIN_COMPRESS_ISROTATE:"是否進行圖片旋轉",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"需要旋轉時啟用",BUILDIN_COMPRESS_ROTATEDEGREE:"設定旋轉角度",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"請輸入數字,可為負數",BUILDIN_COMPRESS_ISREMOVEEXIF:"是否移除EXIF資訊",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"需要移除EXIF資訊時啟用",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"插件安裝成功",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"插件安裝失敗",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"插件安裝失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"插件安裝失敗,請輸入正確的插件名稱或正確的安裝路徑",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"插件卸載成功",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"插件卸載失敗",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"插件卸載失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"插件卸載失敗,請輸入正確的插件名稱",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"插件更新成功",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"插件更新失敗",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"插件更新失敗,失敗碼為${code},錯誤記錄為 \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"插件更新失敗,請輸入正確的插件名稱"},en:{UPLOAD_FAILED:"Upload failed",CHECK_SETTINGS:"Please check your settings",CHECK_SETTINGS_AND_NETWORK:"Please check your settings and network",UPLOAD_FAILED_REASON:"Error code: ${code}, please open the browser and paste the address to see the reason",SERVER_ERROR:"Server error, please try again later",AUTH_FAILED:"Authentication failed",PICBED_SMMS:"SM.MS",PICBED_SMMS_TOKEN:"Set Token",PICBED_SMMS_MESSAGE_TOKEN:"Please enter the token",PICBED_SMMS_BACKUPDOMAIN:"Set Backup Upload Domain",PICBED_SMMS_MESSAGE_BACKUP_DOMAIN:"Ex. smms.app",PICBED_ADVANCEDPLIST:"Advanced",PICBED_ADVANCEDPLIST_ENDPOINT:"Set Endpoint",PICBED_ADVANCEDPLIST_MESSAGE_ENDPOINT:"Please enter the endpoint",PICBED_ADVANCEDPLIST_METHOD:"Set Method",PICBED_ADVANCEDPLIST_MESSAGE_METHOD:"Please select the request method",PICBED_ADVANCEDPLIST_FORMDATAKEY:"Set FormData Key",PICBED_ADVANCEDPLIST_MESSAGE_FORMDATAKEY:"Please enter the FormData key",PICBED_ADVANCEDPLIST_HEADERS:"Set Headers",PICBED_ADVANCEDPLIST_MESSAGE_HEADERS:'e.g. {"Content-Type": "multipart/form-data"}',PICBED_ADVANCEDPLIST_BODY:"Set Body",PICBED_ADVANCEDPLIST_MESSAGE_BODY:'e.g. {"key": "value"}',PICBED_ADVANCEDPLIST_CUSTOMPREFIX:"Set Custom Prefix",PICBED_ADVANCEDPLIST_MESSAGE_CUSTOMPREFIX:"e.g. https://example.com/",PICBED_ADVANCEDPLIST_WEBPATH:"Set Web Path",PICBED_ADVANCEDPLIST_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ADVANCEDPLIST_RESDATAPATH:"Set Response Data Path",PICBED_ADVANCEDPLIST_MESSAGE_RESDATAPATH:"e.g. data.url",PICBED_LOCAL:"Local",PICBED_LOCAL_PATH:"Set Path",PICBED_LOCAL_MESSAGE_PATH:"Ex. /Users/name/Pictures/",PICBED_LOCAL_CUSTOMURL:"Set Custom URL",PICBED_LOCAL_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_LOCAL_WEBPATH:"Set Web Path",PICBED_LOCAL_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALIST_PLIST:"AList",PICBED_ALIST_URL:"Set URL",PICBED_ALIST_MESSAGE_URL:"Ex. https://alist.example.com",PICBED_ALIST_TOKEN:"Set Token",PICBED_ALIST_MESSAGE_TOKEN:"Please enter the token(choose one of either username-password or token)",PICBED_ALIST_USERNAME:"Set Username",PICBED_ALIST_MESSAGE_USERNAME:"Please enter the username(choose one of either username-password or token)",PICBED_ALIST_PASSWORD:"Set Password",PICBED_ALIST_MESSAGE_PASSWORD:"Please enter the password",PICBED_ALIST_UPLOADPATH:"Set Upload Path",PICBED_ALIST_MESSAGE_UPLOAD_PATH:"Ex. /test/",PICBED_ALIST_WEBPATH:"Set Web Path",PICBED_ALIST_MESSAGE_WEB_PATH:"Used to generate URL path",PICBED_ALIST_CUSTOMURL:"Set Custom URL",PICBED_ALIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_ALICLOUD:"Ali Cloud",PICBED_ALICLOUD_ACCESSKEYID:"Set accessKeyId",PICBED_ALICLOUD_ACCESSKEYSECRET:"Set accessKeySecret",PICBED_ALICLOUD_BUCKET:"Set Bucket",PICBED_ALICLOUD_AREA:"Set Area",PICBED_ALICLOUD_PATH:"Set Path",PICBED_ALICLOUD_WEBPATH:"Set Web Path",PICBED_ALICLOUD_CUSTOMURL:"Set Custom URL",PICBED_ALICLOUD_OPTIONS:"Set URL Suffix",PICBED_ALICLOUD_MESSAGE_AREA:"Ex. oss-cn-beijing",PICBED_ALICLOUD_MESSAGE_PATH:"Ex. test/",PICBED_ALICLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_ALICLOUD_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_ALICLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD:"Tencent Cloud",PICBED_TENCENTCLOUD_VERSION:"Choose COS version",PICBED_TENCENTCLOUD_SECRETID:"Set SecretId",PICBED_TENCENTCLOUD_SECRETKEY:"Set SecretKey",PICBED_TENCENTCLOUD_APPID:"Set AppId",PICBED_TENCENTCLOUD_BUCKET:"Set Bucket",PICBED_TENCENTCLOUD_AREA:"Set Area",PICBED_TENCENTCLOUD_ENDPOINT:"Set Endpoint",PICBED_TENCENTCLOUD_PATH:"Set Path",PICBED_TENCENTCLOUD_WEBPATH:"Set Web Path",PICBED_TENCENTCLOUD_OPTIONS:"Set URL Suffix",PICBED_TENCENTCLOUD_CUSTOMURL:"Set Custom URL",PICBED_TENCENTCLOUD_MESSAGE_APPID:"Ex. 1234567890",PICBED_TENCENTCLOUD_MESSAGE_AREA:"Ex. ap-beijing",PICBED_TENCENTCLOUD_MESSAGE_PATH:"Ex. test/",PICBED_TENCENTCLOUD_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_TENCENTCLOUD_MESSAGE_OPTIONS:"Ex. ?imageMogr2",PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT:"Ex. cos-internal.accelerate.tencentcos.cn",PICBED_TENCENTCLOUD_SLIM:"Set ImageSlim",PICBED_TENCENTCLOUD_SLIM_TIP:"Image extremely intelligent compression, please refer to the [document description](https://cloud.tencent.com/document/product/436/86438)",PICBED_TENCENTCLOUD_SLIM_CONFIRM:"OPEN",PICBED_TENCENTCLOUD_SLIM_CANCEL:"CLOSE",PICBED_GITHUB:"GitHub",PICBED_GITHUB_TOKEN:"Set Token",PICBED_GITHUB_REPO:"Set Repo Name",PICBED_GITHUB_PATH:"Set Path",PICBED_GITHUB_WEBPATH:"Set Web Path",PICBED_GITHUB_BRANCH:"Set Branch",PICBED_GITHUB_CUSTOMURL:"Set Custom URL",PICBED_GITHUB_MESSAGE_REPO:"Ex. username/repo",PICBED_GITHUB_MESSAGE_BRANCH:"Ex. main",PICBED_GITHUB_MESSAGE_PATH:"Ex. test/",PICBED_GITHUB_MESSAGE_WEBPATH:"Used to generate URL path",PICBED_GITHUB_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_QINIU:"Qiniu",PICBED_QINIU_ACCESSKEY:"Set AccessKey",PICBED_QINIU_SECRETKEY:"Set SecretKey",PICBED_QINIU_BUCKET:"Set Bucket",PICBED_QINIU_PATH:"Set Path",PICBED_QINIU_URL:"Set URL",PICBED_QINIU_OPTIONS:"Set URL Suffix",PICBED_QINIU_AREA:"Set Area",PICBED_QINIU_MESSAGE_PATH:"Ex. test/",PICBED_QINIU_MESSAGE_AREA:"Ex. z0",PICBED_QINIU_MESSAGE_OPTIONS:"Ex. ?imageslim",PICBED_QINIU_MESSAGE_URL:"Ex. https://xxx.yyy.glb.clouddn.com",PICBED_IMGUR:"Imgur",PICBED_IMGUR_CLIENTID:"Set ClientId",PICBED_IMGUR_USERNAME:"Set Username",PICBED_IMGUR_ACCESS_TOKEN:"Set Access Token",PICBED_IMGUR_ALBUM:"Set Album Name",PICBED_IMGUR_PROXY:"Set Proxy",PICBED_IMGUR_MESSAGE_CLIENTID:"Fill in when you need to upload as anonymous",PICBED_IMGUR_MESSAGE_USERNAME:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ACCESS_TOKEN:"Fill in when you need to upload to the account",PICBED_IMGUR_MESSAGE_ALBUM:"Ex. test",PICBED_IMGUR_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_UPYUN:"Upyun",PICBED_UPYUN_BUCKET:"Set Bucket",PICBED_UPYUN_ENDPOINT:"Set Endpoint",PICBED_UPYUN_OPERATOR:"Set Operator",PICBED_UPYUN_PASSWORD:"Set Operator Password",PICBED_UPYUN_PATH:"Set Path",PICBED_UPYUN_URL:"Set URL",PICBED_UPYUN_OPTIONS:"Set URL Suffix",PICBED_UPYUN_ANTILEECHTOKEN:"Set Anti-Leech Token",PICBED_UPYUN_EXPIRETIME:"Set Expire Time(seconds)",PICBED_UPYUN_MESSAGE_OPERATOR:"Ex. me",PICBED_UPYUN_MESSAGE_PASSWORD:"Ex. xxx",PICBED_UPYUN_MESSAGE_URL:"Ex. http://xxx.test.upcdn.net",PICBED_UPYUN_MESSAGE_OPTIONS:"Ex. !imgslim",PICBED_UPYUN_MESSAGE_PATH:"Ex. test/",PICBED_UPYUN_MESSAGE_ENDPOINT:"Ex. https://v0.api.upyun.com",PICBED_WEBDAVPLIST:"WebDAV",PICBED_WEBDAVPLIST_HOST:"Set Host",PICBED_WEBDAVPLIST_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_USERNAME:"Set Username",PICBED_WEBDAVPLIST_PASSWORD:"Set Password",PICBED_WEBDAVPLIST_PATH:"Set Path",PICBED_WEBDAVPLIST_WEBPATH:"Set Website Path",PICBED_WEBDAVPLIST_CUSTOMURL:"Set Custom URL",PICBED_WEBDAVPLIST_AUTHTYPE:"Set Auth Type",PICBED_WEBDAVPLIST_OPTIONS:"Set URL Suffix",PICBED_WEBDAVPLIST_MESSAGE_HOST:"Ex. https://example.com/webdav",PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED:"Enable HTTPS",PICBED_WEBDAVPLIST_MESSAGE_USERNAME:"Ex. me",PICBED_WEBDAVPLIST_MESSAGE_PASSWORD:"Please type the password",PICBED_WEBDAVPLIST_MESSAGE_PATH:"Ex. test/",PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_WEBDAVPLIST_MESSAGE_OPTIONS:"Ex. ?key=value",PICBED_SFTPPLIST:"SFTP Built-in",PICBED_SFTPPLIST_HOST:"Set Host",PICBED_SFTPPLIST_PORT:"Set Port",PICBED_SFTPPLIST_USERNAME:"Set Username",PICBED_SFTPPLIST_PASSWORD:"Set Password",PICBED_SFTPPLIST_PRIVATEKEY:"Set Private Key",PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE:"Set Private Key Passphrase",PICBED_SFTPPLIST_UPLOADPATH:"Set Upload Path",PICBED_SFTPPLIST_CUSTOMURL:"Set Custom URL",PICBED_SFTPPLIST_WEBSITE_PATH:"Set Website Path",PICBED_SFTPPLIST_FILE_USER:"Set File User:Group",PICBED_SFTPPLIST_FILE_MODE:"Set File Mode",PICBED_SFTPPLIST_DIR_MODE:"Set Directory Mode",PICBED_SFTPPLIST_MESSAGE_HOST:"Ex. 1.1.1.3",PICBED_SFTPPLIST_MESSAGE_PORT:"Default 22",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY:"Ex. /Users/xxx/.ssh/id_rsa",PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE:"Please type the private key passphrase",PICBED_SFTPPLIST_MESSAGE_UPLOADPATH:"Ex. test/",PICBED_SFTPPLIST_MESSAGE_CUSTOMURL:"Ex. https://test.com",PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH:"Used to generate the URL of the image",PICBED_SFTPPLIST_MESSAGE_FILE_USER:"Ex. www:data",PICBED_SFTPPLIST_MESSAGE_FILE_MODE:"Ex. 0664",PICBED_SFTPPLIST_MESSAGE_DIR_MODE:"Ex. 0775",PICBED_PICLIST:"PicList",PICBED_PICLIST_HOST:"Set Host",PICBED_PICLIST_PORT:"Set Port",PICBED_PICLIST_PICBED:"Set PicBed",PICBED_PICLIST_CONFIGNAME:"Set Config Name",PICBED_PICLIST_KEY:"Set Key",PICBED_LSKY_PLIST:"Lsky",PICBED_LSKY_VERSION:"Set Version",PICBED_LSKY_MESSAGE_VERSION:"Ex. v1",PICBED_LSKY_HOST:"Set Host",PICBED_LSKY_MESSAGE_HOST:"Ex. https://lsky.co",PICBED_LSKY_TOKEN:"Set Token",PICBED_LSKY_MESSAGE_TOKEN:"Ex. xxx",PICBED_LSKY_STRATEGY_ID:"Set Strategy ID",PICBED_LSKY_MESSAGE_STRATEGY_ID:"Ex. 1",PICBED_LSKY_ALBUM_ID:"Set Album ID",PICBED_LSKY_MESSAGE_ALBUM_ID:"Optional, only for V2",PICBED_LSKY_PERMISSION:"Set Permission",PICBED_LSKY_MESSAGE_PERMISSION:"Ex. public",PICBED_AWSS3PLIST:"AWS S3",PICBED_AWSS3PLIST_ACCESSKEYID:"Set AccessKeyId",PICBED_AWSS3PLIST_SECRET_ACCESSKEY:"Set SecretAccessKey",PICBED_AWSS3PLIST_BUCKET:"Set Bucket",PICBED_AWSS3PLIST_REGION:"Set Region",PICBED_AWSS3PLIST_UPLOADPATH:"Set Upload Path",PICBED_AWSS3PLIST_ENDPOINT:"Set Endpoint",PICBED_AWSS3PLIST_PROXY:"Set Proxy",PICBED_AWSS3PLIST_URLPREFIX:"Set Custom URL",PICBED_AWSS3PLIST_OPTIONS:"Set Options",PICBED_AWSS3PLIST_MESSAGE_OPTIONS:"Ex. ?x-oss-process=xxx",PICBED_AWSS3PLIST_PATHSTYLEACCESS:"Set PathStyleAccess",PICBED_AWSS3PLIST_REJECTUNAUTHORIZED:"Set RejectUnauthorized",PICBED_AWSS3PLIST_ACL:"Set ACL",PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL:"when `pathStyleAccess` is enabled, whether to disable adding bucket prefix to url",PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY:"Ex. xxx",PICBED_AWSS3PLIST_MESSAGE_BUCKET:"Ex. test",PICBED_AWSS3PLIST_MESSAGE_REGION:"Ex. us-east-1",PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH:"Ex. test/{fullName}",PICBED_AWSS3PLIST_MESSAGE_ENDPOINT:"Ex. https://s3.us-east-1.amazonaws.com",PICBED_AWSS3PLIST_MESSAGE_PROXY:"Ex. http://127.0.0.1:1080",PICBED_AWSS3PLIST_MESSAGE_URLPREFIX:"Ex. https://test.com",PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS:"Enable when `pathStyleAccess` is required",PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED:"Enable when rejecting invalid TLS certificate connection is required",PICBED_AWSS3PLIST_MESSAGE_ACL:"Ex. public-read",PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL:"Enable when `pathStyleAccess` is enabled",BUILDIN_SKIPPROCESS:"Skip Process Settings",BUILDIN_SKIPPROCESS_SKIPPROCESSEXTLIST:"Set Skip Process Ext List",BUILDIN_RENAME:"Rename Settings",BUILDIN_RENAME_FORMAT:"Set rename format",BUILDIN_RENAME_ENABLE:"Enable rename",BUILDIN_WATERMARK:"Watermark Settings",BUILDIN_WATERMARK_ISADDWATERMARK:"Whether to add watermark",BUILDIN_WATERMARK_MESSAGE_ISADDWATERMARK:"Enable when watermark is required",BUILDIN_WATERMARK_WATERMARKTYPE:"Set watermark type",BUILDIN_WATERMARK_MESSAGE_WATERMARKTYPE:"Please select watermark type",BUILDIN_WATERMARK_ISFULLSCREENWATERMARK:"Whether to use full-screen watermark",BUILDIN_WATERMARK_MESSAGE_ISFULLSCREENWATERMARK:"Enable when full-screen watermark is required",BUILDIN_WATERMARK_WATERMARKDEGREE:"Set watermark angle",BUILDIN_WATERMARK_MESSAGE_WATERMARKDEGREE:"Please enter a number",BUILDIN_WATERMARK_WATERMARKTEXT:"Set watermark text",BUILDIN_WATERMARK_MESSAGE_WATERMARKTEXT:"Please enter watermark text",BUILDIN_WATERMARK_WATERMARKFONTPATH:"Set watermark font",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTPATH:"Please enter the watermark font file path",BUILDIN_WATERMARK_WATERMARKSCALERATIO:"Set the ratio of the watermark to the image",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTRATIO:"Please enter a number between 0-1",BUILDIN_WATERMARK_WATERMARKCOLOR:"Set watermark font color",BUILDIN_WATERMARK_MESSAGE_WATERMARKFONTCOLOR:"Please enter the RGB color value",BUILDIN_WATERMARK_WATERMARKIMAGEPATH:"Set watermark image path",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEPATH:"Please enter the watermark image path",BUILDIN_WATERMARK_WATERMARKPOSITION:"Set watermark position",BUILDIN_WATERMARK_MESSAGE_WATERMARKPOSITION:"Please select watermark position",BUILDIN_WATERMARK_WATERMARKIMAGEOPACITY:"Set watermark image opacity",BUILDIN_WATERMARK_MESSAGE_WATERMARKIMAGEOPACITY:"Please enter an integer between 0-255",BUILDIN_COMPRESS:"Processing Settings",BUILDIN_COMPRESS_QUALITY:"Set image quality",BUILDIN_COMPRESS_MESSAGE_QUALITY:"Please enter an integer between 1-100",BUILDIN_COMPRESS_ISCONVERT:"Whether to perform format conversion",BUILDIN_COMPRESS_MESSAGE_ISCONVERT:"Enable when format conversion is required",BUILDIN_COMPRESS_CONVERTFORMAT:"Set conversion format",BUILDIN_COMPRESS_MESSAGE_CONVERTFORMAT:"Please select conversion format",BUILDIN_COMPRESS_ISRESIZE:"Whether to resize the image",BUILDIN_COMPRESS_MESSAGE_ISRESIZE:"Enable when image resizing is required",BUILDIN_COMPRESS_RESIZEWIDTH:"Set resizing width",BUILDIN_COMPRESS_MESSAGE_RESIZEWIDTH:"Please enter a number",BUILDIN_COMPRESS_RESIZEHEIGHT:"Set resizing height",BUILDIN_COMPRESS_MESSAGE_RESIZEHEIGHT:"Please enter a number",BUILDIN_COMPRESS_ISRESIZEBYPERCENT:"Whether to resize the image by percentage",BUILDIN_COMPRESS_MESSAGE_ISRESIZEBYPERCENT:"Enable when resizing by percentage is required",BUILDIN_COMPRESS_ISFLIP:"Whether to flip the image vertically",BUILDIN_COMPRESS_ISFLOP:"Whether to flip the image horizontally",BUILDIN_COMPRESS_RESIZEPERCENT:"Set resizing percentage",BUILDIN_COMPRESS_MESSAGE_RESIZEPERCENT:"Please enter a number",BUILDIN_COMPRESS_SKIPRESIZEOFSMALLIMG:"Whether to skip resizing of small images",BUILDIN_COMPRESS_ISROTATE:"Whether to rotate the image",BUILDIN_COMPRESS_MESSAGE_ISROTATE:"Enable when image rotation is required",BUILDIN_COMPRESS_ROTATEDEGREE:"Set rotation angle",BUILDIN_COMPRESS_MESSAGE_ROTATEDEGREE:"Please enter a number, can be negative",BUILDIN_COMPRESS_ISREMOVEEXIF:"Whether to remove EXIF information",BUILDIN_COMPRESS_MESSAGE_ISREMOVEEXIF:"Enable when removing EXIF information is required",PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS:"Plugin installed successfully",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED:"Plugin installation failed",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON:"Plugin installation failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_PATH:"Plugin installation failed, please enter a valid plugin name or valid installation path",PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS:"Plugin uninstalled successfully",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED:"Plugin uninstall failed",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON:"Plugin uninstall failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID:"Plugin uninstall failed, please enter a valid plugin name",PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS:"Plugin updated successfully",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED:"Plugin update failed",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON:"Plugin update failed, error code is ${code}, error log is \n ${data}",PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID:"Plugin update failed, please enter a valid plugin name"}};class ct{i18n;objectAdapter;ctx;constructor(e){this.ctx=e,this.objectAdapter=new O(lt);let t=this.ctx.getConfig("settings.language")||"zh-CN";lt[t]||(t="zh-CN"),this.i18n=new y({adapter:this.objectAdapter,defaultLanguage:t}),this.loadOutterI18n()}loadOutterI18n(){const e=this.getOutterI18nFolder();i.readdirSync(e,{withFileTypes:!0}).forEach(r=>{if(r.isFile()&&r.name.endsWith(".yml")){const n=t.join(e,r.name),a=i.readFileSync(n,"utf8");try{const e=w.load(a);lt[r.name.replace(/\.yml$/,"")]=e}catch(e){console.error(e)}}})}getOutterI18nFolder(){const e=t.join(this.ctx.baseDir,"i18n-cli");return E(e)||s(e),e}translate(e,t){return this.i18n.translate(e,t)||e}setLanguage(e){this.i18n.setLanguage(e),this.ctx.saveConfig({"settings.language":e})}addLocale(e,t){const r=this.objectAdapter.getLocale(e);if(!r)return!1;const n=A(r,t);return this.objectAdapter.setLocale(e,n),!0}addLanguage(e,t){return!this.objectAdapter.getLocale(e)&&(this.objectAdapter.setLocale(e,t),lt[e]=t,!0)}getLanguageList(){return Object.keys(lt)}}const Pt={handle:e=>{e.cmd.program.option("-c, --config <path>","set config path")}},ut={handle:e=>{const t=e.cmd;t.program.command("config-list").description("list all configs names for an uploader").arguments("<uploader>").action(t=>{try{const r=e.configManager.getAllUploaderConfigs(t),n=e.configManager.getCurrentUploaderConfig(t);if(0===r.length)return void e.log.info(`No configs found for ${t}`);e.log.info(`Configs for ${t}:`),r.forEach(t=>{const r=n&&t._id===n._id?" (default)":"";e.log.info(` - ${t._configName}${r} [ID: ${t._id}]`)})}catch(t){e.log.error(t)}}),t.program.command("config-use").description("set a config as default for an uploader").arguments("<uploader> <configName>").action((t,r)=>{try{const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.setDefaultConfig(t,n._id)?e.log.success(`Set "${r}" as default config for ${t}`):e.log.error(`Failed to set "${r}" as default`)}catch(t){e.log.error(t)}}),t.program.command("config-remove").description("remove a config for an uploader").arguments("<uploader> <configName>").action((t,r)=>{(async()=>{try{const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);const i=[{type:"confirm",name:"confirm",message:`Are you sure you want to delete config "${r}"?`,default:!1}];if(!(await e.cmd.inquirer.prompt(i)).confirm)return void e.log.info("Cancelled");e.configManager.deleteUploaderConfig(t,n._id)?e.log.success(`Deleted config "${r}" for ${t}`):e.log.error(`Failed to delete config "${r}"`)}catch(t){e.log.error(t)}})().catch(t=>{e.log.error(t)})}),t.program.command("config-rename").description("rename a config for an uploader").arguments("<uploader> <oldName> <newName>").action((t,r,n)=>{try{const i=e.configManager.getConfigByName(t,r);if(!i)return void e.log.error(`Config "${r}" not found for ${t}`);e.configManager.renameConfig(t,i._id,n)?e.log.success(`Renamed config from "${r}" to "${n}"`):e.log.error("Failed to rename config")}catch(t){e.log.error(t)}}),t.program.command("config-show").description("show details of a config").arguments("<uploader> [configName]").action((t,r)=>{try{if(!r){const r=e.configManager.getAllUploaderConfigs(t);return r&&0!==r.length?void r.forEach(t=>{e.log.info(`Config details for "${t._configName}":`),e.log.info(` ID: ${t._id}`),e.log.info(` Created: ${new Date(t._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(t._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(t).forEach(r=>{if(!r.startsWith("_")){const n=t[r],i="string"==typeof n&&(r.includes("password")||r.includes("token")||r.includes("key"))?"***":JSON.stringify(n);e.log.info(` ${r}: ${i}`)}})}):void e.log.info(`No configs found for ${t}`)}const n=e.configManager.getConfigByName(t,r);if(!n)return void e.log.error(`Config "${r}" not found for ${t}`);e.log.info(`Config details for "${r}":`),e.log.info(` ID: ${n._id}`),e.log.info(` Created: ${new Date(n._createdAt).toLocaleString()}`),e.log.info(` Updated: ${new Date(n._updatedAt).toLocaleString()}`),e.log.info("Config values:"),Object.keys(n).forEach(t=>{if(!t.startsWith("_")){const r=n[t],i="string"==typeof r&&(t.includes("password")||t.includes("token")||t.includes("key"))?"***":JSON.stringify(r);e.log.info(` ${t}: ${i}`)}})}catch(t){e.log.error(t)}})}},pt={handle:e=>{e.cmd.program.command("i18n").arguments("[lang]").description("change language, zh-CN, zh-TW, en").action(async(t="")=>{const r=e.i18n.getLanguageList();if(!t){const n=[{type:"list",name:"i18n",choices:r,message:"Choose a language",default:e.getConfig("settings.language")||"zh-CN"}];t=(await e.cmd.inquirer.prompt(n)).i18n}r.includes(t)?(e.i18n.setLanguage(t),e.log.success(`Language set to ${t}`)):e.log.warn("No such language")})}},At=(e,t,r,n,i,a)=>{let s=e.program.command(t).description(r).alias(n);a?.proxy&&(s=s.option("-p, --proxy <proxy>","Add proxy for installing plugins")),a?.registry&&(s=s.option("-r, --registry <registry>","Choose a registry for installing plugins")),s.action(i)},gt={handle:e=>{const t=e.cmd;At(t,"install <plugins...>","install picgo plugin","add",(t,r)=>{const{proxy:n,registry:i}=r,a={proxy:n,registry:i};e.pluginHandler.install(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0}),At(t,"uninstall <plugins...>","uninstall picgo plugin","rm",t=>{e.pluginHandler.uninstall(t).catch(t=>{e.log.error(t)})}),At(t,"update <plugins...>","update picgo plugin","up",(t,r)=>{const{proxy:n,registry:i}=r,a={proxy:n,registry:i};e.pluginHandler.update(t,a).catch(t=>{e.log.error(t)})},{proxy:!0,registry:!0})}},Ct={handle:e=>{e.cmd.program.option("-p, --proxy <url>","set proxy for uploading",t=>{e.setConfig({"picBed.proxy":t})})}};function dt({path:e,startSlash:t=!1,endSlash:r=!0,rootToEmpty:n=!0}){const i=e?.replace(/^\/+|\/+$/g,"").replace(/\/{2,}/g,"/");return i?`${t?"/":""}${i}${r?"/":""}`:n?"":"/"}function Tt(e){return e.replace(/\/{2,}/g,"/").split("/").map(e=>encodeURIComponent(e)).join("/")}const Dt="advancedplist",mt="alistplist",ft="aliyun",Lt="aws-s3-plist",ht="github",Bt="imgur",Nt="local",Ut="lskyplist",Rt="piclist",Mt="qiniu",Ot="sftpplist",yt="smms",wt="tcyun",Gt="upyun",bt="webdavplist",xt=(e,t,r,n,i,a,s="PICBED",o)=>({name:r,type:n,get prefix(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`${s}_${t.toUpperCase()}_${r.toUpperCase()}`)},default:i,required:a,...o});const Wt=e=>({advancedplist:e.i18n.translate("PICBED_ADVANCEDPLIST"),alistplist:e.i18n.translate("PICBED_ALIST_PLIST"),aliyun:e.i18n.translate("PICBED_ALICLOUD"),"aws-s3-plist":e.i18n.translate("PICBED_AWSS3PLIST"),github:e.i18n.translate("PICBED_GITHUB"),imgur:e.i18n.translate("PICBED_IMGUR"),local:e.i18n.translate("PICBED_LOCAL"),lskyplist:e.i18n.translate("PICBED_LSKY_PLIST"),piclist:e.i18n.translate("PICBED_PICLIST"),qiniu:e.i18n.translate("PICBED_QINIU"),sftpplist:e.i18n.translate("PICBED_SFTPPLIST"),smms:e.i18n.translate("PICBED_SMMS"),tcyun:e.i18n.translate("PICBED_TENCENTCLOUD"),upyun:e.i18n.translate("PICBED_UPYUN"),webdavplist:e.i18n.translate("PICBED_WEBDAVPLIST")}),$t={compress:{config:{config:e=>{const t=e.getConfig("buildIn.compress")||{};return[xt(e,"compress","quality","input",t.quality||100,!1,"BUILDIN"),xt(e,"compress","isConvert","confirm",t.isConvert||!1,!1,"BUILDIN"),xt(e,"compress","convertFormat","list",t.convertFormat||"jpg",!1,"BUILDIN",{choices:["avif","dz","fits","gif","heif","input","jpeg","jpg","jp2","jxl","magick","openslide","pdf","png","ppm","raw","svg","tiff","tif","v","webp"]}),xt(e,"compress","isReSize","confirm",t.isReSize||!1,!1,"BUILDIN"),xt(e,"compress","reSizeWidth","input",t.reSizeWidth||500,!1,"BUILDIN"),xt(e,"compress","reSizeHeight","input",t.reSizeHeight||500,!1,"BUILDIN"),xt(e,"compress","skipReSizeOfSmallImg","confirm",t.skipReSizeOfSmallImg||!1,!1,"BUILDIN"),xt(e,"compress","isReSizeByPercent","confirm",t.isReSizeByPercent||!1,!1,"BUILDIN"),xt(e,"compress","reSizePercent","input",t.reSizePercent||50,!1,"BUILDIN"),xt(e,"compress","isFlip","confirm",t.isFlip||!1,!1,"BUILDIN"),xt(e,"compress","isFlop","confirm",t.isFlop||!1,!1,"BUILDIN"),xt(e,"compress","isRotate","confirm",t.isRotate||!1,!1,"BUILDIN"),xt(e,"compress","rotateDegree","input",t.rotateDegree||90,!1,"BUILDIN"),xt(e,"compress","isRemoveExif","confirm",t.isRemoveExif||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_COMPRESS"},watermark:{config:{config:e=>{const t=e.getConfig("buildIn.watermark")||{};return[xt(e,"watermark","isAddWatermark","confirm",t.isAddWatermark||!1,!1,"BUILDIN"),xt(e,"watermark","watermarkType","list",t.watermarkType||"text",!1,"BUILDIN",{choices:["text","image"]}),xt(e,"watermark","isFullScreenWatermark","confirm",t.isFullScreenWatermark||!1,!1,"BUILDIN"),xt(e,"watermark","watermarkDegree","input",t.watermarkDegree||0,!1,"BUILDIN"),xt(e,"watermark","watermarkText","input",t.watermarkText||"",!1,"BUILDIN"),xt(e,"watermark","watermarkFontPath","input",t.watermarkFontPath||"",!1,"BUILDIN"),xt(e,"watermark","watermarkScaleRatio","input",t.watermarkScaleRatio||.15,!1,"BUILDIN"),xt(e,"watermark","watermarkColor","input",t.watermarkColor||"rgba(204, 204, 204, 0.45)",!1,"BUILDIN"),xt(e,"watermark","watermarkImagePath","input",t.watermarkImagePath||"",!1,"BUILDIN"),xt(e,"watermark","watermarkImageOpacity","input",t.watermarkImageOpacity||255,!1,"BUILDIN"),xt(e,"watermark","watermarkPosition","list",t.watermarkPosition||"southeast",!1,"BUILDIN",{choices:["north","northeast","southeast","south","southwest","northwest","west","east","center","centre"]})]}}.config,key:"BUILDIN_WATERMARK"},rename:{config:{config:e=>{const t=e.getConfig("buildIn.rename")||{};return[xt(e,"rename","format","input",t.format||"{filename}",!1,"BUILDIN"),xt(e,"rename","enable","confirm",t.enable||!1,!1,"BUILDIN")]}}.config,key:"BUILDIN_RENAME"},skipProcess:{config:{config:e=>{const t=e.getConfig("buildIn.skipProcess")||{};return[xt(e,"skipProcess","skipProcessExtList","input",t.skipProcessExtList||"zip,rar,7z,tar,gz,tar.gz,tar.bz2,tar.xz",!1,"BUILDIN")]}}.config,key:"BUILDIN_SKIPPROCESS"}},Ht=async(e,t,r,n,i,a)=>{const s=await e.cmd.inquirer.prompt(t),o=Ft(r,n);if("uploader"===r){const t=i||"Default",r=e.configManager.getConfigByName(n,t);if(r)e.configManager.updateUploaderConfig(n,r._id,s),e.log.success(`Updated config "${t}" for ${n}`);else{const r=e.configManager.addUploaderConfig(n,t,s);e.log.success(`Created new config "${t}" for ${n}`),e.configManager.setDefaultConfig(n,r._id)}e.saveConfig({"picBed.current":n,"picBed.uploader":n})}else if("buildin"===r)if(a){const t=e.getConfig(`uploader.${a}`)||{};if(!t.configList||0===t.configList.length)return void e.log.error(`No config found for uploader ${a}`);const r=t.configList.find(e=>e._configName===(i||"Default"))?._id;if(!r)return void e.log.error(`No config named "${i||"Default"}" found for uploader ${a}`);const o=e.getConfig("buildIn.list")||[],E=o.findIndex(e=>e.id===r);-1!==E?o[E]={...o[E],[n]:s}:o.push({id:r,[n]:s}),e.saveConfig({"buildIn.list":o})}else e.saveConfig({[o]:s});else e.saveConfig({[o]:s}),"transformer"===r&&e.saveConfig({"picBed.transformer":n})},Ft=(e,t)=>({uploader:`picBed.${t}`,transformer:`transformer.${t}`,buildin:`buildIn.${t}`}[e]||t),Kt={handle:e=>{e.cmd.program.command("set").alias("config").arguments("<module> [name] [configName] [uploaderName]").description('configure config of picgo modules, uploader|transformer|plugin|buildin. For uploader and buildin, configName is optional (defaults to "Default"). For buildin module, uploaderName is the uploader name to which the buildin module config will be linked.').action((t,r,n,i)=>{(async()=>{try{switch(t){case"buildin":await(async(e,t,r,n)=>{if(t&&t in $t){const i=$t[t];return void await Ht(e,i.config(e),"buildin",t,r,n)}if(t&&!(t in $t))return e.log.error(`No buildin module named ${t}`),void e.log.warn("Available buildin modules are: compress|watermark|rename|skipProcess");const i=[{type:"list",name:"buildin",choices:Object.entries($t).map(([t,{key:r}])=>({name:e.i18n.translate(r),value:t})),message:"Choose a buildin module"}],a=await e.cmd.inquirer.prompt(i),s=$t[a.buildin];await Ht(e,s.config(e),"buildin",a.buildin,r,n)})(e,r,n,i);break;case"uploader":case"transformer":await(async(e,t,r,n)=>{if(r){const i=e.helper[t].get(r);return i?void(i.config&&await Ht(e,i.config(e),t,r,n)):void e.log.error(`No ${t} named ${r}`)}const i=e.helper[t].getIdList().map(t=>({name:Wt(e)[t]||t,value:t})),a=[{type:"list",name:t,choices:i,message:`Choose a(n) ${t}`}],s=await e.cmd.inquirer.prompt(a),o=e.helper[t].get(s[t]);o?.config&&await Ht(e,o.config(e),t,s[t],n)})(e,t,r,n);break;case"plugin":await(async(e,t)=>{if(t){const r=t.includes("picgo-plugin-")?t:`picgo-plugin-${t}`;if(!Object.keys(e.getConfig("picgoPlugins")).includes(r))return void e.log.error(`No plugin named ${r}`);const n=await e.pluginLoader.getPlugin(r);return void(n?.config&&await Ht(e,n.config(e),"plugin",r))}const r=[{type:"list",name:"plugin",choices:e.pluginLoader.getFullList(),message:"Choose a plugin"}],n=await e.cmd.inquirer.prompt(r),i=await e.pluginLoader.getPlugin(n.plugin);i?.config&&await Ht(e,i.config(e),"plugin",n.plugin)})(e,r);break;default:return e.log.warn(`No module named ${t}`),void e.log.warn("Available modules are uploader|transformer|plugin|buildin")}e.log.success("Configure config done"),"plugin"===t&&e.log.info("If you want to use this config, please run 'picgo use plugins'")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}},kt={handle:e=>{e.cmd.program.command("upload").description("upload, go go go").arguments("[input...]").alias("u").action(r=>{(async()=>{const n=r.map(e=>ce(e)?e:t.resolve(e)).filter(t=>{const r=i.existsSync(t)||ce(t);return r||e.log.warn(`${t} does not exist.`),r});await e.upload(n)})().catch(t=>{e.log.error(t)})})}},vt={handle:async e=>{const t=e.cmd;t.program.command("use").arguments("[module]").description("use modules of picgo").action(r=>{(async()=>{try{let n=[];const i={uploader:{type:"list",name:"uploader",message:"Use an uploader",choices:e.helper.uploader.getIdList().map(t=>({name:Wt(e)[t]||t,value:t})),default:e.getConfig("picBed.uploader")||e.getConfig("picBed.current")||"smms"},transformer:{type:"list",name:"transformer",message:"Use a transformer",choices:e.helper.transformer.getIdList(),default:e.getConfig("picBed.transformer")||"path"},plugins:{type:"checkbox",name:"plugins",message:"Use plugins",choices:e.pluginLoader.getFullList(),default:Object.keys(e.getConfig("picgoPlugins")).filter(t=>e.getConfig(`picgoPlugins.${t}`))}};if(r){if(!i[r])return e.log.warn(`No module named ${r}`),void e.log.warn("Available modules are uploader|transformer|plugins");n.push(i[r])}else n=Object.keys(i).map(e=>i[e]);const a=await t.inquirer.prompt(n);if(a.plugins){const t=e.getConfig("picgoPlugins");Object.keys(t).forEach(e=>{a.plugins.includes(e)?t[e]=!0:t[e]=!1}),e.saveConfig({picgoPlugins:t})}e.saveConfig({"picBed.current":a.uploader||e.getConfig("picBed.current"),"picBed.uploader":a.uploader||e.getConfig("picBed.current"),"picBed.transformer":a.transformer||"path"}),e.log.success("Configure saved successfully!")}catch(t){if(e.log.error(t),process.argv.includes("--debug"))throw t}})().catch(t=>{e.log.error(t)})})}};class Yt{static currentPlugin;name;list;pluginIdMap;constructor(e){this.name=e,this.list=new Map,this.pluginIdMap=new Map}register(e,t){if(!e)throw new TypeError("id is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} duplicate id: ${e}!`);this.list.set(e,t),Yt.currentPlugin&&(this.pluginIdMap.has(Yt.currentPlugin)?this.pluginIdMap.get(Yt.currentPlugin)?.push(e):this.pluginIdMap.set(Yt.currentPlugin,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}getName(){return this.name}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}const Vt=(e=null)=>{Yt.currentPlugin=e};class zt{name="commander";static currentPlugin;list=new Map;pluginIdMap=new Map;ctx;program;inquirer;constructor(e){this.program=new G,this.inquirer=b,this.ctx=e}getName(){return this.name}init(){var e;this.program.version("2.2.0","-v, --version").option("-d, --debug","debug mode",()=>{this.ctx.setConfig({debug:!0})}).option("-s, --silent","silent mode",()=>{this.ctx.setConfig({silent:!0})}).on("command:*",()=>{this.ctx.log.error(`Invalid command: ${this.program.args.join(" ")}\nSee --help for a list of available commands.`),process.exit(1)}),(e=this.ctx).cmd.register("pluginHandler",gt),e.cmd.register("config",Pt),e.cmd.register("configManager",ut),e.cmd.register("setting",Kt),e.cmd.register("upload",kt),e.cmd.register("use",vt),e.cmd.register("proxy",Ct),e.cmd.register("i18n",pt)}register(e,t){if(!e)throw new TypeError("name is required!");if("function"!=typeof t.handle)throw new TypeError("plugin.handle must be a function!");if(this.list.has(e))throw new TypeError(`${this.name} plugin duplicate id: ${e}!`);this.list.set(e,t);const r=Yt.currentPlugin;null!==r&&(this.pluginIdMap.has(r)?this.pluginIdMap.get(r)?.push(e):this.pluginIdMap.set(r,[e]))}unregister(e){if(this.pluginIdMap.has(e)){const t=this.pluginIdMap.get(e);t?.forEach(e=>{this.list.delete(e)})}}loadCommands(){this.getList().forEach(e=>{try{e.handle(this.ctx)}catch(e){this.ctx.log.error(e)}})}get(e){return this.list.get(e)}getList(){return[...this.list.values()]}getIdList(){return[...this.list.keys()]}}class jt{level={[qe.success]:"green",[qe.info]:"blue",[qe.warn]:"yellow",[qe.error]:"red"};ctx;logLevel;logPath;constructor(e){this.ctx=e}handleLog(e,...r){if(this.logLevel=this.ctx.getConfig("settings.logLevel"),!this.ctx.getConfig("silent")&&this.checkLogLevel(e,this.logLevel)){const n=W[this.level[e]](`[PicList ${e.toUpperCase()}]:`);console.log(n,...r),this.logPath=this.ctx.getConfig("settings.logPath")||t.join(this.ctx.baseDir,"./piclist.log"),setTimeout(()=>{try{const t=this.checkLogFileIsLarge(this.logPath);if(t.isLarge){const e=`Log file is too large (> ${t.logFileSizeLimit/1024/1024||"10"} MB), recreate log file`;console.log(W.yellow("[PicList WARN]:"),e),this.recreateLogFile(this.logPath),r.unshift(e)}this.handleWriteLog(this.logPath,e,...r)}catch(e){console.error("[PicList Error] on checking log file size",e)}},0)}}checkLogFileIsLarge(e){if(i.existsSync(e)){const t=i.statSync(e).size,r=1024*Re(this.ctx.getConfig("settings.logFileSizeLimit")||10)*1024;return{isLarge:t>r,logFileSize:t,logFileSizeLimit:r}}return{isLarge:!1}}recreateLogFile(e){i.existsSync(e)&&(i.unlinkSync(e),S(e))}handleWriteLog(e,t,...r){try{let n=`${$().format("YYYY-MM-DD HH:mm:ss")} [PicList ${t.toUpperCase()}] `;r.forEach(e=>{e instanceof Error&&"error"===t?n+=`\n------Error Stack Begin------\n${x.format(e?.stack)}\n-------Error Stack End------- `:("object"==typeof e&&(e=JSON.stringify(e,null,2)),n+=`${e} `)}),n+="\n",i.appendFileSync(e,n)}catch(e){console.error("[PicList Error] on writing log file",e)}}checkLogLevel(e,t){return void 0===t||"all"===t||(Array.isArray(t)?t.some(t=>t===e||"all"===t):e===t)}success(...e){this.handleLog(qe.success,...e)}info(...e){this.handleLog(qe.info,...e)}error(...e){this.handleLog(qe.error,...e)}warn(...e){this.handleLog(qe.warn,...e)}debug(...e){Me()&&this.handleLog(qe.info,...e)}}class qt{ctx;constructor(e){this.ctx=e}async install(e,t={},r){const n=[],i=e.map(e=>Xt(this.ctx,e)).filter(e=>this.ctx.pluginLoader.hasPlugin(e.pkgName)?(n.push(e.pkgName),this.ctx.log.success(`PicList has already installed ${e.pkgName}`),!1):!!e.success),a=i.map(e=>e.fullName),s=i.map(e=>e.pkgName);if(a.length>0){const e=await this.execCommand("install",a,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:t});return{success:!1,body:t}}for(const e of a)await this.ctx.pluginLoader.registerPlugin(e);this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}if(0===n.length){const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("installFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_FAILED"),body:e});return{success:!1,body:e}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS")),this.ctx.emit("installSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_INSTALL_SUCCESS"),body:[...s,...n]});return{success:!0,body:[...s,...n]}}async uninstall(e){const t=e.map(e=>Xt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(t.length>0){const e=await this.execCommand("uninstall",t,this.ctx.baseDir);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:t});return{success:!1,body:t}}t.forEach(e=>{this.ctx.pluginLoader.unregisterPlugin(e)}),this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS")),this.ctx.emit("uninstallSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_SUCCESS"),body:t});return{success:!0,body:t}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("uninstallFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UNINSTALL_FAILED"),body:e});return{success:!1,body:e}}}async update(e,t={},r){const n=e.map(e=>Xt(this.ctx,e)).filter(e=>e.success).map(e=>e.pkgName);if(n.length>0){const e=await this.execCommand("update",n,this.ctx.baseDir,t,r);if(e.code){const t=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_REASON",{code:`${e.code}`,data:e.data});this.ctx.log.error(t),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:t});return{success:!1,body:t}}this.ctx.log.success(this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS")),this.ctx.emit("updateSuccess",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_SUCCESS"),body:n});return{success:!0,body:n}}{const e=this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED_VALID");this.ctx.log.error(e),this.ctx.emit("updateFailed",{title:this.ctx.i18n.translate("PLUGIN_HANDLER_PLUGIN_UPDATE_FAILED"),body:e});return{success:!1,body:e}}}async execCommand(e,t,r,n={},i={}){const a=n.registry||this.ctx.getConfig("settings.registry"),s=n.proxy||this.ctx.getConfig("settings.proxy");return await new Promise(n=>{let o=[e].concat(t).concat("--color=always").concat("--save");a&&(o=o.concat(`--registry=${a}`)),s&&(o=o.concat(`--proxy=${s}`));try{const e=H("npm",o,{cwd:r,env:{...process.env,...i}});let t="";e.stdout?.on("data",e=>{t+=e}).pipe(process.stdout),e.stderr?.on("data",e=>{t+=e}).pipe(process.stderr),e.on("close",e=>{n(e?{code:e,data:t}:{code:0,data:t})}),e.on("error",e=>{this.ctx.log.error(e),this.ctx.log.error("NPM is not installed"),this.ctx.emit(Xe.FAILED,"NPM is not installed")})}catch(e){this.ctx.log.error(e),this.ctx.emit(Xe.FAILED,e)}})}}const Xt=(e,t)=>{const r={success:!1,fullName:"",pkgName:""},n=De(t,e.log);if(!n)return r;const i=me(n,e.log);return i?{success:!0,fullName:n,pkgName:i}:r};class Qt{ctx;list=[];fullList=new Set;pluginMap=new Map;constructor(e){this.ctx=e,this.init()}init(){const e=t.join(this.ctx.baseDir,"package.json");if(!i.existsSync(e)){const t={name:"picgo-plugins",description:"picgo-plugins",repository:"https://github.com/Kuingsmile/PicList-Core",license:"MIT"};i.writeFileSync(e,JSON.stringify(t),"utf8")}}resolvePlugin(e,r){try{return F.sync(r,{basedir:e.baseDir})}catch(n){return t.join(e.baseDir,"node_modules",r)}}async load(){const e=t.join(this.ctx.baseDir,"node_modules/");if(!i.existsSync(e))return!1;const r=t.join(this.ctx.baseDir,"package.json"),n=a(r),s=Object.keys(n.dependencies||{}),o=Object.keys(n.devDependencies||{}),E=s.concat(o).filter(e=>{if(!/^picgo-plugin-|^@[^/]+\/picgo-plugin-/.test(e))return!1;const t=this.resolvePlugin(this.ctx,e);return i.existsSync(t)});for(const e of E)await this.registerPlugin(e);return!0}async registerPlugin(e,t){if(e&&"string"==typeof e){this.fullList.add(e);try{if(t){this.list.push(e),Vt(e);const r=t(this.ctx);this.pluginMap.set(e,r),r.register(this.ctx)}else if(!0===this.ctx.getConfig(`picgoPlugins.${e}`)||void 0===this.ctx.getConfig(`picgoPlugins.${e}`)){this.list.push(e),Vt(e);(await this.getPlugin(e)).register(this.ctx);const t=`picgoPlugins[${e}]`;this.ctx.saveConfig({[t]:!0})}}catch(t){this.pluginMap.delete(e),this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.ctx.log.error(t),this.ctx.emit(Xe.NOTIFICATION,{title:`Plugin ${e} Load Error`,body:t})}}else this.ctx.log.warn("Please provide valid plugin")}unregisterPlugin(e){this.list=this.list.filter(t=>t!==e),this.fullList.delete(e),this.pluginMap.delete(e),Vt(e),this.ctx.helper.uploader.unregister(e),this.ctx.helper.transformer.unregister(e),this.ctx.helper.beforeTransformPlugins.unregister(e),this.ctx.helper.beforeUploadPlugins.unregister(e),this.ctx.helper.afterUploadPlugins.unregister(e),this.ctx.cmd.unregister(e),this.ctx.removeConfig("picgoPlugins",e)}async getPlugin(e){if(this.pluginMap.has(e))return this.pluginMap.get(e);let r;try{r=this.resolvePlugin(this.ctx,e)}catch(n){const s=t.join(this.ctx.baseDir,"node_modules",e),o=t.join(s,"package.json");if(!i.existsSync(o))throw new Error(`Plugin package.json not found: ${e}`);try{const e=a(o),n=e.main||e.module||"index.js";r=t.join(s,n)}catch{const n=["index.js","src/index.js","dist/index.js","lib/index.js"];r="";for(const e of n){const n=t.join(s,e);if(i.existsSync(n)){r=n;break}}if(!r)throw new Error(`Cannot find entry point for plugin: ${e}`)}}const n=L(r).href,s=await import(n),o=(s.default||s)(this.ctx);return this.pluginMap.set(e,o),o}getList(){return this.list}hasPlugin(e){return this.fullList.has(e)}getFullList(){return[...this.fullList]}}const Zt=new e,Jt=new K.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2",rejectUnauthorized:!1});function er(e,t,r){"object"==typeof r&&"value"in r&&"options"in r?e.append(t,r.value,r.options):e.append(t,r)}function tr(e){return{...e,statusCode:e.status,body:e.data}}function rr(e){const t={method:e?.config?.method?.toUpperCase()||"",url:e?.config?.url||"",statusCode:e?.response?.status||0,message:e?.message||"",stack:e?.stack||{},response:{status:e?.response?.status||0,statusCode:e?.response?.status||0,body:e?.response?.data||""}};return Promise.reject(t)}class nr{ctx;proxy="";options={};constructor(e){this.ctx=e,this.init(),Zt.on(Qe.CONFIG_CHANGE,e=>{switch(e.configName){case"picBed":e.value?.proxy&&(this.proxy=e.value.proxy);break;case"picBed.proxy":this.proxy=e.value}})}init(){const e=this.ctx.getConfig("picBed.proxy");e&&(this.proxy=e)}handleProxy(){if(this.proxy)try{const e=new f(this.proxy);return{host:e.hostname,port:parseInt(e.port||"0",10),protocol:e.protocol}}catch(e){}return!1}request(e){this.options.proxy=this.handleProxy(),this.options.headers=e.headers||{},this.options.maxBodyLength=1/0,this.options.maxContentLength=1/0,this.options.proxy&&e.url?.startsWith("https://")?(this.options.httpsAgent=v({proxy:{host:this.options.proxy.host,port:this.options.proxy.port}}),this.options.proxy=!1):this.options.httpsAgent=Jt;const t=n.create(this.options);t.interceptors.response.use(tr,rr);const r=function(e){let t=!1;const r={...e,url:e.url||"",headers:e.headers||{}};if(e.proxy){let n=e.proxy;if("string"==typeof n){try{n=new f(e.proxy)}catch(e){n=!1,r.proxy=!1,console.error(e)}t=!0}n&&(e.url?.startsWith("https://")?(r.proxy=!1,r.httpsAgent=v({proxy:{host:n?.hostname,port:parseInt(n?.port,10)}})):r.proxy={host:n.hostname,port:parseInt(n.port,10),protocol:"http"})}if("formData"in e){const n=new k;for(const t in e.formData)er(n,t,e.formData[t]);r.data=n,r.headers=Object.assign(r.headers||{},n.getHeaders()),t=!0,delete r.formData}return"body"in e&&(r.data=e.body,t=!0,delete r.body),"qs"in e&&(r.params=e.qs,t=!0),r.__isOldOptions=t,r}(e);return t.interceptors.request.use(function(e){let t="";return e?.headers?.contentType?(t=e.headers.contentType,delete e.headers.contentType):e?.headers?.ContentType?(t=e.headers.ContentType,delete e.headers.ContentType):e?.headers?.["content-type"]&&(t=e.headers["content-type"],delete e.headers["content-type"]),""!==t&&e.headers&&(e.headers["Content-Type"]=t),e}),"resolveWithFullResponse"in e&&e.resolveWithFullResponse?t.request(r):t.request(r).then(t=>r.__isOldOptions?"json"in e?e.json?t.data:void 0:JSON.stringify(t.data):t.data)}}var ir={handle:async e=>(e.output.push(...e.input),e)};const ar=(e,t,r)=>{const n=pe(t);return n.real||("string"==typeof r?e.log.warn(`can't get ${r}'s image size`):e.log.warn("can't get image size"),e.log.warn("fallback to 200 * 200")),n};var sr={handle:async e=>{const t=e.output;return await Promise.all(e.input.map(async(r,n)=>{let i;if(i=Buffer.isBuffer(r)?{success:!0,buffer:r,fileName:"",extname:""}:ce(r)?await ge(r,e):await Ae(r),i.success&&i.buffer){const a=ar(e,i.buffer,r),s=i.extname||a.extname||".png";t[n]={buffer:i.buffer,fileName:i.fileName||`${$().format("YYYYMMDDHHmmssSSS")}${s}`,width:a.width,height:a.height,filePath:i.filePath,extname:i.extname,mimeType:Y.getType(s)||"application/octet-stream"}}else e.log.error(i.reason)})),e.output=t.filter(e=>e),e}};const or=(e,t,r,n,i,a,s)=>({method:n.toUpperCase(),url:r,headers:{contentType:"multipart/form-data","User-Agent":"PicList",...i},formData:{[s]:{value:e,options:{filename:t}},...a},json:!0}),Er=async e=>{const t=e.getConfig("picBed.advancedplist");if(!t)throw new Error("Can not find advancedplist config");const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.buffer||(n.base64Image?Buffer.from(n.base64Image,"base64"):null);if(!r)continue;const i=or(r,n.fileName,t.endpoint,t.method||"POST",JSON.parse(t.headers||"{}"),JSON.parse(t.body||"{}"),t.formDataKey||"file");let a=await e.request(i);a="string"==typeof a?JSON.parse(a):a;let s=a;const o=t.resDataPath||"data.url";for(const e of o.split(".")){if(!s||"object"!=typeof s||!(e in s)){s=void 0;break}s=s[e]}if(!s||"string"!=typeof s)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:a.message}),console.error("AdvancedPlist upload failed:",a),new Error(a.message);if(delete n.base64Image,delete n.buffer,t.webPath){const e=s.split("/").pop()||s;s=(t.webPath.endsWith("/")?t.webPath:t.webPath+"/")+e}n.imgUrl=t.customPrefix?t.customPrefix+s:s}return e},Sr=e=>{const t=e.getConfig("picBed.advancedplist")||{},r=(r,n,i,a=!1,s)=>({name:r,type:n,get prefix(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get alias(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_${r.toUpperCase()}`)},get message(){return e.i18n.translate(`PICBED_ADVANCEDPLIST_MESSAGE_${r.toUpperCase()}`)},default:t[r]||i,required:a,...s});return[r("endpoint","input","",!0),r("method","list","POST",!1,{choices:["POST","PUT","GET"]}),r("formDataKey","input","file"),r("headers","input","{}"),r("body","input","{}"),r("customPrefix","input",""),r("webPath","input",""),r("resDataPath","input","data.url")]};const Ir=(e,t,r,n,i)=>({method:"PUT",url:`${e}/api/fs/form`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:t,"File-Path":encodeURIComponent(n)},formData:{file:{value:i,options:{filename:r}}},resolveWithFullResponse:!0}),_r=(e,t)=>{if(200!==t.statusCode||200!==t.body.code||"success"!==t.body.message)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:t.body.message}),new Error(t.body.message)},lr=(e,t,r)=>({method:"POST",url:e,headers:{Authorization:t,"Content-Type":"application/json"},body:r,resolveWithFullResponse:!0}),cr=e=>{const{url:t,token:r,username:n,password:i,uploadPath:a,webPath:s,customUrl:o}=e;return{url:(t||"").replace(/\/$/,""),token:r||"",username:n||"",password:i||"",uploadPath:dt({path:a||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}),webPath:s?dt({path:s||"",startSlash:!0,endSlash:!0,rootToEmpty:!1}):"",customUrl:(o||"").replace(/\/$/,"")}},Pr=async e=>{const r=e.getConfig("picBed.alistplist");if(!r)throw new Error("Can not find alist config!");const{url:i,username:a,password:s,uploadPath:o,webPath:E,customUrl:S}=cr(r);let{token:I}=cr(r);if(I||(I=await(async(e,t,r,i)=>{const a=e.getConfig("picgo-plugin-buildin-alistplist");if(a&&a.refreshedAt&&Date.now()-a.refreshedAt<36e5&&a.token)return a.token;const s=await n.post(`${t}/api/auth/login`,{username:r,password:i});if(200===s.data.code&&"success"===s.data.message){const t=s.data.data.token;return e.saveConfig({"picgo-plugin-buildin-alistplist":{token:t,refreshedAt:Date.now()}}),t}throw new Error("Get token failed")})(e,i,a,s)),!i||!(I||a&&s))throw new Error("Please check your alist config!");const _=e.output;for(const r of _)if(r.fileName&&r.buffer){let n=r.buffer;!n&&r.base64Image&&(n=Buffer.from(r.base64Image,"base64"));const a=`${o}${r.fileName}`,s=Ir(i,I,r.fileName,a,n),_=await e.request(s);_r(e,_);const l=await e.request(lr(`${i}/api/fs/list`,I,{password:"",page:1,per_page:1,refresh:!0,path:t.dirname(a)}));_r(e,l);const c=await e.request(lr(`${i}/api/fs/get`,I,{password:"",path:a,page:1,per_page:1,refresh:!0}));_r(e,c);const P=c.body.data.sign,u=Tt(`${E||o}${r.fileName}`);r.imgUrl=`${S||i}${S&&S!==i?"":"/d"}${u}`,r.imgUrl+=S&&S!==i||!P?"":`?sign=${P}`,delete r.base64Image,delete r.buffer}return e},ur=e=>{const t=e.getConfig("picBed.alistplist")||{};return[xt(e,"alist","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_URL")}}),xt(e,"alist","token","input",t.token||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_TOKEN")}}),xt(e,"alist","username","input",t.username||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_USERNAME")}}),xt(e,"alist","password","input",t.password||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_PASSWORD")}}),xt(e,"alist","uploadPath","input",t.uploadPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_UPLOAD_PATH")}}),xt(e,"alist","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_WEB_PATH")}}),xt(e,"alist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALIST_MESSAGE_CUSTOMURL")}})]};const pr=()=>(new Date).toUTCString(),Ar=(e,t)=>{const r=pr(),n=`PUT\n\n${Y.getType(t)||"application/octet-stream"}\n${r}\n/${e.bucket}/${e.path}${t}`,i=T.createHmac("sha1",e.accessKeySecret).update(n).digest("base64");return`OSS ${e.accessKeyId}:${i}`},gr=(e,t,r,n)=>({method:"PUT",url:`https://${e.bucket}.${e.area}.aliyuncs.com/${Tt(`${e.path}${t}`)}`,headers:{Host:`${e.bucket}.${e.area}.aliyuncs.com`,Authorization:r,Date:pr(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}),Cr=async e=>{const t=e.getConfig("picBed.aliyun");if(!t)throw new Error("Can't find aliYun OSS config");t.path=dt({path:t.path});const r=dt({path:t.webPath});try{const{output:n}=e,i=(t.customUrl||"").replace(/\/$/,""),{path:a,bucket:s,area:o,options:E=""}=t;for(const S of n)if(S.fileName&&S.buffer){const n=Ar(t,S.fileName),I=S.buffer||Buffer.from(S.base64Image,"base64"),_=gr(t,S.fileName,n,I);if(200!==(await e.request(_)).statusCode)throw new Error("Upload failed");{delete S.base64Image,delete S.buffer;const e=Tt(`${r||a}${S.fileName}`);S.imgUrl=i?`${i}/${e}${E}`:`https://${s}.${o}.aliyuncs.com/${e}${E}`}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},dr=e=>{const t=e.getConfig("picBed.aliyun")||{};return[xt(e,"alicloud","accessKeyId","input",t.accessKeyId||"",!0),xt(e,"alicloud","accessKeySecret","input",t.accessKeySecret||"",!0),xt(e,"alicloud","bucket","input",t.bucket||"",!0),xt(e,"alicloud","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_AREA")}}),xt(e,"alicloud","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_PATH")}}),xt(e,"alicloud","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_WEBPATH")}}),xt(e,"alicloud","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_CUSTOMURL")}}),xt(e,"alicloud","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_ALICLOUD_MESSAGE_OPTIONS")}})]};class Tr{date;info;static fields=["year","month","day","fullName","fileName","extName","md5","md5B64","md5B64Short","sha1","sha256","timestamp","timestampMS"];constructor(e){this.date=new Date,this.info=e}year(){return`${this.date.getFullYear()}`}month(){return(this.date.getMonth()+1).toString().padStart(2,"0")}day(){return this.date.getDate().toString().padStart(2,"0")}fullName(){return this.info.fileName}fileName(){return(this.info.fileName??"").replace(this.info.extname??"","")}extName(){return(this.info.extname??"").replace(".","")}md5(){return T.createHash("md5").update(this.imgBuffer()).digest("hex")}md5B64(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}md5B64Short(){return T.createHash("md5").update(this.imgBuffer()).digest("base64").replace(/\+/g,"-").replace(/\//g,"_").slice(0,7)}sha1(){return T.createHash("sha1").update(this.imgBuffer()).digest("hex")}sha256(){return T.createHash("sha256").update(this.imgBuffer()).digest("hex")}timestamp(){return Math.floor(Date.now()/1e3).toString()}timestampMS(){return Date.now().toString()}imgBuffer(){return this.info.base64Image?this.info.base64Image:this.info.buffer}}function Dr(e,t){if(!t)return e.fileName;const r=new Tr(e);let n=t;for(const e of Tr.fields){const t=new RegExp(`{${e}}`,"g");n=n.replace(t,r[e]())}return n}function mr(e,t,r){const n=function(e=""){if(!e)return"";if(!/^https?:\/\//.test(e)){const[t,r]=e.split(":");return`http://${t.replace("127.0.0.1","localhost")}:${r}`}try{const{protocol:t,hostname:r,port:n}=new f(e);return`${t}//${r.replace("127.0.0.1","localhost")}:${n}`}catch(e){return""}}(e);if(!n)return;return new(t?Z:J)({keepAlive:!0,keepAliveMsecs:1e3,scheduling:"lifo",rejectUnauthorized:r,proxy:n})}async function fr(e,t,r){const n=await q(e.client,new j({Bucket:e.bucketName,Key:e.path,IfMatch:t,VersionId:r}),{expiresIn:3600}),i=new D.URL(n);return i.search="",i.href}var Lr={createS3Client:function(e){let t=!0;try{t="https:"===new D.URL(e.endpoint).protocol}catch{}const r={};t?r.httpsAgent=mr(e.proxy,!0,!!e.rejectUnauthorized):r.httpAgent=mr(e.proxy,!1,!!e.rejectUnauthorized);const n={region:e.region||"auto",endpoint:e.endpoint||void 0,credentials:{accessKeyId:e.accessKeyID,secretAccessKey:e.secretAccessKey},tls:t,forcePathStyle:e.pathStyleAccess,requestHandler:new X(r)};return new V(n)},createUploadTask:async function(e){if(!e.item.buffer&&!e.item.base64Image)throw new Error("undefined image");try{const{body:t,contentType:r,contentEncoding:n}=await async function(e){const t={};if(e.base64Image){const r=e.base64Image.replace(/^data:[/\w]+;base64,/,"");t.contentType=e.base64Image.match(/[^:]\w+\/[\w-+\d.]+(?=;|,)/)?.[0],t.body=Buffer.from(r,"base64"),t.contentEncoding="base64"}else e.extname&&(t.contentType=Y.getType(e.extname)||void 0),t.body=e.buffer;if(!t.contentType){const e=await Q(t.body);t.contentType=e?.mime}return t}(e.item),i=new z({Bucket:e.bucketName,Key:e.path,ACL:e.acl,Body:t,ContentType:r,ContentEncoding:n}),a=await e.client.send(i);let s;return s=e.urlPrefix?`${e.urlPrefix}/${e.path}`:await fr(e,a.ETag,a.VersionId),e.options&&(s+=e.options.startsWith("?")?e.options:`?${e.options}`),{key:e.path,url:s,imgURL:s,versionId:a.VersionId,eTag:a.ETag}}catch(e){return Promise.reject(e)}}};function hr(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const Br=async e=>{const t=e.getConfig("picBed.aws-s3-plist");if(!t)throw new Error("Can't find aws s3 uploader config");try{const r=hr(t.disableBucketPrefixToURL);let n=t.urlPrefix;n&&(n=n.replace(/\/?$/,""),t.pathStyleAccess&&!r&&(n+="/"+t.bucketName));const i=Lr.createS3Client(t),a=e.output;for(const e of a){const r=await Lr.createUploadTask({client:i,bucketName:t.bucketName,path:Dr(e,t.uploadPath),item:e,acl:t.acl||"public-read",urlPrefix:n,options:t.options||""});delete e.buffer,delete e.base64Image,e.imgUrl=r.imgURL,e.url=r.url}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:""}),t}},Nr=e=>{let t=e.getConfig("picBed.aws-s3-plist")||{};t={accessKeyID:"",secretAccessKey:"",bucketName:"",uploadPath:"{year}/{month}/{md5}.{extName}",pathStyleAccess:!1,rejectUnauthorized:!1,acl:"public-read",...t};return[{name:"accessKeyID",type:"input",default:t.accessKeyID,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACCESSKEYID")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACCESSKEYID")}},{name:"secretAccessKey",type:"input",default:t.secretAccessKey,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_SECRET_ACCESSKEY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_SECRET_ACCESSKEY")}},{name:"bucketName",type:"input",default:t.bucketName,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_BUCKET")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_BUCKET")}},{name:"uploadPath",type:"input",default:t.uploadPath,required:!0,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_UPLOADPATH")}},{name:"region",type:"input",default:t.region,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REGION")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REGION")}},{name:"endpoint",type:"input",default:t.endpoint,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ENDPOINT")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ENDPOINT")}},{name:"proxy",type:"input",default:t.proxy,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PROXY")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PROXY")}},{name:"urlPrefix",type:"input",default:t.urlPrefix,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_URLPREFIX")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_URLPREFIX")}},{name:"options",type:"input",default:t.options||"",required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_OPTIONS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_OPTIONS")}},{name:"pathStyleAccess",type:"confirm",default:t.pathStyleAccess||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_PATHSTYLEACCESS")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_PATHSTYLEACCESS")}},{name:"rejectUnauthorized",type:"confirm",default:t.rejectUnauthorized||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_REJECTUNAUTHORIZED")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_REJECTUNAUTHORIZED")}},{name:"acl",type:"list",default:t.acl||"public-read",choices:["private","public-read","public-read-write","authenticated-read","aws-exec-read","bucket-owner-read","bucket-owner-full-control"],required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_ACL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_ACL")}},{name:"disableBucketPrefixToURL",type:"confirm",default:hr(t.disableBucketPrefixToURL)||!1,required:!1,get prefix(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get alias(){return e.i18n.translate("PICBED_AWSS3PLIST_DISABLEBUCKETPREFIXTOURL")},get message(){return e.i18n.translate("PICBED_AWSS3PLIST_MESSAGE_DISABLEBUCKETPREFIXTOURL")}}]};function Ur(e,t,r,n=""){return`https://api.github.com/repos/${e}/contents/${Tt(`${t}${r}`)}${n}`}const Rr=(e,t,r)=>{const{token:n,repo:i}=t,a=Y.getType(e)||"application/octet-stream";return{method:"PUT",url:Ur(i,t.path,e),headers:{Authorization:`token ${n}`,"User-Agent":"PicList","Content-Type":a},body:r,json:!0}},Mr=(e,t)=>{const{token:r,repo:n,branch:i}=t;return{method:"GET",url:Ur(n,t.path,e,`?ref=${i}`),headers:{Authorization:`token ${r}`,"User-Agent":"PicList"},json:!0}},Or=async e=>{const t=e.getConfig("picBed.github");if(!t)throw new Error("Can't find github config");const r=dt({path:t.path}),n=dt({path:t.webPath||""});t.path=r,t.customUrl=(t.customUrl||"").replace(/\/$/,"");try{const i=e.output;for(const a of i)if(a.fileName&&a.buffer){const i=a.base64Image||Buffer.from(a.buffer).toString("base64"),s={message:"Upload by PicList",branch:t.branch,content:i,path:r+encodeURI(a.fileName)},o=Rr(a.fileName,t,s);try{const i=await e.request(o);if(!i)throw new Error("Server error, please try again");delete a.base64Image,delete a.buffer,a.imgUrl=t.customUrl?`${t.customUrl}/${Tt(`${n||r}${a.fileName}`)}`:i.content.download_url,a.hash=i.content.sha}catch(i){if(422!==i.statusCode)throw i;delete a.base64Image,delete a.buffer;const s=await e.request(Mr(a.fileName,t));if(!Object.keys(s).length)throw i;a.hash=s.sha,a.imgUrl=t.customUrl?`${t.customUrl}/${Tt(`${n||r}${a.fileName}`)}`:s.download_url}}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK")}),t}},yr=e=>{const t=e.getConfig("picBed.github")||{};return[{name:"repo",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_REPO")},get alias(){return e.i18n.translate("PICBED_GITHUB_REPO")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_REPO")},default:t.repo||"",required:!0},{name:"branch",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get alias(){return e.i18n.translate("PICBED_GITHUB_BRANCH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_BRANCH")},default:t.branch||"master",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},get alias(){return e.i18n.translate("PICBED_GITHUB_TOKEN")},default:t.token||"",required:!0},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_PATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_PATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_PATH")},default:t.path||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get alias(){return e.i18n.translate("PICBED_GITHUB_WEBPATH")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_WEBPATH")},default:t.webPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_GITHUB_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_GITHUB_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1}]};const wr=async(e,t,r,n)=>{const i=t.clientId||"",a=t.username||"",s=(e=>e?e.startsWith("Bearer")?e:`Bearer ${e}`:"")(t.accessToken||""),o=t.album||"";let E;if(a&&s)E=s;else{if(!i)throw new Error("clientId or accessToken is required");E=`Client-ID ${i}`}const S={method:"POST",url:"https://api.imgur.com/3/image",headers:{Authorization:E,"content-type":"multipart/form-data",Host:"api.imgur.com","User-Agent":"PicList"},formData:{image:n,type:"base64",name:r,description:"Uploaded with PicList"}};if(a&&s&&o){let r,n=0,i="";do{const s={method:"GET",url:`https://api.imgur.com/3/account/${a}/albums/${n}`,headers:{Authorization:E},json:!0,resolveWithFullResponse:!0,timeout:1e4};if(t.proxy&&(s.proxy=t.proxy),r=await e.request(s),200!==r.statusCode||!r.body.success)throw new Error("Server error, please try again");const S=r.body.data;for(const e of S)if(e.title===o){i=e.id;break}n++}while(r.body.data.length>0);i&&S.formData&&(S.formData.album=i)}return t.proxy&&(S.proxy=t.proxy),S},Gr=async e=>{const t=e.getConfig("picBed.imgur");if(!t)throw new Error("Can't find imgur config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),i=await wr(e,t,n.fileName,r),a=await e.request(i),s="string"==typeof a?JSON.parse(a):a;if(!s.success)throw new Error("Server error, please try again");delete n.base64Image,delete n.buffer,n.imgUrl=s.data.link,n.hash=s.data.deletehash}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS_AND_NETWORK"),text:"http://docs.imgur.com/api/errno/"}),t?.response?.data||t}},br=e=>{const t=e.getConfig("picBed.imgur")||{};return[{name:"clientId",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get alias(){return e.i18n.translate("PICBED_IMGUR_CLIENTID")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_CLIENTID")},default:t.clientId||"",required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get alias(){return e.i18n.translate("PICBED_IMGUR_USERNAME")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_USERNAME")},default:t.username||"",required:!1},{name:"accessToken",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get alias(){return e.i18n.translate("PICBED_IMGUR_ACCESS_TOKEN")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ACCESS_TOKEN")},default:t.accessToken||"",required:!1},{name:"album",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get alias(){return e.i18n.translate("PICBED_IMGUR_ALBUM")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_ALBUM")},default:t.album||"",required:!1},{name:"proxy",type:"input",get prefix(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get alias(){return e.i18n.translate("PICBED_IMGUR_PROXY")},get message(){return e.i18n.translate("PICBED_IMGUR_MESSAGE_PROXY")},default:t.proxy||"",required:!1}]};const xr=async e=>{const r=e.getConfig("picBed.local");if(!r)throw new Error("Can not find local config!");const n=r.path||"",a=(r.customUrl||"").replace(/\/$/,""),o=dt({path:r.webPath?.replace(/\\/g,"/")}),E=e.output;for(const r of E)if(r.fileName&&r.buffer){let E=r.buffer;!E&&r.base64Image&&(E=Buffer.from(r.base64Image,"base64"));try{const S=t.join(e.baseDir,"imgTemp","local"),I=t.join(S,r.fileName),_=t.join(n,r.fileName);s(t.dirname(_)),s(t.dirname(I)),i.writeFileSync(_,E),i.copyFileSync(_,I),delete r.base64Image,delete r.buffer,r.imgUrl=a?`${a}/${Tt(`${o}${r.fileName}`)}`:t.join(n,r.fileName),r.hash=t.join(n,r.fileName),r.galleryPath=`http://localhost:36699/local/${Tt(r.fileName).replace(/^\//,"")}`}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:"failed to upload image"}),new Error("failed to upload image")}}return e},Wr=e=>{const t=e.getConfig("picBed.local")||{};return[{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_PATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_PATH")},default:t.path||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_PATH")},required:!0},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_LOCAL_CUSTOMURL")},default:t.customUrl||"",get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_CUSTOMURL")},required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},get alias(){return e.i18n.translate("PICBED_LOCAL_WEBPATH")},default:t.webPath||"",required:!1,get message(){return e.i18n.translate("PICBED_LOCAL_MESSAGE_WEBPATH")}}]};const $r=(e,t,r)=>{let n=e.host;n=n.replace(/\/$/,"");const i="V2"===e.version,a=e.token,s={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",token:a||void 0},o={image:{value:r,options:{filename:t}},ssl:"true"},E={"Content-Type":"multipart/form-data","User-Agent":"PicList",Connection:"keep-alive",Accept:"application/json",Authorization:a||void 0},S=e.strategyId,I=e.albumId;let _=e.permission.value;void 0===_&&(_=e.permission);const l={file:{value:r,options:{filename:t}},ssl:"true",strategy_id:S,album_id:I,permission:_};S||delete l.strategy_id,I||delete l.album_id,0!==_&&1!==_&&delete l.permission;return{method:"POST",url:i?`${n}/api/v1/upload`:`${n}/api/upload`,agent:new K.Agent({rejectUnauthorized:!1}),headers:i?E:s,formData:i?l:o}},Hr=async e=>{const t=e.getConfig("picBed.lskyplist");if(!t)throw new Error("Can't find lsky uploader config");const r=e.output;for(const n of r){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const i=$r(t,n.fileName,r);let a=await e.request(i);a="string"==typeof a?JSON.parse(a):a;const s="V2"===t.version;if(!(s?!0===a.status:200===a.code))throw e.emit(Xe.NOTIFICATION,{title:"upload failed",body:a.message}),new Error(a.message);delete n.base64Image,delete n.buffer,n.imgUrl=s?a.data.links.url:a.data.url,s&&(n.hash=a.data.key)}return e},Fr=e=>{const t=e.getConfig("picBed.lskyplist")||{};return[{name:"version",type:"list",default:t.version||"V1",get prefix(){return e.i18n.translate("PICBED_LSKY_VERSION")},get alias(){return e.i18n.translate("PICBED_LSKY_VERSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_VERSION")},choices:["V1","V2"],required:!0},{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_HOST")},get alias(){return e.i18n.translate("PICBED_LSKY_HOST")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"token",type:"input",get prefix(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get alias(){return e.i18n.translate("PICBED_LSKY_TOKEN")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_TOKEN")},default:t.token,required:!0},{name:"strategyId",type:"input",default:t.strategyId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_STRATEGY_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_STRATEGY_ID")}},{name:"albumId",type:"input",default:t.albumId,required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get alias(){return e.i18n.translate("PICBED_LSKY_ALBUM_ID")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_ALBUM_ID")}},{name:"permission",type:"list",default:t.permission||"private(default)",choices:[{name:"private(default)",value:0},{name:"public",value:1}],required:!1,get prefix(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get alias(){return e.i18n.translate("PICBED_LSKY_PERMISSION")},get message(){return e.i18n.translate("PICBED_LSKY_MESSAGE_PERMISSION")}}]};const Kr=(e,t,r)=>{const{host:n="127.0.0.1",port:i="",picbed:a="",configName:s="Default",serverKey:o=""}=e,E=n.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/),S=n.startsWith("https://")?"https://":"http://",I=n.replace(/(http:\/\/|https:\/\/)/,"");return{method:"POST",url:`${E?`${S}${I}:${i||"36677"}`:`${S}${I}${i?`:${i}`:""}`}/upload?configName=${s}${a?`&picbed=${a}`:""}${o?`&key=${o}`:""}`,headers:{"content-type":"multipart/form-data"},formData:{file:{value:r,options:{filename:t,contentType:Y.getType(t)||"application/octet-stream"}}},resolveWithFullResponse:!0}},kr=async e=>{const t=e.getConfig("picBed.piclist");if(!t)throw new Error("Can't find PicList config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){let r=n.buffer;!r&&n.base64Image&&(r=Buffer.from(n.base64Image,"base64"));const i=Kr(t,n.fileName,r),a=await e.request(i).then(e=>e).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}}));if(200!==a.statusCode||!a.body?.success)throw new Error(a.body.message);delete n.base64Image,delete n.buffer,n.imgUrl=a.body.result[0],n.fullResult=a.body.fullResult?a.body.fullResult[0]:""}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},vr=e=>{const t=e.getConfig("picBed.piclist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_HOST")},get alias(){return e.i18n.translate("PICBED_PICLIST_HOST")},default:t.host||"127.0.0.1",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PORT")},get alias(){return e.i18n.translate("PICBED_PICLIST_PORT")},default:t.port||36677,required:!1},{name:"picbed",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_PICBED")},get alias(){return e.i18n.translate("PICBED_PICLIST_PICBED")},default:t.picbed||"",required:!1},{name:"configName",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},get alias(){return e.i18n.translate("PICBED_PICLIST_CONFIGNAME")},default:t.configName||"",required:!1},{name:"serverKey",type:"input",get prefix(){return e.i18n.translate("PICBED_PICLIST_KEY")},get alias(){return e.i18n.translate("PICBED_PICLIST_KEY")},default:t.serverKey||"",required:!1}]};function Yr(e,t,r,n){const i=function(e){return"z0"===e?"":"-"+e}(e.area||"z0"),a=e.path||"";return{method:"POST",url:`http://upload${i}.qiniup.com/putb64/-1/key/${Buffer.from(a+t,"utf-8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_")}`,headers:{Authorization:`UpToken ${r}`,"Content-Type":Y.getType(t)||"application/octet-stream"},body:n}}function Vr(e){const t=e.accessKey,r=e.secretKey,n=new ee.auth.digest.Mac(t,r),i={scope:e.bucket};return new ee.rs.PutPolicy(i).uploadToken(n)}const zr=async e=>{const t=e.getConfig("picBed.qiniu");if(!t)throw new Error("Can't find qiniu config");try{const r=e.output;for(const n of r)if(n.fileName&&n.buffer){const r=n.base64Image||Buffer.from(n.buffer).toString("base64"),i=Yr(t,n.fileName,Vr(t),r),a=await e.request(i),s=JSON.parse(a);if(!s?.key)throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:s.msg}),e.log.error("qiniu error",s),new Error("Upload failed");{delete n.base64Image,delete n.buffer;const e=t.url,r=t.options||"";n.imgUrl=`${e}/${s.key}${r}`}}return e}catch(t){if("Upload failed"!==t.message&&t.response){const r=t.response.body;e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:r.error})}throw t}},jr=e=>{const t=e.getConfig("picBed.qiniu")||{};return[{name:"accessKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_ACCESSKEY")},default:t.accessKey||"",required:!0},{name:"secretKey",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},get alias(){return e.i18n.translate("PICBED_QINIU_SECRETKEY")},default:t.secretKey||"",required:!0},{name:"bucket",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_BUCKET")},get alias(){return e.i18n.translate("PICBED_QINIU_BUCKET")},default:t.bucket||"",required:!0},{name:"url",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_URL")},get alias(){return e.i18n.translate("PICBED_QINIU_URL")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_URL")},default:t.url||"",required:!0},{name:"area",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_AREA")},get alias(){return e.i18n.translate("PICBED_QINIU_AREA")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_AREA")},default:t.area||"",required:!0},{name:"options",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get alias(){return e.i18n.translate("PICBED_QINIU_OPTIONS")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_OPTIONS")},default:t.options||"",required:!1},{name:"path",type:"input",get prefix(){return e.i18n.translate("PICBED_QINIU_PATH")},get alias(){return e.i18n.translate("PICBED_QINIU_PATH")},get message(){return e.i18n.translate("PICBED_QINIU_MESSAGE_PATH")},default:t.path||"",required:!1}]};class qr{static instance;client=new te;isConnected=!1;constructor(){}static getInstance(){return qr.instance||(qr.instance=new qr),qr.instance}static changeWinStylePathToUnix(e){return e.replace(/\\/g,"/")}async connect(e){const{host:t,port:r,username:n,password:i,privateKey:a,passphrase:s}=e,o=a?{username:n,privateKeyPath:a,passphrase:s||void 0}:{username:n,password:i};try{await this.client.connect({host:t,port:Number(r)||22,...o}),this.isConnected=!0}catch(e){throw new Error(e)}}async upload(e,r,n){if(!this.isConnected)throw new Error("SSH client is not connected");try{r=qr.changeWinStylePathToUnix(r),await this.mkdir(t.dirname(r).replace(/^\/+|\/+$/g,""),n),await this.client.putFile(e,r);const i=n.fileMode||"0644";"0644"!==i&&await this.exec(`chmod ${i} "${r}"`)}catch(e){throw new Error(e)}}async mkdir(e,t){if(!this.client.isConnected())throw new Error("sftp client is not connected");const r=t.dirMode||"0755";if("0755"!==r){const t=e.split("/");let n="";for(const e of t)if(e){n+=`/${e}`;const t=`mkdir "${n}" && chmod ${r} "${n}"`;await this.exec(t)}}else{const t=`cd / && mkdir -p "${e}"`;await this.exec(t)}}async chown(e,t,r){e=qr.changeWinStylePathToUnix(e);const[n,i]=r?[t,r]:t.includes(":")?t.split(":"):[t,t];await this.exec(`chown ${n}:${i} "${e}"`)}async exec(e){return 0===(await this.client.execCommand(e)).code}close(){this.client.dispose(),this.isConnected=!1}}const Xr=async e=>{const r=e.getConfig("picBed.sftpplist");if(!r)throw new Error("Can not find sftpplist config!");r.port=Number(r.port)||22,(r.port<0||r.port>65535)&&(r.port=22),r.uploadPath=dt({path:r.uploadPath,rootToEmpty:!1});const n=dt({path:r.webPath,rootToEmpty:!1});try{const i=e.output;for(const a of i)if(a.fileName&&a.buffer){let i=a.buffer;!i&&a.base64Image&&(i=Buffer.from(a.base64Image,"base64"));const o=t.join(e.baseDir,"uploadTemp"),E=t.join(e.baseDir,"imgTemp","sftpplist");s(E);const S=t.join(o,a.fileName);s(t.dirname(S)),I(S,i);const c=qr.getInstance();await c.connect(r);const P=t.join(`/${r.uploadPath}`.replace(/\/\/+/g,"/"),a.fileName);await c.upload(S,P,r),r.fileUser&&await c.chown(P,r.fileUser),delete a.base64Image,delete a.buffer;const u=r.customUrl||r.host;r.webPath?a.imgUrl=`${u}/${Tt(`${"/"===n?"":n}${a.fileName}`)}`:a.imgUrl=`${u}/${Tt(`${"/"===r.uploadPath?"":r.uploadPath}${a.fileName}`)}`;const p=t.join(E,a.fileName);s(t.dirname(p)),_(p),l(S,t.join(E,a.fileName)),a.galleryPath=`http://localhost:36699/sftpplist/${encodeURIComponent(a.fileName)}`,c.close()}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Qr=e=>{const t=e.getConfig("picBed.sftpplist")||{};return[{name:"host",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_HOST")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_HOST")},default:t.host||"",required:!0},{name:"port",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PORT")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PORT")},default:t.port||22,required:!1},{name:"username",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_USERNAME")},default:t.username||"",required:!0},{name:"password",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PASSWORD")},default:t.password||"",required:!1},{name:"privateKey",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY")},default:t.privateKey||"",required:!1},{name:"passphrase",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_PRIVATEKEY_PASSPHRASE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_PRIVATEKEY_PASSPHRASE")},default:t.passphrase||"",required:!1},{name:"uploadPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_UPLOADPATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_UPLOADPATH")},default:t.uploadPath||"",required:!1},{name:"customUrl",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_CUSTOMURL")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_CUSTOMURL")},default:t.customUrl||"",required:!1},{name:"webPath",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_WEBSITE_PATH")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_WEBSITE_PATH")},default:t.webPath||"",required:!1},{name:"fileUser",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_USER")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_USER")},default:t.fileUser||"",required:!1},{name:"fileMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_FILE_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_FILE_MODE")},default:t.fileMode||"",required:!1},{name:"dirMode",type:"input",get prefix(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get alias(){return e.i18n.translate("PICBED_SFTPPLIST_DIR_MODE")},get message(){return e.i18n.translate("PICBED_SFTPPLIST_MESSAGE_DIR_MODE")},default:t.dirMode||"",required:!1}]};const Zr=(e,t,r,n="")=>({method:"POST",url:`https://${n}/api/v2/upload`,headers:{contentType:"multipart/form-data","User-Agent":"PicList",Authorization:r},formData:{smfile:{value:t,options:{filename:e}},ssl:"true"}}),Jr=async e=>{const t=e.getConfig("picBed.smms");if(!t?.token?.trim())throw new Error("SM.MS token is required!");const r=(t.backupDomain||"sm.ms").replace(/^https?:\/\//,"").replace(/\/$/,""),i=e.output;for(const a of i){if(!a.fileName)continue;const i=a.buffer||(a.base64Image?Buffer.from(a.base64Image,"base64"):void 0);if(!i)continue;const s=Zr(a.fileName,i,t.token,r),o=await e.request(s),E=JSON.parse(o);if("success"===E.code)a.imgUrl=E.data.url,a.hash=E.data.hash;else{if("image_repeated"!==E.code||"string"!=typeof E.images){const t=E.message||"Upload failed";throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:t}),new Error(t)}a.imgUrl=E.images;try{const e=await n.get(`https://${r}/api/v2/upload_history`,{headers:{Authorization:t.token}}),i=e.data?.data?.find(e=>e.url===E.images);i&&(a.hash=i.hash)}catch{}}delete a.base64Image,delete a.buffer}return e},en=e=>{const t=e.getConfig("picBed.smms")||{};return[xt(e,"SMMS","token","input",t.token||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_TOKEN")}}),xt(e,"SMMS","backupDomain","input",t.backupDomain||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_SMMS_MESSAGE_BACKUP_DOMAIN")}})]};const tn=(e,t)=>{const{secretId:r,secretKey:n,appId:i,bucket:a,version:s,area:o,endpoint:E,path:S}=e;let I,_="";if(!s||"v4"===s){const e=Math.floor(1e10*Math.random()),t=Math.floor(Date.now()/1e3)-1,s=`a=${i}&b=${a}&k=${r}&e=${t+3600}&t=${t}&r=${e}&f=`,o=T.createHmac("sha1",n).update(s).digest(),E=Buffer.concat([o,Buffer.from(s)]);I=Buffer.from(E).toString("base64")}else{const e=Math.floor(Date.now()/1e3);_=`${e};${e+86400}`;const r=T.createHmac("sha1",n).update(_).digest("hex"),i=`put\n/${S}${t}\n\nhost=${a}.${E||`cos.${o}.myqcloud.com`}\n`,s=`sha1\n${_}\n${T.createHash("sha1").update(i).digest("hex")}\n`;I=T.createHmac("sha1",r).update(s).digest("hex")}return{signature:I,appId:i,bucket:a,signTime:_}},rn=(e,t,r,n,i)=>{const{area:a,path:s,bucket:o,endpoint:E,secretId:S}=e,I=`PicGo;${i};null;null`;if(!e.version||"v4"===e.version)return{method:"POST",url:`http://${a}.file.myqcloud.com/files/v2/${r.appId}/${r.bucket}/${encodeURI(s)}${t}`,headers:{Host:`${a}.file.myqcloud.com`,Authorization:r.signature,contentType:"multipart/form-data","User-Agent":I},formData:{op:"upload",filecontent:n},resolveWithFullResponse:!0};const _=`${o}.${E||`cos.${a}.myqcloud.com`}`;return{method:"PUT",url:`http://${_}/${Tt(`${s}${t}`)}`,headers:{Host:_,Authorization:`q-sign-algorithm=sha1&q-ak=${S}&q-sign-time=${r.signTime}&q-key-time=${r.signTime}&q-header-list=host&q-url-param-list=&q-signature=${r.signature}`,contentType:Y.getType(t)||"application/octet-stream","User-Agent":I},body:n,resolveWithFullResponse:!0}},nn=async e=>{const t=e.getConfig("picBed.tcyun");if(!t)throw new Error("Can't find tencent COS config");try{const r=e.output,n=(t.customUrl||"").replace(/\/$/,""),i=dt({path:t.path}),a=dt({path:t.webPath});t.path=i;const s=!t.version||"v4"===t.version;for(const o of r){if(!o.fileName||!o.buffer)continue;const r=tn(t,o.fileName),E=o.buffer||Buffer.from(o.base64Image,"base64"),S=rn(t,o.fileName,r,E,e.GUI_VERSION||e.VERSION),I=await e.request(S).catch(t=>({statusCode:400,body:{msg:e.i18n.translate("AUTH_FAILED"),err:t}})),_=s&&"string"==typeof I?JSON.parse(I):I;if(400===_.statusCode)throw _?.body?.err||new Error(_?.body?.msg||_?.body?.message);const l=t.options||"",c=!!t.slim;if(delete o.base64Image,delete o.buffer,s&&"SUCCESS"===_.message)o.imgUrl=n?`${n}/${Tt(`${a||i}${o.fileName}`)}${l}`:`${_.data.source_url}${l}`;else{if(s||200!==_?.statusCode)throw new Error(I.body?.msg||"Upload failed");if(n)o.imgUrl=`${n}/${Tt(`${a||i}${o.fileName}`)}${l}`;else{const e=t.endpoint||`cos.${t.area}.myqcloud.com`;o.imgUrl=`https://${t.bucket}.${e}/${Tt(`${i}${o.fileName}`)}${l}`}}c&&(o.imgUrl+=l?"&imageSlim":"?imageSlim")}return e}catch(r){if((!t.version||"v4"===t.version)&&r.error)try{const t=JSON.parse(r.error);e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:t.code}),text:"https://cloud.tencent.com/document/product/436/8432"})}catch(e){}throw r}},an=e=>{const t=e.getConfig("picBed.tcyun")||{};return[xt(e,"TENCENTCLOUD","version","list","v5",!1,void 0,{choices:["v4","v5"]}),xt(e,"TENCENTCLOUD","secretId","input",t.secretId||"",!0),xt(e,"TENCENTCLOUD","secretKey","input",t.secretKey||"",!0),xt(e,"TENCENTCLOUD","bucket","input",t.bucket||"",!0),xt(e,"TENCENTCLOUD","appId","input",t.appId||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_APPID")}}),xt(e,"TENCENTCLOUD","area","input",t.area||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_AREA")}}),xt(e,"TENCENTCLOUD","endpoint","input",t.endpoint||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_ENDPOINT")}}),xt(e,"TENCENTCLOUD","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_PATH")}}),xt(e,"TENCENTCLOUD","webPath","input",t.webPath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_WEBPATH")}}),xt(e,"TENCENTCLOUD","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_CUSTOMURL")}}),xt(e,"TENCENTCLOUD","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_TENCENTCLOUD_MESSAGE_OPTIONS")}}),xt(e,"TENCENTCLOUD","slim","confirm",!!t.slim,!1,void 0,{get confirmText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CONFIRM")},get cancelText(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_CANCEL")},get tips(){return e.i18n.translate("PICBED_TENCENTCLOUD_SLIM_TIP")}})]};const sn="https://v0.api.upyun.com",on=e=>T.createHash("md5").update(e).digest("hex"),En=async(e,t,r,n)=>{if(!t.fileName||!t.buffer)return;const i=t.buffer||(t.base64Image?Buffer.from(t.base64Image,"base64"):null);if(!i)return;const a=((e,t)=>{const{path:r="",operator:n,password:i,bucket:a}=e,s=on(i),o=(new Date).toUTCString(),E=`PUT&/${a}/${Tt(`${r}${t}`)}&${o}`;return`UPYUN ${n}:${T.createHmac("sha1",s).update(E).digest("base64")}`})(r,t.fileName),s=((e,t,r,n)=>{const{bucket:i,path:a}=e;let s=(e.endpoint||sn).replace(/\/+$/g,"");return s.startsWith("http")||(s=`https://${s}`),{method:"PUT",url:`${s}/${i}/${Tt(`${a}${t}`)}`,headers:{Authorization:r,Date:(new Date).toUTCString(),"Content-Type":Y.getType(t)||"application/octet-stream"},body:n,resolveWithFullResponse:!0}})(r,t.fileName,a,i);if(200!==(await e.request(s)).statusCode)throw new Error("Upload failed");delete t.base64Image,delete t.buffer;const o=r.options||"",E=`${r.url}/${Tt(`${n}${t.fileName}`)}${o}`;t.imgUrl=r.antiLeechToken?Sn(E,r,t.fileName):E},Sn=(e,t,r)=>{const n=((e,t,r,n)=>{const i=`/${r.path||""}${n}`.replace(/%2F/g,"/").replace(/^\/+/g,"/"),a=Math.round(Date.now()/1e3),s=t?a+parseInt(t.toString(),10):a+1800;return`_upt=${on(`${e}&${s}&${i}`).substring(12,20)}${s}`})(t.antiLeechToken,t.expireTime,t,r);return e.includes("?")?`${e}&${n}`:`${e}?${n}`},In=async e=>{const t=e.getConfig("picBed.upyun");if(!t)throw new Error("Can't find UpYun config");try{const r=e.output,n=dt({path:t.path});t.path=n;for(const i of r)await En(e,i,t,n);return e}catch(t){throw _n(e,t),t}},_n=(e,t)=>{if("Upload failed"===t.message)e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")});else{const r=Ue(t.error),n="object"==typeof r&&r?r.code:r||"Unknown error";e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("UPLOAD_FAILED_REASON",{code:n}),text:"http://docs.upyun.com/api/errno/"})}},ln=e=>{const t=e.getConfig("picBed.upyun")||{};return[xt(e,"upyun","bucket","input",t.bucket||"",!0),xt(e,"upyun","operator","input",t.operator||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPERATOR")}}),xt(e,"upyun","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PASSWORD")}}),xt(e,"upyun","url","input",t.url||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_URL")}}),xt(e,"upyun","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_OPTIONS")}}),xt(e,"upyun","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_PATH")}}),xt(e,"upyun","antiLeechToken","input",t.antiLeechToken||"",!1),xt(e,"upyun","expireTime","input",t.expireTime||"",!1),xt(e,"upyun","endpoint","input",t.endpoint||sn,!1,void 0,{get message(){return e.i18n.translate("PICBED_UPYUN_MESSAGE_ENDPOINT")}})]};const cn=4294967296,Pn=e=>{if(e.buffer)return e.buffer;if(e.base64Image)return Buffer.from(e.base64Image,"base64");throw new Error("No image data found")},un=(e,t,r,n,i,a)=>`${e}/${Tt(`${a?r:t}${n}`).replace(/^\/+/g,"")}${i}`,pn=(e,r,n)=>{const a=t.join(e.baseDir,"imgTemp","webdavplist"),o=t.join(a,r);s(t.dirname(o)),i.writeFileSync(o,n)},An=async(e,r,n,i)=>{const a=t.dirname(`${r}${n}`),s="/"===a?"":a;s&&await e.createDirectory(s,{recursive:!0});const o=`${r}${n}`.replace(/^\/+|\/+$/g,"");return await e.putFileContents(o,i,{overwrite:!0})},gn=async e=>{const t=e.getConfig("picBed.webdavplist");if(!t)throw new Error("Can't find webdavplist config");var r;t.host=(r=t.host,`${t.sslEnabled?"https://":"http://"}${r.replace(/^https?:\/\/|\/+$/g,"")}`),t.path=dt({path:t.path,rootToEmpty:!1});const n=dt({path:t.webpath,rootToEmpty:!1}),i=t.options||"";try{const r=(e=>{const t={username:e.username,password:e.password,maxBodyLength:cn,maxContentLength:cn};return"digest"===e.authType&&(t.authType=re.Digest),ne(e.host,t)})(t),a=t.customUrl||t.host;for(const s of e.output){if(!s.fileName)continue;const o=Pn(s);if(!await An(r,t.path,s.fileName,o))throw new Error("Upload failed");pn(e,s.fileName,o),delete s.base64Image,delete s.buffer,s.imgUrl=un(a,t.path,n,s.fileName,i,!!t.webpath),s.galleryPath=`http://localhost:36699/webdavplist/${encodeURIComponent(s.fileName)}`}return e}catch(t){throw e.emit(Xe.NOTIFICATION,{title:e.i18n.translate("UPLOAD_FAILED"),body:e.i18n.translate("CHECK_SETTINGS")}),t}},Cn=e=>{const t=e.getConfig("picBed.webdavplist")||{};return[xt(e,"webdavplist","host","input",t.host||"",!0),xt(e,"webdavplist","sslEnabled","confirm",!!t.sslEnabled,!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_SSLENABLED")}}),xt(e,"webdavplist","username","input",t.username||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_USERNAME")}}),xt(e,"webdavplist","password","input",t.password||"",!0,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PASSWORD")}}),xt(e,"webdavplist","path","input",t.path||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_PATH")}}),xt(e,"webdavplist","webpath","input",t.webpath||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_WEBSITE_PATH")}}),xt(e,"webdavplist","customUrl","input",t.customUrl||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_CUSTOMURL")}}),xt(e,"webdavplist","authType","list",t.authType||"basic",!1,void 0,{choices:["basic","digest"]}),xt(e,"webdavplist","options","input",t.options||"",!1,void 0,{get message(){return e.i18n.translate("PICBED_WEBDAVPLIST_MESSAGE_OPTIONS")}})]};const dn=()=>({register(e){!function(e){e.helper.uploader.register(Dt,{get name(){return e.i18n.translate("PICBED_ADVANCEDPLIST")},handle:Er,config:Sr})}(e),function(e){e.helper.uploader.register(mt,{get name(){return e.i18n.translate("PICBED_ALIST_PLIST")},handle:Pr,config:ur})}(e),function(e){e.helper.uploader.register(ft,{get name(){return e.i18n.translate("PICBED_ALICLOUD")},handle:Cr,config:dr})}(e),function(e){e.helper.uploader.register(Lt,{get name(){return e.i18n.translate("PICBED_AWSS3PLIST")},handle:Br,config:Nr})}(e),function(e){e.helper.uploader.register(ht,{get name(){return e.i18n.translate("PICBED_GITHUB")},handle:Or,config:yr})}(e),function(e){e.helper.uploader.register(Bt,{get name(){return e.i18n.translate("PICBED_IMGUR")},handle:Gr,config:br})}(e),function(e){e.helper.uploader.register(Nt,{get name(){return e.i18n.translate("PICBED_LOCAL")},handle:xr,config:Wr})}(e),function(e){e.helper.uploader.register(Ut,{get name(){return e.i18n.translate("PICBED_LSKY_PLIST")},handle:Hr,config:Fr})}(e),function(e){e.helper.uploader.register(Rt,{get name(){return e.i18n.translate("PICBED_PICLIST")},handle:kr,config:vr})}(e),function(e){e.helper.uploader.register(Mt,{get name(){return e.i18n.translate("PICBED_QINIU")},handle:zr,config:jr})}(e),function(e){e.helper.uploader.register(Ot,{get name(){return e.i18n.translate("PICBED_SFTPPLIST")},handle:Xr,config:Qr})}(e),function(e){e.helper.uploader.register(yt,{get name(){return e.i18n.translate("PICBED_SMMS")},handle:Jr,config:en})}(e),function(e){e.helper.uploader.register(wt,{get name(){return e.i18n.translate("PICBED_TENCENTCLOUD")},handle:nn,config:an})}(e),function(e){e.helper.uploader.register(Gt,{get name(){return e.i18n.translate("PICBED_UPYUN")},handle:In,config:ln})}(e),function(e){e.helper.uploader.register(bt,{get name(){return e.i18n.translate("PICBED_WEBDAVPLIST")},handle:gn,config:Cn})}(e)}});class Tn{ctx;constructor(e){this.ctx=e}migrateToMultiConfig(e){const t=this.ctx.getConfig(),r=this.ctx.getConfig(`picBed.${e}`);if(!t.uploader||!t.uploader[e])if(t.uploader||(t.uploader={}),r&&Object.keys(r).length>0){const n={...r,_id:r._id||U(),_configName:r._configName||"Default",_createdAt:r._createdAt||Date.now(),_updatedAt:r._updatedAt||Date.now()};t.uploader[e]={configList:[n],defaultId:n._id},this.ctx.saveConfig({uploader:t.uploader}),this.ctx.saveConfig({[`picBed.${e}`]:n})}else t.uploader[e]={configList:[],defaultId:""}}getCurrentUploaderConfig(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);if(!t||!t.defaultId)return null;return t.configList.find(e=>e._id===t.defaultId)||null}getAllUploaderConfigs(e){this.migrateToMultiConfig(e);const t=this.ctx.getConfig(`uploader.${e}`);return t?.configList||[]}addUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i={...r,_id:U(),_configName:t,_createdAt:Date.now(),_updatedAt:Date.now()};return n.configList.push(i),1===n.configList.length&&(n.defaultId=i._id),this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===i._id&&this.syncConfigToPicBed(e,i),i}updateUploaderConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i=n.configList.findIndex(e=>e._id===t);if(-1===i)return!1;const a=n.configList[i];return n.configList[i]={...r,_id:a._id,_configName:r._configName||a._configName,_createdAt:a._createdAt,_updatedAt:Date.now()},this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===t&&this.syncConfigToPicBed(e,n.configList[i]),!0}deleteUploaderConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),n=this.ctx.getConfig("picBed.uploader")||this.ctx.getConfig("picBed.current")||"smms";if(1===r.configList.length&&e===n)return this.ctx.log.warn("Cannot delete the only config of the current uploader."),!1;const i=r.configList.findIndex(e=>e._id===t);return-1!==i&&(r.defaultId===t&&r.configList.length>1?(this.ctx.log.warn("Cannot delete the default config. Please set another config as default first."),!1):(r.configList.splice(i,1),r.defaultId===t&&(r.defaultId=r.configList.length>0?r.configList[0]._id:""),this.ctx.saveConfig({[`uploader.${e}`]:r}),0===r.configList.length&&this.ctx.removeConfig("picBed",e),this.ctx.log.info(`${e} is deleted everywhere.`),!0))}setDefaultConfig(e,t){this.migrateToMultiConfig(e);const r=this.ctx.getConfig(`uploader.${e}`),n=r.configList.find(e=>e._id===t);return!!n&&(r.defaultId=t,this.ctx.saveConfig({[`uploader.${e}`]:r}),this.syncConfigToPicBed(e,n),!0)}syncConfigToPicBed(e,t){this.ctx.saveConfig({[`picBed.${e}`]:t})}getConfigByName(e,t){this.migrateToMultiConfig(e);return this.ctx.getConfig(`uploader.${e}`).configList.find(e=>e._configName===t)||null}renameConfig(e,t,r){this.migrateToMultiConfig(e);const n=this.ctx.getConfig(`uploader.${e}`),i=n.configList.find(e=>e._id===t);return!!i&&(i._configName=r,i._updatedAt=Date.now(),this.ctx.saveConfig({[`uploader.${e}`]:n}),n.defaultId===t&&this.syncConfigToPicBed(e,i),!0)}}class Dn{ctx;db;constructor(e){if(this.ctx=e,this.db=new ie(this.ctx.configPath),!this.db.has("picBed"))try{this.db.set("picBed",{current:"smms",uploader:"smms",smms:{token:""}})}catch(e){throw this.ctx.log.error(e),e}if(!this.db.has("picgoPlugins"))try{this.db.set("picgoPlugins",{})}catch(e){throw this.ctx.log.error(e),e}this.read(!0)}read(e){return this.db.read(e)}getSingle(e=""){return""===e?this.db.read(!0):(this.read(!0),this.db.get(e))}get(e=""){return Array.isArray(e)?e.map(e=>this.getSingle(e)):this.getSingle(e)}set(e,t){this.read(!0),this.db.set(e,t)}has(e){return this.read(!0),this.db.has(e)}unset(e,t){return this.read(!0),this.db.unset(e,t)}saveConfig(e){Object.keys(e).forEach(t=>{this.set(t,e[t])})}removeConfig(e){Object.keys(e).forEach(t=>{this.unset(t,e[t])})}getConfigPath(){return this.ctx.configPath}}const mn="piclist-clipboard-images",fn={darwin:'-- From https://github.com/mushanshitiancai/vscode-paste-image\nproperty fileTypes : {{«class PNGf», ".png"}}\n\non run argv\n\tif argv is {} then\n\t\treturn ""\n\tend if\n\n\tif ((clipboard info) as string) contains "«class furl»" then\n\t\treturn POSIX path of (the clipboard as «class furl»)\n\telse\n\t\tset imagePath to (item 1 of argv)\n\t\tset theType to getType()\n\n\t\tif theType is not missing value then\n\t\t\ttry\n\t\t\t\tset myFile to (open for access imagePath with write permission)\n\t\t\t\tset eof myFile to 0\n\t\t\t\twrite (the clipboard as (first item of theType)) to myFile\n\t\t\t\tclose access myFile\n\t\t\t\treturn (POSIX path of imagePath)\n\t\t\ton error\n\t\t\t\ttry\n\t\t\t\t\tclose access myFile\n\t\t\t\tend try\n\t\t\t\treturn "no image"\n\t\t\tend try\n\t\telse\n\t\t\treturn "no image"\n\t\tend if\n\tend if\nend run\n\non getType()\n\trepeat with aType in fileTypes\n\t\trepeat with theInfo in (clipboard info)\n\t\t\tif (first item of theInfo) is equal to (first item of aType) then return aType\n\t\tend repeat\n\tend repeat\n\treturn missing value\nend getType\n',win32:'\r\nparam($imagePath)\r\n\r\n# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\n\r\nAdd-Type -Assembly PresentationCore\r\n$img = [Windows.Clipboard]::GetImage()\r\n\r\nif ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\nif (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n}\r\n\r\n$fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n$stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n$encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n$encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n$encoder.Save($stream) | out-null\r\n$stream.Dispose() | out-null\r\n\r\n$imagePath\r\n',win10:'# Adapted from https://github.com/octan3/img-clipboard-dump/blob/master/dump-clipboard-png.ps1\r\nparam($imagePath)\r\n\r\n# https://github.com/PowerShell/PowerShell/issues/7233\r\n# fix the output encoding bug\r\n[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding\r\n\r\nAdd-Type -Assembly PresentationCore\r\nfunction main {\r\n $img = [Windows.Clipboard]::GetImage()\r\n\r\n if ($null -eq $img) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n if (-not $imagePath) {\r\n "no image"\r\n Exit 1\r\n }\r\n\r\n $fcb = new-object Windows.Media.Imaging.FormatConvertedBitmap($img, [Windows.Media.PixelFormats]::Rgb24, $null, 0)\r\n $stream = [IO.File]::Open($imagePath, "OpenOrCreate")\r\n $encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder\r\n $encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($fcb)) | out-null\r\n $encoder.Save($stream) | out-null\r\n $stream.Dispose() | out-null\r\n\r\n $imagePath\r\n # fix windows 10 native cmd crash bug when "picgo upload"\r\n # https://github.com/PicGo/PicGo-Core/issues/32\r\n Exit 1\r\n}\r\n\r\ntry {\r\n # For WIN10\r\n $file = Get-Clipboard -Format FileDropList\r\n if ($null -ne $file) {\r\n Convert-Path $file\r\n Exit 1\r\n }\r\n} catch {\r\n # For WIN7 WIN8 WIN10\r\n main\r\n}\r\n\r\nmain',linux:'#!/bin/sh\nif [ "$XDG_SESSION_TYPE" = "x11" ]; then\n # require xclip(see http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212)\n command -v xclip >/dev/null 2>&1 || { echo >&1 "no xclip"; exit 1; }\n # write image in clipboard to file (see http://unix.stackexchange.com/questions/145131/copy-image-from-clipboard-to-file)\n filePath=`xclip -selection clipboard -o 2>/dev/null | grep ^file:// | cut -c8-`\n if [ ! -n "$filePath" ] ;then\n if\n xclip -selection clipboard -target image/png -o >/dev/null 2>&1\n then\n xclip -selection clipboard -target image/png -o >$1 2>/dev/null\n echo $1\n else\n echo "no image"\n fi\n else\n echo $filePath\n fi\nelif [ "$XDG_SESSION_TYPE" = "wayland" ]; then\n command -v wl-paste >/dev/null 2>&1 || { echo >&1 "no wl-clipboard"; exit 1; }\n isImage=`wl-paste --list-types | grep image`\n if [ -n "$isImage" ]; then\n wl-paste --type image/png > $1 2>/dev/null\n echo $1\n else\n echo "no image"\n exit 1\n fi\nfi',wsl:'#!/bin/sh\n# grab the paths\nscriptPath=$(echo $0 | awk \'{ print substr( $0, 1, length($0)-6 ) }\')"windows10.ps1"\nimagePath=$(echo $1 | awk \'{ print substr( $0, 1, length($0)-18 ) }\')\nimageName=$(echo $1 | awk \'{ print substr( $0, length($0)-17, length($0) ) }\')\n\n# run the powershell script\nres=$(powershell.exe -noprofile -noninteractive -nologo -sta -executionpolicy unrestricted -file $(wslpath -w $scriptPath) $(wslpath -w $imagePath)"\\\\"$imageName)\n\n# note that there is a return symbol in powershell result\nnoImage=$(echo "no image\\r")\n\n# check whether image exists\nif [ "$res" = "$noImage" ] ;then\n echo "no image"\nelse\n echo $(wslpath -u -a "${res}")\nfi\n'},Ln={darwin:"mac.applescript",win32:"windows.ps1",win10:"windows10.ps1",linux:"linux.sh",wsl:"wsl.sh"};const hn=async e=>{!function(e){const r=t.join(e.baseDir,mn);s(r)}(e);const r=t.join(e.baseDir,mn,`${$().format("YYYYMMDDHHmmssSSS")}.png`);return await new Promise((n,a)=>{const s=(()=>{const e=process.platform;return se?"wsl":"win32"===e?"10"===R.release().split(".")[0]?"win10":"win32":"darwin"===e?"darwin":"linux"})(),o=t.join(e.baseDir,Ln[s]);let E;i.existsSync(o)||i.writeFileSync(o,fn[s],"utf8"),E="darwin"===s?ae("osascript",[o,r]):"win32"===s||"win10"===s?ae("powershell",["-noprofile","-noninteractive","-nologo","-sta","-executionpolicy","unrestricted","-file",o,r]):ae("sh",[o,r]),E.stdout.on("data",o=>{if("linux"===s&&"no xclip or wl-clipboard"===o.toString().trim())return e.emit(Xe.NOTIFICATION,{title:"xclip or wl-clipboard not found",body:"Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"}),a(new Error("Please install xclip(for x11) or wl-clipboard(for wayland) before run picgo"));const E=o.toString().trim();let S=!1;if(t.basename(E)!==t.basename(r)&&i.existsSync(E)&&(S=!0),"no image"!==E&&!i.existsSync(E))return a(new Error(`Can't find ${E}`));n({imgPath:E,shouldKeepAfterUploading:S})})})};class Bn extends e{_config;lifecycle;db;_pluginLoader;configPath;baseDir;helper;log;cmd;output;input;rawInput;processedInput;pluginHandler;configManager;Request;i18n;VERSION="2.2.0";GUI_VERSION;get pluginLoader(){return this._pluginLoader}constructor(e=""){super(),this.configPath=e,this.input=[],this.rawInput=[],this.processedInput=[],this.output=[],this.helper={transformer:new Yt("transformer"),uploader:new Yt("uploader"),beforeTransformPlugins:new Yt("beforeTransformPlugins"),beforeUploadPlugins:new Yt("beforeUploadPlugins"),afterUploadPlugins:new Yt("afterUploadPlugins")},this.initConfigPath(),this.log=new jt(this),this.cmd=new zt(this),this.pluginHandler=new qt(this),this.configManager=new Tn(this),this.initConfig()}static async create(e=""){const t=new Bn(e);return await t.init(),t}initConfigPath(){if(this.configPath=this.configPath||t.join(M(),".piclist/config.json"),".JSON"!==t.extname(this.configPath).toUpperCase())throw this.configPath="",Error("The configuration file only supports JSON format.");this.baseDir=t.dirname(this.configPath),E(this.configPath)||c(`${this.configPath}`)}initConfig(){this.db=new Dn(this),this.configManager=new Tn(this),this._config=this.db.read(!0)}async init(){try{this.i18n=new ct(this),this.Request=new nr(this),this._pluginLoader=new Qt(this),Vt("picgo"),dn().register(this),{register(e){e.helper.transformer.register("path",sr),e.helper.transformer.register("base64",ir)}}.register(this),Vt(""),await this._pluginLoader.load(),this.lifecycle=new _t(this)}catch(e){throw this.emit(Xe.UPLOAD_PROGRESS,-1),this.log.error(e),e}}async use(e,t){return t?(await this.pluginLoader.registerPlugin(t,e),await this.pluginLoader.getPlugin(t)):e(this)}registerCommands(){""!==this.configPath&&(this.cmd.init(),this.cmd.loadCommands())}getConfig(e){return this._config=this.db.read(!0),e?g(this._config,e):this._config}saveConfig(e){Ne(e)?(this.setConfig(e),this.db.saveConfig(e)):this.log.warn("the format of config is invalid, please provide object")}removeConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be removed`):(this.unsetConfig(e,t),this.db.unset(e,t)))}setConfig(e){Ne(e)?Object.keys(e).forEach(t=>{Be(t)&&(this.log.warn(`the config.${t} can't be modified`),delete e[t]),C(this._config,t,e[t]),Zt.emit(Qe.CONFIG_CHANGE,{configName:t,value:e[t]})}):this.log.warn("the format of config is invalid, please provide object")}unsetConfig(e,t){e&&t&&(Be(e)?this.log.warn(`the config.${e} can't be unset`):d(this.getConfig(e),t))}get request(){return this.Request.request.bind(this.Request)}async upload(e){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),[];if(void 0!==e&&0!==e.length){const{output:t}=await this.lifecycle.start(e);return t}try{const{imgPath:e,shouldKeepAfterUploading:t}=await hn(this),r=()=>{t||P(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");{this.once(Xe.FAILED,r),this.once(Xe.FINISHED,r);const{output:t}=await this.lifecycle.start([e]);return t}}catch(e){throw this.emit(Xe.FAILED,e),e}}async uploadReturnCtx(e,t=!1){if(""===this.configPath)return this.log.error("No config file found, please check your config file path"),this;if(void 0!==e&&0!==e.length)return await this.lifecycle.start(e,t);try{const{imgPath:e,shouldKeepAfterUploading:r}=await hn(this),n=()=>{r||P(e).catch(e=>{this.log.error(e)})};if("no image"===e)throw new Error("image not found in clipboard");return this.once(Xe.FAILED,n),this.once(Xe.FINISHED,n),await this.lifecycle.start([e],t)}catch(e){throw this.emit(Xe.FAILED,e),e}}}export{zt as Commander,_t as Lifecycle,Yt as LifecyclePlugins,jt as Logger,Bn as PicGo,je as PicGoUtils,qt as PluginHandler,Qt as PluginLoader,nr as Request};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9jb21tb24udHMiLCIuLi9zcmMvdXRpbHMvZW51bS50cyIsIi4uL3NyYy9jb3JlL0xpZmVjeWNsZS50cyIsIi4uL3NyYy91dGlscy9jcmVhdGVDb250ZXh0LnRzIiwiLi4vc3JjL2kxOG4vZW4udHMiLCIuLi9zcmMvaTE4bi9pbmRleC50cyIsIi4uL3NyYy9pMThuL3poLUNOLnRzIiwiLi4vc3JjL2kxOG4vemgtVFcudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvY29uZmlnLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL2NvbmZpZ01hbmFnZXIudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvaTE4bi50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci9wbHVnaW5IYW5kbGVyLnRzIiwiLi4vc3JjL3BsdWdpbnMvY29tbWFuZGVyL3Byb3h5LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvdXRpbHMudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvdXRpbHMudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvc2V0dGluZy50cyIsIi4uL3NyYy9wbHVnaW5zL2JlZm9yZXRyYW5zZm9ybWVyL2NvbXByZXNzLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldHJhbnNmb3JtZXIvd2F0ZXJtYXJrLnRzIiwiLi4vc3JjL3BsdWdpbnMvYmVmb3JldXBsb2FkL2J1aWxkSW5SZW5hbWUudHMiLCIuLi9zcmMvcGx1Z2lucy9iZWZvcmV0cmFuc2Zvcm1lci9za2lwUHJvY2Vzcy50cyIsIi4uL3NyYy9wbHVnaW5zL2NvbW1hbmRlci91cGxvYWQudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvdXNlLnRzIiwiLi4vc3JjL2xpYi9MaWZlY3ljbGVQbHVnaW5zLnRzIiwiLi4vc3JjL2xpYi9Db21tYW5kZXIudHMiLCIuLi9zcmMvcGx1Z2lucy9jb21tYW5kZXIvaW5kZXgudHMiLCIuLi9zcmMvbGliL0xvZ2dlci50cyIsIi4uL3NyYy9saWIvUGx1Z2luSGFuZGxlci50cyIsIi4uL3NyYy9saWIvUGx1Z2luTG9hZGVyLnRzIiwiLi4vc3JjL3V0aWxzL2V2ZW50QnVzLnRzIiwiLi4vc3JjL2xpYi9SZXF1ZXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdHJhbnNmb3JtZXIvYmFzZTY0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdHJhbnNmb3JtZXIvcGF0aC50cyIsIi4uL3NyYy9wbHVnaW5zL3RyYW5zZm9ybWVyL2luZGV4LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYWR2YW5jZWRwbGlzdC50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2FsaXN0LnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvYWxpeXVuLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvczMvdXRpbHMudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zMy91cGxvYWRlci50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2F3c3MzcGxpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9naXRodWIudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9pbWd1ci50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL2xvY2FsLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvbHNreS50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3BpY2xpc3QudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9xaW5pdS50cyIsIi4uL3NyYy91dGlscy9zc2hDbGllbnQudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9zZnRwLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvc21tcy50cyIsIi4uL3NyYy9wbHVnaW5zL3VwbG9hZGVyL3RjeXVuLnRzIiwiLi4vc3JjL3BsdWdpbnMvdXBsb2FkZXIvdXB5dW4udHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci93ZWJkYXYudHMiLCIuLi9zcmMvcGx1Z2lucy91cGxvYWRlci9pbmRleC50cyIsIi4uL3NyYy91dGlscy9jb25maWdNYW5hZ2VyLnRzIiwiLi4vc3JjL3V0aWxzL2RiLnRzIiwiLi4vc3JjL3V0aWxzL3N0YXRpYy50cyIsIi4uL3NyYy91dGlscy9nZXRDbGlwYm9hcmRJbWFnZS50cyIsIi4uL3NyYy9jb3JlL1BpY0dvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGxdLCJuYW1lcyI6WyJfX2Rpcm5hbWUiLCJkaXJuYW1lIiwiZmlsZVVSTFRvUGF0aCIsInVybCIsInJhbmRvbVN0cmluZ0dlbmVyYXRvciIsImxlbmd0aCIsIm91dCIsIkFycmF5IiwiaSIsInBvb2wiLCJiaXRzIiwiTWF0aCIsInJhbmRvbSIsImlkeCIsImpvaW4iLCJmb3JtYXRIZWxwZXIiLCJudW0iLCJ0b1N0cmluZyIsImdldE1kNSIsImlucHV0IiwiY3J5cHRvIiwiY3JlYXRlSGFzaCIsInVwZGF0ZSIsImRpZ2VzdCIsImdldFNoYTI1NiIsInJlbmFtZUZpbGVOYW1lV2l0aEN1c3RvbVN0cmluZyIsIm9sZE5hbWUiLCJjdXN0b21Gb3JtYXQiLCJhZmZpeEZpbGVOYW1lIiwiZmlsZUJ1ZmZlciIsIm5vdyIsIkRhdGUiLCJ5ZWFyIiwiZ2V0RnVsbFllYXIiLCJmaWxlYmFzZW5hbWUiLCJwYXRoIiwiYmFzZW5hbWUiLCJleHRuYW1lIiwiY29udmVyc2lvbk1hcCIsInNsaWNlIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZ2V0SG91cnMiLCJnZXRNaW51dGVzIiwiZ2V0U2Vjb25kcyIsImdldE1pbGxpc2Vjb25kcyIsInBhZFN0YXJ0IiwidXVpZHY0IiwicmVwbGFjZSIsImdldFRpbWUiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJrZXlzIiwic29tZSIsIml0ZW0iLCJpbmNsdWRlcyIsImV4dCIsIm5ld05hbWUiLCJyZWR1Y2UiLCJhY2MiLCJjdXIiLCJSZWdFeHAiLCJfIiwiZ3JvdXAxIiwicGFyc2VJbnQiLCJfcmVzdWx0Iiwia2V5IiwiY291bnQiLCJtYXgiLCJzcGxpdCIsInNlcCIsImEiLCJiIiwiaXNVcmwiLCJ0ZXN0IiwiaXNVcmxFbmNvZGUiLCJkZWNvZGVVUkkiLCJfZSIsImhhbmRsZVVybEVuY29kZSIsImVuY29kZVVSSSIsImdldEltYWdlU2l6ZSIsImZpbGUiLCJ3aWR0aCIsImhlaWdodCIsInR5cGUiLCJpbWFnZVNpemUiLCJyZWFsIiwiZ2V0RlNGaWxlIiwiYXN5bmMiLCJmaWxlUGF0aCIsImZpbGVOYW1lIiwiYnVmZmVyIiwiZnMiLCJyZWFkRmlsZSIsInN1Y2Nlc3MiLCJyZWFzb24iLCJnZXRVUkxGaWxlIiwiY3R4IiwidGltZW91dElkIiwicmVxdWVzdEZuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZXMiLCJyZXF1ZXN0IiwibWV0aG9kIiwicmVzb2x2ZVdpdGhGdWxsUmVzcG9uc2UiLCJyZXNwb25zZVR5cGUiLCJ0aGVuIiwicmVzcCIsImRhdGEiLCJjbGVhclRpbWVvdXQiLCJ1cmxQYXRoIiwiVVJMIiwicGF0aG5hbWUiLCJzZWFyY2hQYXJhbXMiLCJnZXQiLCJzdGFydHNXaXRoIiwiZXJyb3IiLCJtZXNzYWdlIiwiY2F0Y2giLCJ0aW1lb3V0UHJvbWlzZSIsInNldFRpbWVvdXQiLCJyYWNlIiwiZ2V0UGx1Z2luTmFtZVR5cGUiLCJuYW1lIiwiaXNTaW1wbGVOYW1lIiwibmFtZU9yUGF0aCIsImlzQWJzb2x1dGUiLCJwbHVnaW5QYXRoIiwicHJvY2VzcyIsImN3ZCIsImV4aXN0c1N5bmMiLCJoYW5kbGVDb21wbGV0ZVBsdWdpbk5hbWUiLCJzY29wZSIsImdldFByb2Nlc3NQbHVnaW5OYW1lIiwibG9nZ2VyIiwiY29uc29sZSIsImhhbmRsZVVuaXhTdHlsZVBhdGgiLCJ3YXJuIiwiZ2V0Tm9ybWFsUGx1Z2luTmFtZSIsInJlbW92ZVBsdWdpblZlcnNpb24iLCJwYWNrYWdlSlNPTlBhdGgiLCJwb3NpeCIsInBrZyIsInJlYWRKU09OU3luYyIsInBhdGhTdHIiLCJyZWciLCJtYXRjaEFyciIsIm1hdGNoIiwiY29uZmlnQmxhY2tMaXN0IiwiaXNDb25maWdLZXlJbkJsYWNrTGlzdCIsImJsYWNrSXRlbSIsImlzSW5wdXRDb25maWdWYWxpZCIsImNvbmZpZyIsImlzQXJyYXkiLCJzYWZlUGFyc2UiLCJzdHIiLCJKU09OIiwicGFyc2UiLCJmb3JjZU51bWJlciIsImlzTmFOIiwiTnVtYmVyIiwiaXNEZXYiLCJlbnYiLCJOT0RFX0VOViIsImRlZmF1bHRXYXRlcm1hcmtJbWFnZVBhdGgiLCJBZGRXYXRlcm1hcmsiLCJpbWciLCJ3YXRlcm1hcmtUeXBlIiwiZGVmYXVsdFdhdGVybWFya0ZvbnRQYXRoIiwiaXNGdWxsU2NyZWVuV2F0ZXJtYXJrIiwid2F0ZXJtYXJrRGVncmVlIiwidGV4dCIsIndhdGVybWFya0ZvbnRQYXRoIiwid2F0ZXJtYXJrU2NhbGVSYXRpbyIsIndhdGVybWFya0NvbG9yIiwid2F0ZXJtYXJrSW1hZ2VQYXRoIiwicG9zaXRpb24iLCJ3YXRlcm1hcmtJbWFnZU9wYWNpdHkiLCJpbWFnZSIsInNoYXJwIiwiYW5pbWF0ZWQiLCJpbWdXaWR0aCIsIm1ldGFkYXRhIiwid2F0ZXJtYXJrIiwiY29tcG9zaXRlIiwiQnVmZmVyIiwiZnJvbSIsInJhdyIsImNoYW5uZWxzIiwidGlsZSIsImJsZW5kIiwidG9CdWZmZXIiLCJjb2xvciIsImZvbnRGYW1pbHkiLCJvcHRpb25zIiwiYW5jaG9yIiwiYXR0cmlidXRlcyIsImZpbGwiLCJ0ZXh0U1ZHIiwiVGV4dFRvU1ZHIiwibG9hZFN5bmMiLCJnZXRTVkciLCJ0ZXh0MlNWRyIsIndhdGVybWFya1dpZHRoIiwid2F0ZXJtYXJrSGVpZ2h0IiwiZ2V0U2l6ZSIsIndhdGVybWFya1Jlc2l6ZVdpZHRoIiwiZmxvb3IiLCJ3YXRlcm1hcmtSZXNpemVIZWlnaHQiLCJyZXNpemUiLCJmaXQiLCJyb3RhdGUiLCJiYWNrZ3JvdW5kIiwiciIsImciLCJhbHBoYSIsImNyZWF0ZVdhdGVybWFyayIsImdyYXZpdHkiLCJ2YWxpZFBhcmFtIiwicGFyYW1zIiwiZXZlcnkiLCJwYXJhbSIsImF2YWlsYWJsZUNvbnZlcnRGb3JtYXRMaXN0IiwiaW1hZ2VGb3JtYXRMaXN0IiwidmFsaWRPdXRwdXRGb3JtYXQiLCJmb3JtYXQiLCJnZXRUcmVhdGVkV2F0ZXJNYXJrT3B0aW9ucyIsImdsb2JhbCIsImlkU3BlY2lmaWNDb25maWciLCJwaWNCZWQiLCJpZCIsImlzQWRkV2F0ZXJtYXJrIiwiaXNBZGRXYXRlcm1hcmtNYXAiLCJ3YXRlcm1hcmtUeXBlTWFwIiwiaXNGdWxsU2NyZWVuV2F0ZXJtYXJrTWFwIiwid2F0ZXJtYXJrRGVncmVlTWFwIiwid2F0ZXJtYXJrVGV4dCIsIndhdGVybWFya1RleHRNYXAiLCJ3YXRlcm1hcmtTY2FsZVJhdGlvTWFwIiwid2F0ZXJtYXJrQ29sb3JNYXAiLCJ3YXRlcm1hcmtJbWFnZVBhdGhNYXAiLCJ3YXRlcm1hcmtQb3NpdGlvbiIsIndhdGVybWFya1Bvc2l0aW9uTWFwIiwid2F0ZXJtYXJrSW1hZ2VPcGFjaXR5TWFwIiwiZ2V0VHJlYXRlZENvbXByZXNzT3B0aW9ucyIsInF1YWxpdHkiLCJxdWFsaXR5TWFwIiwiaXNDb252ZXJ0IiwiaXNDb252ZXJ0TWFwIiwiY29udmVydEZvcm1hdCIsImNvbnZlcnRGb3JtYXRNYXAiLCJpc1JlU2l6ZSIsImlzUmVTaXplTWFwIiwicmVTaXplSGVpZ2h0IiwicmVTaXplSGVpZ2h0TWFwIiwicmVTaXplV2lkdGgiLCJyZVNpemVXaWR0aE1hcCIsInNraXBSZVNpemVPZlNtYWxsSW1nIiwic2tpcFJlU2l6ZU9mU21hbGxJbWdNYXAiLCJpc1JlU2l6ZUJ5UGVyY2VudCIsImlzUmVTaXplQnlQZXJjZW50TWFwIiwicmVTaXplUGVyY2VudCIsInJlU2l6ZVBlcmNlbnRNYXAiLCJpc1JvdGF0ZSIsImlzUm90YXRlTWFwIiwicm90YXRlRGVncmVlIiwicm90YXRlRGVncmVlTWFwIiwiaXNSZW1vdmVFeGlmIiwiaXNSZW1vdmVFeGlmTWFwIiwiaXNGbGlwIiwiaXNGbGlwTWFwIiwiaXNGbG9wIiwiaXNGbG9wTWFwIiwiZm9ybWF0Q29udmVydE9iaiIsImZvcm1hdENvbnZlcnRPYmpNYXAiLCJpbWFnZUFkZFdhdGVyTWFyayIsImZvcm1hdE9wdGlvbnMiLCJpbWFnZUNvbXByZXNzIiwicmF3Rm9ybWF0Iiwibm9ybWFsaXplSW1hZ2VFeHQiLCJtaW4iLCJyb3VuZCIsImltYWdlV2lkdGgiLCJpbWFnZUhlaWdodCIsInNjYWxlUmF0aW8iLCJmbGlwIiwiZmxvcCIsIm5ld0Zvcm1hdCIsImdldENvbnZlcnRlZEZvcm1hdCIsInRvRm9ybWF0IiwibW96anBlZyIsInRvTG93ZXJDYXNlIiwiaXNOZWVkQWRkV2F0ZXJtYXJrIiwid2F0ZXJtYXJrT3B0aW9ucyIsImZpbGVFeHQiLCJpc05lZWRDb21wcmVzcyIsImNvbXByZXNzT3B0aW9ucyIsInJlbW92ZUV4aWYiLCJJTG9nVHlwZSIsIklCdWlsZEluRXZlbnQiLCJJQnVzRXZlbnQiLCJNRVNTQUdFUyIsIlBST0dSRVNTIiwiREVGQVVMVF9TS0lQX0VYVEVOU0lPTlMiLCJERUZBVUxUX1VQTE9BREVSIiwiTGlmZWN5Y2xlIiwiRXZlbnRFbWl0dGVyIiwidHRmUGF0aCIsImNvbnN0cnVjdG9yIiwic3VwZXIiLCJ0aGlzIiwiYmFzZURpciIsImluaXRpYWxpemVEaXJzIiwiZW5zdXJlRGlyU3luYyIsImdldENvbmZpZyIsImVtcHR5RGlyU3luYyIsImRvd25sb2FkVFRGIiwic3RhdFN5bmMiLCJzaXplIiwibG9nIiwiaW5mbyIsImF4aW9zIiwid3JpdGVGaWxlU3luYyIsImdldFByb2Nlc3NpbmdPcHRpb25zIiwiY29tcHJlc3NPcHRpb25zR2xvYmFsIiwid2F0ZXJtYXJrT3B0aW9uc0dsb2JhbCIsImJ1aWxkSW5MaXN0IiwidXBsb2FkZXJUeXBlIiwiZ2V0VXBsb2FkZXJUeXBlIiwiaWRTcGVjaWZpY0NvbXByZXNzQ29uZmlnIiwiZmluZCIsImNvbXByZXNzIiwiaWRTcGVjaWZpY1dhdGVybWFya0NvbmZpZyIsIl9pZCIsImdldFNraXBFeHRlbnNpb25zIiwic2tpcFByb2Nlc3NHbG9iYWwiLCJpZFNwZWNpZmljU2tpcFByb2Nlc3NDb25maWciLCJza2lwUHJvY2VzcyIsInNraXBQcm9jZXNzRXh0TGlzdCIsIm1hcCIsInRyaW0iLCJTZXQiLCJmb3JtYXR0ZWRJdGVtIiwic3RhcnQiLCJjb25maWdQYXRoIiwiY21kIiwib3V0cHV0IiwicmF3SW5wdXQiLCJwcm9jZXNzZWRJbnB1dCIsInBsdWdpbkxvYWRlciIsInBsdWdpbkhhbmRsZXIiLCJSZXF1ZXN0IiwiaGVscGVyIiwiVkVSU0lPTiIsIkdVSV9WRVJTSU9OIiwiaTE4biIsImNvbmZpZ01hbmFnZXIiLCJiaW5kIiwic2F2ZUNvbmZpZyIsInJlbW92ZUNvbmZpZyIsInNldENvbmZpZyIsInVuc2V0Q29uZmlnIiwidXBsb2FkIiwidXBsb2FkUmV0dXJuQ3R4IiwiYWRkTGlzdGVuZXIiLCJvbiIsIm9uY2UiLCJyZW1vdmVMaXN0ZW5lciIsIm9mZiIsInJlbW92ZUFsbExpc3RlbmVycyIsInNldE1heExpc3RlbmVycyIsImdldE1heExpc3RlbmVycyIsImxpc3RlbmVycyIsInJhd0xpc3RlbmVycyIsImVtaXQiLCJsaXN0ZW5lckNvdW50IiwicHJlcGVuZExpc3RlbmVyIiwicHJlcGVuZE9uY2VMaXN0ZW5lciIsImV2ZW50TmFtZXMiLCJjcmVhdGVDb250ZXh0IiwiRXJyb3IiLCJpbml0aWFsaXplQ29udGV4dCIsImhhbmRsZVNraXBQcm9jZXNzIiwiZXhlY3V0ZUxpZmVjeWNsZSIsImUiLCJoYW5kbGVFcnJvciIsInJhd0lucHV0UGF0aCIsImNsb25lRGVlcCIsImRvVXBsb2FkIiwiYWZ0ZXJVcGxvYWQiLCJwcmVwcm9jZXNzIiwiYmVmb3JlVHJhbnNmb3JtIiwiZG9UcmFuc2Zvcm0iLCJidWlsZEluUmVuYW1lIiwiYmVmb3JlVXBsb2FkIiwiRkFJTEVEIiwiVVBMT0FEX1BST0dSRVNTIiwic2tpcEV4dGVuc2lvbnMiLCJCRUZPUkVfVFJBTlNGT1JNIiwidGVtcEZpbGVQYXRoIiwicHJvY2Vzc0ltYWdlcyIsImluaXRpYWxpemVSYXdJbnB1dFBhdGhzIiwicHVzaCIsImFsbFNldHRsZWQiLCJpbmRleCIsInByb2Nlc3NJbWFnZSIsIml0ZW1Jc1VybCIsImV4dGVuc2lvbiIsInNob3VsZFNraXBFeHRlbnNpb24iLCJoYXMiLCJyZWFkRmlsZVN5bmMiLCJ0cmFuc2Zvcm1lZEJ1ZmZlciIsImFwcGx5UHJvY2Vzc2luZyIsInNhdmVQcm9jZXNzZWRJbWFnZSIsImNvbXByZXNzSW1hZ2UiLCJhZGRXYXRlcm1hcmsiLCJub3JtYWxpemVkRXh0ZW5zaW9uIiwiY29udmVydEhlaWNBbmRDb21wcmVzcyIsImhlaWNSZXN1bHQiLCJoZWljQ29udmVydCIsInRlbXBIZWljQ29udmVydEZpbGUiLCJuZXdFeHQiLCJ0ZW1wRmlsZSIsImdldEZpbGVCYXNlTmFtZSIsImdsb2JhbFJlbmFtZUNvbmZpZyIsInJlbmFtZUNvbmZpZyIsInJlbmFtZSIsImVuYWJsZSIsImJhc2U2NEltYWdlIiwiaGFuZGxlUGx1Z2lucyIsImJlZm9yZVRyYW5zZm9ybVBsdWdpbnMiLCJ0cmFuc2Zvcm1lciIsImN1cnJlbnRUcmFuc2Zvcm1lciIsImhhbmRsZSIsIkJFRk9SRV9VUExPQUQiLCJiZWZvcmVVcGxvYWRQbHVnaW5zIiwidXBsb2FkZXIiLCJjdXJyZW50VXBsb2FkZXIiLCJvdXRwdXRJbWciLCJBRlRFUl9VUExPQUQiLCJhZnRlclVwbG9hZFBsdWdpbnMiLCJtc2ciLCJpc0VuY29kZU91dHB1dFVSTCIsImltZ1VybCIsIkZJTklTSEVEIiwibGlmZUN5Y2xlUGx1Z2lucyIsInBsdWdpbnMiLCJnZXRMaXN0IiwicGx1Z2luTmFtZXMiLCJnZXRJZExpc3QiLCJsaWZlQ3ljbGVOYW1lIiwiZ2V0TmFtZSIsImFsbCIsInBsdWdpbiIsImxhbmd1YWdlTGlzdCIsIlVQTE9BRF9GQUlMRUQiLCJDSEVDS19TRVRUSU5HUyIsIkNIRUNLX1NFVFRJTkdTX0FORF9ORVRXT1JLIiwiVVBMT0FEX0ZBSUxFRF9SRUFTT04iLCJTRVJWRVJfRVJST1IiLCJBVVRIX0ZBSUxFRCIsIlBJQ0JFRF9TTU1TIiwiUElDQkVEX1NNTVNfVE9LRU4iLCJQSUNCRURfU01NU19NRVNTQUdFX1RPS0VOIiwiUElDQkVEX1NNTVNfQkFDS1VQRE9NQUlOIiwiUElDQkVEX1NNTVNfTUVTU0FHRV9CQUNLVVBfRE9NQUlOIiwiUElDQkVEX0FEVkFOQ0VEUExJU1QiLCJQSUNCRURfQURWQU5DRURQTElTVF9FTkRQT0lOVCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVRIT0QiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX01FVEhPRCIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0ZPUk1EQVRBS0VZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9GT1JNREFUQUtFWSIsIlBJQ0JFRF9BRFZBTkNFRFBMSVNUX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX0hFQURFUlMiLCJQSUNCRURfQURWQU5DRURQTElTVF9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9CT0RZIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfQ1VTVE9NUFJFRklYIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9DVVNUT01QUkVGSVgiLCJQSUNCRURfQURWQU5DRURQTElTVF9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX0FEVkFOQ0VEUExJU1RfUkVTREFUQVBBVEgiLCJQSUNCRURfQURWQU5DRURQTElTVF9NRVNTQUdFX1JFU0RBVEFQQVRIIiwiUElDQkVEX0xPQ0FMIiwiUElDQkVEX0xPQ0FMX1BBVEgiLCJQSUNCRURfTE9DQUxfTUVTU0FHRV9QQVRIIiwiUElDQkVEX0xPQ0FMX0NVU1RPTVVSTCIsIlBJQ0JFRF9MT0NBTF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9MT0NBTF9XRUJQQVRIIiwiUElDQkVEX0xPQ0FMX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9BTElTVF9QTElTVCIsIlBJQ0JFRF9BTElTVF9VUkwiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9VUkwiLCJQSUNCRURfQUxJU1RfVE9LRU4iLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9UT0tFTiIsIlBJQ0JFRF9BTElTVF9VU0VSTkFNRSIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX0FMSVNUX1BBU1NXT1JEIiwiUElDQkVEX0FMSVNUX01FU1NBR0VfUEFTU1dPUkQiLCJQSUNCRURfQUxJU1RfVVBMT0FEUEFUSCIsIlBJQ0JFRF9BTElTVF9NRVNTQUdFX1VQTE9BRF9QQVRIIiwiUElDQkVEX0FMSVNUX1dFQlBBVEgiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9XRUJfUEFUSCIsIlBJQ0JFRF9BTElTVF9DVVNUT01VUkwiLCJQSUNCRURfQUxJU1RfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfQUxJQ0xPVUQiLCJQSUNCRURfQUxJQ0xPVURfQUNDRVNTS0VZSUQiLCJQSUNCRURfQUxJQ0xPVURfQUNDRVNTS0VZU0VDUkVUIiwiUElDQkVEX0FMSUNMT1VEX0JVQ0tFVCIsIlBJQ0JFRF9BTElDTE9VRF9BUkVBIiwiUElDQkVEX0FMSUNMT1VEX1BBVEgiLCJQSUNCRURfQUxJQ0xPVURfV0VCUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9DVVNUT01VUkwiLCJQSUNCRURfQUxJQ0xPVURfT1BUSU9OUyIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX0FSRUEiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9QQVRIIiwiUElDQkVEX0FMSUNMT1VEX01FU1NBR0VfV0VCUEFUSCIsIlBJQ0JFRF9BTElDTE9VRF9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfQUxJQ0xPVURfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfVEVOQ0VOVENMT1VEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9WRVJTSU9OIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TRUNSRVRJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0VDUkVUS0VZIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9BUFBJRCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQlVDS0VUIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9BUkVBIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9FTkRQT0lOVCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfV0VCUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfT1BUSU9OUyIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfQ1VTVE9NVVJMIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0FQUElEIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0FSRUEiLCJQSUNCRURfVEVOQ0VOVENMT1VEX01FU1NBR0VfUEFUSCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9XRUJQQVRIIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0NVU1RPTVVSTCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNX1RJUCIsIlBJQ0JFRF9URU5DRU5UQ0xPVURfU0xJTV9DT05GSVJNIiwiUElDQkVEX1RFTkNFTlRDTE9VRF9TTElNX0NBTkNFTCIsIlBJQ0JFRF9HSVRIVUIiLCJQSUNCRURfR0lUSFVCX1RPS0VOIiwiUElDQkVEX0dJVEhVQl9SRVBPIiwiUElDQkVEX0dJVEhVQl9QQVRIIiwiUElDQkVEX0dJVEhVQl9XRUJQQVRIIiwiUElDQkVEX0dJVEhVQl9CUkFOQ0giLCJQSUNCRURfR0lUSFVCX0NVU1RPTVVSTCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9SRVBPIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX0JSQU5DSCIsIlBJQ0JFRF9HSVRIVUJfTUVTU0FHRV9QQVRIIiwiUElDQkVEX0dJVEhVQl9NRVNTQUdFX1dFQlBBVEgiLCJQSUNCRURfR0lUSFVCX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1FJTklVIiwiUElDQkVEX1FJTklVX0FDQ0VTU0tFWSIsIlBJQ0JFRF9RSU5JVV9TRUNSRVRLRVkiLCJQSUNCRURfUUlOSVVfQlVDS0VUIiwiUElDQkVEX1FJTklVX1BBVEgiLCJQSUNCRURfUUlOSVVfVVJMIiwiUElDQkVEX1FJTklVX09QVElPTlMiLCJQSUNCRURfUUlOSVVfQVJFQSIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX1BBVEgiLCJQSUNCRURfUUlOSVVfTUVTU0FHRV9BUkVBIiwiUElDQkVEX1FJTklVX01FU1NBR0VfT1BUSU9OUyIsIlBJQ0JFRF9RSU5JVV9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9JTUdVUiIsIlBJQ0JFRF9JTUdVUl9DTElFTlRJRCIsIlBJQ0JFRF9JTUdVUl9VU0VSTkFNRSIsIlBJQ0JFRF9JTUdVUl9BQ0NFU1NfVE9LRU4iLCJQSUNCRURfSU1HVVJfQUxCVU0iLCJQSUNCRURfSU1HVVJfUFJPWFkiLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9DTElFTlRJRCIsIlBJQ0JFRF9JTUdVUl9NRVNTQUdFX1VTRVJOQU1FIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQUNDRVNTX1RPS0VOIiwiUElDQkVEX0lNR1VSX01FU1NBR0VfQUxCVU0iLCJQSUNCRURfSU1HVVJfTUVTU0FHRV9QUk9YWSIsIlBJQ0JFRF9VUFlVTiIsIlBJQ0JFRF9VUFlVTl9CVUNLRVQiLCJQSUNCRURfVVBZVU5fT1BFUkFUT1IiLCJQSUNCRURfVVBZVU5fUEFTU1dPUkQiLCJQSUNCRURfVVBZVU5fUEFUSCIsIlBJQ0JFRF9VUFlVTl9VUkwiLCJQSUNCRURfVVBZVU5fT1BUSU9OUyIsIlBJQ0JFRF9VUFlVTl9FTkRQT0lOVCIsIlBJQ0JFRF9VUFlVTl9BTlRJTEVFQ0hUT0tFTiIsIlBJQ0JFRF9VUFlVTl9FWFBJUkVUSU1FIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfT1BFUkFUT1IiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX1VSTCIsIlBJQ0JFRF9VUFlVTl9NRVNTQUdFX09QVElPTlMiLCJQSUNCRURfVVBZVU5fTUVTU0FHRV9QQVRIIiwiUElDQkVEX1VQWVVOX01FU1NBR0VfRU5EUE9JTlQiLCJQSUNCRURfV0VCREFWUExJU1QiLCJQSUNCRURfV0VCREFWUExJU1RfSE9TVCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9TU0xFTkFCTEVEIiwiUElDQkVEX1dFQkRBVlBMSVNUX1VTRVJOQU1FIiwiUElDQkVEX1dFQkRBVlBMSVNUX1BBU1NXT1JEIiwiUElDQkVEX1dFQkRBVlBMSVNUX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfV0VCUEFUSCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9DVVNUT01VUkwiLCJQSUNCRURfV0VCREFWUExJU1RfQVVUSFRZUEUiLCJQSUNCRURfV0VCREFWUExJU1RfT1BUSU9OUyIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX0hPU1QiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9TU0xFTkFCTEVEIiwiUElDQkVEX1dFQkRBVlBMSVNUX01FU1NBR0VfVVNFUk5BTUUiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9QQVNTV09SRCIsIlBJQ0JFRF9XRUJEQVZQTElTVF9NRVNTQUdFX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9XRUJTSVRFX1BBVEgiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9DVVNUT01VUkwiLCJQSUNCRURfV0VCREFWUExJU1RfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX1NGVFBQTElTVCIsIlBJQ0JFRF9TRlRQUExJU1RfSE9TVCIsIlBJQ0JFRF9TRlRQUExJU1RfUE9SVCIsIlBJQ0JFRF9TRlRQUExJU1RfVVNFUk5BTUUiLCJQSUNCRURfU0ZUUFBMSVNUX1BBU1NXT1JEIiwiUElDQkVEX1NGVFBQTElTVF9QUklWQVRFS0VZIiwiUElDQkVEX1NGVFBQTElTVF9QUklWQVRFS0VZX1BBU1NQSFJBU0UiLCJQSUNCRURfU0ZUUFBMSVNUX1VQTE9BRFBBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX0NVU1RPTVVSTCIsIlBJQ0JFRF9TRlRQUExJU1RfV0VCU0lURV9QQVRIIiwiUElDQkVEX1NGVFBQTElTVF9GSUxFX1VTRVIiLCJQSUNCRURfU0ZUUFBMSVNUX0ZJTEVfTU9ERSIsIlBJQ0JFRF9TRlRQUExJU1RfRElSX01PREUiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfSE9TVCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9QT1JUIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1BSSVZBVEVLRVkiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfUFJJVkFURUtFWV9QQVNTUEhSQVNFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1VQTE9BRFBBVEgiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfQ1VTVE9NVVJMIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX1dFQlNJVEVfUEFUSCIsIlBJQ0JFRF9TRlRQUExJU1RfTUVTU0FHRV9GSUxFX1VTRVIiLCJQSUNCRURfU0ZUUFBMSVNUX01FU1NBR0VfRklMRV9NT0RFIiwiUElDQkVEX1NGVFBQTElTVF9NRVNTQUdFX0RJUl9NT0RFIiwiUElDQkVEX1BJQ0xJU1QiLCJQSUNCRURfUElDTElTVF9IT1NUIiwiUElDQkVEX1BJQ0xJU1RfUE9SVCIsIlBJQ0JFRF9QSUNMSVNUX1BJQ0JFRCIsIlBJQ0JFRF9QSUNMSVNUX0NPTkZJR05BTUUiLCJQSUNCRURfUElDTElTVF9LRVkiLCJQSUNCRURfTFNLWV9QTElTVCIsIlBJQ0JFRF9MU0tZX1ZFUlNJT04iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1ZFUlNJT04iLCJQSUNCRURfTFNLWV9IT1NUIiwiUElDQkVEX0xTS1lfTUVTU0FHRV9IT1NUIiwiUElDQkVEX0xTS1lfVE9LRU4iLCJQSUNCRURfTFNLWV9NRVNTQUdFX1RPS0VOIiwiUElDQkVEX0xTS1lfU1RSQVRFR1lfSUQiLCJQSUNCRURfTFNLWV9NRVNTQUdFX1NUUkFURUdZX0lEIiwiUElDQkVEX0xTS1lfQUxCVU1fSUQiLCJQSUNCRURfTFNLWV9NRVNTQUdFX0FMQlVNX0lEIiwiUElDQkVEX0xTS1lfUEVSTUlTU0lPTiIsIlBJQ0JFRF9MU0tZX01FU1NBR0VfUEVSTUlTU0lPTiIsIlBJQ0JFRF9BV1NTM1BMSVNUIiwiUElDQkVEX0FXU1MzUExJU1RfQUNDRVNTS0VZSUQiLCJQSUNCRURfQVdTUzNQTElTVF9TRUNSRVRfQUNDRVNTS0VZIiwiUElDQkVEX0FXU1MzUExJU1RfQlVDS0VUIiwiUElDQkVEX0FXU1MzUExJU1RfUkVHSU9OIiwiUElDQkVEX0FXU1MzUExJU1RfVVBMT0FEUEFUSCIsIlBJQ0JFRF9BV1NTM1BMSVNUX0VORFBPSU5UIiwiUElDQkVEX0FXU1MzUExJU1RfUFJPWFkiLCJQSUNCRURfQVdTUzNQTElTVF9VUkxQUkVGSVgiLCJQSUNCRURfQVdTUzNQTElTVF9PUFRJT05TIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9PUFRJT05TIiwiUElDQkVEX0FXU1MzUExJU1RfUEFUSFNUWUxFQUNDRVNTIiwiUElDQkVEX0FXU1MzUExJU1RfUkVKRUNUVU5BVVRIT1JJWkVEIiwiUElDQkVEX0FXU1MzUExJU1RfQUNMIiwiUElDQkVEX0FXU1MzUExJU1RfRElTQUJMRUJVQ0tFVFBSRUZJWFRPVVJMIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9BQ0NFU1NLRVlJRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfU0VDUkVUX0FDQ0VTU0tFWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQlVDS0VUIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9SRUdJT04iLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1VQTE9BRFBBVEgiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX0VORFBPSU5UIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9QUk9YWSIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfVVJMUFJFRklYIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9QQVRIU1RZTEVBQ0NFU1MiLCJQSUNCRURfQVdTUzNQTElTVF9NRVNTQUdFX1JFSkVDVFVOQVVUSE9SSVpFRCIsIlBJQ0JFRF9BV1NTM1BMSVNUX01FU1NBR0VfQUNMIiwiUElDQkVEX0FXU1MzUExJU1RfTUVTU0FHRV9ESVNBQkxFQlVDS0VUUFJFRklYVE9VUkwiLCJCVUlMRElOX1dBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX0lTQUREV0FURVJNQVJLIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9JU0FERFdBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1RZUEUiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS1RZUEUiLCJCVUlMRElOX1dBVEVSTUFSS19JU0ZVTExTQ1JFRU5XQVRFUk1BUksiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX0lTRlVMTFNDUkVFTldBVEVSTUFSSyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0RFR1JFRSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLREVHUkVFIiwiQlVJTERJTl9XQVRFUk1BUktfV0FURVJNQVJLVEVYVCIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLVEVYVCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0ZPTlRQQVRIIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1NDQUxFUkFUSU8iLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0ZPTlRSQVRJTyIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0NPTE9SIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktGT05UQ09MT1IiLCJCVUlMRElOX1dBVEVSTUFSS19XQVRFUk1BUktJTUFHRVBBVEgiLCJCVUlMRElOX1dBVEVSTUFSS19NRVNTQUdFX1dBVEVSTUFSS0lNQUdFUEFUSCIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS1BPU0lUSU9OIiwiQlVJTERJTl9XQVRFUk1BUktfTUVTU0FHRV9XQVRFUk1BUktQT1NJVElPTiIsIkJVSUxESU5fV0FURVJNQVJLX1dBVEVSTUFSS0lNQUdFT1BBQ0lUWSIsIkJVSUxESU5fV0FURVJNQVJLX01FU1NBR0VfV0FURVJNQVJLSU1BR0VPUEFDSVRZIiwiQlVJTERJTl9TS0lQUFJPQ0VTUyIsIkJVSUxESU5fU0tJUFBST0NFU1NfU0tJUFBST0NFU1NFWFRMSVNUIiwiQlVJTERJTl9SRU5BTUUiLCJCVUlMRElOX1JFTkFNRV9GT1JNQVQiLCJCVUlMRElOX1JFTkFNRV9FTkFCTEUiLCJCVUlMRElOX0NPTVBSRVNTIiwiQlVJTERJTl9DT01QUkVTU19RVUFMSVRZIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1FVQUxJVFkiLCJCVUlMRElOX0NPTVBSRVNTX0lTQ09OVkVSVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU0NPTlZFUlQiLCJCVUlMRElOX0NPTVBSRVNTX0NPTlZFUlRGT1JNQVQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfQ09OVkVSVEZPUk1BVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNSRVNJWkUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRVNJWkUiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRVdJRFRIIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX1JFU0laRVdJRFRIIiwiQlVJTERJTl9DT01QUkVTU19SRVNJWkVIRUlHSFQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFSEVJR0hUIiwiQlVJTERJTl9DT01QUkVTU19JU1JFU0laRUJZUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfTUVTU0FHRV9JU1JFU0laRUJZUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfSVNGTElQIiwiQlVJTERJTl9DT01QUkVTU19JU0ZMT1AiLCJCVUlMRElOX0NPTVBSRVNTX1JFU0laRVBFUkNFTlQiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUkVTSVpFUEVSQ0VOVCIsIkJVSUxESU5fQ09NUFJFU1NfU0tJUFJFU0laRU9GU01BTExJTUciLCJCVUlMRElOX0NPTVBSRVNTX0lTUk9UQVRFIiwiQlVJTERJTl9DT01QUkVTU19NRVNTQUdFX0lTUk9UQVRFIiwiQlVJTERJTl9DT01QUkVTU19ST1RBVEVERUdSRUUiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfUk9UQVRFREVHUkVFIiwiQlVJTERJTl9DT01QUkVTU19JU1JFTU9WRUVYSUYiLCJCVUlMRElOX0NPTVBSRVNTX01FU1NBR0VfSVNSRU1PVkVFWElGIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX0lOU1RBTExfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9JTlNUQUxMX0ZBSUxFRF9SRUFTT04iLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fSU5TVEFMTF9GQUlMRURfUEFUSCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfU1VDQ0VTUyIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VTklOU1RBTExfRkFJTEVEIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRURfUkVBU09OIiwiUExVR0lOX0hBTkRMRVJfUExVR0lOX1VOSU5TVEFMTF9GQUlMRURfVkFMSUQiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX1NVQ0NFU1MiLCJQTFVHSU5fSEFORExFUl9QTFVHSU5fVVBEQVRFX0ZBSUxFRCIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEX1JFQVNPTiIsIlBMVUdJTl9IQU5ETEVSX1BMVUdJTl9VUERBVEVfRkFJTEVEX1ZBTElEIiwiZW4iLCJJMThuTWFuYWdlciIsIm9iamVjdEFkYXB0ZXIiLCJPYmplY3RBZGFwdGVyIiwibGFuZ3VhZ2UiLCJJMThuIiwiYWRhcHRlciIsImRlZmF1bHRMYW5ndWFnZSIsImxvYWRPdXR0ZXJJMThuIiwiaTE4bkZvbGRlciIsImdldE91dHRlckkxOG5Gb2xkZXIiLCJyZWFkZGlyU3luYyIsIndpdGhGaWxlVHlwZXMiLCJmb3JFYWNoIiwiaXNGaWxlIiwiZW5kc1dpdGgiLCJpMThuRmlsZVBhdGgiLCJpMThuRmlsZSIsImkxOG5GaWxlT2JqIiwieWFtbCIsImxvYWQiLCJwYXRoRXhpc3RzU3luYyIsInRyYW5zbGF0ZSIsImFyZ3MiLCJzZXRMYW5ndWFnZSIsImFkZExvY2FsZSIsImxvY2FsZXMiLCJvcmlnaW5Mb2NhbGVzIiwiZ2V0TG9jYWxlIiwibmV3TG9jYWxlcyIsIm1lcmdlIiwic2V0TG9jYWxlIiwiYWRkTGFuZ3VhZ2UiLCJnZXRMYW5ndWFnZUxpc3QiLCJwcm9ncmFtIiwib3B0aW9uIiwiY29uZmlnQ21kIiwiY29tbWFuZCIsImRlc2NyaXB0aW9uIiwiYXJndW1lbnRzIiwiYWN0aW9uIiwiY29uZmlncyIsImdldEFsbFVwbG9hZGVyQ29uZmlncyIsImRlZmF1bHRDb25maWciLCJnZXRDdXJyZW50VXBsb2FkZXJDb25maWciLCJtYXJrZXIiLCJfY29uZmlnTmFtZSIsImNvbmZpZ05hbWUiLCJnZXRDb25maWdCeU5hbWUiLCJzZXREZWZhdWx0Q29uZmlnIiwicHJvbXB0cyIsImRlZmF1bHQiLCJpbnF1aXJlciIsInByb21wdCIsImNvbmZpcm0iLCJkZWxldGVVcGxvYWRlckNvbmZpZyIsIl9jcmVhdGVkQXQiLCJ0b0xvY2FsZVN0cmluZyIsIl91cGRhdGVkQXQiLCJ2YWx1ZSIsImRpc3BsYXlWYWx1ZSIsInN0cmluZ2lmeSIsImxhbmciLCJsaXN0IiwiY2hvaWNlcyIsImNyZWF0ZUNvbW1hbmQiLCJhbGlhcyIsInByb3h5IiwicmVnaXN0cnkiLCJpbnN0YWxsIiwidW5pbnN0YWxsIiwiZm9ybWF0UGF0aEhlbHBlciIsInN0YXJ0U2xhc2giLCJlbmRTbGFzaCIsInJvb3RUb0VtcHR5IiwiY2xlYW5QYXRoIiwiZW5jb2RlUGF0aCIsInAiLCJlbmNvZGVVUklDb21wb25lbnQiLCJidWlsZEluVXBsb2FkZXJOYW1lcyIsImNyZWF0ZUZpZWxkIiwicGljQmVkTmFtZSIsImRlZmF1bHRWYWx1ZSIsInJlcXVpcmVkIiwiaTE4blByZWZpeCIsImV4dHJhcyIsInByZWZpeCIsInRvVXBwZXJDYXNlIiwidXBsb2FkZXJUcmFuc2xhdG9ycyIsImFkdmFuY2VkcGxpc3QiLCJhbGlzdHBsaXN0IiwiYWxpeXVuIiwiZ2l0aHViIiwiaW1ndXIiLCJsb2NhbCIsImxza3lwbGlzdCIsInBpY2xpc3QiLCJxaW5pdSIsInNmdHBwbGlzdCIsInNtbXMiLCJ0Y3l1biIsInVweXVuIiwid2ViZGF2cGxpc3QiLCJCVUlMRElOX01PRFVMRVMiLCJ1c2VyQ29uZmlnIiwiaGFuZGxlQ29uZmlnIiwibW9kdWxlIiwidXBsb2FkZXJOYW1lIiwiYW5zd2VyIiwiY29uZmlnS2V5IiwiZ2V0Q29uZmlnTmFtZSIsImFjdHVhbENvbmZpZ05hbWUiLCJleGlzdGluZ0NvbmZpZyIsInVwZGF0ZVVwbG9hZGVyQ29uZmlnIiwibmV3Q29uZmlnIiwiYWRkVXBsb2FkZXJDb25maWciLCJjb25maWdMaXN0IiwiaWRPZkNvbmZpZ05hbWUiLCJleGlzdGluZ0VudHJ5SW5kZXgiLCJmaW5kSW5kZXgiLCJidWlsZGluIiwic2V0dGluZyIsImVudHJpZXMiLCJzZWxlY3RlZE1vZHVsZSIsImhhbmRsZUJ1aWxkaW5Nb2R1bGUiLCJoYW5kbGVVcGxvYWRlck9yVHJhbnNmb3JtZXIiLCJwbHVnaW5OYW1lIiwiZ2V0UGx1Z2luIiwiZ2V0RnVsbExpc3QiLCJoYW5kbGVQbHVnaW4iLCJhcmd2IiwiaW5wdXRMaXN0IiwiZmlsdGVyIiwiZXhpc3QiLCJ1c2UiLCJwaWNnb1BsdWdpbnMiLCJMaWZlY3ljbGVQbHVnaW5zIiwic3RhdGljIiwicGx1Z2luSWRNYXAiLCJNYXAiLCJyZWdpc3RlciIsIlR5cGVFcnJvciIsInNldCIsImN1cnJlbnRQbHVnaW4iLCJ1bnJlZ2lzdGVyIiwicGx1Z2luTGlzdCIsImRlbGV0ZSIsInZhbHVlcyIsInNldEN1cnJlbnRQbHVnaW5OYW1lIiwiQ29tbWFuZGVyIiwiQ29tbWFuZCIsImluaXQiLCJ2ZXJzaW9uIiwiZGVidWciLCJzaWxlbnQiLCJleGl0IiwiY3VycmVudFBsdWdpbk5hbWUiLCJsb2FkQ29tbWFuZHMiLCJMb2dnZXIiLCJsZXZlbCIsImxvZ0xldmVsIiwibG9nUGF0aCIsImhhbmRsZUxvZyIsImNoZWNrTG9nTGV2ZWwiLCJsb2dIZWFkZXIiLCJjaGFsayIsInJlc3VsdCIsImNoZWNrTG9nRmlsZUlzTGFyZ2UiLCJpc0xhcmdlIiwid2FybmluZ01zZyIsImxvZ0ZpbGVTaXplTGltaXQiLCJ5ZWxsb3ciLCJyZWNyZWF0ZUxvZ0ZpbGUiLCJ1bnNoaWZ0IiwiaGFuZGxlV3JpdGVMb2ciLCJsb2dGaWxlU2l6ZSIsInVubGlua1N5bmMiLCJjcmVhdGVGaWxlU3luYyIsImRheWpzIiwidXRpbCIsInN0YWNrIiwiYXBwZW5kRmlsZVN5bmMiLCJQbHVnaW5IYW5kbGVyIiwiaW5zdGFsbGVkUGx1Z2lucyIsInByb2Nlc3NQbHVnaW5zIiwiaGFuZGxlUGx1Z2luTmFtZVByb2Nlc3MiLCJoYXNQbHVnaW4iLCJwa2dOYW1lIiwiZnVsbE5hbWVMaXN0IiwiZnVsbE5hbWUiLCJwa2dOYW1lTGlzdCIsImV4ZWNDb21tYW5kIiwiY29kZSIsImVyciIsInRpdGxlIiwiYm9keSIsInJlZ2lzdGVyUGx1Z2luIiwidW5yZWdpc3RlclBsdWdpbiIsIm1vZHVsZXMiLCJ3aGVyZSIsImNvbmNhdCIsIm5wbSIsInNwYXduIiwic3Rkb3V0IiwicGlwZSIsInN0ZGVyciIsIlBsdWdpbkxvYWRlciIsImZ1bGxMaXN0IiwicGx1Z2luTWFwIiwicGFja2FnZVBhdGgiLCJyZXBvc2l0b3J5IiwibGljZW5zZSIsInJlc29sdmVQbHVnaW4iLCJzeW5jIiwiYmFzZWRpciIsInBsdWdpbkRpciIsImpzb24iLCJkZXBzIiwiZGVwZW5kZW5jaWVzIiwiZGV2RGVwcyIsImRldkRlcGVuZGVuY2llcyIsImFkZCIsInBsdWdpbkludGVyZmFjZSIsIk5PVElGSUNBVElPTiIsInBhY2thZ2VKc29uUGF0aCIsInBhY2thZ2VKc29uIiwibWFpbiIsInBvc3NpYmxlRW50cmllcyIsImVudHJ5IiwiZW50cnlQYXRoIiwicGx1Z2luVXJsIiwicGF0aFRvRmlsZVVSTCIsImhyZWYiLCJtb2QiLCJpbXBvcnQiLCJldmVudEJ1cyIsImh0dHBzQWdlbnQiLCJodHRwcyIsIkFnZW50IiwibWF4VmVyc2lvbiIsIm1pblZlcnNpb24iLCJyZWplY3RVbmF1dGhvcml6ZWQiLCJhcHBlbmRGb3JtRGF0YSIsImZvcm0iLCJhcHBlbmQiLCJyZXNwb25zZUludGVyY2VwdG9yIiwicmVzcG9uc2UiLCJzdGF0dXNDb2RlIiwic3RhdHVzIiwicmVzcG9uc2VFcnJvckhhbmRsZXIiLCJlcnJvck9iaiIsIkNPTkZJR19DSEFOR0UiLCJoYW5kbGVQcm94eSIsInByb3h5T3B0aW9ucyIsImhvc3QiLCJob3N0bmFtZSIsInBvcnQiLCJwcm90b2NvbCIsImhlYWRlcnMiLCJtYXhCb2R5TGVuZ3RoIiwiSW5maW5pdHkiLCJtYXhDb250ZW50TGVuZ3RoIiwiaHR0cHNPdmVySHR0cCIsImluc3RhbmNlIiwiY3JlYXRlIiwiaW50ZXJjZXB0b3JzIiwib3B0IiwiX19pc09sZE9wdGlvbnMiLCJGb3JtRGF0YSIsImZvcm1EYXRhIiwiYXNzaWduIiwiZ2V0SGVhZGVycyIsInFzIiwicmVxdWVzdEludGVyY2VwdG9yIiwib2JqIiwiY29udGVudFR5cGUiLCJDb250ZW50VHlwZSIsIkltZ0Zyb21CYXNlNjQiLCJnZXRJbWdTaXplIiwiSW1nRnJvbVBhdGgiLCJyZXN1bHRzIiwiaXNCdWZmZXIiLCJpbWdTaXplIiwibWltZVR5cGUiLCJtaW1lIiwiZ2V0VHlwZSIsInBvc3RPcHRpb25zIiwiZW5kcG9pbnQiLCJmb3JtRGF0YUtleSIsImZpbGVuYW1lIiwiYWR2YW5jZWRwbGlzdENvbmZpZyIsImltZ0xpc3QiLCJwb3N0Q29uZmlnIiwiaW1hZ2VVcmwiLCJyZXNEYXRhUGF0aCIsIndlYlBhdGgiLCJwb3AiLCJjdXN0b21QcmVmaXgiLCJjcmVhdGVDb25maWdGaWVsZCIsInRva2VuIiwiQXV0aG9yaXphdGlvbiIsImhhbmRsZVJlc0Vycm9yIiwiY3JlYXRlQXBpUmVxdWVzdCIsImV4dHJhY3RDb25maWciLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwidXBsb2FkUGF0aCIsImN1c3RvbVVybCIsImFsaXN0Q29uZmlnIiwidG9rZW5TdG9yZSIsInJlZnJlc2hlZEF0IiwicG9zdCIsImdldEFsaXN0VG9rZW4iLCJmdWxsVXBsb2FkUGF0aCIsInVwbG9hZFJlcyIsInJlZnJlc2hSZXMiLCJwYWdlIiwicGVyX3BhZ2UiLCJyZWZyZXNoIiwiZ2V0SW5mb1JlcyIsInNpZ24iLCJlbmNvZGVkUGF0aCIsImdldEN1cnJlbnRVVENEYXRlIiwidG9VVENTdHJpbmciLCJnZW5lcmF0ZVNpZ25hdHVyZSIsImRhdGUiLCJzaWduU3RyaW5nIiwiYnVja2V0Iiwic2lnbmF0dXJlIiwiY3JlYXRlSG1hYyIsImFjY2Vzc0tleVNlY3JldCIsImFjY2Vzc0tleUlkIiwiYXJlYSIsIkhvc3QiLCJhbGlZdW5PcHRpb25zIiwidXJsT3B0aW9ucyIsIkZpbGVOYW1lR2VuZXJhdG9yIiwibW9udGgiLCJkYXkiLCJleHROYW1lIiwibWQ1IiwiaW1nQnVmZmVyIiwibWQ1QjY0IiwibWQ1QjY0U2hvcnQiLCJzaGExIiwic2hhMjU2IiwidGltZXN0YW1wIiwidGltZXN0YW1wTVMiLCJmb3JtYXRQYXRoIiwiZmlsZU5hbWVHZW5lcmF0b3IiLCJmaWVsZHMiLCJyZSIsImdldFByb3h5QWdlbnQiLCJzc2xFbmFibGVkIiwiZm9ybWF0ZWRQcm94eSIsImZvcm1hdEh0dHBQcm94eVVSTCIsIkh0dHBzUHJveHlBZ2VudCIsIkh0dHBQcm94eUFnZW50Iiwia2VlcEFsaXZlIiwia2VlcEFsaXZlTXNlY3MiLCJzY2hlZHVsaW5nIiwiZ2V0RmlsZVVSTCIsIm9wdHMiLCJlVGFnIiwidmVyc2lvbklkIiwic2lnbmVkVXJsIiwiZ2V0U2lnbmVkVXJsIiwiY2xpZW50IiwiR2V0T2JqZWN0Q29tbWFuZCIsIkJ1Y2tldCIsImJ1Y2tldE5hbWUiLCJLZXkiLCJJZk1hdGNoIiwiVmVyc2lvbklkIiwiZXhwaXJlc0luIiwidXJsT2JqZWN0Iiwic2VhcmNoIiwiY3JlYXRlUzNDbGllbnQiLCJodHRwSGFuZGxlck9wdHMiLCJodHRwQWdlbnQiLCJjbGllbnRPcHRpb25zIiwicmVnaW9uIiwiY3JlZGVudGlhbHMiLCJhY2Nlc3NLZXlJRCIsInNlY3JldEFjY2Vzc0tleSIsInRscyIsImZvcmNlUGF0aFN0eWxlIiwicGF0aFN0eWxlQWNjZXNzIiwicmVxdWVzdEhhbmRsZXIiLCJOb2RlSHR0cEhhbmRsZXIiLCJTM0NsaWVudCIsImNyZWF0ZVVwbG9hZFRhc2siLCJjb250ZW50RW5jb2RpbmciLCJmaWxlVHlwZSIsImZpbGVUeXBlRnJvbUJ1ZmZlciIsImV4dHJhY3RJbmZvIiwiUHV0T2JqZWN0Q29tbWFuZCIsIkFDTCIsImFjbCIsIkJvZHkiLCJDb250ZW50RW5jb2RpbmciLCJzZW5kIiwidXJsUHJlZml4IiwiRVRhZyIsImltZ1VSTCIsImZvcm1hdERpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsImRpc2FibGVCdWNrZXRQcmVmaXhUb1VSTCIsIkJvb2xlYW4iLCJ0YXNrIiwiYnVpbGRHaXRodWJBcGlVcmwiLCJyZXBvIiwiZXh0cmEiLCJnZXRPcHRpb25zIiwiYnJhbmNoIiwiZ2l0aHViT3B0aW9ucyIsImNvbnRlbnQiLCJkb3dubG9hZF91cmwiLCJoYXNoIiwic2hhIiwiaW1nQmFzZTY0IiwiY2xpZW50SWQiLCJhY2Nlc3NUb2tlbiIsImZvcm1hdEFjY2Vzc1Rva2VuIiwiYWxidW0iLCJhdXRob3JpemF0aW9uIiwicmVxdWVzdE9wdGlvbnMiLCJpbml0UGFnZXMiLCJhbGJ1bUhhc2giLCJnZXRBbGJ1bUhhc2hPcHRpb25zIiwidGltZW91dCIsImFsYnVtTGlzdCIsImltZ3VyT3B0aW9ucyIsImxpbmsiLCJkZWxldGVoYXNoIiwibG9jYWxDb25maWciLCJpbWdUZW1wUGF0aCIsImZpbGVJbWdUZW1wUGF0aCIsImZpbGVVcGxvYWRQYXRoIiwiY29weUZpbGVTeW5jIiwiZ2FsbGVyeVBhdGgiLCJpc1YyIiwidjFIZWFkZXJzIiwiQ29ubmVjdGlvbiIsInYxRm9ybURhdGEiLCJzc2wiLCJ2MkhlYWRlcnMiLCJBY2NlcHQiLCJzdHJhdGVneUlkIiwiYWxidW1JZCIsInBlcm1pc3Npb24iLCJ2MkZvcm1EYXRhIiwic3RyYXRlZ3lfaWQiLCJhbGJ1bV9pZCIsImFnZW50IiwibHNreU9wdGlvbnMiLCJsaW5rcyIsInBpY2JlZCIsInNlcnZlcktleSIsImlzSXAiLCJmb3JtYXRIb3N0IiwicGljbGlzdE9wdGlvbnMiLCJmdWxsUmVzdWx0Iiwic2VsZWN0QXJlYSIsImdldFRva2VuIiwicWluaXVPcHRpb25zIiwiYWNjZXNzS2V5Iiwic2VjcmV0S2V5IiwibWFjIiwiYXV0aCIsIk1hYyIsInJzIiwiUHV0UG9saWN5IiwidXBsb2FkVG9rZW4iLCJiYXNlVXJsIiwiU1NIQ2xpZW50IiwiTm9kZVNTSCIsImlzQ29ubmVjdGVkIiwiZ2V0SW5zdGFuY2UiLCJjaGFuZ2VXaW5TdHlsZVBhdGhUb1VuaXgiLCJjb25uZWN0IiwicHJpdmF0ZUtleSIsInBhc3NwaHJhc2UiLCJsb2dpbkluZm8iLCJwcml2YXRlS2V5UGF0aCIsInJlbW90ZSIsIm1rZGlyIiwicHV0RmlsZSIsImZpbGVNb2RlIiwiZXhlYyIsImRpclBhdGgiLCJkaXJlY3RvcnlNb2RlIiwiZGlyTW9kZSIsImRpcnMiLCJjdXJyZW50UGF0aCIsImRpciIsInNjcmlwdCIsImNob3duIiwidXNlciIsImdyb3VwIiwiX3VzZXIiLCJfZ3JvdXAiLCJjbG9zZSIsImRpc3Bvc2UiLCJzZnRwcGxpc3RDb25maWciLCJ1cGxvYWRUZW1wUGF0aCIsIm91dHB1dEZpbGVTeW5jIiwicmVtb3RlUGF0aCIsImZpbGVVc2VyIiwiaW1nVGVtcEZpbGVQYXRoIiwicmVtb3ZlU3luYyIsIm1vdmVTeW5jIiwiYXBpVG9rZW4iLCJkb21haW4iLCJzbWZpbGUiLCJzbW1zQ29uZmlnIiwiYmFja3VwRG9tYWluIiwiaW1hZ2VCdWZmZXIiLCJpbWFnZXMiLCJlcnJvck1zZyIsInVwbG9hZEhpc3RvcnkiLCJtYXRjaGVkSW1hZ2UiLCJzZWNyZXRJZCIsImFwcElkIiwic2lnblRpbWUiLCJjdXJyZW50IiwibXVsdGlTaWduYXR1cmUiLCJzaWduSGV4S2V5IiwidGVtcFN0cmluZyIsInRvZGF5Iiwic2lnbktleSIsImh0dHBTdHJpbmciLCJzdHJpbmdUb1NpZ24iLCJ1c2VyQWdlbnQiLCJvcCIsImZpbGVjb250ZW50IiwidGNZdW5PcHRpb25zIiwidXNlVjQiLCJvcHRpb25VcmwiLCJzbGltIiwic291cmNlX3VybCIsImNvbmZpcm1UZXh0IiwiY2FuY2VsVGV4dCIsInRpcHMiLCJERUZBVUxUX0VORFBPSU5UIiwidXB5dW5PcHRpb25zIiwib3BlcmF0b3IiLCJtZDVQYXNzd29yZCIsInN1ZmZpeCIsImFudGlMZWVjaFRva2VuIiwiYWRkQW50aUxlZWNoVG9rZW4iLCJ1cHQiLCJleHBpcmVUaW1lIiwidXJpIiwiZXhwaXJlIiwic3Vic3RyaW5nIiwiZ2V0QW50aUxlZWNoUGFyYW0iLCJoYW5kbGVVcGxvYWRFcnJvciIsImVycm9yQm9keSIsImVycm9yQ29kZSIsIk1BWF9GSUxFX1NJWkUiLCJnZXRJbWFnZUJ1ZmZlciIsImJ1aWxkSW1hZ2VVcmwiLCJ3ZWJwYXRoIiwidXNlV2VicGF0aCIsInNhdmVJbWFnZVRvVGVtcCIsInVwbG9hZEltYWdlIiwiZnVsbFVwbG9hZERpclBhdGgiLCJwYXRoVG9DcmVhdGUiLCJjcmVhdGVEaXJlY3RvcnkiLCJyZWN1cnNpdmUiLCJwdXRGaWxlQ29udGVudHMiLCJvdmVyd3JpdGUiLCJhdXRoVHlwZSIsIkF1dGhUeXBlIiwiRGlnZXN0IiwiY3JlYXRlQ2xpZW50IiwiY3JlYXRlV2ViREFWQ2xpZW50IiwiYnVpbGRJblVwbG9hZGVycyIsImFkdmFuY2VkcGxpc3RVcGxvYWRlciIsImFsaXN0VXBsb2FkZXIiLCJhbGlZdW5VcGxvYWRlciIsImF3c3MzcGxpc3RVcGxvYWRlciIsImdpdGh1YlVwbG9hZGVyIiwiaW1ndXJVcGxvYWRlciIsImxvY2FsVXBsb2FkZXIiLCJsc2t5VXBsb2FkZXIiLCJwaWNsaXN0VXBsb2FkZXIiLCJxaW5pdVVwbG9hZGVyIiwic2Z0cFVwbG9hZGVyIiwic21tc1VwbG9hZGVyIiwidGNZdW5VcGxvYWRlciIsInVwWXVuVXBsb2FkZXIiLCJ3ZWJkYXZwbGlzdFVwbG9hZGVyIiwiQ29uZmlnTWFuYWdlciIsIm1pZ3JhdGVUb011bHRpQ29uZmlnIiwidXBsb2FkZXJDb25maWciLCJjb25maWdJdGVtIiwidXVpZCIsImRlZmF1bHRJZCIsInVwbG9hZGVyRGF0YSIsImNvbmZpZ0RhdGEiLCJzeW5jQ29uZmlnVG9QaWNCZWQiLCJjb25maWdJZCIsImNvbmZpZ0luZGV4Iiwic3BsaWNlIiwiREIiLCJkYiIsIkpTT05TdG9yZSIsInJlYWQiLCJmbHVzaCIsImdldFNpbmdsZSIsImsiLCJ1bnNldCIsImdldENvbmZpZ1BhdGgiLCJDTElQQk9BUkRfSU1BR0VfRk9MREVSIiwicGxhdGZvcm0yU2NyaXB0Q29udGVudCIsImRhcndpbiIsIndpbjMyIiwid2luMTAiLCJsaW51eCIsIndzbCIsInBsYXRmb3JtMlNjcmlwdEZpbGVuYW1lIiwiZ2V0Q2xpcGJvYXJkSW1hZ2UiLCJpbWFnZVBhdGgiLCJjcmVhdGVJbWFnZUZvbGRlciIsInBsYXRmb3JtIiwiaXNXc2wiLCJvcyIsInJlbGVhc2UiLCJnZXRDdXJyZW50UGxhdGZvcm0iLCJzY3JpcHRQYXRoIiwiZXhlY3V0aW9uIiwiaW1nUGF0aCIsInNob3VsZEtlZXBBZnRlclVwbG9hZGluZyIsIlBpY0dvIiwiX2NvbmZpZyIsImxpZmVjeWNsZSIsIl9wbHVnaW5Mb2FkZXIiLCJpbml0Q29uZmlnUGF0aCIsImluaXRDb25maWciLCJob21lZGlyIiwiZW5zdXJlRmlsZVN5bmMiLCJyZWdpc3RlckNvbW1hbmRzIiwicHJvcE5hbWUiLCJjbGVhbnVwIiwicmVtb3ZlIl0sIm1hcHBpbmdzIjoibWxEQVdBLE1BQ01BLEdBQVlDLEVBRENDLGNBQTBCQyxNQW1CdkMsU0FBVUMsR0FBc0JDLEdBQ3BDLE1BQU1DLEVBQU0sSUFBSUMsTUFBTUYsR0FDdEIsSUFBSUcsRUFBSSxFQUNKQyxFQUFPLEVBQ1BDLEVBQU8sRUFDWCxLQUFPRixFQUFJSCxHQUFRLENBQ2pCLEdBQUlLLEVBQU8sRUFBRyxDQUNaRCxFQUFRQSxHQUFRLEdBQXdCLFdBQWhCRSxLQUFLQyxXQUEyQixFQUN4REYsR0FBUSxHQUNSLFFBQ0YsQ0FDQSxNQUFNRyxFQWZHLEdBZUdKLEVBQ1pBLEtBQVUsRUFDVkMsR0FBUSxFQUNKRyxFQUFNLEtBQUlQLEVBQUlFLEtBakJSLGlFQWlCcUJLLEdBQ2pDLENBQ0EsT0FBT1AsRUFBSVEsS0FBSyxHQUNsQixDQVVBLFNBQVNDLEdBQWFDLEdBQ3BCLE9BQWlDLElBQTFCQSxFQUFJQyxXQUFXWixPQUFlLElBQUlXLElBQVFBLEVBQUlDLFVBQ3ZELENBRUEsU0FBU0MsR0FBT0MsR0FDZCxPQUFPQyxFQUFPQyxXQUFXLE9BQU9DLE9BQU9ILEdBQU9JLE9BQU8sTUFDdkQsQ0FFQSxTQUFTQyxHQUFVTCxHQUNqQixPQUFPQyxFQUFPQyxXQUFXLFVBQVVDLE9BQU9ILEdBQU9JLE9BQU8sTUFDMUQsQ0FFTSxTQUFVRSxHQUNkQyxFQUNBQyxFQUNBQyxFQUNBQyxHQUVBLE1BQU1DLEVBQU0sSUFBSUMsS0FDVkMsRUFBT0YsRUFBSUcsY0FBY2hCLFdBQ3pCaUIsRUFBZUMsRUFBS0MsU0FBU1YsRUFBU1MsRUFBS0UsUUFBUVgsSUFDbkRZLEVBQThDLENBQ2xELE1BQU8sSUFBTU4sRUFDYixNQUFPLElBQU1BLEVBQUtPLE1BQU0sR0FDeEIsTUFBTyxJQUFNeEIsR0FBYWUsRUFBSVUsV0FBYSxHQUMzQyxNQUFPLElBQU16QixHQUFhZSxFQUFJVyxXQUM5QixNQUFPLElBQU0xQixHQUFhZSxFQUFJWSxZQUM5QixNQUFPLElBQU0zQixHQUFhZSxFQUFJYSxjQUM5QixNQUFPLElBQU01QixHQUFhZSxFQUFJYyxjQUM5QixPQUFRLElBQU1kLEVBQUllLGtCQUFrQjVCLFdBQVc2QixTQUFTLEVBQUcsS0FDM0QsUUFBUyxJQUFNNUIsR0FBT1csR0FBY0ssR0FDcEMsV0FBWSxJQUFNVixHQUFVSyxHQUFjSyxHQUMxQyxXQUFZLElBQU1oQixHQUFPVyxHQUFjSyxHQUFjSyxNQUFNLEVBQUcsSUFDOUQsYUFBYyxJQUFPWCxFQUFnQk8sRUFBS0MsU0FBU1IsRUFBZU8sRUFBS0UsUUFBUVQsSUFBa0JNLEVBQ2pHLFNBQVUsSUFBTWEsSUFBU0MsUUFBUSxLQUFNLElBQ3ZDLGNBQWUsSUFBTWxCLEVBQUltQixVQUFVaEMsWUFFckMsUUFDbUJpQyxJQUFqQnZCLElBQ0V3QixPQUFPQyxLQUFLZCxHQUFlZSxLQUFLQyxHQUFRM0IsRUFBYTRCLFNBQVNELE1BQzdEM0IsRUFBYTRCLFNBQVMsa0JBQ3RCNUIsRUFBYTRCLFNBQVMsUUFFekIsT0FBTzdCLEVBRVQsTUFBTThCLEVBQU1yQixFQUFLRSxRQUFRWCxHQUN6QixJQUFJK0IsRUFDRk4sT0FBT0MsS0FBS2QsR0FBZW9CLE9BQU8sQ0FBQ0MsRUFBS0MsSUFDL0JELEVBQUlYLFFBQVEsSUFBSWEsT0FBT0QsRUFBSyxLQUFNdEIsRUFBY3NCLE1BQ3REakMsR0FBZ0I2QixFQWlCckIsT0FkQUMsRUFBVUEsRUFBUVQsUUFGRCxnQkFFbUIsQ0FBQ2MsRUFBR0MsSUFFL0IzRCxHQURRNEQsU0FBU0QsRUFBUSxNQUdsQ04sRUFBVUEsRUFBUVQsUUFMRSxtQkFLbUIsQ0FBQ2MsRUFBR0MsS0FDekMsTUFBTTFELEVBQVMyRCxTQUFTRCxFQUFRLElBQ2hDLE9BQU92QyxHQUFVSyxHQUFjSyxHQUFjSyxNQUFNLEVBQUdsQyxLQUV4RG9ELEVBQVVBLEVBQVFULFFBQVEsNEJBQTZCLENBQUNpQixFQUFTQyxFQUFLQyxLQUNwRUEsRUFBUXhELEtBQUt5RCxJQUFJLEVBQUdELEdBQVMsR0FHN0IsT0FGY2hDLEVBQUtsQyxRQUFReUIsR0FBUzJDLE1BQU1sQyxFQUFLbUMsS0FDbkMvQixNQUFNLEVBQUk0QixHQUFPVCxPQUFPLENBQUNhLEVBQUdDLElBQU0sR0FBR0QsS0FBS0MsS0FDM0N4QixRQUFRLEtBQU0sTUFFcEJTLENBQ1QsQ0FHTyxNQUFNZ0IsR0FBU3RFLEdBQXlCLGVBQWV1RSxLQUFLdkUsR0FFdER3RSxHQUFleEUsSUFDMUJBLEVBQU1BLEdBQU8sR0FDYixJQUVFLE9BQU9BLElBQVF5RSxVQUFVekUsRUFDM0IsQ0FBRSxNQUFPMEUsR0FDUCxPQUFPLENBQ1QsR0FHV0MsR0FBbUIzRSxJQUN6QndFLEdBQVl4RSxLQUNmQSxFQUFNNEUsVUFBVTVFLElBRVhBLEdBSUk2RSxHQUFnQkMsSUFDM0IsSUFDRSxNQUFNQyxNQUFFQSxFQUFRLEVBQUNDLE9BQUVBLEVBQVMsRUFBQ0MsS0FBRUEsR0FBU0MsRUFBVUosR0FFbEQsTUFBTyxDQUNMSyxNQUFNLEVBQ05KLFFBQ0FDLFNBQ0E5QyxRQUxjK0MsRUFBTyxJQUFJQSxJQUFTLE9BT3RDLENBQUUsTUFBT1AsR0FFUCxNQUFPLENBQ0xTLE1BQU0sRUFDTkosTUFBTyxJQUNQQyxPQUFRLElBQ1I5QyxRQUFTLE9BRWIsR0FHV2tELEdBQVlDLE1BQU9DLElBQzlCLElBQ0UsTUFBTyxDQUNMcEQsUUFBU0YsRUFBS0UsUUFBUW9ELEdBQ3RCQyxTQUFVdkQsRUFBS0MsU0FBU3FELEdBQ3hCQSxXQUNBRSxhQUFjQyxFQUFHQyxTQUFTSixHQUMxQkssU0FBUyxFQUViLENBQUUsTUFDQSxNQUFPLENBQ0xDLE9BQVEsYUFBYU4sVUFDckJLLFNBQVMsRUFFYixHQUdXRSxHQUFhUixNQUFPckYsRUFBYThGLEtBRTVDLElBQUlDLEVBREovRixFQUFNMkUsR0FBZ0IzRSxHQUV0QixNQUFNZ0csRUFBWSxJQUFJQyxRQUFpQyxDQUFDQyxFQUFTQyxLQUM5RCxXQUNDLElBQ0UsTUFBTUMsUUFBWU4sRUFDZk8sUUFBUSxDQUNQQyxPQUFRLE1BQ1J0RyxNQUNBdUcseUJBQXlCLEVBQ3pCQyxhQUFjLGdCQUVmQyxLQUFLQyxHQUNHQSxFQUFLQyxNQUVoQkMsYUFBYWIsR0FDYixNQUFNYyxFQUFVLElBQUlDLEVBQUk5RyxHQUFLK0csU0FDN0IsSUFBSTdFLEVBQVUsR0FDZCxJQUVFQSxFQURrQixJQUFJNEUsRUFBSTlHLEdBQUtnSCxhQUNYQyxJQUFJLFdBQWFqRixFQUFLRSxRQUFRMkUsSUFBWSxFQUNoRSxDQUFFLE1BQU9uQyxHQUNQeEMsRUFBVUYsRUFBS0UsUUFBUTJFLElBQVksRUFDckMsRUFDSzNFLEVBQVFnRixXQUFXLE1BQVFoRixJQUM5QkEsRUFBVSxJQUFJQSxLQUVoQmdFLEVBQVEsQ0FDTlYsT0FBUVksRUFDUmIsU0FBVXZELEVBQUtDLFNBQVM0RSxHQUN4QjNFLFVBQ0F5RCxTQUFTLEdBRWIsQ0FBRSxNQUFPd0IsR0FDUFAsYUFBYWIsR0FDYkcsRUFBUSxDQUNOUCxTQUFTLEVBRVRDLE9BQVEsV0FBVzVGLFlBQWNtSCxHQUFPQyxTQUFXLE1BRXZELENBQ0QsRUF0Q0EsR0FzQ0lDLE1BQU1sQixLQUVQbUIsRUFBaUIsSUFBSXJCLFFBQWtDQyxJQUMzREgsRUFBWXdCLFdBQVcsS0FDckJyQixFQUFRLENBQ05QLFNBQVMsRUFDVEMsT0FBUSxXQUFXNUYsZUFFcEIsT0FFTCxPQUFPaUcsUUFBUXVCLEtBQUssQ0FBQ3hCLEVBQVdzQixLQUlyQkcsR0FBcUJDLEdBQzVCLHlCQUF5Qm5ELEtBQUttRCxHQUN6QixRQUNFQSxFQUFLUixXQUFXLGlCQUNsQixTQUNFUyxHQUFhRCxHQUNmLFNBRUYsVUFHSUMsR0FBZ0JDLElBQzNCLEdBQUk1RixFQUFLNkYsV0FBV0QsR0FDbEIsT0FBTyxFQUVULE1BQU1FLEVBQWE5RixFQUFLckIsS0FBS29ILFFBQVFDLE1BQU9KLEdBQzVDLE9BQUluQyxFQUFHd0MsV0FBV0gsTUFHZEYsRUFBV3hFLFNBQVMsT0FBUXdFLEVBQVd4RSxTQUFTLFFBY3pDOEUsR0FBMkIsQ0FBQ1IsRUFBY1MsRUFBUSxLQUM3REEsRUFBUSxJQUFJQSxrQkFBc0JULElBQVMsZ0JBQWdCQSxJQUVoRFUsR0FBdUIsQ0FBQ1IsRUFBb0JTLEVBQTRCQyxXQUVuRixPQUR1QmIsR0FBa0JHLElBRXZDLElBQUssU0FDTCxJQUFLLFFBQ0gsT0FBT0EsRUFDVCxJQUFLLFNBQ0gsT0FBT00sR0FBeUJOLEdBQ2xDLFFBQVMsQ0FDUCxJQUFJRSxFQUFhRixFQUNqQixPQUFJNUYsRUFBSzZGLFdBQVdELElBQWVuQyxFQUFHd0MsV0FBV0wsR0FDeENXLEdBQW9CVCxJQUU3QkEsRUFBYTlGLEVBQUtyQixLQUFLb0gsUUFBUUMsTUFBT0osR0FDbENuQyxFQUFHd0MsV0FBV0gsR0FDVFMsR0FBb0JULElBRTdCTyxFQUFPRyxLQUFLLHFCQUFxQlosS0FDMUIsSUFDVCxJQUlTYSxHQUFzQixDQUFDYixFQUFvQlMsRUFBNEJDLFdBRWxGLE9BRHVCYixHQUFrQkcsSUFFdkMsSUFBSyxTQUNILE9BQU9jLEdBQW9CZCxHQUM3QixJQUFLLFFBQ0gsT0FBT2MsR0FBb0JkLEdBQVksR0FDekMsSUFBSyxTQUNILE9BQU9jLEdBQW9CUixHQUF5Qk4sSUFDdEQsUUFBUyxDQUNQLElBQUtuQyxFQUFHd0MsV0FBV0wsR0FFakIsT0FEQVMsRUFBT0csS0FBSyxzQkFBc0JaLEtBQzNCLEdBRVQsTUFBTWUsRUFBa0IzRyxFQUFLNEcsTUFBTWpJLEtBQUtpSCxFQUFZLGdCQUNwRCxHQUFLbkMsRUFBR3dDLFdBQVdVLEdBR1osQ0FDTCxNQUFNRSxFQUFNQyxFQUFhSCxJQUFvQixDQUFBLEVBQzdDLE9BQUtFLEVBQUluQixNQUFNdEUsU0FBUyxpQkFNakJ5RixFQUFJbkIsTUFMVFcsRUFBT0csS0FDTCwyQ0FBNENLLEVBQUluQixNQUFtQixzREFFOUQsR0FHWCxDQVZFLE9BREFXLEVBQU9HLEtBQUssc0JBQXNCWixLQUMzQixFQVdYLElBSVNXLEdBQXVCUSxHQUNsQkEsRUFBUTdFLE1BQU1sQyxFQUFLbUMsS0FDcEJ4RCxLQUFLLEtBR1QrSCxHQUFzQixDQUFDZCxFQUFvQk8sR0FBaUIsS0FDdkUsR0FBS1AsRUFBV3hFLFNBQVMsS0FFbEIsQ0FDTCxJQUFJNEYsRUFBTSxrQ0FDTmIsSUFDRmEsRUFBTSw0Q0FFUixNQUFNQyxFQUFXckIsRUFBV3NCLE1BQU1GLEdBQ2xDLE9BQUtDLEVBSUlBLEVBQVMsSUFIaEJYLFFBQVFFLEtBQUssaUNBQ05aLEVBSVgsQ0FiRSxPQUFPQSxHQW9CRXVCLEdBQWtCLEdBTWxCQyxHQUEwQnJGLEdBQzlCb0YsR0FBZ0JqRyxLQUFLbUcsR0FBYXRGLEVBQUltRCxXQUFXbUMsSUFHN0NDLEdBQXNCQyxHQUNYLGlCQUFYQSxJQUF3Qm5KLE1BQU1vSixRQUFRRCxJQUFXdkcsT0FBT0MsS0FBS3NHLEdBQVFySixPQUFTLEVBTXJGLFNBQVV1SixHQUFhQyxHQUMzQixJQUNFLE9BQU9DLEtBQUtDLE1BQU1GLEVBQ3BCLENBQUUsTUFBT2hGLEdBQ1AsT0FBT2lGLEtBQUtDLE1BQU0sS0FDcEIsQ0FDRixDQUVPLE1BQU1DLEdBQWMsQ0FBQ2hKLEVBQXVCLElBQzFDaUosTUFBTUMsT0FBT2xKLElBQVEsRUFBSWtKLE9BQU9sSixHQUc1Qm1KLEdBQVEsSUFBd0MsZ0JBQXpCakMsUUFBUWtDLElBQUlDLFNBdUJoRCxNQUFNQyxHQUE0Qm5JLEVBQUtyQixLQUFLZCxHQUFXLFNBQVUsZUFFMUR3RixlQUFlK0UsR0FDcEJDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEdBRUFKLEdBQ0dBLEdBQXVCQSxFQUFzQixHQUFLQSxFQUFzQixFQUFJLElBQU9BLEVBQ3RGLE1BQU1LLEVBQVFDLEVBQU1iLEVBQUssQ0FBRWMsVUFBVSxLQUM3QnBHLE1BQU9xRyxFQUFXLFdBQWNILEVBQU1JLFdBQ3hDQyxRQXVCUmpHLGVBQ0VpRixFQUNBQyxFQUNBRyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBTSxFQUFtQixJQUNuQlgsRUFBMEIsRUFDMUJPLEVBQWdDLEtBRWhDLElBQUlNLEVBQ2tCLFVBQWxCaEIsR0FDRlUsRUFBd0JuQixHQUFZbUIsR0FDcENGLEVBQXFCQSxHQUFzQlgsR0FDM0NtQixRQUFrQkosRUFBTUosR0FDckJTLFVBQVUsQ0FDVCxDQUNFdkssTUFBT3dLLE9BQU9DLEtBQUssQ0FBQyxJQUFLLElBQUssSUFBS1QsRUFBd0IsSUFBTSxJQUFNQSxJQUN2RVUsSUFBSyxDQUNIM0csTUFBTyxFQUNQQyxPQUFRLEVBQ1IyRyxTQUFVLEdBRVpDLE1BQU0sRUFDTkMsTUFBTyxhQUdWQyxZQUVIUixRQTlGSmpHLGVBQ0VrRixFQUNBRyxFQUNBcUIsRUFDQUMsR0FFQXRCLEVBQVFBLEdBQU8sS0FDZnNCLEVBQWNBLEdBQWF6QixFQUUzQixNQUNNMEIsRUFBdUMsQ0FDM0NDLE9BQVEsTUFDUkMsV0FBWSxDQUNWQyxLQUxKTCxFQUFTQSxHQUFRLDhCQVFYTSxFQVBXQyxFQUFVQyxTQUFTUCxHQU9YUSxPQUFPOUIsRUFBTXVCLEdBQ3RDLE9BQU9ULE9BQU9DLEtBQUtZLEVBQ3JCLENBNEVzQkksQ0FDaEJsQyxFQUNBRyxFQUNBRyxFQUNBRixHQUFxQkosR0FHekIsTUFBUXhGLE1BQU8ySCxFQUFnQjFILE9BQVEySCxTQWF6Q3RILGVBQXVCNEYsR0FDckIsTUFBTWxHLE1BQUVBLEVBQUtDLE9BQUVBLFNBQWlCa0csRUFBTUQsR0FBT0ksV0FDN0MsTUFBTyxDQUFFdEcsTUFBT0EsR0FBUyxJQUFLQyxPQUFRQSxHQUFVLElBQ2xELENBaEJtRTRILENBQVF0QixHQUNuRXVCLEVBQXVCck0sS0FBS3NNLE1BQU0xQixFQUFXdkIsR0FBWWUsSUFDekRtQyxFQUF3QnZNLEtBQUtzTSxNQUFPRCxFQUF1QkYsRUFBbUJELEdBQ3BGLGFBQWF4QixFQUFNSSxHQUNoQjBCLE9BQU9ILEVBQXNCRSxFQUF1QixDQUNuREUsSUFBSyxXQUVOQyxPQUFPekMsRUFBaUIsQ0FDdkIwQyxXQUFZLENBQUVDLEVBQUcsSUFBS0MsRUFBRyxJQUFLaEosRUFBRyxJQUFLaUosTUFBTyxLQUU5Q3hCLFVBQ0wsQ0F4RTBCeUIsQ0FDdEJqRCxFQUNBQyxFQUNBRyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBTSxFQUNBWCxFQUNBTyxHQUVGLGFBQWFDLEVBQ1ZNLFVBQVUsQ0FDVCxDQUNFdkssTUFBT3NLLEVBQ1BrQyxRQUFTekMsR0FBWSxZQUNyQmEsS0FBTXBCLEtBR1RzQixVQUNMLENBMERBLE1BQU0yQixHQUFhLElBQUlDLElBQ2RBLEVBQU9DLE1BQU1DLEdBQ2RBLFVBQ2lCLGlCQUFWQSxFQUFxQyxLQUFWQSxFQUNqQixpQkFBVkEsRUFBMkJBLEVBQVEsRUFDekIsaUJBQVZBLEdBQTJCNUssT0FBT0MsS0FBSzJLLEdBQU8xTixPQUFTLElBUWhFMk4sR0FBNkIsQ0FDakMsT0FDQSxLQUNBLE9BQ0EsTUFDQSxPQUNBLFFBQ0EsT0FDQSxNQUNBLE1BQ0EsTUFDQSxTQUNBLFlBQ0EsTUFDQSxNQUNBLE1BQ0EsTUFDQSxNQUNBLE9BQ0EsTUFDQSxJQUNBLFFBTUlDLEdBQWtCLENBQ3RCLE1BQ0EsT0FDQSxNQUNBLE9BQ0EsTUFDQSxPQUNBLE1BQ0EsTUFDQSxNQUNBLE9BQ0EsT0FDQSxPQUNBLE9BR0lDLEdBQXFCQyxHQUE0QkgsR0FBMkJ6SyxTQUFTNEssR0FFckYsU0FBVUMsR0FDZEMsRUFDQUMsRUFDQUMsRUFDQUMsR0FFQUgsRUFBU0EsR0FBVSxDQUFBLEVBbUNuQixNQWxDaUQsQ0FDL0NJLGtCQUFtQkgsRUFBaUJHLGdCQUFrQkosRUFBT0ssb0JBQW9CSCxJQUFXRixFQUFPSSxnQkFDbkdoRSxlQUNHNkQsRUFBaUI3RCxlQUFpQjRELEVBQU9NLG1CQUFtQkosSUFBV0YsRUFBTzVELGdCQUFrQixPQUNuR0UseUJBQ0UyRCxFQUFpQjNELHVCQUNqQjBELEVBQU9PLDJCQUEyQkwsSUFDbENGLEVBQU8xRCx1QkFFVEMsZ0JBQWlCWixHQUNmc0UsRUFBaUIxRCxpQkFBbUJ5RCxFQUFPUSxxQkFBcUJOLElBQVdGLEVBQU96RCxpQkFFcEZrRSxlQUFnQlIsRUFBaUJRLGVBQWlCVCxFQUFPVSxtQkFBbUJSLElBQVdGLEVBQU9TLGdCQUFrQixHQUNoSGhFLG1CQUFvQndELEVBQWlCeEQsbUJBQXFCdUQsRUFBT3ZELG9CQUFzQixHQUN2RkMsb0JBQXFCZixHQUNuQnNFLEVBQWlCdkQscUJBQXVCc0QsRUFBT1cseUJBQXlCVCxJQUFXRixFQUFPdEQscUJBRTVGQyxnQkFDR3NELEVBQWlCdEQsZ0JBQWtCcUQsRUFBT1ksb0JBQW9CVixJQUFXRixFQUFPckQsaUJBQ2pGLDRCQUNGQyxvQkFDR3FELEVBQWlCckQsb0JBQXNCb0QsRUFBT2Esd0JBQXdCWCxJQUFXRixFQUFPcEQscUJBQ3pGLEdBQ0ZrRSxtQkFDR2IsRUFBaUJhLG1CQUFxQmQsRUFBT2UsdUJBQXVCYixJQUFXRixFQUFPYyxvQkFDdkYsWUFDRmhFLHNCQUF1Qm5CLEdBQ3JCc0UsRUFBaUJuRCx1QkFDZmtELEVBQU9nQiwyQkFBMkJkLElBQ2xDRixFQUFPbEQsdUJBRVhvRCxTQUNBQyxLQUdKLENBRU0sU0FBVWMsR0FDZGpCLEVBQ0FDLEVBQ0FDLEVBQ0FDLEdBRUFILEVBQVNBLEdBQVUsQ0FBQSxFQWdDbkIsTUEvQmdELENBQzlDa0IsUUFBU3ZGLEdBQVlzRSxFQUFpQmlCLFNBQVdsQixFQUFPbUIsYUFBYWpCLElBQVdGLEVBQU9rQixTQUN2RkUsYUFBY25CLEVBQWlCbUIsV0FBYXBCLEVBQU9xQixlQUFlbkIsSUFBV0YsRUFBT29CLFdBQ3BGRSxlQUNHckIsRUFBaUJxQixlQUFpQnRCLEVBQU91QixtQkFBbUJyQixJQUFXRixFQUFPc0IsZ0JBQWtCLE1BQ25HRSxZQUFhdkIsRUFBaUJ1QixVQUFZeEIsRUFBT3lCLGNBQWN2QixJQUFXRixFQUFPd0IsVUFDakZFLGFBQWMvRixHQUFZc0UsRUFBaUJ5QixjQUFnQjFCLEVBQU8yQixrQkFBa0J6QixJQUFXRixFQUFPMEIsY0FDdEdFLFlBQWFqRyxHQUFZc0UsRUFBaUIyQixhQUFlNUIsRUFBTzZCLGlCQUFpQjNCLElBQVdGLEVBQU80QixhQUNuR0Usd0JBQ0U3QixFQUFpQjZCLHNCQUNqQjlCLEVBQU8rQiwwQkFBMEI3QixJQUNqQ0YsRUFBTzhCLHNCQUVURSxxQkFDRS9CLEVBQWlCK0IsbUJBQ2pCaEMsRUFBT2lDLHVCQUF1Qi9CLElBQzlCRixFQUFPZ0MsbUJBRVRFLGNBQWV2RyxHQUNic0UsRUFBaUJpQyxlQUFpQmxDLEVBQU9tQyxtQkFBbUJqQyxJQUFXRixFQUFPa0MsZUFFaEZFLFlBQWFuQyxFQUFpQm1DLFVBQVlwQyxFQUFPcUMsY0FBY25DLElBQVdGLEVBQU9vQyxVQUNqRkUsYUFBYzNHLEdBQVlzRSxFQUFpQnFDLGNBQWdCdEMsRUFBT3VDLGtCQUFrQnJDLElBQVdGLEVBQU9zQyxjQUN0R0UsZ0JBQWlCdkMsRUFBaUJ1QyxjQUFnQnhDLEVBQU95QyxrQkFBa0J2QyxJQUFXRixFQUFPd0MsY0FDN0ZFLFVBQVd6QyxFQUFpQnlDLFFBQVUxQyxFQUFPMkMsWUFBWXpDLElBQVdGLEVBQU8wQyxRQUMzRUUsVUFBVzNDLEVBQWlCMkMsUUFBVTVDLEVBQU82QyxZQUFZM0MsSUFBV0YsRUFBTzRDLFFBQzNFRSxrQkFDRzdDLEVBQWlCNkMsa0JBQW9COUMsRUFBTytDLHNCQUFzQjdDLElBQVdGLEVBQU84QyxtQkFBcUIsQ0FBQSxFQUM1RzVDLFNBQ0FDLEtBR0osQ0FFT2hKLGVBQWU2TCxHQUNwQjdHLEVBQ0E0QixFQUNBMUIsRUFDQWxDLEdBRUEsSUFDRSxJQUFJNEMsRUFBcUJDLEVBQU1iLEVBQUssQ0FBRWMsVUFBVSxJQWtCaEQsT0FqQkFGLEVBQVFDLFFBQ0FkLEdBQ0pDLEVBQ0E0QixFQUFRM0IsZUFBaUIsT0FDekJDLEVBQ0EwQixFQUFRekIsc0JBQ1JYLEdBQVlvQyxFQUFReEIsaUJBQ3BCd0IsRUFBUTBDLGNBQ1IxQyxFQUFRdEIsa0JBQ1JkLEdBQVlvQyxFQUFRckIscUJBQ3BCcUIsRUFBUXBCLGVBQ1JvQixFQUFRbkIsbUJBQ1JtQixFQUFRK0Msa0JBQ1JuRixHQUFZb0MsRUFBUWpCLHdCQUV0QixDQUFFRyxVQUFVLFVBRURGLEVBQU1hLFVBQ3JCLENBQUUsTUFBTzNFLEdBRVAsT0FEQWtCLEVBQU9sQixNQUFNLDhCQUE4QkEsS0FDcENrRCxDQUNULENBQ0YsQ0FFQSxTQUFTOEcsR0FBY2xGLEdBQ3JCLE1BQU0rRSxFQUNnQyxpQkFBN0IvRSxFQUFRK0UsaUJBQWdDdkgsR0FBVXdDLEVBQVErRSxrQkFBb0IvRSxFQUFRK0UsaUJBQy9GLE1BQU8sQ0FDTDVCLFFBQVN2RixHQUFZb0MsRUFBUW1ELFNBQzdCRSxVQUFXckQsRUFBUXFELFlBQWEsRUFDaENFLGNBQWV2RCxFQUFRdUQsZUFBaUIsTUFDeENFLFNBQVV6RCxFQUFReUQsV0FBWSxFQUM5QkUsYUFBYy9GLEdBQVlvQyxFQUFRMkQsY0FDbENFLFlBQWFqRyxHQUFZb0MsRUFBUTZELGFBQ2pDRSxxQkFBc0IvRCxFQUFRK0QsdUJBQXdCLEVBQ3RERSxrQkFBbUJqRSxFQUFRaUUsb0JBQXFCLEVBQ2hERSxjQUFldkcsR0FBWW9DLEVBQVFtRSxlQUNuQ0UsU0FBVXJFLEVBQVFxRSxXQUFZLEVBQzlCTSxPQUFRM0UsRUFBUTJFLFNBQVUsRUFDMUJFLE9BQVE3RSxFQUFRNkUsU0FBVSxFQUMxQk4sYUFBYzNHLEdBQVlvQyxFQUFRdUUsY0FDbENwQyxPQUFRbkMsRUFBUW1DLFFBQVUsT0FDMUI0QyxpQkFBa0JBLEdBQW9CLENBQUEsRUFFMUMsQ0FFTzNMLGVBQWUrTCxHQUNwQi9HLEVBQ0E0QixFQUNBb0YsRUFDQWhKLEdBRUE0RCxFQUFVa0YsR0FBY2xGLEdBQ3hCLElBRUUsR0FEQW9GLEVBQVlDLEdBQWtCRCxJQUN6QnZELEdBQWdCMUssU0FBU2lPLElBQTRCLFFBQWRBLEVBQXFCLE9BQU9oSCxFQUN4RSxJQUFJWSxFQUFxQkMsRUFBTWIsRUFBSyxDQUFFYyxVQUFVLElBQzVDaUUsRUFBVSxJQUlkLEdBSEkzQixHQUFXeEIsRUFBUW1ELFVBQVluRCxFQUFRbUQsUUFBVyxNQUNwREEsRUFBVTVPLEtBQUsrUSxJQUFJL1EsS0FBS3lELElBQUl6RCxLQUFLZ1IsTUFBTXZGLEVBQVFtRCxTQUFXLEdBQUksTUFFNURuRCxFQUFRaUUsbUJBQ1YsR0FBSXpDLEdBQVd4QixFQUFRbUUsZUFBZ0IsQ0FDckMsTUFBTXFCLFFBQW1CeEcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTdEcsT0FDOUQyTSxRQUFvQnpHLEVBQU1JLFdBQVc1RSxLQUFLNEUsR0FBWUEsRUFBU3JHLFFBQ2pFeU0sR0FBY0MsSUFDaEJ6RyxFQUFRQSxFQUFNK0IsT0FDWnhNLEtBQUtnUixNQUFPQyxFQUFheEYsRUFBUW1FLGNBQWtCLEtBQ25ENVAsS0FBS2dSLE1BQU9FLEVBQWN6RixFQUFRbUUsY0FBa0IsS0FDcEQsQ0FDRW5ELElBQUssV0FJYixPQUNLLEdBQUloQixFQUFReUQsU0FDakIsR0FDa0MsaUJBQXpCekQsRUFBUTJELGNBQ2YzRCxFQUFRMkQsYUFBZSxHQUNRLGlCQUF4QjNELEVBQVE2RCxhQUNmN0QsRUFBUTZELFlBQWMsRUFFdEI3RSxFQUFRQSxFQUFNK0IsT0FBT2YsRUFBUTZELFlBQWE3RCxFQUFRMkQsYUFBYyxDQUM5RDNDLElBQUssY0FFRixHQUMyQixpQkFBekJoQixFQUFRMkQsY0FDZjNELEVBQVEyRCxhQUFlLElBQ1MsaUJBQXhCM0QsRUFBUTZELGFBQW9ELElBQXhCN0QsRUFBUTZELGFBQ3BELENBQ0EsTUFBTTJCLFFBQW1CeEcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTdEcsT0FDOUQyTSxRQUFvQnpHLEVBQU1JLFdBQVc1RSxLQUFLNEUsR0FBWUEsRUFBU3JHLFFBQ3JFLEdBQUl5TSxHQUFjQyxLQUNYekYsRUFBUStELHNCQUF5Qi9ELEVBQVErRCxzQkFBd0IvRCxFQUFRMkQsYUFBZThCLEdBQWMsQ0FDekcsTUFBTUMsRUFBYTFGLEVBQVEyRCxhQUFlOEIsRUFDMUN6RyxFQUFRQSxFQUFNK0IsT0FBT3hNLEtBQUtnUixNQUFNQyxFQUFhRSxHQUFhMUYsRUFBUTJELGFBQWMsQ0FDOUUzQyxJQUFLLFVBRVQsQ0FFSixNQUFPLEdBQzBCLGlCQUF4QmhCLEVBQVE2RCxhQUNmN0QsRUFBUTZELFlBQWMsSUFDVyxpQkFBekI3RCxFQUFRMkQsY0FBc0QsSUFBekIzRCxFQUFRMkQsY0FDckQsQ0FDQSxNQUFNNkIsUUFBbUJ4RyxFQUFNSSxXQUFXNUUsS0FBSzRFLEdBQVlBLEVBQVN0RyxPQUM5RDJNLFFBQW9CekcsRUFBTUksV0FBVzVFLEtBQUs0RSxHQUFZQSxFQUFTckcsUUFDckUsR0FBSXlNLEdBQWNDLEtBQ1h6RixFQUFRK0Qsc0JBQXlCL0QsRUFBUStELHNCQUF3Qi9ELEVBQVE2RCxZQUFjMkIsR0FBYSxDQUN2RyxNQUFNRSxFQUFhMUYsRUFBUTZELFlBQWMyQixFQUN6Q3hHLEVBQVFBLEVBQU0rQixPQUFPZixFQUFRNkQsWUFBYXRQLEtBQUtnUixNQUFNRSxFQUFjQyxHQUFhLENBQzlFMUUsSUFBSyxVQUVULENBRUosQ0FhRixHQVhJaEIsRUFBUXFFLFVBQVlyRSxFQUFRdUUsZUFDOUJ2RixFQUFRQSxFQUFNaUMsT0FBT2pCLEVBQVF1RSxhQUFjLENBQ3pDckQsV0FBWSxDQUFFQyxFQUFHLElBQUtDLEVBQUcsSUFBS2hKLEVBQUcsSUFBS2lKLE1BQU8sTUFHN0NyQixFQUFRMkUsU0FDVjNGLEVBQVFBLEVBQU0yRyxRQUVaM0YsRUFBUTZFLFNBQ1Y3RixFQUFRQSxFQUFNNEcsUUFFWjVGLEVBQVFxRCxVQUFXLENBQ3JCLE1BQU13QyxFQUFZQyxHQUFtQjlGLEVBQVNvRixHQUMxQ1MsSUFBY1QsSUFDaEJwRyxFQUFRQSxFQUFNK0csU0FBU0YsRUFBVyxDQUNoQzFDLFVBQ0E2QyxTQUFTLElBR2YsTUFFSWhILEVBREVvRyxHQUFhdEQsR0FBa0JzRCxHQUN6QnBHLEVBQU0rRyxTQUFTWCxFQUFrQixDQUN2Q2pDLFVBQ0E2QyxTQUFTLElBR0hoSCxFQUFNK0csU0FBUyxNQUFPLENBQzVCNUMsVUFDQTZDLFNBQVMsSUFJZixhQUFhaEgsRUFBTWEsVUFDckIsQ0FBRSxNQUFPM0UsR0FFUCxPQURBa0IsRUFBT2xCLE1BQU0sd0JBQXdCQSxLQUM5QmtELENBQ1QsQ0FDRixDQUVBLE1BQU1pSCxHQUFxQmpPLEdBQ2xCQSxFQUFJNk8sY0FBY3JQLFFBQVEsSUFBSyxJQUdsQyxTQUFVa1AsR0FBbUI5RixFQUE4Q29GLEdBRy9FLEdBRkFwRixFQUFVa0YsR0FBY2xGLEdBQVcsSUFFakIsU0FEbEJvRixFQUFZQyxHQUFrQkQsSUFDTCxNQUFPLE1BQ2hDLElBQUlTLEVBQVk3RixHQUFTdUQsZUFBaUIsTUFDMUMsR0FBSXZELEdBQVMrRSxrQkFBb0JoTyxPQUFPQyxLQUFLZ0osRUFBUStFLGtCQUFrQjlRLE9BQVMsRUFBRyxDQUNqRixNQUFNOFEsRUFBbUIvRSxFQUFRK0UsaUJBQ0poTyxPQUFPQyxLQUFLK04sR0FDaEI1TixTQUFTaU8sS0FDaENTLEVBQVlkLEVBQWlCSyxHQUN4QnRELEdBQWtCK0QsS0FDckJBLEVBQVksT0FHbEIsQ0FJQSxNQUh3QixVQUFwQjdGLEdBQVNtQyxRQUFvQyxTQUFkMEQsSUFDakNBLEVBQVksT0FFUEEsQ0FDVCxDQUVPLE1BQU1LLEdBQXFCLENBQ2hDQyxFQUNBQyxLQUVBQSxFQUFVZixHQUFrQmUsS0FFeEJELEtBQXNCQSxFQUFpQjlELGdCQUFrQlIsR0FBZ0IxSyxTQUFTaVAsSUFBd0IsUUFBWkEsR0FJdkZDLEdBQWlCLENBQUNDLEVBQXNERixLQUNuRixJQUFLdkUsR0FBZ0IxSyxTQUFTa08sR0FBa0JlLE1BQWNFLEVBQWlCLE9BQU8sRUFFdEYsTUFBTW5ELFFBQ0pBLEVBQU9jLGtCQUNQQSxFQUFpQkUsY0FDakJBLEVBQWFWLFNBQ2JBLEVBQVFFLGFBQ1JBLEVBQVlFLFlBQ1pBLEVBQVdRLFNBQ1hBLEVBQVFFLGFBQ1JBLEVBQVlsQixVQUNaQSxFQUFTRSxjQUNUQSxFQUFhb0IsT0FDYkEsRUFBTUUsT0FDTkEsR0FDRUssR0FBY29CLEdBRWxCLEdBQUk5RSxHQUFXMkIsSUFBWUEsRUFBVyxJQUFLLE9BQU8sRUFDbEQsR0FBSWMsR0FBcUJ6QyxHQUFXMkMsR0FBZ0IsT0FBTyxFQUMzRCxHQUNFVixJQUMwQixpQkFBakJFLEdBQTZCQSxFQUFlLEdBQThCLGlCQUFoQkUsR0FBNEJBLEVBQWMsR0FFN0csT0FBTyxFQUVULEdBQUlRLEdBQVlFLEVBQWMsT0FBTyxFQUNyQyxHQUFJSSxHQUFVRSxFQUFRLE9BQU8sRUFDN0IsR0FBSXhCLEVBQVcsQ0FFYixPQUFPK0MsS0FEVzdDLEdBQWlCLE1BRXJDLENBQ0EsT0FBTyxHQUdJZ0QsR0FBYW5OLE1BQU9nRixFQUFhZ0ksS0FDNUNBLEVBQVVmLEdBQWtCZSxHQUN2QnZFLEdBQWdCMUssU0FBU2lQLElBQXdCLFFBQVpBLFFBQzdCbkgsRUFBTWIsRUFBSyxDQUN0QmMsVUFBVSxJQUNUVyxXQUhpRXpCLGlWQS9tQjNCM0MsR0FDckMseUJBQXlCbkQsS0FBS21ELEdBQ3pCQSxFQUFLN0UsUUFBUSx5QkFBMEIsSUFFdkM2RSxFQUFLN0UsUUFBUSxnQkFBaUIscVdBek5NdEIsRUFBaUJyQixFQUFpQixHQUMvRSxNQUFPLEdBQUdELEdBQXNCQyxLQUFVOEIsRUFBS0UsUUFBUVgsSUFDekQsOEJBTk0sU0FBc0NBLEdBQzFDLE1BQU8sR0FBR2YsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLE9BQVExQixHQUFzQixLQUFLK0IsRUFBS0UsUUFBUVgsSUFDcEYsaUJDbkRBLElBQVlrUixHQVVBQyxHQWdCQUMsSUExQlosU0FBWUYsR0FDVkEsRUFBQSxRQUFBLFVBQ0FBLEVBQUEsS0FBQSxPQUNBQSxFQUFBLEtBQUEsT0FDQUEsRUFBQSxNQUFBLE9BQ0QsQ0FMRCxDQUFZQSxLQUFBQSxHQUFRLENBQUEsSUFVcEIsU0FBWUMsR0FDVkEsRUFBQSxnQkFBQSxpQkFDQUEsRUFBQSxPQUFBLFNBQ0FBLEVBQUEsaUJBQUEsa0JBQ0FBLEVBQUEsY0FBQSxlQUNBQSxFQUFBLGFBQUEsY0FDQUEsRUFBQSxTQUFBLFdBQ0FBLEVBQUEsUUFBQSxVQUNBQSxFQUFBLFVBQUEsWUFDQUEsRUFBQSxPQUFBLFNBQ0FBLEVBQUEsYUFBQSxjQUNELENBWEQsQ0FBWUEsS0FBQUEsR0FBYSxDQUFBLElBZ0J6QixTQUFZQyxHQUNWQSxFQUFBLGNBQUEsZUFDRCxDQUZELENBQVlBLEtBQUFBLEdBQVMsQ0FBQSxJQ2VyQixNQUFNQyxHQUNPLHlCQURQQSxHQUVNLDRCQUZOQSxHQUdTLG1CQUhUQSxHQUlVLG9CQUpWQSxHQUtrQixpQ0FMbEJBLEdBTWlCLDJCQU5qQkEsR0FPZSwrQ0FHZkMsR0FDRyxFQURIQSxHQUVPLEdBRlBBLEdBR0ksR0FISkEsSUFLSSxFQUdKQyxHQUEwQixDQUFDLE1BQU8sTUFBTyxLQUFNLE1BQU8sS0FBTSxTQUFVLFVBQVcsVUFFakZDLEdBQW1CLE9BRW5CLE1BQU9DLFdBQWtCQyxFQUNabk4sSUFDakJvTixRQUVBLFdBQUFDLENBQVlyTixHQUNWc04sUUFDQUMsS0FBS3ZOLElBQU1BLEVBQ1h1TixLQUFLSCxRQUFVbFIsRUFBS3JCLEtBQUttRixFQUFJd04sUUFBUyxTQUFVLGNBQ2hERCxLQUFLRSxnQkFDUCxDQUVRLGNBQUFBLEdBQ05DLEVBQWN4UixFQUFLckIsS0FBSzBTLEtBQUt2TixJQUFJd04sUUFBUyxZQUNiRCxLQUFLdk4sSUFBSTJOLFVBQWdDLG1DQUFvQyxHQUV4R0MsRUFBYTFSLEVBQUtyQixLQUFLMFMsS0FBS3ZOLElBQUl3TixRQUFTLGVBRTdDLENBRVEsaUJBQU1LLEdBQ1osSUFFRSxHQURBSCxFQUFjeFIsRUFBS2xDLFFBQVF1VCxLQUFLSCxVQUM1QnpOLEVBQUd3QyxXQUFXb0wsS0FBS0gsVUFBWXpOLEVBQUdtTyxTQUFTUCxLQUFLSCxTQUFTVyxLQUFPLEVBQUcsT0FBTyxFQUU5RVIsS0FBS3ZOLElBQUlnTyxJQUFJQyxLQUFLbkIsSUFDbEIsTUFBTXhNLFFBQVk0TixFQUFNL00sSUE1QlQsd0NBNEIyQixDQUFFVCxhQUFjLGdCQUcxRCxPQUZBZixFQUFHd08sY0FBY1osS0FBS0gsUUFBUzlNLEVBQUlPLE1BQ25DME0sS0FBS3ZOLElBQUlnTyxJQUFJQyxLQUFLbkIsS0FDWCxDQUNULENBQUUsTUFBT2xPLEdBRVAsT0FEQTJPLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU15TCxLQUNaLENBQ1QsQ0FDRixDQUVRLG9CQUFBc0IsQ0FBcUJwTyxHQUkzQixNQUFNcU8sRUFBd0JyTyxFQUFJMk4sVUFBZ0Qsb0JBQzVFVyxFQUF5QnRPLEVBQUkyTixVQUFpRCxxQkFDOUVZLEVBQWN2TyxFQUFJMk4sVUFBMkMsaUJBQW9CLEdBRWpGYSxFQUFlakIsS0FBS2tCLGdCQUFnQnpPLEdBQ3BDME8sRUFBMkJILEVBQVlJLEtBQUt0UixHQUFRQSxFQUFLa0wsS0FBT2lHLEVBQWFqRyxLQUFLcUcsVUFBWSxDQUFBLEVBQzlGQyxFQUE0Qk4sRUFBWUksS0FBS3RSLEdBQVFBLEVBQUtrTCxLQUFPaUcsRUFBYWpHLEtBQUsvQyxXQUFhLENBQUEsRUFFdEcsR0FBSTZJLEVBQXVCLENBQ3pCQSxFQUFzQi9GLE9BQVNrRyxFQUFhbEcsT0FDNUMrRixFQUFzQjlGLEdBQUtpRyxFQUFhakcsR0FDeEMsTUFBTTJDLEVBQzhDLGlCQUEzQ21ELEVBQXNCbkQsaUJBQ3pCdkgsR0FBVTBLLEVBQXNCbkQsa0JBQ2hDbUQsRUFBc0JuRCxpQkFDNUJtRCxFQUFzQm5ELGlCQUFtQkEsQ0FDM0MsQ0FFSW9ELElBQ0ZBLEVBQXVCaEcsT0FBU2tHLEVBQWFsRyxPQUM3Q2dHLEVBQXVCL0YsR0FBS2lHLEVBQWFqRyxJQWdCM0MsTUFBTyxDQUFFa0UsZ0JBYnNCcEQsR0FDN0JnRixFQUNBSyxFQUNBRixFQUFhbEcsT0FDYmtHLEVBQWFqRyxJQVNtQytELGlCQVBsQm5FLEdBQzlCbUcsRUFDQU8sRUFDQUwsRUFBYWxHLE9BQ2JrRyxFQUFhakcsSUFJakIsQ0FFQSxlQUFBa0csQ0FBZ0J6TyxHQUlkLE1BQU1zSSxFQUNKdEksRUFBSTJOLFVBQStCLG9CQUNuQzNOLEVBQUkyTixVQUErQixtQkFDbkNWLEdBR0YsTUFBTyxDQUFFM0UsU0FBUUMsSUFGSXZJLEVBQUkyTixVQUE4QyxVQUFVckYsTUFBYSxDQUFBLEdBQ3RFd0csS0FBTyxHQUVqQyxDQUVRLGlCQUFBQyxDQUFrQi9PLEdBQ3hCLE1BQU1nUCxFQUFvQmhQLEVBQUkyTixVQUFtRCx3QkFBMEIsQ0FBQSxFQUNyR1ksRUFBY3ZPLEVBQUkyTixVQUEyQyxpQkFBb0IsR0FDakZhLEVBQWVqQixLQUFLa0IsZ0JBQWdCek8sR0FDcENpUCxFQUE4QlYsRUFBWUksS0FBS3RSLEdBQVFBLEVBQUtrTCxLQUFPaUcsRUFBYWpHLEtBQUsyRyxhQUFlLENBQUEsRUFDcEdDLEVBQXFCRixFQUE0QkUsbUJBQ25ERixFQUE0QkUsbUJBQW1CL1EsTUFBTSxLQUFLZ1IsSUFBSy9SLEdBQWlCQSxFQUFLZ1MsUUFDckZMLEVBQWtCRyxtQkFDaEJILEVBQWtCRyxtQkFBbUIvUSxNQUFNLEtBQUtnUixJQUFLL1IsR0FBaUJBLEVBQUtnUyxRQUMzRXJDLEdBRU4sT0FBTyxJQUFJc0MsSUFDVEgsRUFBbUJDLElBQUsvUixJQUN0QixNQUFNa1MsRUFBZ0JsUyxFQUFLZ1MsT0FBT2pELGNBQ2xDLE9BQU9tRCxFQUFjbk8sV0FBVyxLQUFPbU8sRUFBZ0IsSUFBSUEsTUFHakUsQ0FHQSxXQUFNQyxDQUFNdFUsRUFBY2dVLEdBQWMsR0FDdEMsTUFBTWxQLEVDekttQixDQUFDQSxJQUNyQixDQUNMeVAsV0FBWXpQLEVBQUl5UCxXQUNoQmpDLFFBQVN4TixFQUFJd04sUUFDYlEsSUFBS2hPLEVBQUlnTyxJQUNUMEIsSUFBSzFQLEVBQUkwUCxJQUNUQyxPQUFRLEdBQ1J6VSxNQUFPLEdBQ1AwVSxTQUFVLEdBQ1ZDLGVBQWdCLEdBQ2hCQyxhQUFjOVAsRUFBSThQLGFBQ2xCQyxjQUFlL1AsRUFBSStQLGNBQ25CQyxRQUFTaFEsRUFBSWdRLFFBQ2JDLE9BQVFqUSxFQUFJaVEsT0FDWkMsUUFBU2xRLEVBQUlrUSxRQUNiQyxZQUFhblEsRUFBSW1RLFlBQ2pCNVAsUUFBU1AsRUFBSU8sUUFDYjZQLEtBQU1wUSxFQUFJb1EsS0FDVkMsY0FBZXJRLEVBQUlxUSxjQUNuQjFDLFVBQVczTixFQUFJMk4sVUFBVTJDLEtBQUt0USxHQUM5QnVRLFdBQVl2USxFQUFJdVEsV0FBV0QsS0FBS3RRLEdBQ2hDd1EsYUFBY3hRLEVBQUl3USxhQUFhRixLQUFLdFEsR0FDcEN5USxVQUFXelEsRUFBSXlRLFVBQVVILEtBQUt0USxHQUM5QjBRLFlBQWExUSxFQUFJMFEsWUFBWUosS0FBS3RRLEdBQ2xDMlEsT0FBUTNRLEVBQUkyUSxPQUFPTCxLQUFLdFEsR0FDeEI0USxnQkFBaUI1USxFQUFJNFEsZ0JBQWdCTixLQUFLdFEsR0FDMUM2USxZQUFhN1EsRUFBSTZRLFlBQVlQLEtBQUt0USxHQUNsQzhRLEdBQUk5USxFQUFJOFEsR0FBR1IsS0FBS3RRLEdBQ2hCK1EsS0FBTS9RLEVBQUkrUSxLQUFLVCxLQUFLdFEsR0FDcEJnUixlQUFnQmhSLEVBQUlnUixlQUFlVixLQUFLdFEsR0FDeENpUixJQUFLalIsRUFBSWlSLElBQUlYLEtBQUt0USxHQUNsQmtSLG1CQUFvQmxSLEVBQUlrUixtQkFBbUJaLEtBQUt0USxHQUNoRG1SLGdCQUFpQm5SLEVBQUltUixnQkFBZ0JiLEtBQUt0USxHQUMxQ29SLGdCQUFpQnBSLEVBQUlvUixnQkFBZ0JkLEtBQUt0USxHQUMxQ3FSLFVBQVdyUixFQUFJcVIsVUFBVWYsS0FBS3RRLEdBQzlCc1IsYUFBY3RSLEVBQUlzUixhQUFhaEIsS0FBS3RRLEdBQ3BDdVIsS0FBTXZSLEVBQUl1UixLQUFLakIsS0FBS3RRLEdBQ3BCd1IsY0FBZXhSLEVBQUl3UixjQUFjbEIsS0FBS3RRLEdBQ3RDeVIsZ0JBQWlCelIsRUFBSXlSLGdCQUFnQm5CLEtBQUt0USxHQUMxQzBSLG9CQUFxQjFSLEVBQUkwUixvQkFBb0JwQixLQUFLdFEsR0FDbEQyUixXQUFZM1IsRUFBSTJSLFdBQVdyQixLQUFLdFEsS0RpSXBCNFIsQ0FBY3JFLEtBQUt2TixLQUMvQixJQUNFLElBQUsxRixNQUFNb0osUUFBUXhJLEdBQVEsTUFBTSxJQUFJMlcsTUFBTSwyQkFJM0MsT0FGQXRFLEtBQUt1RSxrQkFBa0I5UixFQUFLOUUsR0FFeEJnVSxRQUNXM0IsS0FBS3dFLGtCQUFrQi9SLFNBR3pCdU4sS0FBS3lFLGlCQUFpQmhTLEVBQ3JDLENBQUUsTUFBT2lTLEdBQ1AsT0FBTzFFLEtBQUsyRSxZQUFZbFMsRUFBS2lTLEVBQy9CLENBQ0YsQ0FFUSxpQkFBQUgsQ0FBa0I5UixFQUFhOUUsR0FDckM4RSxFQUFJOUUsTUFBUUEsRUFDWjhFLEVBQUkyUCxPQUFTLEdBQ2IzUCxFQUFJbVMsYUFBZSxHQUNuQm5TLEVBQUk0UCxTQUFXd0MsRUFBVWxYLEVBQzNCLENBRVEsdUJBQU02VyxDQUFrQi9SLEdBTTlCLE9BTEFBLEVBQUlnTyxJQUFJQyxLQUFLLGlCQUNiak8sRUFBSTJQLE9BQVMzUCxFQUFJOUUsWUFDWHFTLEtBQUs4RSxTQUFTclMsR0FDcEJBLEVBQUk5RSxNQUFROEUsRUFBSTRQLGVBQ1ZyQyxLQUFLK0UsWUFBWXRTLEdBQ2hCQSxDQUNULENBRVEsc0JBQU1nUyxDQUFpQmhTLEdBVTdCLGFBVE11TixLQUFLZ0YsV0FBV3ZTLFNBQ2hCdU4sS0FBS2lGLGdCQUFnQnhTLFNBQ3JCdU4sS0FBS2tGLFlBQVl6UyxTQUNqQnVOLEtBQUttRixjQUFjMVMsU0FDbkJ1TixLQUFLb0YsYUFBYTNTLEdBQ3hCQSxFQUFJNlAsZUFBaUJ1QyxFQUFVcFMsRUFBSTJQLGNBQzdCcEMsS0FBSzhFLFNBQVNyUyxHQUNwQkEsRUFBSTlFLE1BQVE4RSxFQUFJNFAsZUFDVnJDLEtBQUsrRSxZQUFZdFMsR0FDaEJBLENBQ1QsQ0FFUSxXQUFBa1MsQ0FBWWxTLEVBQWFxQixHQU0vQixHQUxBckIsRUFBSWdPLElBQUl0TCxLQUFLa0ssR0FBY2dHLFFBQzNCNVMsRUFBSXVSLEtBQUszRSxHQUFjaUcsZ0JBQWlCOUYsSUFDeEMvTSxFQUFJdVIsS0FBSzNFLEdBQWNnRyxPQUFRdlIsR0FDL0JyQixFQUFJZ08sSUFBSTNNLE1BQU1BLEdBRVZyQixFQUFJMk4sVUFBK0IsU0FDckMsTUFBTXRNLEVBRVIsT0FBT3JCLENBQ1QsQ0FHUSxnQkFBTXVTLENBQVd2UyxHQUN2QixNQUFNeU0sZ0JBQUVBLEVBQWVILGlCQUFFQSxHQUFxQmlCLEtBQUthLHFCQUFxQnBPLEdBQ2xFOFMsRUFBaUJ2RixLQUFLd0Isa0JBQWtCL08sR0FNOUMsR0FKQUEsRUFBSXVSLEtBQUszRSxHQUFjaUcsZ0JBQWlCOUYsSUFDeEMvTSxFQUFJdVIsS0FBSzNFLEdBQWNtRyxpQkFBa0IvUyxHQUN6Q0EsRUFBSWdPLElBQUlDLEtBQUssb0JBRVR4QixHQUFtQkgsRUFBa0IsQ0FDdkMsTUFBTTBHLEVBQWU5VyxFQUFLckIsS0FBS21GLEVBQUl3TixRQUFTLHFCQUN0Q0QsS0FBSzBGLGNBQWNqVCxFQUFLZ1QsRUFBY3ZHLEVBQWlCSCxFQUFrQndHLEVBQ2pGLE1BQ0V2RixLQUFLMkYsd0JBQXdCbFQsR0FFL0IsT0FBT0EsQ0FDVCxDQUVRLHVCQUFBa1QsQ0FBd0JsVCxHQUM5QixJQUFLLE1BQU0zQyxLQUFRMkMsRUFBSTlFLE1BQ3JCOEUsRUFBSW1TLGFBQWNnQixLQUFLOVYsRUFFM0IsQ0FFUSxtQkFBTTRWLENBQ1pqVCxFQUNBZ1QsRUFDQXZHLEVBQ0FILEVBQ0F3RyxTQUVNM1MsUUFBUWlULFdBQ1pwVCxFQUFJOUUsTUFBTWtVLElBQUk3UCxNQUFPbEMsRUFBY2dXLFdBQzNCOUYsS0FBSytGLGFBQWFqVyxFQUFNZ1csRUFBT3JULEVBQUtnVCxFQUFjdkcsRUFBaUJILEVBQWtCd0csS0FHakcsQ0FFUSxrQkFBTVEsQ0FDWmpXLEVBQ0FnVyxFQUNBclQsRUFDQWdULEVBQ0F2RyxFQUNBSCxFQUNBd0csR0FFQSxNQUFNUyxFQUFZL1UsR0FBTW5CLEdBQ2xCNFEsRUFBZ0NzRixRQUFrQnhULEdBQVcxQyxFQUFNMkMsR0FBTyxDQUFFSCxTQUFTLEdBRTNGLEdBQUkwVCxLQUFldEYsRUFBS3BPLFVBQVlvTyxFQUFLdk8sUUFBUyxPQUVsRE0sRUFBSW1TLGFBQWNrQixHQUFTaFcsRUFDM0IsTUFBTW1XLEVBQVlELEVBQVl0RixFQUFLN1IsU0FBVyxHQUFLRixFQUFLRSxRQUFRaUIsR0FDMURvVyxFQUFzQlgsRUFBZVksSUFBSUYsRUFBVXBILGVBRW5EeFEsRUFBcUIyWCxFQUFZdEYsRUFBS3ZPLE9BQVVDLEVBQUdnVSxhQUFhdFcsR0FDaEV1VyxRQUEwQnJHLEtBQUtzRyxnQkFDbkNqWSxFQUNBNFgsRUFDQS9HLEVBQ0FILEVBQ0FtSCxFQUNBcFcsRUFDQTJWLEVBQ0FoVCxHQUdFNFQsU0FDSXJHLEtBQUt1RyxtQkFDVHpXLEVBQ0FnVyxFQUNBclQsRUFDQWdULEVBQ0FZLEVBQ0FKLEVBQ0EvRyxFQUNBOEcsRUFDQXRGLEVBR04sQ0FFUSxxQkFBTTRGLENBQ1pqWSxFQUNBNFgsRUFDQS9HLEVBQ0FILEVBQ0FtSCxFQUNBcFcsRUFDQTJWLEVBQ0FoVCxHQUVBLElBQUk0VCxFQTBCSixPQXZCSXBILEdBQWVDLEVBQWlCK0csS0FBZUMsSUFDakRHLFFBQTBCckcsS0FBS3dHLGNBQzdCblksRUFDQWdZLEVBQ0FKLEVBQ0EvRyxFQUNBcFAsRUFDQTJWLEVBQ0FoVCxJQUtBcU0sR0FBbUJDLEVBQWtCa0gsS0FBZUMsSUFDdERHLFFBQTBCckcsS0FBS3lHLGFBQWFwWSxFQUFZMFEsRUFBbUJ0TSxJQUl4RTRULElBQXFCbkgsR0FBaUI3QixjQUFpQjZJLElBQzFEelQsRUFBSWdPLElBQUlDLEtBQUtuQixJQUNiOEcsUUFBMEJsSCxHQUFXOVEsRUFBWTRYLElBRzVDSSxDQUNULENBRVEsa0JBQU1JLENBQ1pwWSxFQUNBMFEsRUFDQXRNLEdBRUEsSUFBTXNNLEdBQWtCekgsbUJBQXlELFVBQXBDeUgsR0FBa0I5SCxjQUE0QixDQUV6RixVQUQ2QitJLEtBQUtNLGNBR2hDLFlBREFOLEtBQUt2TixJQUFJZ08sSUFBSXRMLEtBQUtvSyxHQUd0QixDQUdBLE9BREE5TSxFQUFJZ08sSUFBSUMsS0FBS25CLFVBQ0ExQixHQUFrQnhQLEVBQVkwUSxFQUFrQmlCLEtBQUtILFFBQVNwTixFQUFJZ08sSUFDakYsQ0FFUSxtQkFBTStGLENBQ1puWSxFQUNBZ1ksRUFDQUosRUFDQS9HLEVBQ0FwUCxFQUNBMlYsRUFDQWhULEdBRUFBLEVBQUlnTyxJQUFJQyxLQUFLbkIsSUFDYixNQUFNbUgsRUFBc0JULEVBQVVwSCxjQUV0QyxPQUFLNU4sR0FBTW5CLElBQWtDLFVBQXhCNFcsR0FBMkQsVUFBeEJBLFFBSTNDM0ksR0FBY3NJLEdBQXFCaFksRUFBWTZRLEVBQWlCK0csRUFBV3hULEVBQUlnTyxXQUg3RVQsS0FBSzJHLHVCQUF1QnRZLEVBQVl5QixFQUFNbVcsRUFBV1IsRUFBY3ZHLEVBQWlCek0sRUFJekcsQ0FFUSw0QkFBTWtVLENBQ1p0WSxFQUNBeUIsRUFDQW1XLEVBQ0FSLEVBQ0F2RyxFQUNBek0sR0FFQSxNQUFNbVUsUUFBbUJDLEVBQVksQ0FDbkMxVSxPQUFROUQsRUFBVzhELE9BQ25Cd0ksT0FBUSxPQUNSb0IsUUFBUyxJQUVMK0ssRUFBc0JuWSxFQUFLckIsS0FBS21ZLEVBQWMsR0FBRzlXLEVBQUtDLFNBQVNrQixFQUFNbVcsVUFFM0UsT0FEQTdULEVBQUd3TyxjQUFja0csRUFBcUIzTyxPQUFPQyxLQUFLd08sVUFDckM3SSxHQUFjM0wsRUFBR2dVLGFBQWFVLEdBQXNCNUgsRUFBaUIsT0FBUXpNLEVBQUlnTyxJQUNoRyxDQUVRLHdCQUFNOEYsQ0FDWnpXLEVBQ0FnVyxFQUNBclQsRUFDQWdULEVBQ0FZLEVBQ0FKLEVBQ0EvRyxFQUNBOEcsRUFDQXRGLEdBRUEsSUFBSXFHLEVBQVM3SCxHQUFpQmpELFVBQVl5QyxHQUFtQlEsRUFBaUIrRyxHQUFhQSxFQUMzRmMsRUFBU0EsRUFBT2xULFdBQVcsS0FBT2tULEVBQVMsSUFBSUEsSUFFL0MsTUFBTUMsRUFBV2hCLEVBQ2JyWCxFQUFLckIsS0FBS21ZLEVBQWMsR0FBR3pGLEtBQUtpSCxnQkFBZ0J2RyxLQUFRcUcsS0FDeERwWSxFQUFLckIsS0FBS21ZLEVBQWMsR0FBRzlXLEVBQUtDLFNBQVNrQixFQUFNbVcsS0FBYWMsS0FFaEV0VSxFQUFJbVMsYUFBY2tCLEdBQVNuWCxFQUFLckIsS0FDOUJxQixFQUFLbEMsUUFBUXFELEdBQ2JrVyxFQUFZclgsRUFBS0MsU0FBU29ZLEdBQVksR0FBR3JZLEVBQUtDLFNBQVNrQixFQUFNbVcsS0FBYWMsS0FHNUUzVSxFQUFHd08sY0FBY29HLEVBQVVYLEdBQzNCNVQsRUFBSTlFLE1BQU1tWSxHQUFTa0IsQ0FDckIsQ0FFUSxlQUFBQyxDQUFnQnZHLEdBQ3RCLE9BQU9BLEVBQUt4TyxTQUFXdkQsRUFBS0MsU0FBUzhSLEVBQUt4TyxTQUFVdkQsRUFBS0UsUUFBUTZSLEVBQUt4TyxZQUFhLElBQUkzRCxNQUFPa0IsVUFBVWhDLFVBQzFHLENBR1EsbUJBQU0wWCxDQUFjMVMsR0FDMUIsTUFBTXdPLEVBQWVqQixLQUFLa0IsZ0JBQWdCek8sR0FDcEN5VSxFQUFxQnpVLEVBQUkyTixVQUFlLG1CQUFxQixDQUFBLEVBQzdEWSxFQUFjdk8sRUFBSTJOLFVBQTJDLGlCQUFvQixHQUVqRitHLEVBQWUsSUFDaEJELEtBRjBCbEcsRUFBWUksS0FBS3RSLEdBQVFBLEVBQUtrTCxLQUFPaUcsRUFBYWpHLEtBQUtvTSxRQUFVLENBQUEsR0FLaEcsSUFBS0QsRUFBYUUsT0FBUSxPQUFPNVUsRUFFakMsTUFBTWtJLEVBQVN3TSxFQUFheE0sUUFBVSxhQWtCdEMsT0FqQkFsSSxFQUFJMlAsT0FBUzNQLEVBQUkyUCxPQUFPUCxJQUFJLENBQUMvUixFQUFnQmdXLEtBQzNDLElBQUk1VCxFQUFXcEMsRUFBS29DLFNBY3BCLE9BWkVBLEVBQVdqRSxHQUNUd0UsRUFBSW1TLGFBQWNrQixHQUNsQm5MLE9BQ0FqTCxFQUNBSSxFQUFLd1gsWUFBY3hYLEVBQUt3WCxZQUFjeFgsRUFBS3FDLFFBRTdDRCxFQUFXQSxFQUFTMUMsUUFBUSxPQUFRLEtBQ1QsTUFBdkIwQyxFQUFTbkQsT0FBTSxLQUNqQm1ELEdBQXNCNFQsRUFBTXJZLFlBR2hDcUMsRUFBS29DLFNBQVdBLEVBQ1RwQyxJQUVGMkMsQ0FDVCxDQUVRLHFCQUFNd1MsQ0FBZ0J4UyxHQUU1QixhQURNdU4sS0FBS3VILGNBQWM5VSxFQUFJaVEsT0FBTzhFLHVCQUF3Qi9VLEdBQ3JEQSxDQUNULENBRVEsaUJBQU15UyxDQUFZelMsR0FDeEJBLEVBQUl1UixLQUFLM0UsR0FBY2lHLGdCQUFpQjlGLElBQ3hDLE1BQU01TixFQUFPYSxFQUFJMk4sVUFBK0IsdUJBQXlCLE9BQ3pFLElBQUlxSCxFQUFjaFYsRUFBSWlRLE9BQU8rRSxZQUFZN1QsSUFBSWhDLEdBQ3pDOFYsRUFBcUI5VixFQVV6QixPQVJLNlYsSUFDSEEsRUFBY2hWLEVBQUlpUSxPQUFPK0UsWUFBWTdULElBQUksUUFDekM4VCxFQUFxQixPQUNyQmpWLEVBQUlnTyxJQUFJdEwsS0FBSyw0QkFBNEJ2RCw0Q0FHM0NhLEVBQUlnTyxJQUFJQyxLQUFLLDJDQUEyQ2dILFlBQ2xERCxHQUFhRSxPQUFPbFYsSUFDbkJBLENBQ1QsQ0FFUSxrQkFBTTJTLENBQWEzUyxHQUt6QixPQUpBQSxFQUFJdVIsS0FBSzNFLEdBQWNpRyxnQkFBaUI5RixJQUN4Qy9NLEVBQUlnTyxJQUFJQyxLQUFLLGlCQUNiak8sRUFBSXVSLEtBQUszRSxHQUFjdUksY0FBZW5WLFNBQ2hDdU4sS0FBS3VILGNBQWM5VSxFQUFJaVEsT0FBT21GLG9CQUFxQnBWLEdBQ2xEQSxDQUNULENBRVEsY0FBTXFTLENBQVNyUyxHQUNyQixNQUFNd08sRUFBZWpCLEtBQUtrQixnQkFBZ0J6TyxHQUMxQyxJQUFJcVYsRUFBV3JWLEVBQUlpUSxPQUFPb0YsU0FBU2xVLElBQUlxTixFQUFhbEcsUUFDaERnTixFQUFrQjlHLEVBQWFsRyxPQUU5QitNLElBQ0hyVixFQUFJZ08sSUFBSXRMLEtBQUsseUJBQXlCNFMsbUNBQWlEckksTUFDdkZxSSxFQUFrQnJJLEdBQ2xCb0ksRUFBV3JWLEVBQUlpUSxPQUFPb0YsU0FBU2xVLElBQUk4TCxLQUdyQ2pOLEVBQUlnTyxJQUFJQyxLQUNOLHFDQUFxQ3FILHNCQUFvQzlHLEVBQWFqRyxJQUFNLG9CQUV4RjhNLEdBQVVILE9BQU9sVixJQUV2QixJQUFLLE1BQU11VixLQUFhdlYsRUFBSTJQLE9BQzFCNEYsRUFBVXBXLEtBQU9tVyxFQUVuQixPQUFPdFYsQ0FDVCxDQUVRLGlCQUFNc1MsQ0FBWXRTLEdBQ3hCQSxFQUFJdVIsS0FBSzNFLEdBQWM0SSxhQUFjeFYsR0FDckNBLEVBQUl1UixLQUFLM0UsR0FBY2lHLGdCQUFpQixXQUNsQ3RGLEtBQUt1SCxjQUFjOVUsRUFBSWlRLE9BQU93RixtQkFBb0J6VixHQUN4RCxJQUFJMFYsRUFBTSxHQUNWLE1BQU10YixFQUFTNEYsRUFBSTJQLE9BQU92VixPQUNwQnViLEdBQXdGLElBQXBFM1YsRUFBSTJOLFVBQWdDLDRCQUM5RCxJQUFLLElBQUlwVCxFQUFJLEVBQUdBLEVBQUlILEVBQVFHLFNBQ1UsSUFBekJ5RixFQUFJMlAsT0FBT3BWLEdBQUdxYixTQUN2QkYsR0FBT0MsRUFBb0I5VyxHQUFnQm1CLEVBQUkyUCxPQUFPcFYsR0FBR3FiLFFBQVc1VixFQUFJMlAsT0FBT3BWLEdBQUdxYixPQUM5RXJiLElBQU1ILEVBQVMsSUFDakJzYixHQUFPLGNBR0oxVixFQUFJMlAsT0FBT3BWLEdBQUdzYSxtQkFDZDdVLEVBQUkyUCxPQUFPcFYsR0FBR21GLE9BSXZCLE9BRkFNLEVBQUl1UixLQUFLM0UsR0FBY2lKLFNBQVU3VixHQUNqQ0EsRUFBSWdPLElBQUluTyxRQUFRLEtBQUs2VixLQUNkMVYsQ0FDVCxDQUdRLG1CQUFNOFUsQ0FBY2dCLEVBQXFDOVYsR0FDL0QsTUFBTStWLEVBQVVELEVBQWlCRSxVQUMzQkMsRUFBY0gsRUFBaUJJLFlBQy9CQyxFQUFnQkwsRUFBaUJNLFVBYXZDLGFBWE1qVyxRQUFRa1csSUFDWk4sRUFBUTNHLElBQUk3UCxNQUFPK1csRUFBaUJqRCxLQUNsQyxJQUNFclQsRUFBSWdPLElBQUlDLEtBQUssR0FBR2tJLE1BQWtCRixFQUFZNUMsb0JBQ3hDaUQsRUFBT3BCLE9BQU9sVixFQUN0QixDQUFFLE1BQU9pUyxHQUVQLE1BREFqUyxFQUFJZ08sSUFBSTNNLE1BQU0sR0FBRzhVLE1BQWtCRixFQUFZNUMsWUFDekNwQixDQUNSLEtBR0dqUyxDQUNULEVFbGpCSyxNQ2FEdVcsR0FBcUQsQ0FDekQsUUNoQm1CLENBQ25CQyxjQUFlLE9BQ2ZDLGVBQWdCLGVBQ2hCQywyQkFBNEIsZUFDNUJDLHFCQUFzQixnQ0FDdEJDLGFBQWMsWUFDZEMsWUFBYSxPQUdiQyxZQUFhLFFBQ2JDLGtCQUFtQixVQUNuQkMsMEJBQTJCLFdBQzNCQyx5QkFBMEIsU0FDMUJDLGtDQUFtQyxjQUduQ0MscUJBQXNCLFFBQ3RCQyw4QkFBK0IsU0FDL0JDLHNDQUF1QyxpQ0FDdkNDLDRCQUE2QixTQUM3QkMsb0NBQXFDLFVBQ3JDQyxpQ0FBa0MsVUFDbENDLHlDQUEwQyxXQUMxQ0MsNkJBQThCLFFBQzlCQyxxQ0FBc0MsOENBQ3RDQywwQkFBMkIsUUFDM0JDLGtDQUFtQyx1QkFDbkNDLGtDQUFtQyxVQUNuQ0MsMENBQTJDLDJCQUMzQ0MsNkJBQThCLFNBQzlCQyxxQ0FBc0MsV0FDdENDLGlDQUFrQyxjQUNsQ0MseUNBQTBDLGVBRzFDQyxhQUFjLE9BQ2RDLGtCQUFtQixPQUNuQkMsMEJBQTJCLHdCQUMzQkMsdUJBQXdCLFVBQ3hCQywrQkFBZ0Msc0JBQ2hDQyxxQkFBc0IsU0FDdEJDLDZCQUE4QixXQUc5QkMsbUJBQW9CLFFBQ3BCQyxpQkFBa0IsUUFDbEJDLHlCQUEwQixnQ0FDMUJDLG1CQUFvQixVQUNwQkMsMkJBQTRCLHVCQUM1QkMsc0JBQXVCLFFBQ3ZCQyw4QkFBK0Isb0JBQy9CQyxzQkFBdUIsT0FDdkJDLDhCQUErQixRQUMvQkMsd0JBQXlCLFNBQ3pCQyxpQ0FBa0MsWUFDbENDLHFCQUFzQixTQUN0QkMsOEJBQStCLFdBQy9CQyx1QkFBd0IsVUFDeEJDLCtCQUFnQyx1QkFHaENDLGdCQUFpQixTQUNqQkMsNEJBQTZCLGdCQUM3QkMsZ0NBQWlDLG9CQUNqQ0MsdUJBQXdCLFdBQ3hCQyxxQkFBc0IsU0FDdEJDLHFCQUFzQixTQUN0QkMsd0JBQXlCLFNBQ3pCQywwQkFBMkIsVUFDM0JDLHdCQUF5QixTQUN6QkMsNkJBQThCLHFCQUM5QkMsNkJBQThCLFlBQzlCQyxnQ0FBaUMsV0FDakNDLGdDQUFpQyx5QkFDakNDLGtDQUFtQyx1QkFHbkNDLG9CQUFxQixTQUNyQkMsNEJBQTZCLFFBQzdCQyw2QkFBOEIsYUFDOUJDLDhCQUErQixjQUMvQkMsMEJBQTJCLFVBQzNCQywyQkFBNEIsV0FDNUJDLHlCQUEwQixTQUMxQkMsNkJBQThCLFFBQzlCQyx5QkFBMEIsU0FDMUJDLDRCQUE2QixTQUM3QkMsNEJBQTZCLFNBQzdCQyw4QkFBK0IsVUFDL0JDLGtDQUFtQyxpQkFDbkNDLGlDQUFrQyxpQkFDbENDLGlDQUFrQyxZQUNsQ0Msb0NBQXFDLHlCQUNyQ0Msc0NBQXVDLHVCQUN2Q0Msb0NBQXFDLGtCQUNyQ0MscUNBQXNDLDRDQUN0Q0MseUJBQTBCLE9BQzFCQyw2QkFDRSwyRUFDRkMsaUNBQWtDLEtBQ2xDQyxnQ0FBaUMsS0FHakNDLGNBQWUsU0FDZkMsb0JBQXFCLFVBQ3JCQyxtQkFBb0IsUUFDcEJDLG1CQUFvQixTQUNwQkMsc0JBQXVCLFNBQ3ZCQyxxQkFBc0IsUUFDdEJDLHdCQUF5QixVQUN6QkMsMkJBQTRCLG9CQUM1QkMsNkJBQThCLFdBQzlCQywyQkFBNEIsWUFDNUJDLDhCQUErQixXQUMvQkMsZ0NBQWlDLHVCQUdqQ0MsYUFBYyxNQUNkQyx1QkFBd0IsY0FDeEJDLHVCQUF3QixjQUN4QkMsb0JBQXFCLFdBQ3JCQyxrQkFBbUIsU0FDbkJDLGlCQUFrQixTQUNsQkMscUJBQXNCLFNBQ3RCQyxrQkFBbUIsU0FDbkJDLDBCQUEyQixZQUMzQkMsMEJBQTJCLFNBQzNCQyw2QkFBOEIsaUJBQzlCQyx5QkFBMEIsc0NBRzFCQyxhQUFjLFFBQ2RDLHNCQUF1QixhQUN2QkMsc0JBQXVCLFFBQ3ZCQywwQkFBMkIsZ0JBQzNCQyxtQkFBb0IsUUFDcEJDLG1CQUFvQixPQUNwQkMsOEJBQStCLFVBQy9CQyw4QkFBK0IsYUFDL0JDLGtDQUFtQyxhQUNuQ0MsMkJBQTRCLFdBQzVCQywyQkFBNEIsNEJBRzVCQyxhQUFjLE1BQ2RDLG9CQUFxQixXQUNyQkMsc0JBQXVCLFFBQ3ZCQyxzQkFBdUIsVUFDdkJDLGtCQUFtQixTQUNuQkMsaUJBQWtCLFNBQ2xCQyxxQkFBc0IsU0FDdEJDLHNCQUF1QixjQUN2QkMsNEJBQTZCLGFBQzdCQyx3QkFBeUIsWUFDekJDLDhCQUErQixTQUMvQkMsOEJBQStCLGFBQy9CQyx5QkFBMEIsZ0NBQzFCQyw2QkFBOEIsZUFDOUJDLDBCQUEyQixZQUMzQkMsOEJBQStCLCtCQUcvQkMsbUJBQW9CLFNBQ3BCQyx3QkFBeUIsU0FDekJDLDhCQUErQixRQUMvQkMsNEJBQTZCLFFBQzdCQyw0QkFBNkIsT0FDN0JDLHdCQUF5QixTQUN6QkMsMkJBQTRCLFNBQzVCQyw2QkFBOEIsVUFDOUJDLDRCQUE2QixTQUM3QkMsMkJBQTRCLFNBQzVCQyxnQ0FBaUMsaUNBQ2pDQyxzQ0FBdUMsYUFDdkNDLG9DQUFxQyxTQUNyQ0Msb0NBQXFDLE9BQ3JDQyxnQ0FBaUMsWUFDakNDLHdDQUF5QyxVQUN6Q0MscUNBQXNDLHVCQUN0Q0MsbUNBQW9DLGtCQUdwQ0MsaUJBQWtCLFNBQ2xCQyxzQkFBdUIsT0FDdkJDLHNCQUF1QixPQUN2QkMsMEJBQTJCLFFBQzNCQywwQkFBMkIsT0FDM0JDLDRCQUE2QixPQUM3QkMsdUNBQXdDLFNBQ3hDQyw0QkFBNkIsU0FDN0JDLDJCQUE0QixVQUM1QkMsOEJBQStCLFNBQy9CQywyQkFBNEIsV0FDNUJDLDJCQUE0QixTQUM1QkMsMEJBQTJCLFVBQzNCQyw4QkFBK0IsY0FDL0JDLDhCQUErQixPQUMvQkMsb0NBQXFDLDZCQUNyQ0MsK0NBQWdELFNBQ2hEQyxvQ0FBcUMsWUFDckNDLG1DQUFvQyx1QkFDcENDLHNDQUF1QyxVQUN2Q0MsbUNBQW9DLGVBQ3BDQyxtQ0FBb0MsV0FDcENDLGtDQUFtQyxXQUduQ0MsZUFBZ0IsVUFDaEJDLG9CQUFxQixPQUNyQkMsb0JBQXFCLE9BQ3JCQyxzQkFBdUIsT0FDdkJDLDBCQUEyQixRQUMzQkMsbUJBQW9CLFVBR3BCQyxrQkFBbUIsT0FDbkJDLG9CQUFxQixPQUNyQkMsNEJBQTZCLE9BQzdCQyxpQkFBa0IsT0FDbEJDLHlCQUEwQiwwQkFDMUJDLGtCQUFtQixVQUNuQkMsMEJBQTJCLGlCQUMzQkMsd0JBQXlCLFNBQ3pCQyxnQ0FBaUMsUUFDakNDLHFCQUFzQixTQUN0QkMsNkJBQThCLFlBQzlCQyx1QkFBd0IsT0FDeEJDLCtCQUFnQyxhQUdoQ0Msa0JBQW1CLFNBQ25CQyw4QkFBK0IsZ0JBQy9CQyxtQ0FBb0Msb0JBQ3BDQyx5QkFBMEIsV0FDMUJDLHlCQUEwQixXQUMxQkMsNkJBQThCLFNBQzlCQywyQkFBNEIsVUFDNUJDLHdCQUF5QixPQUN6QkMsNEJBQTZCLFVBQzdCQywwQkFBMkIsU0FDM0JDLGtDQUFtQyx5QkFDbkNDLGtDQUFtQyxxQkFDbkNDLHFDQUFzQyxjQUN0Q0Msc0JBQXVCLGNBQ3ZCQywyQ0FBNEMsbURBQzVDQyxzQ0FBdUMsd0JBQ3ZDQywyQ0FBNEMsaUJBQzVDQyxpQ0FBa0MsV0FDbENDLGlDQUFrQyxnQkFDbENDLHFDQUFzQyxzQkFDdENDLG1DQUFvQyx5Q0FDcENDLGdDQUFpQyw0QkFDakNDLG9DQUFxQyx1QkFDckNDLDBDQUEyQyxRQUMzQ0MsNkNBQThDLFFBQzlDQyw4QkFBK0Isa0JBQy9CQyxtREFBb0QsUUFFcERDLGtCQUFtQixPQUNuQkMsaUNBQWtDLFNBQ2xDQyx5Q0FBMEMsWUFDMUNDLGdDQUFpQyxTQUNqQ0Msd0NBQXlDLFVBQ3pDQyx3Q0FBeUMsU0FDekNDLGdEQUFpRCxZQUNqREMsa0NBQW1DLFNBQ25DQywwQ0FBMkMsUUFDM0NDLGdDQUFpQyxTQUNqQ0Msd0NBQXlDLFVBQ3pDQyxvQ0FBcUMsYUFDckNDLDRDQUE2QyxjQUM3Q0Msc0NBQXVDLGVBQ3ZDQyw2Q0FBOEMsWUFDOUNDLGlDQUFrQyxXQUNsQ0MsNkNBQThDLFlBQzlDQyxxQ0FBc0MsV0FDdENDLDZDQUE4QyxZQUM5Q0Msb0NBQXFDLFNBQ3JDQyw0Q0FBNkMsVUFDN0NDLHdDQUF5QyxZQUN6Q0MsZ0RBQWlELGNBRWpEQyxvQkFBcUIsU0FDckJDLHVDQUF3QyxnQkFFeENDLGVBQWdCLFFBQ2hCQyxzQkFBdUIsVUFDdkJDLHNCQUF1QixVQUV2QkMsaUJBQWtCLE9BQ2xCQyx5QkFBMEIsU0FDMUJDLGlDQUFrQyxjQUNsQ0MsMkJBQTRCLFdBQzVCQyxtQ0FBb0MsVUFDcENDLCtCQUFnQyxTQUNoQ0MsdUNBQXdDLFVBQ3hDQywwQkFBMkIsV0FDM0JDLGtDQUFtQyxVQUNuQ0MsNkJBQThCLFNBQzlCQyxxQ0FBc0MsUUFDdENDLDhCQUErQixTQUMvQkMsc0NBQXVDLFFBQ3ZDQyxtQ0FBb0MsYUFDcENDLDJDQUE0QyxjQUM1Q0Msd0JBQXlCLFdBQ3pCQyx3QkFBeUIsV0FDekJDLCtCQUFnQyxVQUNoQ0MsdUNBQXdDLFFBQ3hDQyxzQ0FBdUMsV0FDdkNDLDBCQUEyQixXQUMzQkMsa0NBQW1DLFVBQ25DQyw4QkFBK0IsU0FDL0JDLHNDQUF1QyxhQUN2Q0MsOEJBQStCLGFBQy9CQyxzQ0FBdUMsZ0JBR3ZDQyxzQ0FBdUMsU0FDdkNDLHFDQUFzQyxTQUN0Q0MsNENBQTZDLHNDQUM3Q0MsMENBQTJDLHlCQUMzQ0Msd0NBQXlDLFNBQ3pDQyx1Q0FBd0MsU0FDeENDLDhDQUErQyxzQ0FDL0NDLDZDQUE4QyxrQkFDOUNDLHFDQUFzQyxTQUN0Q0Msb0NBQXFDLFNBQ3JDQywyQ0FBNEMsc0NBQzVDQywwQ0FBMkMsbUJEdlQzQyxRRWY2QixDQUM3QmxTLGNBQWUsT0FDZkMsZUFBZ0IsY0FDaEJDLDJCQUE0QixhQUM1QkMscUJBQXNCLGdDQUN0QkMsYUFBYyxZQUNkQyxZQUFhLE9BR2JDLFlBQWEsUUFDYkMsa0JBQW1CLFVBQ25CQywwQkFBMkIsV0FDM0JDLHlCQUEwQixTQUMxQkMsa0NBQW1DLGNBR25DQyxxQkFBc0IsUUFDdEJDLDhCQUErQixVQUMvQkMsc0NBQXVDLGlDQUN2Q0MsNEJBQTZCLFNBQzdCQyxvQ0FBcUMsVUFDckNDLGlDQUFrQyxVQUNsQ0MseUNBQTBDLFdBQzFDQyw2QkFBOEIsUUFDOUJDLHFDQUFzQyw4Q0FDdENDLDBCQUEyQixRQUMzQkMsa0NBQW1DLHVCQUNuQ0Msa0NBQW1DLFVBQ25DQywwQ0FBMkMsMkJBQzNDQyw2QkFBOEIsU0FDOUJDLHFDQUFzQyxZQUN0Q0MsaUNBQWtDLFdBQ2xDQyx5Q0FBMEMsZUFHMUNDLGFBQWMsS0FDZEMsa0JBQW1CLFNBQ25CQywwQkFBMkIsd0JBQzNCQyx1QkFBd0IsU0FDeEJDLCtCQUFnQyxzQkFDaENDLHFCQUFzQixTQUN0QkMsNkJBQThCLFlBRzlCQyxtQkFBb0IsUUFDcEJDLGlCQUFrQixRQUNsQkMseUJBQTBCLGdDQUMxQkMsbUJBQW9CLFVBQ3BCQywyQkFBNEIsdUJBQzVCQyxzQkFBdUIsUUFDdkJDLDhCQUErQixvQkFDL0JDLHNCQUF1QixPQUN2QkMsOEJBQStCLFFBQy9CQyx3QkFBeUIsU0FDekJDLGlDQUFrQyxZQUNsQ0MscUJBQXNCLFNBQ3RCQyw4QkFBK0IsWUFDL0JDLHVCQUF3QixTQUN4QkMsK0JBQWdDLHVCQUdoQ0MsZ0JBQWlCLFNBQ2pCQyw0QkFBNkIsZ0JBQzdCQyxnQ0FBaUMsb0JBQ2pDQyx1QkFBd0IsV0FDeEJDLHFCQUFzQixTQUN0QkMscUJBQXNCLFNBQ3RCQyx3QkFBeUIsU0FDekJDLDBCQUEyQixTQUMzQkMsd0JBQXlCLFNBQ3pCQyw2QkFBOEIscUJBQzlCQyw2QkFBOEIsWUFDOUJDLGdDQUFpQyxZQUNqQ0MsZ0NBQWlDLHlCQUNqQ0Msa0NBQW1DLHVCQUduQ0Msb0JBQXFCLFNBQ3JCQyw0QkFBNkIsUUFDN0JDLDZCQUE4QixhQUM5QkMsOEJBQStCLGNBQy9CQywwQkFBMkIsVUFDM0JDLDJCQUE0QixXQUM1QkMseUJBQTBCLFNBQzFCQyw2QkFBOEIsUUFDOUJDLHlCQUEwQixTQUMxQkMsNEJBQTZCLFNBQzdCQyw0QkFBNkIsU0FDN0JDLDhCQUErQixTQUMvQkMsa0NBQW1DLGlCQUNuQ0MsaUNBQWtDLGlCQUNsQ0MsaUNBQWtDLFlBQ2xDQyxvQ0FBcUMseUJBQ3JDQyxzQ0FBdUMsdUJBQ3ZDQyxvQ0FBcUMsa0JBQ3JDQyxxQ0FBc0MsNENBQ3RDQyx5QkFBMEIsT0FDMUJHLGdDQUFpQyxLQUNqQ0QsaUNBQWtDLEtBQ2xDRCw2QkFDRSwyRUFHRkcsY0FBZSxTQUNmQyxvQkFBcUIsVUFDckJDLG1CQUFvQixTQUNwQkMsbUJBQW9CLFNBQ3BCQyxzQkFBdUIsU0FDdkJDLHFCQUFzQixTQUN0QkMsd0JBQXlCLFNBQ3pCQywyQkFBNEIsb0JBQzVCQyw2QkFBOEIsV0FDOUJDLDJCQUE0QixZQUM1QkMsOEJBQStCLFdBQy9CQyxnQ0FBaUMsdUJBR2pDQyxhQUFjLE1BQ2RDLHVCQUF3QixjQUN4QkMsdUJBQXdCLGNBQ3hCQyxvQkFBcUIsV0FDckJDLGtCQUFtQixTQUNuQkMsaUJBQWtCLFNBQ2xCQyxxQkFBc0IsU0FDdEJDLGtCQUFtQixTQUNuQkMsMEJBQTJCLFlBQzNCQywwQkFBMkIsU0FDM0JDLDZCQUE4QixpQkFDOUJDLHlCQUEwQixzQ0FHMUJDLGFBQWMsUUFDZEMsc0JBQXVCLGFBQ3ZCQyxzQkFBdUIsUUFDdkJDLDBCQUEyQixnQkFDM0JDLG1CQUFvQixRQUNwQkMsbUJBQW9CLFVBQ3BCQyw4QkFBK0IsVUFDL0JDLDhCQUErQixhQUMvQkMsa0NBQW1DLGFBQ25DQywyQkFBNEIsV0FDNUJDLDJCQUE0Qiw0QkFHNUJDLGFBQWMsTUFDZEMsb0JBQXFCLFdBQ3JCTSxzQkFBdUIsUUFDdkJMLHNCQUF1QixRQUN2QkMsc0JBQXVCLFVBQ3ZCQyxrQkFBbUIsU0FDbkJDLGlCQUFrQixTQUNsQkMscUJBQXNCLFNBQ3RCRSw0QkFBNkIsYUFDN0JDLHdCQUF5QixZQUN6QkMsOEJBQStCLFNBQy9CQyw4QkFBK0IsYUFDL0JDLHlCQUEwQixnQ0FDMUJDLDZCQUE4QixlQUM5QkMsMEJBQTJCLFlBQzNCQyw4QkFBK0IsK0JBRy9CQyxtQkFBb0IsU0FDcEJDLHdCQUF5QixVQUN6QkMsOEJBQStCLGFBQy9CQyw0QkFBNkIsUUFDN0JDLDRCQUE2QixPQUM3QkMsd0JBQXlCLFNBQ3pCRSw2QkFBOEIsU0FDOUJDLDRCQUE2QixTQUM3QkMsMkJBQTRCLFNBQzVCSCwyQkFBNEIsU0FDNUJJLGdDQUFpQyxpQ0FDakNDLHNDQUF1QyxhQUN2Q0Msb0NBQXFDLFNBQ3JDQyxvQ0FBcUMsU0FDckNDLGdDQUFpQyxZQUNqQ0Msd0NBQXlDLFVBQ3pDQyxxQ0FBc0MsdUJBQ3RDQyxtQ0FBb0MsaUJBR3BDQyxpQkFBa0IsU0FDbEJDLHNCQUF1QixPQUN2QkMsc0JBQXVCLE9BQ3ZCQywwQkFBMkIsUUFDM0JDLDBCQUEyQixPQUMzQkMsNEJBQTZCLE9BQzdCQyx1Q0FBd0MsU0FDeENDLDRCQUE2QixTQUM3QkMsMkJBQTRCLFNBQzVCQyw4QkFBK0IsU0FDL0JDLDJCQUE0QixXQUM1QkMsMkJBQTRCLFNBQzVCQywwQkFBMkIsVUFDM0JDLDhCQUErQixjQUMvQkMsOEJBQStCLE9BQy9CQyxvQ0FBcUMsNkJBQ3JDQywrQ0FBZ0QsU0FDaERDLG9DQUFxQyxZQUNyQ0MsbUNBQW9DLHVCQUNwQ0Msc0NBQXVDLFVBQ3ZDQyxtQ0FBb0MsZUFDcENDLG1DQUFvQyxXQUNwQ0Msa0NBQW1DLFdBR25DQyxlQUFnQixVQUNoQkMsb0JBQXFCLE9BQ3JCQyxvQkFBcUIsT0FDckJDLHNCQUF1QixPQUN2QkMsMEJBQTJCLFFBQzNCQyxtQkFBb0IsVUFHcEJDLGtCQUFtQixPQUNuQkMsb0JBQXFCLE9BQ3JCQyw0QkFBNkIsUUFDN0JDLGlCQUFrQixPQUNsQkMseUJBQTBCLDBCQUMxQkMsa0JBQW1CLFVBQ25CQywwQkFBMkIsV0FDM0JDLHdCQUF5QixTQUN6QkMsZ0NBQWlDLE1BQ2pDQyxxQkFBc0IsU0FDdEJDLDZCQUE4QixNQUM5QkMsdUJBQXdCLFNBQ3hCQywrQkFBZ0MsVUFHaENDLGtCQUFtQixTQUNuQkMsOEJBQStCLGdCQUMvQkMsbUNBQW9DLG9CQUNwQ0MseUJBQTBCLFdBQzFCQyx5QkFBMEIsV0FDMUJDLDZCQUE4QixTQUM5QkMsMkJBQTRCLFVBQzVCQyx3QkFBeUIsT0FDekJDLDRCQUE2QixVQUM3QkMsMEJBQTJCLFNBQzNCQyxrQ0FBbUMseUJBQ25DQyxrQ0FBbUMsdUJBQ25DQyxxQ0FBc0MsMEJBQ3RDQyxzQkFBdUIsUUFDdkJDLDJDQUE0QyxtREFDNUNDLHNDQUF1Qyx3QkFDdkNDLDJDQUE0QyxpQkFDNUNDLGlDQUFrQyxzQkFDbENDLGlDQUFrQyxnQkFDbENDLHFDQUFzQyxZQUN0Q0MsbUNBQW9DLHlDQUNwQ0MsZ0NBQWlDLDRCQUNqQ0Msb0NBQXFDLHVCQUNyQ0MsMENBQTJDLFFBQzNDQyw2Q0FBOEMsUUFDOUNDLDhCQUErQixrQkFDL0JDLG1EQUFvRCxRQUVwREMsa0JBQW1CLE9BQ25CQyxpQ0FBa0MsU0FDbENDLHlDQUEwQyxZQUMxQ0MsZ0NBQWlDLFNBQ2pDQyx3Q0FBeUMsVUFDekNDLHdDQUF5QyxTQUN6Q0MsZ0RBQWlELFlBQ2pEQyxrQ0FBbUMsU0FDbkNDLDBDQUEyQyxRQUMzQ0MsZ0NBQWlDLFNBQ2pDQyx3Q0FBeUMsVUFDekNDLG9DQUFxQyxTQUNyQ0MsNENBQTZDLGNBQzdDQyxzQ0FBdUMsV0FDdkNDLDZDQUE4QyxZQUM5Q0MsaUNBQWtDLFdBQ2xDQyw2Q0FBOEMsWUFDOUNDLHFDQUFzQyxXQUN0Q0MsNkNBQThDLFlBQzlDQyxvQ0FBcUMsU0FDckNDLDRDQUE2QyxVQUM3Q0Msd0NBQXlDLFlBQ3pDQyxnREFBaUQsY0FFakRDLG9CQUFxQixTQUNyQkMsdUNBQXdDLGVBRXhDQyxlQUFnQixRQUNoQkMsc0JBQXVCLFVBQ3ZCQyxzQkFBdUIsVUFFdkJDLGlCQUFrQixTQUNsQkMseUJBQTBCLFNBQzFCQyxpQ0FBa0MsY0FDbENDLDJCQUE0QixXQUM1QkMsbUNBQW9DLFVBQ3BDQywrQkFBZ0MsU0FDaENDLHVDQUF3QyxVQUN4Q0MsMEJBQTJCLFdBQzNCQyxrQ0FBbUMsVUFDbkNDLDZCQUE4QixTQUM5QkMscUNBQXNDLFFBQ3RDQyw4QkFBK0IsU0FDL0JDLHNDQUF1QyxRQUN2Q0MsbUNBQW9DLGFBQ3BDQywyQ0FBNEMsY0FDNUNDLHdCQUF5QixXQUN6QkMsd0JBQXlCLFdBQ3pCQywrQkFBZ0MsVUFDaENDLHVDQUF3QyxRQUN4Q0Msc0NBQXVDLFdBQ3ZDQywwQkFBMkIsV0FDM0JDLGtDQUFtQyxVQUNuQ0MsOEJBQStCLFNBQy9CQyxzQ0FBdUMsYUFDdkNDLDhCQUErQixhQUMvQkMsc0NBQXVDLGdCQUd2Q0Msc0NBQXVDLFNBQ3ZDQyxxQ0FBc0MsU0FDdENDLDRDQUE2QyxzQ0FDN0NDLDBDQUEyQyw0QkFDM0NDLHdDQUF5QyxTQUN6Q0MsdUNBQXdDLFNBQ3hDQyw4Q0FBK0Msc0NBQy9DQyw2Q0FBOEMsb0JBQzlDQyxxQ0FBc0MsU0FDdENDLG9DQUFxQyxTQUNyQ0MsMkNBQTRDLHNDQUM1Q0MsMENBQTJDLHFCRnhUM0NDLEdEaEIwQixDQUMxQm5TLGNBQWUsZ0JBQ2ZDLGVBQWdCLDZCQUNoQkMsMkJBQTRCLHlDQUM1QkMscUJBQXNCLHVGQUN0QkMsYUFBYyx1Q0FDZEMsWUFBYSx3QkFHYkMsWUFBYSxRQUNiQyxrQkFBbUIsWUFDbkJDLDBCQUEyQix5QkFDM0JDLHlCQUEwQiwyQkFDMUJDLGtDQUFtQyxlQUduQ0MscUJBQXNCLFdBQ3RCQyw4QkFBK0IsZUFDL0JDLHNDQUF1Qyw0QkFDdkNDLDRCQUE2QixhQUM3QkMsb0NBQXFDLG1DQUNyQ0MsaUNBQWtDLG1CQUNsQ0MseUNBQTBDLGdDQUMxQ0MsNkJBQThCLGNBQzlCQyxxQ0FBc0MsK0NBQ3RDQywwQkFBMkIsV0FDM0JDLGtDQUFtQyx3QkFDbkNDLGtDQUFtQyxvQkFDbkNDLDBDQUEyQyw0QkFDM0NDLDZCQUE4QixlQUM5QkMscUNBQXNDLDRCQUN0Q0MsaUNBQWtDLHlCQUNsQ0MseUNBQTBDLGdCQUUxQ0MsYUFBYyxRQUNkQyxrQkFBbUIsV0FDbkJDLDBCQUEyQiw0QkFDM0JDLHVCQUF3QixpQkFDeEJDLCtCQUFnQyx1QkFDaENDLHFCQUFzQixlQUN0QkMsNkJBQThCLDRCQUc5QkMsbUJBQW9CLFFBQ3BCQyxpQkFBa0IsVUFDbEJDLHlCQUEwQixnQ0FDMUJDLG1CQUFvQixZQUNwQkMsMkJBQTRCLDBFQUM1QkMsc0JBQXVCLGVBQ3ZCQyw4QkFBK0IsNkVBQy9CQyxzQkFBdUIsZUFDdkJDLDhCQUErQiw0QkFDL0JDLHdCQUF5QixrQkFDekJDLGlDQUFrQyxhQUNsQ0MscUJBQXNCLGVBQ3RCQyw4QkFBK0IsNEJBQy9CQyx1QkFBd0IsaUJBQ3hCQywrQkFBZ0MsdUJBR2hDQyxnQkFBaUIsWUFDakJDLDRCQUE2QixrQkFDN0JDLGdDQUFpQyxzQkFDakNDLHVCQUF3QixhQUN4QkMscUJBQXNCLFdBQ3RCQyxxQkFBc0IsV0FDdEJDLHdCQUF5QixlQUN6QkMsMEJBQTJCLGlCQUMzQkMsd0JBQXlCLGlCQUN6QkMsNkJBQThCLHFCQUM5QkMsNkJBQThCLFlBQzlCQyxnQ0FBaUMsNEJBQ2pDQyxnQ0FBaUMseUJBQ2pDQyxrQ0FBbUMsdUJBR25DQyxvQkFBcUIsZ0JBQ3JCQyw0QkFBNkIscUJBQzdCQyw2QkFBOEIsZUFDOUJDLDhCQUErQixnQkFDL0JDLDBCQUEyQixZQUMzQkMsMkJBQTRCLGFBQzVCQyx5QkFBMEIsV0FDMUJDLDZCQUE4QixlQUM5QkMseUJBQTBCLFdBQzFCQyw0QkFBNkIsZUFDN0JDLDRCQUE2QixpQkFDN0JDLDhCQUErQixpQkFDL0JDLGtDQUFtQyxpQkFDbkNDLGlDQUFrQyxpQkFDbENDLGlDQUFrQyxZQUNsQ0Msb0NBQXFDLDRCQUNyQ0Msc0NBQXVDLHVCQUN2Q0Msb0NBQXFDLGtCQUNyQ0MscUNBQXNDLDRDQUN0Q0MseUJBQTBCLGdCQUMxQkMsNkJBQ0UsNElBQ0ZDLGlDQUFrQyxPQUNsQ0MsZ0NBQWlDLFFBRWpDQyxjQUFlLFNBQ2ZDLG9CQUFxQixZQUNyQkMsbUJBQW9CLGdCQUNwQkMsbUJBQW9CLFdBQ3BCQyxzQkFBdUIsZUFDdkJDLHFCQUFzQixhQUN0QkMsd0JBQXlCLGlCQUN6QkMsMkJBQTRCLG9CQUM1QkMsNkJBQThCLFdBQzlCQywyQkFBNEIsWUFDNUJDLDhCQUErQiw0QkFDL0JDLGdDQUFpQyx1QkFHakNDLGFBQWMsUUFDZEMsdUJBQXdCLGdCQUN4QkMsdUJBQXdCLGdCQUN4QkMsb0JBQXFCLGFBQ3JCQyxrQkFBbUIsV0FDbkJDLGlCQUFrQixVQUNsQkMscUJBQXNCLGlCQUN0QkMsa0JBQW1CLFdBQ25CQywwQkFBMkIsWUFDM0JDLDBCQUEyQixTQUMzQkMsNkJBQThCLGlCQUM5QkMseUJBQTBCLHNDQUcxQkMsYUFBYyxRQUNkQyxzQkFBdUIsZUFDdkJDLHNCQUF1QixlQUN2QkMsMEJBQTJCLG1CQUMzQkMsbUJBQW9CLGlCQUNwQkMsbUJBQW9CLFlBQ3BCQyw4QkFBK0IsK0NBQy9CQyw4QkFBK0IsaURBQy9CQyxrQ0FBbUMsaURBQ25DQywyQkFBNEIsV0FDNUJDLDJCQUE0Qiw0QkFHNUJDLGFBQWMsUUFDZEMsb0JBQXFCLGFBQ3JCTSxzQkFBdUIsZUFDdkJMLHNCQUF1QixlQUN2QkMsc0JBQXVCLHdCQUN2QkMsa0JBQW1CLFdBQ25CQyxpQkFBa0IsVUFDbEJDLHFCQUFzQixpQkFDdEJFLDRCQUE2Qix1QkFDN0JDLHdCQUF5QiwyQkFDekJDLDhCQUErQixTQUMvQkMsOEJBQStCLFVBQy9CQyx5QkFBMEIsZ0NBQzFCQyw2QkFBOEIsZUFDOUJDLDBCQUEyQixZQUMzQkMsOEJBQStCLCtCQUcvQkMsbUJBQW9CLFNBQ3BCQyx3QkFBeUIsV0FDekJDLDhCQUErQixlQUMvQkMsNEJBQTZCLGVBQzdCQyw0QkFBNkIsZUFDN0JDLHdCQUF5QixXQUN6QkMsMkJBQTRCLG1CQUM1QkMsNkJBQThCLGlCQUM5QkMsNEJBQTZCLGdCQUM3QkMsMkJBQTRCLGlCQUM1QkMsZ0NBQWlDLGlDQUNqQ0Msc0NBQXVDLGVBQ3ZDQyxvQ0FBcUMsU0FDckNDLG9DQUFxQywyQkFDckNDLGdDQUFpQyxZQUNqQ0Msd0NBQXlDLHdDQUN6Q0MscUNBQXNDLHVCQUN0Q0MsbUNBQW9DLGlCQUdwQ0MsaUJBQWtCLGdCQUNsQkMsc0JBQXVCLFdBQ3ZCQyxzQkFBdUIsV0FDdkJDLDBCQUEyQixlQUMzQkMsMEJBQTJCLGVBQzNCQyw0QkFBNkIsa0JBQzdCQyx1Q0FBd0MsNkJBQ3hDQyw0QkFBNkIsa0JBQzdCQywyQkFBNEIsaUJBQzVCQyw4QkFBK0IsbUJBQy9CQywyQkFBNEIsc0JBQzVCQywyQkFBNEIsZ0JBQzVCQywwQkFBMkIscUJBQzNCQyw4QkFBK0IsY0FDL0JDLDhCQUErQixhQUMvQkMsb0NBQXFDLDZCQUNyQ0MsK0NBQWdELHlDQUNoREMsb0NBQXFDLFlBQ3JDQyxtQ0FBb0MsdUJBQ3BDQyxzQ0FBdUMsd0NBQ3ZDQyxtQ0FBb0MsZUFDcENDLG1DQUFvQyxXQUNwQ0Msa0NBQW1DLFdBR25DQyxlQUFnQixVQUNoQkMsb0JBQXFCLFdBQ3JCQyxvQkFBcUIsV0FDckJDLHNCQUF1QixhQUN2QkMsMEJBQTJCLGtCQUMzQkMsbUJBQW9CLFVBR3BCQyxrQkFBbUIsT0FDbkJDLG9CQUFxQixjQUNyQkMsNEJBQTZCLFNBQzdCQyxpQkFBa0IsV0FDbEJDLHlCQUEwQixzQkFDMUJDLGtCQUFtQixZQUNuQkMsMEJBQTJCLFVBQzNCQyx3QkFBeUIsa0JBQ3pCQyxnQ0FBaUMsUUFDakNDLHFCQUFzQixlQUN0QkMsNkJBQThCLHdCQUM5QkMsdUJBQXdCLGlCQUN4QkMsK0JBQWdDLGFBR2hDQyxrQkFBbUIsU0FDbkJDLDhCQUErQixrQkFDL0JDLG1DQUFvQyxzQkFDcENDLHlCQUEwQixhQUMxQkMseUJBQTBCLGFBQzFCQyw2QkFBOEIsa0JBQzlCQywyQkFBNEIsZUFDNUJDLHdCQUF5QixZQUN6QkMsNEJBQTZCLGlCQUM3QkMsMEJBQTJCLGNBQzNCQyxrQ0FBbUMseUJBQ25DQyxrQ0FBbUMsc0JBQ25DQyxxQ0FBc0MseUJBQ3RDQyxzQkFBdUIsVUFDdkJDLDJDQUNFLG9GQUNGQyxzQ0FBdUMsVUFDdkNDLDJDQUE0QyxVQUM1Q0MsaUNBQWtDLFdBQ2xDQyxpQ0FBa0MsZ0JBQ2xDQyxxQ0FBc0Msc0JBQ3RDQyxtQ0FBb0MseUNBQ3BDQyxnQ0FBaUMsNEJBQ2pDQyxvQ0FBcUMsdUJBQ3JDQywwQ0FBMkMsNENBQzNDQyw2Q0FBOEMsdUVBQzlDQyw4QkFBK0Isa0JBQy9CQyxtREFBb0QsMkNBRXBEd0Isb0JBQXFCLHdCQUNyQkMsdUNBQXdDLDRCQUV4Q0MsZUFBZ0Isa0JBQ2hCQyxzQkFBdUIsb0JBQ3ZCQyxzQkFBdUIsZ0JBRXZCM0Isa0JBQW1CLHFCQUNuQkMsaUNBQWtDLDJCQUNsQ0MseUNBQTBDLG9DQUMxQ0MsZ0NBQWlDLHFCQUNqQ0Msd0NBQXlDLCtCQUN6Q0Msd0NBQXlDLHVDQUN6Q0MsZ0RBQWlELGdEQUNqREMsa0NBQW1DLHNCQUNuQ0MsMENBQTJDLHdCQUMzQ0MsZ0NBQWlDLHFCQUNqQ0Msd0NBQXlDLDhCQUN6Q0Msb0NBQXFDLHFCQUNyQ0MsNENBQTZDLDRDQUM3Q0Msc0NBQXVDLDhDQUN2Q0MsNkNBQThDLG9DQUM5Q0MsaUNBQWtDLDJCQUNsQ0MsNkNBQThDLG1DQUM5Q0MscUNBQXNDLDJCQUN0Q0MsNkNBQThDLHdDQUM5Q0Msb0NBQXFDLHlCQUNyQ0MsNENBQTZDLG1DQUM3Q0Msd0NBQXlDLDhCQUN6Q0MsZ0RBQWlELHdDQUVqRE0saUJBQWtCLHNCQUNsQkMseUJBQTBCLG9CQUMxQkMsaUNBQWtDLHdDQUNsQ0MsMkJBQTRCLHVDQUM1QkMsbUNBQW9DLDRDQUNwQ0MsK0JBQWdDLHdCQUNoQ0MsdUNBQXdDLGtDQUN4Q0MsMEJBQTJCLDhCQUMzQkMsa0NBQW1DLHlDQUNuQ0MsNkJBQThCLHFCQUM5QkMscUNBQXNDLHdCQUN0Q0MsOEJBQStCLHNCQUMvQkMsc0NBQXVDLHdCQUN2Q0MsbUNBQW9DLDRDQUNwQ0MsMkNBQTRDLGlEQUM1Q0Msd0JBQXlCLHVDQUN6QkMsd0JBQXlCLHlDQUN6QkMsK0JBQWdDLDBCQUNoQ0MsdUNBQXdDLHdCQUN4Q0Msc0NBQXVDLDJDQUN2Q0MsMEJBQTJCLDhCQUMzQkMsa0NBQW1DLHlDQUNuQ0MsOEJBQStCLHFCQUMvQkMsc0NBQXVDLHlDQUN2Q0MsOEJBQStCLHFDQUMvQkMsc0NBQXVDLG9EQUV2Q0Msc0NBQXVDLGdDQUN2Q0MscUNBQXNDLDZCQUN0Q0MsNENBQ0UsNkVBQ0ZDLDBDQUNFLDBGQUNGQyx3Q0FBeUMsa0NBQ3pDQyx1Q0FBd0MsMEJBQ3hDQyw4Q0FDRSwwRUFDRkMsNkNBQThDLDREQUM5Q0MscUNBQXNDLDhCQUN0Q0Msb0NBQXFDLHVCQUNyQ0MsMkNBQTRDLHVFQUM1Q0MsMENBQTJDLDJEQ3RUN0MsTUFBTUUsR0FDYXhZLEtBQ0F5WSxjQUNBN29CLElBQ2pCLFdBQUFxTixDQUFZck4sR0FDVnVOLEtBQUt2TixJQUFNQSxFQUNYdU4sS0FBS3NiLGNBQWdCLElBQUlDLEVBQWN2UyxJQUN2QyxJQUFJd1MsRUFBV3hiLEtBQUt2TixJQUFJMk4sVUFBa0Isc0JBQXdCLFFBQzdENEksR0FBYXdTLEtBQ2hCQSxFQUFXLFNBRWJ4YixLQUFLNkMsS0FBTyxJQUFJNFksRUFBSyxDQUNuQkMsUUFBUzFiLEtBQUtzYixjQUNkSyxnQkFBaUJILElBRW5CeGIsS0FBSzRiLGdCQUNQLENBRVEsY0FBQUEsR0FDTixNQUFNQyxFQUFhN2IsS0FBSzhiLHNCQUNWMXBCLEVBQUcycEIsWUFBWUYsRUFBWSxDQUN2Q0csZUFBZSxJQUVYQyxRQUFReHFCLElBQ1osR0FBSUEsRUFBS3lxQixVQUFZenFCLEVBQUs0QyxLQUFLOG5CLFNBQVMsUUFBUyxDQUMvQyxNQUFNQyxFQUFlenRCLEVBQUtyQixLQUFLdXVCLEVBQVlwcUIsRUFBSzRDLE1BQzFDZ29CLEVBQVdqcUIsRUFBR2dVLGFBQWFnVyxFQUFjLFFBQy9DLElBQ0UsTUFBTUUsRUFBY0MsRUFBS0MsS0FBS0gsR0FDOUJyVCxHQUFhdlgsRUFBSzRDLEtBQUs3RSxRQUFRLFNBQVUsS0FBTzhzQixDQUNsRCxDQUFFLE1BQU81WCxHQUNQelAsUUFBUW5CLE1BQU00USxFQUNoQixDQUNGLEdBRUosQ0FFUSxtQkFBQW9YLEdBQ04sTUFBTUQsRUFBYWx0QixFQUFLckIsS0FBSzBTLEtBQUt2TixJQUFJd04sUUFBUyxZQUkvQyxPQUhLd2MsRUFBZVosSUFDbEIxYixFQUFjMGIsR0FFVEEsQ0FDVCxDQUVBLFNBQUFhLENBQTRCaHNCLEVBQXNCaXNCLEdBQ2hELE9BQU8zYyxLQUFLNkMsS0FBSzZaLFVBQVVoc0IsRUFBS2lzQixJQUFTanNCLENBQzNDLENBRUEsV0FBQWtzQixDQUFZcEIsR0FDVnhiLEtBQUs2QyxLQUFLK1osWUFBWXBCLEdBQ3RCeGIsS0FBS3ZOLElBQUl1USxXQUFXLENBQ2xCLG9CQUFxQndZLEdBRXpCLENBRUEsU0FBQXFCLENBQVVyQixFQUFrQnNCLEdBQzFCLE1BQU1DLEVBQWdCL2MsS0FBS3NiLGNBQWMwQixVQUFVeEIsR0FDbkQsSUFBS3VCLEVBQ0gsT0FBTyxFQUVULE1BQU1FLEVBQWFDLEVBQU1ILEVBQWVELEdBRXhDLE9BREE5YyxLQUFLc2IsY0FBYzZCLFVBQVUzQixFQUFVeUIsSUFDaEMsQ0FDVCxDQUVBLFdBQUFHLENBQVk1QixFQUFrQnNCLEdBRTVCLE9BRHNCOWMsS0FBS3NiLGNBQWMwQixVQUFVeEIsS0FJbkR4YixLQUFLc2IsY0FBYzZCLFVBQVUzQixFQUFVc0IsR0FDdkM5VCxHQUFhd1MsR0FBWXNCLEdBQ2xCLEVBQ1QsQ0FFQSxlQUFBTyxHQUNFLE9BQU8xdEIsT0FBT0MsS0FBS29aLEdBQ3JCLEVHakdGLE1BQU05UyxHQUFrQixDQUN0QnlSLE9BQVNsVixJQUNLQSxFQUFJMFAsSUFDWm1iLFFBQVFDLE9BQU8sc0JBQXVCLHFCQ0h4Q0MsR0FBWSxDQUNoQjdWLE9BQVNsVixJQUNQLE1BQU0wUCxFQUFNMVAsRUFBSTBQLElBQ2hCQSxFQUFJbWIsUUFDREcsUUFBUSxlQUNSQyxZQUFZLDBDQUNaQyxVQUFVLGNBQ1ZDLE9BQVE5VixJQUNQLElBQ0UsTUFBTStWLEVBQVVwckIsRUFBSXFRLGNBQWNnYixzQkFBc0JoVyxHQUNsRGlXLEVBQWdCdHJCLEVBQUlxUSxjQUFja2IseUJBQXlCbFcsR0FFakUsR0FBdUIsSUFBbkIrVixFQUFRaHhCLE9BRVYsWUFEQTRGLEVBQUlnTyxJQUFJQyxLQUFLLHdCQUF3Qm9ILEtBSXZDclYsRUFBSWdPLElBQUlDLEtBQUssZUFBZW9ILE1BQzVCK1YsRUFBUTVCLFFBQVMvbEIsSUFDZixNQUNNK25CLEVBRFlGLEdBQWlCN25CLEVBQU9xTCxNQUFRd2MsRUFBY3hjLElBQ3JDLGFBQWUsR0FDMUM5TyxFQUFJZ08sSUFBSUMsS0FBSyxPQUFPeEssRUFBT2dvQixjQUFjRCxVQUFlL25CLEVBQU9xTCxTQUVuRSxDQUFFLE1BQU9tRCxHQUNQalMsRUFBSWdPLElBQUkzTSxNQUFNNFEsRUFDaEIsSUFHSnZDLEVBQUltYixRQUNERyxRQUFRLGNBQ1JDLFlBQVksMkNBQ1pDLFVBQVUsMkJBQ1ZDLE9BQU8sQ0FBQzlWLEVBQWtCcVcsS0FDekIsSUFDRSxNQUFNam9CLEVBQVN6RCxFQUFJcVEsY0FBY3NiLGdCQUFnQnRXLEVBQVVxVyxHQUUzRCxJQUFLam9CLEVBRUgsWUFEQXpELEVBQUlnTyxJQUFJM00sTUFBTSxXQUFXcXFCLG9CQUE2QnJXLEtBSXhDclYsRUFBSXFRLGNBQWN1YixpQkFBaUJ2VyxFQUFVNVIsRUFBT3FMLEtBR2xFOU8sRUFBSWdPLElBQUluTyxRQUFRLFFBQVE2ckIsNEJBQXFDclcsS0FFN0RyVixFQUFJZ08sSUFBSTNNLE1BQU0sa0JBQWtCcXFCLGdCQUVwQyxDQUFFLE1BQU96WixHQUNQalMsRUFBSWdPLElBQUkzTSxNQUFNNFEsRUFDaEIsSUFHSnZDLEVBQUltYixRQUNERyxRQUFRLGlCQUNSQyxZQUFZLG1DQUNaQyxVQUFVLDJCQUNWQyxPQUFPLENBQUM5VixFQUFrQnFXLEtBQ3hCLFdBQ0MsSUFDRSxNQUFNam9CLEVBQVN6RCxFQUFJcVEsY0FBY3NiLGdCQUFnQnRXLEVBQVVxVyxHQUUzRCxJQUFLam9CLEVBRUgsWUFEQXpELEVBQUlnTyxJQUFJM00sTUFBTSxXQUFXcXFCLG9CQUE2QnJXLEtBSXhELE1BQU13VyxFQUFVLENBQ2QsQ0FDRTFzQixLQUFNLFVBQ055QyxLQUFNLFVBQ05OLFFBQVMsMkNBQTJDb3FCLE1BQ3BESSxTQUFTLElBTWIsV0FGcUI5ckIsRUFBSTBQLElBQUlxYyxTQUFTQyxPQUErQkgsSUFFekRJLFFBRVYsWUFEQWpzQixFQUFJZ08sSUFBSUMsS0FBSyxhQUlDak8sRUFBSXFRLGNBQWM2YixxQkFBcUI3VyxFQUFVNVIsRUFBT3FMLEtBR3RFOU8sRUFBSWdPLElBQUluTyxRQUFRLG1CQUFtQjZyQixVQUFtQnJXLEtBRXREclYsRUFBSWdPLElBQUkzTSxNQUFNLDRCQUE0QnFxQixLQUU5QyxDQUFFLE1BQU96WixHQUNQalMsRUFBSWdPLElBQUkzTSxNQUFNNFEsRUFDaEIsQ0FDRCxFQW5DQSxHQW1DSTFRLE1BQU0wUSxJQUNUalMsRUFBSWdPLElBQUkzTSxNQUFNNFEsT0FJcEJ2QyxFQUFJbWIsUUFDREcsUUFBUSxpQkFDUkMsWUFBWSxtQ0FDWkMsVUFBVSxrQ0FDVkMsT0FBTyxDQUFDOVYsRUFBa0I1WixFQUFpQitCLEtBQzFDLElBQ0UsTUFBTWlHLEVBQVN6RCxFQUFJcVEsY0FBY3NiLGdCQUFnQnRXLEVBQVU1WixHQUUzRCxJQUFLZ0ksRUFFSCxZQURBekQsRUFBSWdPLElBQUkzTSxNQUFNLFdBQVc1RixvQkFBMEI0WixLQUlyQ3JWLEVBQUlxUSxjQUFjcUUsYUFBYVcsRUFBVTVSLEVBQU9xTCxJQUFLdFIsR0FHbkV3QyxFQUFJZ08sSUFBSW5PLFFBQVEsd0JBQXdCcEUsVUFBZ0IrQixNQUV4RHdDLEVBQUlnTyxJQUFJM00sTUFBTSwwQkFFbEIsQ0FBRSxNQUFPNFEsR0FDUGpTLEVBQUlnTyxJQUFJM00sTUFBTTRRLEVBQ2hCLElBR0p2QyxFQUFJbWIsUUFDREcsUUFBUSxlQUNSQyxZQUFZLDRCQUNaQyxVQUFVLDJCQUNWQyxPQUFPLENBQUM5VixFQUFrQnFXLEtBQ3pCLElBQ0UsSUFBS0EsRUFBWSxDQUNmLE1BQU1OLEVBQVVwckIsRUFBSXFRLGNBQWNnYixzQkFBc0JoVyxHQUN4RCxPQUFLK1YsR0FBOEIsSUFBbkJBLEVBQVFoeEIsWUFJeEJneEIsRUFBUTVCLFFBQVEvbEIsSUFDZHpELEVBQUlnTyxJQUFJQyxLQUFLLHVCQUF1QnhLLEVBQU9nb0IsaUJBQzNDenJCLEVBQUlnTyxJQUFJQyxLQUFLLFNBQVN4SyxFQUFPcUwsT0FDN0I5TyxFQUFJZ08sSUFBSUMsS0FBSyxjQUFjLElBQUluUyxLQUFLMkgsRUFBTzBvQixZQUFZQyxvQkFDdkRwc0IsRUFBSWdPLElBQUlDLEtBQUssY0FBYyxJQUFJblMsS0FBSzJILEVBQU80b0IsWUFBWUQsb0JBQ3ZEcHNCLEVBQUlnTyxJQUFJQyxLQUFLLGtCQUViL1EsT0FBT0MsS0FBS3NHLEdBQVErbEIsUUFBUXZyQixJQUMxQixJQUFLQSxFQUFJbUQsV0FBVyxLQUFNLENBQ3hCLE1BQU1rckIsRUFBUTdvQixFQUFPeEYsR0FDZnN1QixFQUNhLGlCQUFWRCxJQUNOcnVCLEVBQUlYLFNBQVMsYUFBZVcsRUFBSVgsU0FBUyxVQUFZVyxFQUFJWCxTQUFTLFFBQy9ELE1BQ0F1RyxLQUFLMm9CLFVBQVVGLEdBQ3JCdHNCLEVBQUlnTyxJQUFJQyxLQUFLLEtBQUtoUSxNQUFRc3VCLElBQzVCLFdBbkJGdnNCLEVBQUlnTyxJQUFJQyxLQUFLLHdCQUF3Qm9ILElBdUJ6QyxDQUNBLE1BQU01UixFQUFTekQsRUFBSXFRLGNBQWNzYixnQkFBZ0J0VyxFQUFVcVcsR0FFM0QsSUFBS2pvQixFQUVILFlBREF6RCxFQUFJZ08sSUFBSTNNLE1BQU0sV0FBV3FxQixvQkFBNkJyVyxLQUl4RHJWLEVBQUlnTyxJQUFJQyxLQUFLLHVCQUF1QnlkLE9BQ3BDMXJCLEVBQUlnTyxJQUFJQyxLQUFLLFNBQVN4SyxFQUFPcUwsT0FDN0I5TyxFQUFJZ08sSUFBSUMsS0FBSyxjQUFjLElBQUluUyxLQUFLMkgsRUFBTzBvQixZQUFZQyxvQkFDdkRwc0IsRUFBSWdPLElBQUlDLEtBQUssY0FBYyxJQUFJblMsS0FBSzJILEVBQU80b0IsWUFBWUQsb0JBQ3ZEcHNCLEVBQUlnTyxJQUFJQyxLQUFLLGtCQUNiL1EsT0FBT0MsS0FBS3NHLEdBQVErbEIsUUFBUXZyQixJQUMxQixJQUFLQSxFQUFJbUQsV0FBVyxLQUFNLENBQ3hCLE1BQU1rckIsRUFBUTdvQixFQUFPeEYsR0FDZnN1QixFQUNhLGlCQUFWRCxJQUF1QnJ1QixFQUFJWCxTQUFTLGFBQWVXLEVBQUlYLFNBQVMsVUFBWVcsRUFBSVgsU0FBUyxRQUM1RixNQUNBdUcsS0FBSzJvQixVQUFVRixHQUNyQnRzQixFQUFJZ08sSUFBSUMsS0FBSyxLQUFLaFEsTUFBUXN1QixJQUM1QixHQUVKLENBQUUsTUFBT3RhLEdBQ1BqUyxFQUFJZ08sSUFBSTNNLE1BQU00USxFQUNoQixNQ3BMRjdCLEdBQWdCLENBQ3BCOEUsT0FBU2xWLElBQ0tBLEVBQUkwUCxJQUNabWIsUUFDREcsUUFBUSxRQUNSRSxVQUFVLFVBQ1ZELFlBQVkscUNBQ1pFLE9BQU81ckIsTUFBT2t0QixFQUFlLE1BQzVCLE1BQU1DLEVBQU8xc0IsRUFBSW9RLEtBQUt3YSxrQkFDdEIsSUFBSzZCLEVBQU0sQ0FDVCxNQUFNWixFQUFVLENBQ2QsQ0FDRTFzQixLQUFNLE9BQ055QyxLQUFNLE9BQ04rcUIsUUFBU0QsRUFDVHByQixRQUFTLG9CQUNUd3FCLFFBQVM5ckIsRUFBSTJOLFVBQVUsc0JBQXdCLFVBSW5EOGUsU0FEcUJ6c0IsRUFBSTBQLElBQUlxYyxTQUFTQyxPQUE4QkgsSUFDdER6YixJQUNoQixDQUNLc2MsRUFBS3B2QixTQUFTbXZCLElBR2pCenNCLEVBQUlvUSxLQUFLK1osWUFBWXNDLEdBQ3JCenNCLEVBQUlnTyxJQUFJbk8sUUFBUSxtQkFBbUI0c0IsTUFIbkN6c0IsRUFBSWdPLElBQUl0TCxLQUFLLHdCQ3JCakJrcUIsR0FBZ0IsQ0FDcEJsZCxFQUNBc2IsRUFDQUMsRUFDQTRCLEVBQ0ExQixFQUNBaGxCLEtBRUEsSUFBSTBrQixFQUFVbmIsRUFBSW1iLFFBQVFHLFFBQVFBLEdBQVNDLFlBQVlBLEdBQWE0QixNQUFNQSxHQUN0RTFtQixHQUFTMm1CLFFBQ1hqQyxFQUFVQSxFQUFRQyxPQUFPLHNCQUF1QixxQ0FFOUMza0IsR0FBUzRtQixXQUNYbEMsRUFBVUEsRUFBUUMsT0FBTyw0QkFBNkIsNkNBRXhERCxFQUFRTSxPQUFPQSxJQUdYcGIsR0FBeUIsQ0FDN0JtRixPQUFTbFYsSUFDUCxNQUFNMFAsRUFBTTFQLEVBQUkwUCxJQUNoQmtkLEdBQ0VsZCxFQUNBLHVCQUNBLHVCQUNBLE1BQ0EsQ0FBQ3FHLEVBQW1COFUsS0FDbEIsTUFBTWlDLE1BQUVBLEVBQUtDLFNBQUVBLEdBQWFsQyxFQUN0QjFrQixFQUFVLENBQUUybUIsUUFBT0MsWUFDekIvc0IsRUFBSStQLGNBQWNpZCxRQUFRalgsRUFBUzVQLEdBQVM1RSxNQUFNMFEsSUFDaERqUyxFQUFJZ08sSUFBSTNNLE1BQU00USxNQUdsQixDQUFFNmEsT0FBTyxFQUFNQyxVQUFVLElBRTNCSCxHQUFjbGQsRUFBSyx5QkFBMEIseUJBQTBCLEtBQU9xRyxJQUM1RS9WLEVBQUkrUCxjQUFja2QsVUFBVWxYLEdBQVN4VSxNQUFNMFEsSUFDekNqUyxFQUFJZ08sSUFBSTNNLE1BQU00USxPQUdsQjJhLEdBQ0VsZCxFQUNBLHNCQUNBLHNCQUNBLEtBQ0EsQ0FBQ3FHLEVBQW1COFUsS0FDbEIsTUFBTWlDLE1BQUVBLEVBQUtDLFNBQUVBLEdBQWFsQyxFQUN0QjFrQixFQUFVLENBQUUybUIsUUFBT0MsWUFDekIvc0IsRUFBSStQLGNBQWMxVSxPQUFPMGEsRUFBUzVQLEdBQVM1RSxNQUFPMFEsSUFDaERqUyxFQUFJZ08sSUFBSTNNLE1BQU00USxNQUdsQixDQUFFNmEsT0FBTyxFQUFNQyxVQUFVLE1DdER6QkQsR0FBaUIsQ0FDckI1WCxPQUFTbFYsSUFDS0EsRUFBSTBQLElBQ1ptYixRQUFRQyxPQUFPLG9CQUFxQiwwQkFBNEJnQyxJQUNsRTlzQixFQUFJeVEsVUFBVSxDQUNaLGVBQWdCcWMsaUJDSlJJLElBQWlCaHhCLEtBQy9CQSxFQUFJaXhCLFdBQ0pBLEdBQWEsRUFBS0MsU0FDbEJBLEdBQVcsRUFBSUMsWUFDZkEsR0FBYyxJQU9kLE1BQU1DLEVBQVlweEIsR0FBTWEsUUFBUSxhQUFjLElBQUlBLFFBQVEsVUFBVyxLQUNyRSxPQUFLdXdCLEVBR0UsR0FBR0gsRUFBYSxJQUFNLEtBQUtHLElBQVlGLEVBQVcsSUFBTSxLQUZ0REMsRUFBYyxHQUFLLEdBRzlCLENBRU0sU0FBVUUsR0FBV3J4QixHQUN6QixPQUFPQSxFQUNKYSxRQUFRLFVBQVcsS0FDbkJxQixNQUFNLEtBQ05nUixJQUFJb2UsR0FBS0MsbUJBQW1CRCxJQUM1QjN5QixLQUFLLElBQ1YsQ0FFTyxNQUFNNnlCLEdBQ0ksZ0JBREpBLEdBRUMsYUFGREEsR0FHSCxTQUhHQSxHQUlLLGVBSkxBLEdBS0gsU0FMR0EsR0FNSixRQU5JQSxHQU9KLFFBUElBLEdBUUEsWUFSQUEsR0FTRixVQVRFQSxHQVVKLFFBVklBLEdBV0EsWUFYQUEsR0FZTCxPQVpLQSxHQWFKLFFBYklBLEdBY0osUUFkSUEsR0FlRSxjQUdGQyxHQUFjLENBQ3pCM3RCLEVBQ0E0dEIsRUFDQWhzQixFQUNBekMsRUFDQTB1QixFQUNBQyxFQUNBQyxFQUFxQixTQUNyQkMsS0FBWSxDQUVacHNCLE9BQ0F6QyxPQUNBLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFDZCxHQUFHOEQsS0FBY0gsRUFBV00saUJBQWlCdHNCLEVBQUtzc0IsZ0JBRXRELEVBQ0EsU0FBSXJCLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQ2QsR0FBRzhELEtBQWNILEVBQVdNLGlCQUFpQnRzQixFQUFLc3NCLGdCQUV0RCxFQUNBcEMsUUFBUytCLEVBQ1RDLGNBQ0dFLElDcEVFLE1BQU1HLEdBQXVCbnVCLElBQzNCLENBQ0xvdUIsY0FBZXB1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHdCQUMvQ29FLFdBQVlydUIsRUFBSW9RLEtBQUs2WixVQUF1QixzQkFDNUNxRSxPQUFRdHVCLEVBQUlvUSxLQUFLNlosVUFBdUIsbUJBQ3hDLGVBQWdCanFCLEVBQUlvUSxLQUFLNlosVUFBdUIscUJBQ2hEc0UsT0FBUXZ1QixFQUFJb1EsS0FBSzZaLFVBQXVCLGlCQUN4Q3VFLE1BQU94dUIsRUFBSW9RLEtBQUs2WixVQUF1QixnQkFDdkN3RSxNQUFPenVCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0JBQ3ZDeUUsVUFBVzF1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHFCQUMzQzBFLFFBQVMzdUIsRUFBSW9RLEtBQUs2WixVQUF1QixrQkFDekMyRSxNQUFPNXVCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0JBQ3ZDNEUsVUFBVzd1QixFQUFJb1EsS0FBSzZaLFVBQXVCLG9CQUMzQzZFLEtBQU05dUIsRUFBSW9RLEtBQUs2WixVQUF1QixlQUN0QzhFLE1BQU8vdUIsRUFBSW9RLEtBQUs2WixVQUF1Qix1QkFDdkMrRSxNQUFPaHZCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0JBQ3ZDZ0YsWUFBYWp2QixFQUFJb1EsS0FBSzZaLFVBQXVCLHdCQ1YzQ2lGLEdBQWtCLENBQ3RCdGdCLFNBQVUsQ0FBRW5MLE9Dc0RDLFFBN0RDekQsSUFDZCxNQUFNbXZCLEVBQWFudkIsRUFBSTJOLFVBQW1DLHFCQUF1QixDQUFBLEVBeURqRixNQXhEZ0MsQ0FDOUJnZ0IsR0FBWTN0QixFQUFLLFdBQVksVUFBVyxRQUFTbXZCLEVBQVc3bEIsU0FBVyxLQUFLLEVBQU8sV0FDbkZxa0IsR0FBWTN0QixFQUFLLFdBQVksWUFBYSxVQUFXbXZCLEVBQVczbEIsWUFBYSxHQUFPLEVBQU8sV0FDM0Zta0IsR0FBWTN0QixFQUFLLFdBQVksZ0JBQWlCLE9BQVFtdkIsRUFBV3psQixlQUFpQixPQUFPLEVBQU8sVUFBVyxDQUN6R2lqQixRQUFTLENBQ1AsT0FDQSxLQUNBLE9BQ0EsTUFDQSxPQUNBLFFBQ0EsT0FDQSxNQUNBLE1BQ0EsTUFDQSxTQUNBLFlBQ0EsTUFDQSxNQUNBLE1BQ0EsTUFDQSxNQUNBLE9BQ0EsTUFDQSxJQUNBLFVBR0pnQixHQUFZM3RCLEVBQUssV0FBWSxXQUFZLFVBQVdtdkIsRUFBV3ZsQixXQUFZLEdBQU8sRUFBTyxXQUN6RitqQixHQUFZM3RCLEVBQUssV0FBWSxjQUFlLFFBQVNtdkIsRUFBV25sQixhQUFlLEtBQUssRUFBTyxXQUMzRjJqQixHQUFZM3RCLEVBQUssV0FBWSxlQUFnQixRQUFTbXZCLEVBQVdybEIsY0FBZ0IsS0FBSyxFQUFPLFdBQzdGNmpCLEdBQ0UzdEIsRUFDQSxXQUNBLHVCQUNBLFVBQ0FtdkIsRUFBV2psQix1QkFBd0IsR0FDbkMsRUFDQSxXQUVGeWpCLEdBQ0UzdEIsRUFDQSxXQUNBLG9CQUNBLFVBQ0FtdkIsRUFBVy9rQixvQkFBcUIsR0FDaEMsRUFDQSxXQUVGdWpCLEdBQVkzdEIsRUFBSyxXQUFZLGdCQUFpQixRQUFTbXZCLEVBQVc3a0IsZUFBaUIsSUFBSSxFQUFPLFdBQzlGcWpCLEdBQVkzdEIsRUFBSyxXQUFZLFNBQVUsVUFBV212QixFQUFXcmtCLFNBQVUsR0FBTyxFQUFPLFdBQ3JGNmlCLEdBQVkzdEIsRUFBSyxXQUFZLFNBQVUsVUFBV212QixFQUFXbmtCLFNBQVUsR0FBTyxFQUFPLFdBQ3JGMmlCLEdBQVkzdEIsRUFBSyxXQUFZLFdBQVksVUFBV212QixFQUFXM2tCLFdBQVksR0FBTyxFQUFPLFdBQ3pGbWpCLEdBQVkzdEIsRUFBSyxXQUFZLGVBQWdCLFFBQVNtdkIsRUFBV3prQixjQUFnQixJQUFJLEVBQU8sV0FDNUZpakIsR0FBWTN0QixFQUFLLFdBQVksZUFBZ0IsVUFBV212QixFQUFXdmtCLGVBQWdCLEdBQU8sRUFBTyxjRGpEdEVuSCxPQUFReEYsSUFBSyxvQkFDMUN1SCxVQUFXLENBQUUvQixPRWtFQSxRQTFFQ3pELElBQ2QsTUFBTW12QixFQUFhbnZCLEVBQUkyTixVQUFvQyxzQkFBd0IsQ0FBQSxFQXNFbkYsTUFyRWdDLENBQzlCZ2dCLEdBQVkzdEIsRUFBSyxZQUFhLGlCQUFrQixVQUFXbXZCLEVBQVczbUIsaUJBQWtCLEdBQU8sRUFBTyxXQUN0R21sQixHQUFZM3RCLEVBQUssWUFBYSxnQkFBaUIsT0FBUW12QixFQUFXM3FCLGVBQWlCLFFBQVEsRUFBTyxVQUFXLENBQzNHbW9CLFFBQVMsQ0FBQyxPQUFRLFdBRXBCZ0IsR0FDRTN0QixFQUNBLFlBQ0Esd0JBQ0EsVUFDQW12QixFQUFXenFCLHdCQUF5QixHQUNwQyxFQUNBLFdBRUZpcEIsR0FBWTN0QixFQUFLLFlBQWEsa0JBQW1CLFFBQVNtdkIsRUFBV3hxQixpQkFBbUIsR0FBRyxFQUFPLFdBQ2xHZ3BCLEdBQVkzdEIsRUFBSyxZQUFhLGdCQUFpQixRQUFTbXZCLEVBQVd0bUIsZUFBaUIsSUFBSSxFQUFPLFdBQy9GOGtCLEdBQVkzdEIsRUFBSyxZQUFhLG9CQUFxQixRQUFTbXZCLEVBQVd0cUIsbUJBQXFCLElBQUksRUFBTyxXQUN2RzhvQixHQUNFM3RCLEVBQ0EsWUFDQSxzQkFDQSxRQUNBbXZCLEVBQVdycUIscUJBQXVCLEtBQ2xDLEVBQ0EsV0FFRjZvQixHQUNFM3RCLEVBQ0EsWUFDQSxpQkFDQSxRQUNBbXZCLEVBQVdwcUIsZ0JBQWtCLDZCQUM3QixFQUNBLFdBRUY0b0IsR0FBWTN0QixFQUFLLFlBQWEscUJBQXNCLFFBQVNtdkIsRUFBV25xQixvQkFBc0IsSUFBSSxFQUFPLFdBQ3pHMm9CLEdBQ0UzdEIsRUFDQSxZQUNBLHdCQUNBLFFBQ0FtdkIsRUFBV2pxQix1QkFBeUIsS0FDcEMsRUFDQSxXQUVGeW9CLEdBQ0UzdEIsRUFDQSxZQUNBLG9CQUNBLE9BQ0FtdkIsRUFBV2ptQixtQkFBcUIsYUFDaEMsRUFDQSxVQUNBLENBQ0V5akIsUUFBUyxDQUNQLFFBQ0EsWUFDQSxZQUNBLFFBQ0EsWUFDQSxZQUNBLE9BQ0EsT0FDQSxTQUNBLGVGMUR1QmxwQixPQUFReEYsSUFBSyxxQkFDNUMwVyxPQUFRLENBQUVsUixPR0FHLFFBVEN6RCxJQUNkLE1BQU1tdkIsRUFBYW52QixFQUFJMk4sVUFBZSxtQkFBcUIsQ0FBQSxFQUszRCxNQUpnQyxDQUM5QmdnQixHQUFZM3RCLEVBQUssU0FBVSxTQUFVLFFBQVNtdkIsRUFBV2puQixRQUFVLGNBQWMsRUFBTyxXQUN4RnlsQixHQUFZM3RCLEVBQUssU0FBVSxTQUFVLFVBQVdtdkIsRUFBV3ZhLFNBQVUsR0FBTyxFQUFPLGNISzVEblIsT0FBUXhGLElBQUssa0JBQ3RDaVIsWUFBYSxDQUFFekwsT0lNRixRQWhCQ3pELElBQ2QsTUFBTW12QixFQUFhbnZCLEVBQUkyTixVQUEyQyx3QkFBMEIsQ0FBQSxFQVk1RixNQVhnQyxDQUM5QmdnQixHQUNFM3RCLEVBQ0EsY0FDQSxxQkFDQSxRQUNBbXZCLEVBQVdoZ0Isb0JBQXNCLDJDQUNqQyxFQUNBLGNKQStCMUwsT0FBUXhGLElBQUssd0JBSzVDbXhCLEdBQWU3dkIsTUFDbkJTLEVBQ0E2ckIsRUFDQXdELEVBQ0F6dEIsRUFDQThwQixFQUNBNEQsS0FFQSxNQUFNQyxRQUFldnZCLEVBQUkwUCxJQUFJcWMsU0FBU0MsT0FBT0gsR0FDdkMyRCxFQUFZQyxHQUFjSixFQUFRenRCLEdBQ3hDLEdBQWUsYUFBWHl0QixFQUF1QixDQUN6QixNQUFNSyxFQUFtQmhFLEdBQWMsVUFDakNpRSxFQUFpQjN2QixFQUFJcVEsY0FBY3NiLGdCQUFnQi9wQixFQUFNOHRCLEdBQy9ELEdBQUlDLEVBQ0YzdkIsRUFBSXFRLGNBQWN1ZixxQkFBcUJodUIsRUFBTSt0QixFQUFlN2dCLElBQUt5Z0IsR0FDakV2dkIsRUFBSWdPLElBQUluTyxRQUFRLG1CQUFtQjZ2QixVQUF5Qjl0QixTQUN2RCxDQUNMLE1BQU1pdUIsRUFBWTd2QixFQUFJcVEsY0FBY3lmLGtCQUFrQmx1QixFQUFNOHRCLEVBQWtCSCxHQUM5RXZ2QixFQUFJZ08sSUFBSW5PLFFBQVEsdUJBQXVCNnZCLFVBQXlCOXRCLEtBQ2hFNUIsRUFBSXFRLGNBQWN1YixpQkFBaUJocUIsRUFBTWl1QixFQUFVL2dCLElBQ3JELENBRUE5TyxFQUFJdVEsV0FBVyxDQUNiLGlCQUFrQjNPLEVBQ2xCLGtCQUFtQkEsR0FFdkIsTUFBTyxHQUFlLFlBQVh5dEIsRUFDVCxHQUFJQyxFQUFjLENBQ2hCLE1BQU1qYSxFQUFXclYsRUFBSTJOLFVBQWUsWUFBWTJoQixNQUFtQixDQUFBLEVBQ25FLElBQUtqYSxFQUFTMGEsWUFBNkMsSUFBL0IxYSxFQUFTMGEsV0FBVzMxQixPQUU5QyxZQURBNEYsRUFBSWdPLElBQUkzTSxNQUFNLGdDQUFnQ2l1QixLQUdoRCxNQUFNVSxFQUFpQjNhLEVBQVMwYSxXQUFXcGhCLEtBQ3hDdFIsR0FBY0EsRUFBS291QixlQUFpQkMsR0FBYyxhQUNsRDVjLElBQ0gsSUFBS2toQixFQUVILFlBREFod0IsRUFBSWdPLElBQUkzTSxNQUFNLG9CQUFvQnFxQixHQUFjLGlDQUFpQzRELEtBR25GLE1BQU0vZ0IsRUFBY3ZPLEVBQUkyTixVQUFpQixpQkFBbUIsR0FDdERzaUIsRUFBcUIxaEIsRUFBWTJoQixVQUFVN3lCLEdBQVFBLEVBQUtrTCxLQUFPeW5CLElBQzFDLElBQXZCQyxFQUNGMWhCLEVBQVkwaEIsR0FBc0IsSUFDN0IxaEIsRUFBWTBoQixHQUNmcnVCLENBQUNBLEdBQU8ydEIsR0FHVmhoQixFQUFZNEUsS0FBSyxDQUNmNUssR0FBSXluQixFQUNKcHVCLENBQUNBLEdBQU8ydEIsSUFHWnZ2QixFQUFJdVEsV0FBVyxDQUNiLGVBQWdCaEMsR0FFcEIsTUFDRXZPLEVBQUl1USxXQUFXLENBQUVpZixDQUFDQSxHQUFZRCxTQUdoQ3Z2QixFQUFJdVEsV0FBVyxDQUFFaWYsQ0FBQ0EsR0FBWUQsSUFFZixnQkFBWEYsR0FDRnJ2QixFQUFJdVEsV0FBVyxDQUNiLHFCQUFzQjNPLEtBTXhCNnRCLEdBQWdCLENBQUNKLEVBQWdCenRCLEtBQ0ssQ0FDeEN5VCxTQUFVLFVBQVV6VCxJQUNwQm9ULFlBQWEsZUFBZXBULElBQzVCdXVCLFFBQVMsV0FBV3Z1QixLQUVMeXRCLElBQVd6dEIsR0FrSHhCd3VCLEdBQVUsQ0FDZGxiLE9BQVNsVixJQUNLQSxFQUFJMFAsSUFDWm1iLFFBQ0RHLFFBQVEsT0FDUjZCLE1BQU0sVUFDTjNCLFVBQVUsK0NBQ1ZELFlBQ0MsOFBBRURFLE9BQU8sQ0FBQ2tFLEVBQWdCenRCLEVBQWM4cEIsRUFBcUI0RCxLQUN6RCxXQUNDLElBRUUsT0FBUUQsR0FDTixJQUFLLGVBOUhTOXZCLE9BQzFCUyxFQUNBNEIsRUFDQThwQixFQUNBNEQsS0FFQSxHQUFJMXRCLEdBQVFBLEtBQVFzdEIsR0FBaUIsQ0FDbkMsTUFBTUcsRUFBU0gsR0FBZ0J0dEIsR0FFL0Isa0JBRE13dEIsR0FBYXB2QixFQUFLcXZCLEVBQU81ckIsT0FBT3pELEdBQU0sVUFBVzRCLEVBQU04cEIsRUFBWTRELEVBRTNFLENBRUEsR0FBSTF0QixLQUFVQSxLQUFRc3RCLElBR3BCLE9BRkFsdkIsRUFBSWdPLElBQUkzTSxNQUFNLDJCQUEyQk8sVUFDekM1QixFQUFJZ08sSUFBSXRMLEtBQUssd0VBS2YsTUFLTW1wQixFQUFVLENBQ2QsQ0FDRTFzQixLQUFNLE9BQ055QyxLQUFNLFVBQ04rcUIsUUFUWXp2QixPQUFPbXpCLFFBQVFuQixJQUFpQjlmLElBQUksRUFBRWtkLEdBQVNydUIsV0FBTSxDQUNuRTJELEtBQU01QixFQUFJb1EsS0FBSzZaLFVBQXVCaHNCLEdBQ3RDcXVCLFdBUUVockIsUUFBUyw0QkFJUGl1QixRQUFldnZCLEVBQUkwUCxJQUFJcWMsU0FBU0MsT0FBOEJILEdBQzlEeUUsRUFBaUJwQixHQUFnQkssRUFBT1ksZUFDeENmLEdBQWFwdkIsRUFBS3N3QixFQUFlN3NCLE9BQU96RCxHQUFNLFVBQVd1dkIsRUFBT1ksUUFBU3pFLEVBQVk0RCxJQTRGdkVpQixDQUFvQnZ3QixFQUFLNEIsRUFBTThwQixFQUFZNEQsR0FDakQsTUFDRixJQUFLLFdBQ0wsSUFBSyxtQkE1RmlCL3ZCLE9BQ2xDUyxFQUNBcXZCLEVBQ0F6dEIsRUFDQThwQixLQUVBLEdBQUk5cEIsRUFBTSxDQUNSLE1BQU12RSxFQUFPMkMsRUFBSWlRLE9BQU9vZixHQUFRbHVCLElBQUlTLEdBQ3BDLE9BQUt2RSxPQUlEQSxFQUFLb0csY0FDRDJyQixHQUFhcHZCLEVBQUszQyxFQUFLb0csT0FBT3pELEdBQU1xdkIsRUFBUXp0QixFQUFNOHBCLFNBSnhEMXJCLEVBQUlnTyxJQUFJM00sTUFBTSxNQUFNZ3VCLFdBQWdCenRCLElBT3hDLENBR0EsTUFBTStxQixFQUFVM3NCLEVBQUlpUSxPQUFPb2YsR0FBUW5aLFlBQVk5RyxJQUFLL1IsSUFBWSxDQUM5RHVFLEtBQU11c0IsR0FBb0JudUIsR0FBSzNDLElBQVNBLEVBQ3hDaXZCLE1BQU9qdkIsS0FHSHd1QixFQUFVLENBQ2QsQ0FDRTFzQixLQUFNLE9BQ055QyxLQUFNeXRCLEVBQ04xQyxVQUNBcnJCLFFBQVMsZUFBZSt0QixNQUl0QkUsUUFBZXZ2QixFQUFJMFAsSUFBSXFjLFNBQVNDLE9BQThCSCxHQUM5RHh1QixFQUFPMkMsRUFBSWlRLE9BQU9vZixHQUFRbHVCLElBQUlvdUIsRUFBT0YsSUFDdkNoeUIsR0FBTW9HLGNBQ0YyckIsR0FBYXB2QixFQUFLM0MsRUFBS29HLE9BQU96RCxHQUFNcXZCLEVBQVFFLEVBQU9GLEdBQVMzRCxJQXlEaEQ4RSxDQUE0Qnh3QixFQUFLcXZCLEVBQVF6dEIsRUFBTThwQixHQUNyRCxNQUNGLElBQUssY0F2REVuc0IsT0FBT1MsRUFBYTRCLEtBQ3ZDLEdBQUlBLEVBQU0sQ0FDUixNQUFNNnVCLEVBQWE3dUIsRUFBS3RFLFNBQVMsaUJBQW1Cc0UsRUFBTyxnQkFBZ0JBLElBRTNFLElBQUsxRSxPQUFPQyxLQUFLNkMsRUFBSTJOLFVBQVUsaUJBQWlCclEsU0FBU216QixHQUV2RCxZQURBendCLEVBQUlnTyxJQUFJM00sTUFBTSxtQkFBbUJvdkIsS0FJbkMsTUFBTW5hLFFBQWV0VyxFQUFJOFAsYUFBYTRnQixVQUFVRCxHQUloRCxZQUhJbmEsR0FBUTdTLGNBQ0oyckIsR0FBYXB2QixFQUFLc1csRUFBTzdTLE9BQU96RCxHQUFNLFNBQVV5d0IsR0FHMUQsQ0FHQSxNQUFNNUUsRUFBVSxDQUNkLENBQ0Uxc0IsS0FBTSxPQUNOeUMsS0FBTSxTQUNOK3FCLFFBQVMzc0IsRUFBSThQLGFBQWE2Z0IsY0FDMUJydkIsUUFBUyxvQkFJUGl1QixRQUFldnZCLEVBQUkwUCxJQUFJcWMsU0FBU0MsT0FBOEJILEdBQzlEdlYsUUFBZXRXLEVBQUk4UCxhQUFhNGdCLFVBQVVuQixFQUFPalosUUFDbkRBLEdBQVE3UyxjQUNKMnJCLEdBQWFwdkIsRUFBS3NXLEVBQU83UyxPQUFPekQsR0FBTSxTQUFVdXZCLEVBQU9qWixTQTJCM0NzYSxDQUFhNXdCLEVBQUs0QixHQUN4QixNQUNGLFFBR0UsT0FGQTVCLEVBQUlnTyxJQUFJdEwsS0FBSyxtQkFBbUIyc0IsVUFDaENydkIsRUFBSWdPLElBQUl0TCxLQUFLLDZEQUlqQjFDLEVBQUlnTyxJQUFJbk8sUUFBUSx5QkFDRCxXQUFYd3ZCLEdBQ0ZydkIsRUFBSWdPLElBQUlDLEtBQUssaUVBRWpCLENBQUUsTUFBT2dFLEdBRVAsR0FEQWpTLEVBQUlnTyxJQUFJM00sTUFBTTRRLEdBQ1ZoUSxRQUFRNHVCLEtBQUt2ekIsU0FBUyxXQUN4QixNQUFNMlUsQ0FFVixDQUNELEVBOUJBLEdBOEJJMVEsTUFBTTBRLElBQ1RqUyxFQUFJZ08sSUFBSTNNLE1BQU00USxTS25QbEJ0QixHQUFrQixDQUN0QnVFLE9BQVNsVixJQUNQQSxFQUFJMFAsSUFBSW1iLFFBQ0xHLFFBQVEsVUFDUkMsWUFBWSxvQkFDWkMsVUFBVSxjQUNWMkIsTUFBTSxLQUNOMUIsT0FBUWp3QixJQUNOLFdBQ0MsTUFBTTQxQixFQUFZNTFCLEVBQ2ZrVSxJQUFLL1IsR0FDR21CLEdBQU1uQixHQUFRQSxFQUFPbkIsRUFBS2tFLFFBQVEvQyxJQUUxQzB6QixPQUFRMXpCLElBQ1AsTUFBTTJ6QixFQUFRcnhCLEVBQUd3QyxXQUFXOUUsSUFBU21CLEdBQU1uQixHQUkzQyxPQUhLMnpCLEdBQ0hoeEIsRUFBSWdPLElBQUl0TCxLQUFLLEdBQUdyRixxQkFFWDJ6QixVQUVMaHhCLEVBQUkyUSxPQUFPbWdCLEVBQ2xCLEVBYkEsR0FhSXZ2QixNQUFNMFEsSUFDVGpTLEVBQUlnTyxJQUFJM00sTUFBTTRRLFNDMUJsQmdmLEdBQWUsQ0FDbkIvYixPQUFRM1YsTUFBT1MsSUFDYixNQUFNMFAsRUFBTTFQLEVBQUkwUCxJQUNoQkEsRUFBSW1iLFFBQ0RHLFFBQVEsT0FDUkUsVUFBVSxZQUNWRCxZQUFZLHdCQUNaRSxPQUFRa0UsSUFDTixXQUNDLElBQ0UsSUFBSXhELEVBQWlCLEdBQ3JCLE1BQU1wb0IsRUFBc0IsQ0FDMUI0UixTQUFVLENBQ1JsVyxLQUFNLE9BQ055QyxLQUFNLFdBQ05OLFFBQVMsa0JBQ1RxckIsUUFBUzNzQixFQUFJaVEsT0FBT29GLFNBQVNhLFlBQVk5RyxJQUFLL1IsSUFDckMsQ0FDTHVFLEtBQU11c0IsR0FBb0JudUIsR0FBSzNDLElBQVNBLEVBQ3hDaXZCLE1BQU9qdkIsS0FHWHl1QixRQUFTOXJCLEVBQUkyTixVQUFVLG9CQUFzQjNOLEVBQUkyTixVQUFVLG1CQUFxQixRQUVsRnFILFlBQWEsQ0FDWDdWLEtBQU0sT0FDTnlDLEtBQU0sY0FDTk4sUUFBUyxvQkFDVHFyQixRQUFTM3NCLEVBQUlpUSxPQUFPK0UsWUFBWWtCLFlBQ2hDNFYsUUFBUzlyQixFQUFJMk4sVUFBK0IsdUJBQXlCLFFBRXZFb0ksUUFBUyxDQUNQNVcsS0FBTSxXQUNOeUMsS0FBTSxVQUNOTixRQUFTLGNBQ1RxckIsUUFBUzNzQixFQUFJOFAsYUFBYTZnQixjQUMxQjdFLFFBQVM1dUIsT0FBT0MsS0FBSzZDLEVBQUkyTixVQUFVLGlCQUFpQm9qQixPQUFRMXpCLEdBQzFEMkMsRUFBSTJOLFVBQVUsZ0JBQWdCdFEsUUFLcEMsR0FBSWd5QixFQUFRLENBQ1YsSUFBSTVyQixFQUFPNHJCLEdBS1QsT0FGQXJ2QixFQUFJZ08sSUFBSXRMLEtBQUssbUJBQW1CMnNCLFVBQ2hDcnZCLEVBQUlnTyxJQUFJdEwsS0FBSyxzREFIYm1wQixFQUFRMVksS0FBSzFQLEVBQU80ckIsR0FNeEIsTUFDRXhELEVBQVUzdUIsT0FBT0MsS0FBS3NHLEdBQVEyTCxJQUFLL1IsR0FBaUJvRyxFQUFPcEcsSUFFN0QsTUFBTWt5QixRQUFlN2YsRUFBSXFjLFNBQVNDLE9BQVlILEdBRzlDLEdBQUkwRCxFQUFPeFosUUFBUyxDQUNsQixNQUFNQSxFQUFVL1YsRUFBSTJOLFVBQWtDLGdCQUN0RHpRLE9BQU9DLEtBQUs0WSxHQUFTeVQsUUFBU25zQixJQUN4Qmt5QixFQUFPeFosUUFBUXpZLFNBQVNELEdBQzFCMFksRUFBUTFZLElBQVEsRUFFaEIwWSxFQUFRMVksSUFBUSxJQUlwQjJDLEVBQUl1USxXQUFXLENBQ2IyZ0IsYUFBY25iLEdBRWxCLENBRUEvVixFQUFJdVEsV0FBVyxDQUNiLGlCQUFrQmdmLEVBQU9sYSxVQUFZclYsRUFBSTJOLFVBQWtCLGtCQUMzRCxrQkFBbUI0aEIsRUFBT2xhLFVBQVlyVixFQUFJMk4sVUFBa0Isa0JBQzVELHFCQUFzQjRoQixFQUFPdmEsYUFBZSxTQUU5Q2hWLEVBQUlnTyxJQUFJbk8sUUFBUSxnQ0FDbEIsQ0FBRSxNQUFPb1MsR0FFUCxHQURBalMsRUFBSWdPLElBQUkzTSxNQUFNNFEsR0FDVmhRLFFBQVE0dUIsS0FBS3Z6QixTQUFTLFdBQ3hCLE1BQU0yVSxDQUVWLENBQ0QsRUEzRUEsR0EyRUkxUSxNQUFNMFEsSUFDVGpTLEVBQUlnTyxJQUFJM00sTUFBTTRRLGVDckZYa2YsR0FDWEMscUJBS2lCeHZCLEtBSUE4cUIsS0FJQTJFLFlBRWpCLFdBQUFoa0IsQ0FBWXpMLEdBQ1YyTCxLQUFLM0wsS0FBT0EsRUFDWjJMLEtBQUttZixLQUFPLElBQUk0RSxJQUNoQi9qQixLQUFLOGpCLFlBQWMsSUFBSUMsR0FDekIsQ0FFQSxRQUFBQyxDQUFTaHBCLEVBQVkrTixHQUNuQixJQUFLL04sRUFBSSxNQUFNLElBQUlpcEIsVUFBVSxtQkFDN0IsR0FBNkIsbUJBQWxCbGIsRUFBT3BCLE9BQXVCLE1BQU0sSUFBSXNjLFVBQVUscUNBQzdELEdBQUlqa0IsS0FBS21mLEtBQUtoWixJQUFJbkwsR0FBSyxNQUFNLElBQUlpcEIsVUFBVSxHQUFHamtCLEtBQUszTCxzQkFBc0IyRyxNQUV6RWdGLEtBQUttZixLQUFLK0UsSUFBSWxwQixFQUFJK04sR0FFZDZhLEdBQWlCTyxnQkFDZm5rQixLQUFLOGpCLFlBQVkzZCxJQUFJeWQsR0FBaUJPLGVBQ3hDbmtCLEtBQUs4akIsWUFBWWx3QixJQUFJZ3dCLEdBQWlCTyxnQkFBZ0J2ZSxLQUFLNUssR0FFM0RnRixLQUFLOGpCLFlBQVlJLElBQUlOLEdBQWlCTyxjQUFlLENBQUNucEIsSUFHNUQsQ0FFQSxVQUFBb3BCLENBQVdsQixHQUNULEdBQUlsakIsS0FBSzhqQixZQUFZM2QsSUFBSStjLEdBQWEsQ0FDcEMsTUFBTW1CLEVBQWFya0IsS0FBSzhqQixZQUFZbHdCLElBQUlzdkIsR0FDeENtQixHQUFZcEksUUFBU2xULElBQ25CL0ksS0FBS21mLEtBQUttRixPQUFPdmIsSUFFckIsQ0FDRixDQUVBLE9BQUFGLEdBQ0UsT0FBTzdJLEtBQUszTCxJQUNkLENBRUEsR0FBQVQsQ0FBSW9ILEdBQ0YsT0FBT2dGLEtBQUttZixLQUFLdnJCLElBQUlvSCxFQUN2QixDQUVBLE9BQUF5TixHQUNFLE1BQU8sSUFBSXpJLEtBQUttZixLQUFLb0YsU0FDdkIsQ0FFQSxTQUFBNWIsR0FDRSxNQUFPLElBQUkzSSxLQUFLbWYsS0FBS3Z2QixPQUN2QixFQUdLLE1BQU00MEIsR0FBdUIsQ0FBQ253QixFQUFzQixRQUN6RHV2QixHQUFpQk8sY0FBZ0I5dkIsU0M1RHRCb3dCLEdBQ01wd0IsS0FBTyxZQUN4Qnd2QixxQkFDaUIxRSxLQUFPLElBQUk0RSxJQUNYRCxZQUFjLElBQUlDLElBQ2xCdHhCLElBRWpCNnFCLFFBQ0FrQixTQUVBLFdBQUExZSxDQUFZck4sR0FDVnVOLEtBQUtzZCxRQUFVLElBQUlvSCxFQUNuQjFrQixLQUFLd2UsU0FBV0EsRUFDaEJ4ZSxLQUFLdk4sSUFBTUEsQ0FDYixDQUVBLE9BQUFvVyxHQUNFLE9BQU83SSxLQUFLM0wsSUFDZCxDQUVBLElBQUFzd0IsR0NqQmEsSUFBQ2x5QixFRGtCWnVOLEtBQUtzZCxRQUNGc0gsUUFBUSxRQUEyQixpQkFDbkNySCxPQUFPLGNBQWUsYUFBYyxLQUNuQ3ZkLEtBQUt2TixJQUFJeVEsVUFBVSxDQUNqQjJoQixPQUFPLE1BR1Z0SCxPQUFPLGVBQWdCLGNBQWUsS0FDckN2ZCxLQUFLdk4sSUFBSXlRLFVBQVUsQ0FDakI0aEIsUUFBUSxNQUdYdmhCLEdBQUcsWUFBYSxLQUNmdkQsS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFDWCxvQkFBb0JrTSxLQUFLc2QsUUFBUVgsS0FBS3J2QixLQUFLLHNEQUU3Q29ILFFBQVFxd0IsS0FBSyxNQ2xDTHR5QixFRHNDRHVOLEtBQUt2TixLQ3JDZDBQLElBQUk2aEIsU0FBUyxnQkFBaUJ4aEIsSUFDbEMvUCxFQUFJMFAsSUFBSTZoQixTQUFTLFNBQVU5dEIsSUFDM0J6RCxFQUFJMFAsSUFBSTZoQixTQUFTLGdCQUFpQmxoQixJQUNsQ3JRLEVBQUkwUCxJQUFJNmhCLFNBQVMsVUFBV25CLElBQzVCcHdCLEVBQUkwUCxJQUFJNmhCLFNBQVMsU0FBVTVnQixJQUMzQjNRLEVBQUkwUCxJQUFJNmhCLFNBQVMsTUFBT04sSUFDeEJqeEIsRUFBSTBQLElBQUk2aEIsU0FBUyxRQUFTekUsSUFDMUI5c0IsRUFBSTBQLElBQUk2aEIsU0FBUyxPQUFRbmhCLEdEK0J6QixDQUVBLFFBQUFtaEIsQ0FBU2hwQixFQUFZK04sR0FDbkIsSUFBSy9OLEVBQUksTUFBTSxJQUFJaXBCLFVBQVUscUJBQzdCLEdBQTZCLG1CQUFsQmxiLEVBQU9wQixPQUF1QixNQUFNLElBQUlzYyxVQUFVLHFDQUM3RCxHQUFJamtCLEtBQUttZixLQUFLaFosSUFBSW5MLEdBQUssTUFBTSxJQUFJaXBCLFVBQVUsR0FBR2prQixLQUFLM0wsNkJBQTZCMkcsTUFDaEZnRixLQUFLbWYsS0FBSytFLElBQUlscEIsRUFBSStOLEdBQ2xCLE1BQU1pYyxFRGVEcEIsR0FBaUJPLGNDZEksT0FBdEJhLElBQ0VobEIsS0FBSzhqQixZQUFZM2QsSUFBSTZlLEdBQ3ZCaGxCLEtBQUs4akIsWUFBWWx3QixJQUFJb3hCLElBQW9CcGYsS0FBSzVLLEdBRTlDZ0YsS0FBSzhqQixZQUFZSSxJQUFJYyxFQUFtQixDQUFDaHFCLElBRy9DLENBRUEsVUFBQW9wQixDQUFXbEIsR0FDVCxHQUFJbGpCLEtBQUs4akIsWUFBWTNkLElBQUkrYyxHQUFhLENBQ3BDLE1BQU1tQixFQUFhcmtCLEtBQUs4akIsWUFBWWx3QixJQUFJc3ZCLEdBQ3hDbUIsR0FBWXBJLFFBQVNsVCxJQUNuQi9JLEtBQUttZixLQUFLbUYsT0FBT3ZiLElBRXJCLENBQ0YsQ0FFQSxZQUFBa2MsR0FDRWpsQixLQUFLeUksVUFBVXdULFFBQVNuc0IsSUFDdEIsSUFDRUEsRUFBSzZYLE9BQU8zSCxLQUFLdk4sSUFDbkIsQ0FBRSxNQUFPaVMsR0FDUDFFLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU00USxFQUNyQixHQUVKLENBRUEsR0FBQTlRLENBQUlvSCxHQUNGLE9BQU9nRixLQUFLbWYsS0FBS3ZyQixJQUFJb0gsRUFDdkIsQ0FFQSxPQUFBeU4sR0FDRSxNQUFPLElBQUl6SSxLQUFLbWYsS0FBS29GLFNBQ3ZCLENBRUEsU0FBQTViLEdBQ0UsTUFBTyxJQUFJM0ksS0FBS21mLEtBQUt2dkIsT0FDdkIsUUVuRldzMUIsR0FDTUMsTUFBUSxDQUN2QixDQUFDL2xCLEdBQVM5TSxTQUFVLFFBQ3BCLENBQUM4TSxHQUFTc0IsTUFBTyxPQUNqQixDQUFDdEIsR0FBU2pLLE1BQU8sU0FDakIsQ0FBQ2lLLEdBQVN0TCxPQUFRLE9BR0hyQixJQUNUMnlCLFNBQ0FDLFFBQ1IsV0FBQXZsQixDQUFZck4sR0FDVnVOLEtBQUt2TixJQUFNQSxDQUNiLENBRVEsU0FBQTZ5QixDQUFVMXpCLEtBQW1CdVcsR0FFbkMsR0FEQW5JLEtBQUtvbEIsU0FBV3BsQixLQUFLdk4sSUFBSTJOLFVBQVUsc0JBQzlCSixLQUFLdk4sSUFBSTJOLFVBQStCLFdBQWFKLEtBQUt1bEIsY0FBYzN6QixFQUFNb08sS0FBS29sQixVQUFXLENBQ2pHLE1BQU1JLEVBQVlDLEVBQU16bEIsS0FBS21sQixNQUFNdnpCLElBQW9CLFlBQVlBLEVBQUsrdUIsbUJBQ3hFMXJCLFFBQVF3TCxJQUFJK2tCLEtBQWNyZCxHQUMxQm5JLEtBQUtxbEIsUUFDSHJsQixLQUFLdk4sSUFBSTJOLFVBQStCLHFCQUF1QnpSLEVBQUtyQixLQUFLMFMsS0FBS3ZOLElBQUl3TixRQUFTLGlCQUM3Ri9MLFdBQVcsS0FDVCxJQUNFLE1BQU13eEIsRUFBUzFsQixLQUFLMmxCLG9CQUFvQjNsQixLQUFLcWxCLFNBQzdDLEdBQUlLLEVBQU9FLFFBQVMsQ0FDbEIsTUFBTUMsRUFBYSw0QkFBNEJILEVBQU9JLGlCQUFvQixLQUFPLE1BQVEsOEJBQ3pGN3dCLFFBQVF3TCxJQUFJZ2xCLEVBQU1NLE9BQU8sbUJBQW9CRixHQUM3QzdsQixLQUFLZ21CLGdCQUFnQmhtQixLQUFLcWxCLFNBQzFCbGQsRUFBSThkLFFBQVFKLEVBQ2QsQ0FDQTdsQixLQUFLa21CLGVBQWVsbUIsS0FBS3FsQixRQUFTenpCLEtBQVN1VyxFQUM3QyxDQUFFLE1BQU96RCxHQUNQelAsUUFBUW5CLE1BQU0sNENBQTZDNFEsRUFDN0QsR0FDQyxFQUNMLENBQ0YsQ0FFUSxtQkFBQWloQixDQUFvQk4sR0FLMUIsR0FBSWp6QixFQUFHd0MsV0FBV3l3QixHQUFVLENBQzFCLE1BQU1jLEVBQWMvekIsRUFBR21PLFNBQVM4a0IsR0FBUzdrQixLQUNuQ3NsQixFQUNzRixLQUExRnR2QixHQUFZd0osS0FBS3ZOLElBQUkyTixVQUErQiw4QkFBZ0MsSUFBYSxLQUNuRyxNQUFPLENBQ0x3bEIsUUFBU08sRUFBY0wsRUFDdkJLLGNBQ0FMLG1CQUVKLENBQ0EsTUFBTyxDQUFFRixTQUFTLEVBQ3BCLENBRVEsZUFBQUksQ0FBZ0JYLEdBQ2xCanpCLEVBQUd3QyxXQUFXeXdCLEtBQ2hCanpCLEVBQUdnMEIsV0FBV2YsR0FDZGdCLEVBQWVoQixHQUVuQixDQUVRLGNBQUFhLENBQWViLEVBQWlCenpCLEtBQWlCdVcsR0FDdkQsSUFDRSxJQUFJMUgsRUFBTSxHQUFHNmxCLElBQVEzckIsT0FBTyxtQ0FBbUMvSSxFQUFLK3VCLGtCQUNwRXhZLEVBQUk4VCxRQUFTbnNCLElBQ1BBLGFBQWdCd1UsT0FBa0IsVUFBVDFTLEVBQzNCNk8sR0FBTyxvQ0FBb0M4bEIsRUFBSzVyQixPQUFPN0ssR0FBTTAyQiwwQ0FFekMsaUJBQVQxMkIsSUFDVEEsRUFBT3dHLEtBQUsyb0IsVUFBVW52QixFQUFNLEtBQU0sSUFFcEMyUSxHQUFPLEdBQUczUSxRQUdkMlEsR0FBTyxLQUNQck8sRUFBR3EwQixlQUFlcEIsRUFBUzVrQixFQUM3QixDQUFFLE1BQU9pRSxHQUNQelAsUUFBUW5CLE1BQU0sc0NBQXVDNFEsRUFDdkQsQ0FDRixDQUVRLGFBQUE2Z0IsQ0FBYzN6QixFQUFjdXpCLEdBQ2xDLFlBQWN6MUIsSUFBVnkxQixHQUFpQyxRQUFWQSxJQUN2QnA0QixNQUFNb0osUUFBUWd2QixHQUNUQSxFQUFNdDFCLEtBQU1DLEdBQWlCQSxJQUFTOEIsR0FBaUIsUUFBVDlCLEdBRWhEOEIsSUFBU3V6QixFQUNsQixDQUVBLE9BQUE3eUIsSUFBVzZWLEdBQ1RuSSxLQUFLc2xCLFVBQVVsbUIsR0FBUzlNLFdBQVk2VixFQUN0QyxDQUVBLElBQUF6SCxJQUFReUgsR0FDTm5JLEtBQUtzbEIsVUFBVWxtQixHQUFTc0IsUUFBU3lILEVBQ25DLENBRUEsS0FBQXJVLElBQVNxVSxHQUNQbkksS0FBS3NsQixVQUFVbG1CLEdBQVN0TCxTQUFVcVUsRUFDcEMsQ0FFQSxJQUFBaFQsSUFBUWdULEdBQ05uSSxLQUFLc2xCLFVBQVVsbUIsR0FBU2pLLFFBQVNnVCxFQUNuQyxDQUVBLEtBQUEwYyxJQUFTMWMsR0FDSHhSLE1BQ0ZxSixLQUFLc2xCLFVBQVVsbUIsR0FBU3NCLFFBQVN5SCxFQUVyQyxRQzVHV3VlLEdBRU1qMEIsSUFDakIsV0FBQXFOLENBQVlyTixHQUNWdU4sS0FBS3ZOLElBQU1BLENBQ2IsQ0FFQSxhQUFNZ3RCLENBQ0pqWCxFQUNBNVAsRUFBaUMsQ0FBQSxFQUNqQ2hDLEdBRUEsTUFBTSt2QixFQUE2QixHQUM3QkMsRUFBaUJwZSxFQUNwQjNHLElBQUsvUixHQUFpQisyQixHQUF3QjdtQixLQUFLdk4sSUFBSzNDLElBQ3hEMHpCLE9BQU8xekIsR0FHRmtRLEtBQUt2TixJQUFJOFAsYUFBYXVrQixVQUFVaDNCLEVBQUtpM0IsVUFDdkNKLEVBQWlCL2dCLEtBQUs5VixFQUFLaTNCLFNBQzNCL21CLEtBQUt2TixJQUFJZ08sSUFBSW5PLFFBQVEsaUNBQWlDeEMsRUFBS2kzQixZQUNwRCxLQUdKajNCLEVBQUt3QyxTQUtSMDBCLEVBQWVKLEVBQWUva0IsSUFBSS9SLEdBQVFBLEVBQUttM0IsVUFDL0NDLEVBQWNOLEVBQWUva0IsSUFBSS9SLEdBQVFBLEVBQUtpM0IsU0FDcEQsR0FBSUMsRUFBYW42QixPQUFTLEVBQUcsQ0FJM0IsTUFBTTY0QixRQUFlMWxCLEtBQUttbkIsWUFBWSxVQUFXSCxFQUFjaG5CLEtBQUt2TixJQUFJd04sUUFBU3JILEVBQVNoQyxHQUMxRixHQUFLOHVCLEVBQU8wQixLQWNMLENBQ0wsTUFBTUMsRUFBTXJuQixLQUFLdk4sSUFBSW9RLEtBQUs2WixVQUF1Qiw4Q0FBK0MsQ0FDOUYwSyxLQUFNLEdBQUcxQixFQUFPMEIsT0FDaEI5ekIsS0FBTW95QixFQUFPcHlCLE9BRWYwTSxLQUFLdk4sSUFBSWdPLElBQUkzTSxNQUFNdXpCLEdBQ25Ccm5CLEtBQUt2TixJQUFJdVIsS0FBSyxnQkFBaUIsQ0FDN0JzakIsTUFBT3RuQixLQUFLdk4sSUFBSW9RLEtBQUs2WixVQUF1Qix3Q0FDNUM2SyxLQUFNRixJQU1SLE1BSnlDLENBQ3ZDLzBCLFNBQVMsRUFDVGkxQixLQUFNRixFQUdWLENBNUJFLElBQUssTUFBTXYzQixLQUFRazNCLFFBQ1hobkIsS0FBS3ZOLElBQUk4UCxhQUFhaWxCLGVBQWUxM0IsR0FFN0NrUSxLQUFLdk4sSUFBSWdPLElBQUluTyxRQUFRME4sS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIsMENBQzFEMWMsS0FBS3ZOLElBQUl1UixLQUFLLGlCQUFrQixDQUM5QnNqQixNQUFPdG5CLEtBQUt2TixJQUFJb1EsS0FBSzZaLFVBQXVCLHlDQUM1QzZLLEtBQU0sSUFBSUwsS0FBZ0JQLEtBTTVCLE1BSndDLENBQ3RDcjBCLFNBQVMsRUFDVGkxQixLQUFNLElBQUlMLEtBQWdCUCxHQW1CaEMsQ0FBTyxHQUFnQyxJQUE1QkEsRUFBaUI5NUIsT0FBYyxDQUN4QyxNQUFNdzZCLEVBQU1ybkIsS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIsZ0RBQ2pEMWMsS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFBTXV6QixHQUNuQnJuQixLQUFLdk4sSUFBSXVSLEtBQUssZ0JBQWlCLENBQzdCc2pCLE1BQU90bkIsS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIsd0NBQzVDNkssS0FBTUYsSUFNUixNQUp5QyxDQUN2Qy8wQixTQUFTLEVBQ1RpMUIsS0FBTUYsRUFHVixDQUNFcm5CLEtBQUt2TixJQUFJZ08sSUFBSW5PLFFBQVEwTixLQUFLdk4sSUFBSW9RLEtBQUs2WixVQUF1QiwwQ0FDMUQxYyxLQUFLdk4sSUFBSXVSLEtBQUssaUJBQWtCLENBQzlCc2pCLE1BQU90bkIsS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIseUNBQzVDNkssS0FBTSxJQUFJTCxLQUFnQlAsS0FNNUIsTUFKd0MsQ0FDdENyMEIsU0FBUyxFQUNUaTFCLEtBQU0sSUFBSUwsS0FBZ0JQLEdBSWhDLENBRUEsZUFBTWpILENBQVVsWCxHQUNkLE1BR00wZSxFQUhpQjFlLEVBQ3BCM0csSUFBSy9SLEdBQWlCKzJCLEdBQXdCN21CLEtBQUt2TixJQUFLM0MsSUFDeEQwekIsT0FBTzF6QixHQUFRQSxFQUFLd0MsU0FDWXVQLElBQUkvUixHQUFRQSxFQUFLaTNCLFNBQ3BELEdBQUlHLEVBQVlyNkIsT0FBUyxFQUFHLENBRzFCLE1BQU02NEIsUUFBZTFsQixLQUFLbW5CLFlBQVksWUFBYUQsRUFBYWxuQixLQUFLdk4sSUFBSXdOLFNBQ3pFLEdBQUt5bEIsRUFBTzBCLEtBY0wsQ0FDTCxNQUFNQyxFQUFNcm5CLEtBQUt2TixJQUFJb1EsS0FBSzZaLFVBQXVCLGdEQUFpRCxDQUNoRzBLLEtBQU0sR0FBRzFCLEVBQU8wQixPQUNoQjl6QixLQUFNb3lCLEVBQU9weUIsT0FFZjBNLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU11ekIsR0FDbkJybkIsS0FBS3ZOLElBQUl1UixLQUFLLGtCQUFtQixDQUMvQnNqQixNQUFPdG5CLEtBQUt2TixJQUFJb1EsS0FBSzZaLFVBQXVCLDBDQUM1QzZLLEtBQU1GLElBTVIsTUFKeUMsQ0FDdkMvMEIsU0FBUyxFQUNUaTFCLEtBQU1GLEVBR1YsQ0E1QkVILEVBQVlqTCxRQUFTaUgsSUFDbkJsakIsS0FBS3ZOLElBQUk4UCxhQUFha2xCLGlCQUFpQnZFLEtBRXpDbGpCLEtBQUt2TixJQUFJZ08sSUFBSW5PLFFBQVEwTixLQUFLdk4sSUFBSW9RLEtBQUs2WixVQUF1Qiw0Q0FDMUQxYyxLQUFLdk4sSUFBSXVSLEtBQUssbUJBQW9CLENBQ2hDc2pCLE1BQU90bkIsS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIsMkNBQzVDNkssS0FBTUwsSUFNUixNQUp3QyxDQUN0QzUwQixTQUFTLEVBQ1RpMUIsS0FBTUwsRUFtQlosQ0FBTyxDQUNMLE1BQU1HLEVBQU1ybkIsS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIsZ0RBQ2pEMWMsS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFBTXV6QixHQUNuQnJuQixLQUFLdk4sSUFBSXVSLEtBQUssa0JBQW1CLENBQy9Cc2pCLE1BQU90bkIsS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIsMENBQzVDNkssS0FBTUYsSUFNUixNQUp5QyxDQUN2Qy8wQixTQUFTLEVBQ1RpMUIsS0FBTUYsRUFHVixDQUNGLENBRUEsWUFBTXY1QixDQUNKMGEsRUFDQTVQLEVBQWlDLENBQUEsRUFDakNoQyxHQUVBLE1BR01zd0IsRUFIaUIxZSxFQUNwQjNHLElBQUsvUixHQUFpQisyQixHQUF3QjdtQixLQUFLdk4sSUFBSzNDLElBQ3hEMHpCLE9BQU8xekIsR0FBUUEsRUFBS3dDLFNBQ1l1UCxJQUFJL1IsR0FBUUEsRUFBS2kzQixTQUNwRCxHQUFJRyxFQUFZcjZCLE9BQVMsRUFBRyxDQUcxQixNQUFNNjRCLFFBQWUxbEIsS0FBS21uQixZQUFZLFNBQVVELEVBQWFsbkIsS0FBS3ZOLElBQUl3TixRQUFTckgsRUFBU2hDLEdBQ3hGLEdBQUs4dUIsRUFBTzBCLEtBV0wsQ0FDTCxNQUFNQyxFQUFNcm5CLEtBQUt2TixJQUFJb1EsS0FBSzZaLFVBQXVCLDZDQUE4QyxDQUM3RjBLLEtBQU0sR0FBRzFCLEVBQU8wQixPQUNoQjl6QixLQUFNb3lCLEVBQU9weUIsT0FFZjBNLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU11ekIsR0FDbkJybkIsS0FBS3ZOLElBQUl1UixLQUFLLGVBQWdCLENBQzVCc2pCLE1BQU90bkIsS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIsdUNBQzVDNkssS0FBTUYsSUFNUixNQUp5QyxDQUN2Qy8wQixTQUFTLEVBQ1RpMUIsS0FBTUYsRUFHVixDQXpCRXJuQixLQUFLdk4sSUFBSWdPLElBQUluTyxRQUFRME4sS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIseUNBQzFEMWMsS0FBS3ZOLElBQUl1UixLQUFLLGdCQUFpQixDQUM3QnNqQixNQUFPdG5CLEtBQUt2TixJQUFJb1EsS0FBSzZaLFVBQXVCLHdDQUM1QzZLLEtBQU1MLElBTVIsTUFKd0MsQ0FDdEM1MEIsU0FBUyxFQUNUaTFCLEtBQU1MLEVBbUJaLENBQU8sQ0FDTCxNQUFNRyxFQUFNcm5CLEtBQUt2TixJQUFJb1EsS0FBSzZaLFVBQXVCLDZDQUNqRDFjLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU11ekIsR0FDbkJybkIsS0FBS3ZOLElBQUl1UixLQUFLLGVBQWdCLENBQzVCc2pCLE1BQU90bkIsS0FBS3ZOLElBQUlvUSxLQUFLNlosVUFBdUIsdUNBQzVDNkssS0FBTUYsSUFNUixNQUp5QyxDQUN2Qy8wQixTQUFTLEVBQ1RpMUIsS0FBTUYsRUFHVixDQUNGLENBRVEsaUJBQU1GLENBQ1pobEIsRUFDQXVsQixFQUNBQyxFQUNBL3VCLEVBQWlDLENBQUEsRUFDakNoQyxFQUFtQixJQUduQixNQUFNNG9CLEVBQVc1bUIsRUFBUTRtQixVQUFZeGYsS0FBS3ZOLElBQUkyTixVQUErQixxQkFDdkVtZixFQUFRM21CLEVBQVEybUIsT0FBU3ZmLEtBQUt2TixJQUFJMk4sVUFBK0Isa0JBQ3ZFLGFBQWEsSUFBSXhOLFFBQVNDLElBQ3hCLElBQUk4cEIsRUFBTyxDQUFDeGEsR0FBS3lsQixPQUFPRixHQUFTRSxPQUFPLGtCQUFrQkEsT0FBTyxVQUM3RHBJLElBQ0Y3QyxFQUFPQSxFQUFLaUwsT0FBTyxjQUFjcEksTUFFL0JELElBQ0Y1QyxFQUFPQSxFQUFLaUwsT0FBTyxXQUFXckksTUFFaEMsSUFDRSxNQUFNc0ksRUFBTUMsRUFBTSxNQUFPbkwsRUFBTSxDQUM3QmhvQixJQUFLZ3pCLEVBQ0wvd0IsSUFBSyxJQUFLbEMsUUFBUWtDLE9BQVFBLEtBRzVCLElBQUl3TCxFQUFTLEdBQ2J5bEIsRUFBSUUsUUFDQXhrQixHQUFHLE9BQVNqUSxJQUNaOE8sR0FBVTlPLElBRVgwMEIsS0FBS3R6QixRQUFRcXpCLFFBRWhCRixFQUFJSSxRQUNBMWtCLEdBQUcsT0FBU2pRLElBQ1o4TyxHQUFVOU8sSUFFWDAwQixLQUFLdHpCLFFBQVF1ekIsUUFFaEJKLEVBQUl0a0IsR0FBRyxRQUFVNmpCLElBSWJ2MEIsRUFIR3UwQixFQUdLLENBQUVBLE9BQU05ekIsS0FBTThPLEdBRmQsQ0FBRWdsQixLQUFNLEVBQUc5ekIsS0FBTThPLE1BTTdCeWxCLEVBQUl0a0IsR0FBRyxRQUFVOGpCLElBQ2ZybkIsS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFBTXV6QixHQUNuQnJuQixLQUFLdk4sSUFBSWdPLElBQUkzTSxNQUFNLHdCQUNuQmtNLEtBQUt2TixJQUFJdVIsS0FBSzNFLEdBQWNnRyxPQUFRLHlCQUV4QyxDQUFFLE1BQU9YLEdBQ1AxRSxLQUFLdk4sSUFBSWdPLElBQUkzTSxNQUFNNFEsR0FDbkIxRSxLQUFLdk4sSUFBSXVSLEtBQUszRSxHQUFjZ0csT0FBUVgsRUFDdEMsR0FFSixFQVFGLE1BQU1taUIsR0FBMEIsQ0FBQ3AwQixFQUFhOEIsS0FDNUMsTUFBTXhCLEVBQU0sQ0FDVlQsU0FBUyxFQUNUMjBCLFNBQVUsR0FDVkYsUUFBUyxJQUVMckIsRUFBUzN3QixHQUFxQlIsRUFBWTlCLEVBQUlnTyxLQUNwRCxJQUFLaWxCLEVBQ0gsT0FBTzN5QixFQUlULE1BQU1nMEIsRUFBVTN4QixHQUFvQnN3QixFQUFRanpCLEVBQUlnTyxLQUNoRCxPQUFLc21CLEVBR0UsQ0FDTHowQixTQUFTLEVBQ1QyMEIsU0FBVXZCLEVBQ1ZxQixXQUxPaDBCLFNDeFJFbTFCLEdBQ016MUIsSUFDVDBzQixLQUFpQixHQUNSZ0osU0FBVyxJQUFJcG1CLElBQ2ZxbUIsVUFBWSxJQUFJckUsSUFDakMsV0FBQWprQixDQUFZck4sR0FDVnVOLEtBQUt2TixJQUFNQSxFQUNYdU4sS0FBSzJrQixNQUNQLENBRVEsSUFBQUEsR0FDTixNQUFNMEQsRUFBYzE1QixFQUFLckIsS0FBSzBTLEtBQUt2TixJQUFJd04sUUFBUyxnQkFDaEQsSUFBSzdOLEVBQUd3QyxXQUFXeXpCLEdBQWMsQ0FDL0IsTUFBTTd5QixFQUFNLENBQ1ZuQixLQUFNLGdCQUNOcXBCLFlBQWEsZ0JBQ2I0SyxXQUFZLDZDQUNaQyxRQUFTLE9BRVhuMkIsRUFBR3dPLGNBQWN5bkIsRUFBYS94QixLQUFLMm9CLFVBQVV6cEIsR0FBTSxPQUNyRCxDQUNGLENBR1EsYUFBQWd6QixDQUFjLzFCLEVBQWE0QixHQUNqQyxJQUNFLE9BQU94QixFQUFRNDFCLEtBQUtwMEIsRUFBTSxDQUFFcTBCLFFBQVNqMkIsRUFBSXdOLFNBQzNDLENBQUUsTUFBTzVPLEdBQ1AsT0FBTzFDLEVBQUtyQixLQUFLbUYsRUFBSXdOLFFBQVMsZUFBZ0I1TCxFQUNoRCxDQUNGLENBR0EsVUFBTW1vQixHQUNKLE1BQU1tTSxFQUFZaDZCLEVBQUtyQixLQUFLMFMsS0FBS3ZOLElBQUl3TixRQUFTLGlCQUU5QyxJQUFLN04sRUFBR3dDLFdBQVcrekIsR0FDakIsT0FBTyxFQUVULE1BQU1OLEVBQWMxNUIsRUFBS3JCLEtBQUswUyxLQUFLdk4sSUFBSXdOLFFBQVMsZ0JBQzFDMm9CLEVBQU9uekIsRUFBYTR5QixHQUNwQlEsRUFBT2w1QixPQUFPQyxLQUFLZzVCLEVBQUtFLGNBQWdCLENBQUEsR0FDeENDLEVBQVVwNUIsT0FBT0MsS0FBS2c1QixFQUFLSSxpQkFBbUIsQ0FBQSxHQUM5Q3RCLEVBQVVtQixFQUFLakIsT0FBT21CLEdBQVN2RixPQUFRbnZCLElBQzNDLElBQUssd0NBQXdDbkQsS0FBS21ELEdBQU8sT0FBTyxFQUNoRSxNQUFNMUYsRUFBT3FSLEtBQUt3b0IsY0FBY3hvQixLQUFLdk4sSUFBSzRCLEdBQzFDLE9BQU9qQyxFQUFHd0MsV0FBV2pHLEtBRXZCLElBQUssTUFBTW16QixLQUFVNEYsUUFDYjFuQixLQUFLd25CLGVBQWUxRixHQUU1QixPQUFPLENBQ1QsQ0FFQSxvQkFBTTBGLENBQWVuekIsRUFBYzBVLEdBQ2pDLEdBQUsxVSxHQUF3QixpQkFBVEEsRUFBcEIsQ0FJQTJMLEtBQUttb0IsU0FBU2MsSUFBSTUwQixHQUNsQixJQUVFLEdBQUswVSxFQWNFLENBR0wvSSxLQUFLbWYsS0FBS3ZaLEtBQUt2UixHQUNmbXdCLEdBQXFCbndCLEdBQ3JCLE1BQU02MEIsRUFBa0JuZ0IsRUFBTy9JLEtBQUt2TixLQUNwQ3VOLEtBQUtvb0IsVUFBVWxFLElBQUk3dkIsRUFBTTYwQixHQUN6QkEsRUFBZ0JsRixTQUFTaGtCLEtBQUt2TixJQUNoQyxNQXJCRSxJQUNpRCxJQUEvQ3VOLEtBQUt2TixJQUFJMk4sVUFBVSxnQkFBZ0IvTCxXQUNZM0UsSUFBL0NzUSxLQUFLdk4sSUFBSTJOLFVBQVUsZ0JBQWdCL0wsS0FDbkMsQ0FDQTJMLEtBQUttZixLQUFLdlosS0FBS3ZSLEdBQ2Ztd0IsR0FBcUJud0IsVUFDQzJMLEtBQUttakIsVUFBVTl1QixJQUM1QjJ2QixTQUFTaGtCLEtBQUt2TixLQUN2QixNQUFNc1csRUFBUyxnQkFBZ0IxVSxLQUMvQjJMLEtBQUt2TixJQUFJdVEsV0FBVyxDQUNsQitGLENBQUNBLElBQVMsR0FFZCxDQVVKLENBQUUsTUFBT3JFLEdBQ1AxRSxLQUFLb29CLFVBQVU5RCxPQUFPandCLEdBQ3RCMkwsS0FBS21mLEtBQU9uZixLQUFLbWYsS0FBS3FFLE9BQVExekIsR0FBaUJBLElBQVN1RSxHQUN4RDJMLEtBQUttb0IsU0FBUzdELE9BQU9qd0IsR0FDckIyTCxLQUFLdk4sSUFBSWdPLElBQUkzTSxNQUFNNFEsR0FDbkIxRSxLQUFLdk4sSUFBSXVSLEtBQUszRSxHQUFjOHBCLGFBQWMsQ0FDeEM3QixNQUFPLFVBQVVqekIsZUFDakJrekIsS0FBTTdpQixHQUVWLENBcENBLE1BRkUxRSxLQUFLdk4sSUFBSWdPLElBQUl0TCxLQUFLLDhCQXVDdEIsQ0FFQSxnQkFBQXN5QixDQUFpQnB6QixHQUNmMkwsS0FBS21mLEtBQU9uZixLQUFLbWYsS0FBS3FFLE9BQVExekIsR0FBaUJBLElBQVN1RSxHQUN4RDJMLEtBQUttb0IsU0FBUzdELE9BQU9qd0IsR0FDckIyTCxLQUFLb29CLFVBQVU5RCxPQUFPandCLEdBQ3RCbXdCLEdBQXFCbndCLEdBQ3JCMkwsS0FBS3ZOLElBQUlpUSxPQUFPb0YsU0FBU3NjLFdBQVcvdkIsR0FDcEMyTCxLQUFLdk4sSUFBSWlRLE9BQU8rRSxZQUFZMmMsV0FBVy92QixHQUN2QzJMLEtBQUt2TixJQUFJaVEsT0FBTzhFLHVCQUF1QjRjLFdBQVcvdkIsR0FDbEQyTCxLQUFLdk4sSUFBSWlRLE9BQU9tRixvQkFBb0J1YyxXQUFXL3ZCLEdBQy9DMkwsS0FBS3ZOLElBQUlpUSxPQUFPd0YsbUJBQW1Ca2MsV0FBVy92QixHQUM5QzJMLEtBQUt2TixJQUFJMFAsSUFBSWlpQixXQUFXL3ZCLEdBQ3hCMkwsS0FBS3ZOLElBQUl3USxhQUFhLGVBQWdCNU8sRUFDeEMsQ0FHQSxlQUFNOHVCLENBQVU5dUIsR0FDZCxHQUFJMkwsS0FBS29vQixVQUFVamlCLElBQUk5UixHQUNyQixPQUFPMkwsS0FBS29vQixVQUFVeDBCLElBQUlTLEdBSTVCLElBQUlJLEVBQ0osSUFFRUEsRUFBYXVMLEtBQUt3b0IsY0FBY3hvQixLQUFLdk4sSUFBSzRCLEVBQzVDLENBQUUsTUFBT2hELEdBRVAsTUFBTXMzQixFQUFZaDZCLEVBQUtyQixLQUFLMFMsS0FBS3ZOLElBQUl3TixRQUFTLGVBQWdCNUwsR0FDeEQrMEIsRUFBa0J6NkIsRUFBS3JCLEtBQUtxN0IsRUFBVyxnQkFFN0MsSUFBSXYyQixFQUFHd0MsV0FBV3cwQixHQXFCaEIsTUFBTSxJQUFJOWtCLE1BQU0sa0NBQWtDalEsS0FwQmxELElBQ0UsTUFBTWcxQixFQUFjNXpCLEVBQWEyekIsR0FDM0JFLEVBQU9ELEVBQVlDLE1BQVFELEVBQVl2SCxRQUFVLFdBQ3ZEcnRCLEVBQWE5RixFQUFLckIsS0FBS3E3QixFQUFXVyxFQUNwQyxDQUFFLE1BRUEsTUFBTUMsRUFBa0IsQ0FBQyxXQUFZLGVBQWdCLGdCQUFpQixnQkFDdEU5MEIsRUFBYSxHQUNiLElBQUssTUFBTSswQixLQUFTRCxFQUFpQixDQUNuQyxNQUFNRSxFQUFZOTZCLEVBQUtyQixLQUFLcTdCLEVBQVdhLEdBQ3ZDLEdBQUlwM0IsRUFBR3dDLFdBQVc2MEIsR0FBWSxDQUM1QmgxQixFQUFhZzFCLEVBQ2IsS0FDRixDQUNGLENBQ0EsSUFBS2gxQixFQUNILE1BQU0sSUFBSTZQLE1BQU0sdUNBQXVDalEsSUFFM0QsQ0FJSixDQUVBLE1BQU1xMUIsRUFBWUMsRUFBY2wxQixHQUFZbTFCLEtBQ3RDQyxRQUFZQyxPQUFPSixHQUNuQjNnQixHQUFVOGdCLEVBQUl0TCxTQUFXc0wsR0FBSzdwQixLQUFLdk4sS0FFekMsT0FEQXVOLEtBQUtvb0IsVUFBVWxFLElBQUk3dkIsRUFBTTBVLEdBQ2xCQSxDQUNULENBS0EsT0FBQU4sR0FDRSxPQUFPekksS0FBS21mLElBQ2QsQ0FFQSxTQUFBMkgsQ0FBVXp5QixHQUNSLE9BQU8yTCxLQUFLbW9CLFNBQVNoaUIsSUFBSTlSLEVBQzNCLENBS0EsV0FBQSt1QixHQUNFLE1BQU8sSUFBSXBqQixLQUFLbW9CLFNBQ2xCLEVDM0xGLE1BQU00QixHQUFXLElBQUlucUIsRUNvQmZvcUIsR0FBYSxJQUFJQyxFQUFNQyxNQUFNLENBQ2pDQyxXQUFZLFVBQ1pDLFdBQVksVUFDWkMsb0JBQW9CLElBSXRCLFNBQVNDLEdBQWVDLEVBQWdCNzVCLEVBQWE0QyxHQUMvQixpQkFBVEEsR0FBcUIsVUFBV0EsR0FBUSxZQUFhQSxFQUM5RGkzQixFQUFLQyxPQUFPOTVCLEVBQUs0QyxFQUFLeXJCLE1BQU96ckIsRUFBS3NGLFNBRWxDMnhCLEVBQUtDLE9BQU85NUIsRUFBSzRDLEVBRXJCLENBc0VBLFNBQVNtM0IsR0FBb0JDLEdBQzNCLE1BQU8sSUFDRkEsRUFDSEMsV0FBWUQsRUFBU0UsT0FDckJyRCxLQUFNbUQsRUFBU3AzQixLQUVuQixDQUVBLFNBQVN1M0IsR0FBcUIvMkIsR0FDNUIsTUFBTWczQixFQUFXLENBQ2Y3M0IsT0FBUWEsR0FBT29DLFFBQVFqRCxRQUFRMHRCLGVBQWlCLEdBQ2hEaDBCLElBQUttSCxHQUFPb0MsUUFBUXZKLEtBQU8sR0FDM0JnK0IsV0FBWTcyQixHQUFPNDJCLFVBQVVFLFFBQVUsRUFDdkM3MkIsUUFBU0QsR0FBT0MsU0FBVyxHQUMzQnl5QixNQUFPMXlCLEdBQU8weUIsT0FBUyxDQUFBLEVBQ3ZCa0UsU0FBVSxDQUNSRSxPQUFROTJCLEdBQU80MkIsVUFBVUUsUUFBVSxFQUNuQ0QsV0FBWTcyQixHQUFPNDJCLFVBQVVFLFFBQVUsRUFDdkNyRCxLQUFNenpCLEdBQU80MkIsVUFBVXAzQixNQUFRLEtBR25DLE9BQU9WLFFBQVFFLE9BQU9nNEIsRUFDeEIsT0FFYXJvQixHQUNNaFEsSUFDVDhzQixNQUE2QixHQUNyQzNtQixRQUFtQyxDQUFBLEVBQ25DLFdBQUFrSCxDQUFZck4sR0FDVnVOLEtBQUt2TixJQUFNQSxFQUNYdU4sS0FBSzJrQixPQUNMb0YsR0FBU3htQixHQUFHakUsR0FBVXlyQixjQUFnQnozQixJQUNwQyxPQUFRQSxFQUFLNnFCLFlBQ1gsSUFBSyxTQUNFN3FCLEVBQUt5ckIsT0FBNkJRLFFBQ3JDdmYsS0FBS3VmLE1BQVNqc0IsRUFBS3lyQixNQUE0QlEsT0FFakQsTUFDRixJQUFLLGVBQ0h2ZixLQUFLdWYsTUFBUWpzQixFQUFLeXJCLFFBSTFCLENBRVEsSUFBQTRGLEdBQ04sTUFBTXBGLEVBQVF2ZixLQUFLdk4sSUFBSTJOLFVBQStCLGdCQUNsRG1mLElBQ0Z2ZixLQUFLdWYsTUFBUUEsRUFFakIsQ0FFUSxXQUFBeUwsR0FDTixHQUFJaHJCLEtBQUt1ZixNQUNQLElBQ0UsTUFBTTBMLEVBQWUsSUFBSXgzQixFQUFJdU0sS0FBS3VmLE9BQ2xDLE1BQU8sQ0FDTDJMLEtBQU1ELEVBQWFFLFNBQ25CQyxLQUFNNTZCLFNBQVN5NkIsRUFBYUcsTUFBUSxJQUFLLElBQ3pDQyxTQUFVSixFQUFhSSxTQUUzQixDQUFFLE1BQU9oNkIsR0FFVCxDQUVGLE9BQU8sQ0FDVCxDQUdBLE9BQUEyQixDQU9FNEYsR0FDQW9ILEtBQUtwSCxRQUFRMm1CLE1BQVF2ZixLQUFLZ3JCLGNBQzFCaHJCLEtBQUtwSCxRQUFRMHlCLFFBQVUxeUIsRUFBUTB5QixTQUFXLENBQUEsRUFDMUN0ckIsS0FBS3BILFFBQVEyeUIsY0FBZ0JDLElBQzdCeHJCLEtBQUtwSCxRQUFRNnlCLGlCQUFtQkQsSUFDNUJ4ckIsS0FBS3BILFFBQVEybUIsT0FBUzNtQixFQUFRak0sS0FBS2tILFdBQVcsYUFDaERtTSxLQUFLcEgsUUFBUW94QixXQUFhMEIsRUFBYyxDQUN0Q25NLE1BQU8sQ0FDTDJMLEtBQU1sckIsS0FBS3BILFFBQVEybUIsTUFBTTJMLEtBQ3pCRSxLQUFNcHJCLEtBQUtwSCxRQUFRMm1CLE1BQU02TCxRQUc3QnByQixLQUFLcEgsUUFBUTJtQixPQUFRLEdBRXJCdmYsS0FBS3BILFFBQVFveEIsV0FBYUEsR0FJNUIsTUFBTTJCLEVBQVdockIsRUFBTWlyQixPQUFPNXJCLEtBQUtwSCxTQUNuQyt5QixFQUFTRSxhQUFhbkIsU0FBU2hILElBQUkrRyxHQUFxQkksSUFHeEQsTUFBTWlCLEVBdEtWLFNBQTRCbHpCLEdBRzFCLElBQUltekIsR0FBaUIsRUFDckIsTUFBTUQsRUFFRixJQUNDbHpCLEVBQ0hqTSxJQUFNaU0sRUFBUWpNLEtBQWtCLEdBQ2hDMitCLFFBQVMxeUIsRUFBUTB5QixTQUFXLENBQUEsR0FHOUIsR0FBSTF5QixFQUFRMm1CLE1BQU8sQ0FDakIsSUFBSTBMLEVBQWVyeUIsRUFBUTJtQixNQUMzQixHQUE0QixpQkFBakIwTCxFQUEyQixDQUNwQyxJQUNFQSxFQUFlLElBQUl4M0IsRUFBSW1GLEVBQVEybUIsTUFDakMsQ0FBRSxNQUFPN2EsR0FDUHVtQixHQUFlLEVBQ2ZhLEVBQUl2TSxPQUFRLEVBQ1p0cUIsUUFBUW5CLE1BQU00USxFQUNoQixDQUNBcW5CLEdBQWlCLENBQ25CLENBQ0lkLElBQ0VyeUIsRUFBUWpNLEtBQUtrSCxXQUFXLGFBQzFCaTRCLEVBQUl2TSxPQUFRLEVBQ1p1TSxFQUFJOUIsV0FBYTBCLEVBQWMsQ0FDN0JuTSxNQUFPLENBQ0wyTCxLQUFNRCxHQUFjRSxTQUNwQkMsS0FBTTU2QixTQUFTeTZCLEdBQWNHLEtBQU0sUUFJdkNVLEVBQUl2TSxNQUFRLENBQ1YyTCxLQUFNRCxFQUFhRSxTQUNuQkMsS0FBTTU2QixTQUFTeTZCLEVBQWFHLEtBQU0sSUFDbENDLFNBQVUsUUFJbEIsQ0FDQSxHQUFJLGFBQWN6eUIsRUFBUyxDQUN6QixNQUFNMnhCLEVBQU8sSUFBSXlCLEVBQ2pCLElBQUssTUFBTXQ3QixLQUFPa0ksRUFBUXF6QixTQUV4QjNCLEdBQWVDLEVBQU03NUIsRUFEUmtJLEVBQVFxekIsU0FBU3Y3QixJQUdoQ283QixFQUFJeDRCLEtBQU9pM0IsRUFDWHVCLEVBQUlSLFFBQVUzN0IsT0FBT3U4QixPQUFPSixFQUFJUixTQUFXLENBQUEsRUFBSWYsRUFBSzRCLGNBQ3BESixHQUFpQixTQUVWRCxFQUFJRyxRQUNiLENBWUEsTUFYSSxTQUFVcnpCLElBQ1prekIsRUFBSXg0QixLQUFPc0YsRUFBUTJ1QixLQUNuQndFLEdBQWlCLFNBRVZELEVBQUl2RSxNQUVULE9BQVEzdUIsSUFDVmt6QixFQUFJenhCLE9BQVN6QixFQUFRd3pCLEdBQ3JCTCxHQUFpQixHQUVuQkQsRUFBSUMsZUFBaUJBLEVBQ2RELENBQ1QsQ0FvR2dCTyxDQUFtQnp6QixHQW9CL0IsT0FsQkEreUIsRUFBU0UsYUFBYTc0QixRQUFRMHdCLElBQUksU0FBVTRJLEdBRTFDLElBQUlDLEVBQWMsR0FjbEIsT0FiSUQsR0FBS2hCLFNBQVNpQixhQUNoQkEsRUFBY0QsRUFBSWhCLFFBQVFpQixtQkFDbkJELEVBQUloQixRQUFRaUIsYUFDVkQsR0FBS2hCLFNBQVNrQixhQUN2QkQsRUFBY0QsRUFBSWhCLFFBQVFrQixtQkFDbkJGLEVBQUloQixRQUFRa0IsYUFDVkYsR0FBS2hCLFVBQVUsa0JBQ3hCaUIsRUFBY0QsRUFBSWhCLFFBQVEsdUJBQ25CZ0IsRUFBSWhCLFFBQVEsaUJBRUQsS0FBaEJpQixHQUFzQkQsRUFBSWhCLFVBQzVCZ0IsRUFBSWhCLFFBQVEsZ0JBQWtCaUIsR0FFekJELENBQ1QsR0FDSSw0QkFBNkIxekIsR0FBV0EsRUFBUTFGLHdCQUMzQ3k0QixFQUFTMzRCLFFBQVE4NEIsR0FFakJILEVBQVMzNEIsUUFBUTg0QixHQUFLMTRCLEtBQUtMLEdBRTVCKzRCLEVBQUlDLGVBQ0YsU0FBVW56QixFQUNSQSxFQUFRZ3dCLEtBQ0g3MUIsRUFBSU8sVUFEYixFQUlPZ0QsS0FBSzJvQixVQUFVbHNCLEVBQUlPLE1BR3JCUCxFQUFJTyxLQUluQixFQzFPRixJQUFBbTVCLEdBQWUsUUFMQXo2QixNQUFPUyxJQUNwQkEsRUFBSTJQLE9BQU93RCxRQUFRblQsRUFBSTlFLE9BQ2hCOEUsSUNFVCxNQXVDTWk2QixHQUFhLENBQUNqNkIsRUFBYWhCLEVBQWM5QyxLQUM3QyxNQUFNa0QsRUFBWUwsR0FBYUMsR0FTL0IsT0FSS0ksRUFBVUMsT0FDTyxpQkFBVG5ELEVBQ1Q4RCxFQUFJZ08sSUFBSXRMLEtBQUssYUFBYXhHLGtCQUUxQjhELEVBQUlnTyxJQUFJdEwsS0FBSyx3QkFFZjFDLEVBQUlnTyxJQUFJdEwsS0FBSywwQkFFUnRELEdBR1QsSUFBQTg2QixHQUFlLFFBcERBMzZCLE1BQU9TLElBQ3BCLE1BQU1tNkIsRUFBc0JuNkIsRUFBSTJQLE9BbUNoQyxhQWxDTXhQLFFBQVFrVyxJQUNaclcsRUFBSTlFLE1BQU1rVSxJQUFJN1AsTUFBT2xDLEVBQXVCZ1csS0FDMUMsSUFBSXBGLEVBYUosR0FYRUEsRUFERXZJLE9BQU8wMEIsU0FBUy84QixHQUNYLENBQ0x3QyxTQUFTLEVBQ1RILE9BQVFyQyxFQUNSb0MsU0FBVSxHQUNWckQsUUFBUyxJQUVGb0MsR0FBTW5CLFNBQ0YwQyxHQUFXMUMsRUFBTTJDLFNBRWpCVixHQUFVakMsR0FFckI0USxFQUFLcE8sU0FBV29PLEVBQUt2TyxPQUFRLENBQy9CLE1BQU0yNkIsRUFBVUosR0FBV2o2QixFQUFLaU8sRUFBS3ZPLE9BQVFyQyxHQUN2Q2pCLEVBQVU2UixFQUFLN1IsU0FBV2krQixFQUFRaitCLFNBQVcsT0FDbkQrOUIsRUFBUTltQixHQUFTLENBQ2YzVCxPQUFRdU8sRUFBS3ZPLE9BQ2JELFNBQVV3TyxFQUFLeE8sVUFBWSxHQUFHbzBCLElBQVEzckIsT0FBTyx1QkFBdUI5TCxJQUNwRTZDLE1BQU9vN0IsRUFBUXA3QixNQUNmQyxPQUFRbTdCLEVBQVFuN0IsT0FDaEJNLFNBQVV5TyxFQUFLek8sU0FDZnBELFFBQVM2UixFQUFLN1IsUUFDZGsrQixTQUFVQyxFQUFLQyxRQUFRcCtCLElBQVksMkJBRXZDLE1BQ0U0RCxFQUFJZ08sSUFBSTNNLE1BQU00TSxFQUFLbk8sV0FLekJFLEVBQUkyUCxPQUFTd3FCLEVBQVFwSixPQUFPMXpCLEdBQVFBLEdBQzdCMkMsSUN0Q1QsTUNDTXk2QixHQUFjLENBQ2xCdDFCLEVBQ0ExRixFQUNBaTdCLEVBQ0FsNkIsRUFDQXE0QixFQUNBL0QsRUFDQTZGLEtBQW1CLENBRW5CbjZCLE9BQVFBLEVBQU8wdEIsY0FDZmgwQixJQUFLd2dDLEVBQ0w3QixRQUFTLENBQ1BpQixZQUFhLHNCQUNiLGFBQWMsYUFDWGpCLEdBRUxXLFNBQVUsQ0FDUm1CLENBQUNBLEdBQWMsQ0FDYnJPLE1BQU9ubkIsRUFDUGdCLFFBQVMsQ0FBRXkwQixTQUFVbjdCLE9BRXBCcTFCLEdBRUxxQixNQUFNLElBR0ZqaEIsR0FBUzNWLE1BQU9TLElBQ3BCLE1BQU02NkIsRUFBc0I3NkIsRUFBSTJOLFVBQWdDLHdCQUNoRSxJQUFLa3RCLEVBQXFCLE1BQU0sSUFBSWhwQixNQUFNLHFDQUUxQyxNQUFNaXBCLEVBQVU5NkIsRUFBSTJQLE9BQ3BCLElBQUssTUFBTXBMLEtBQU91MkIsRUFDaEIsR0FBSXYyQixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLE1BQU15RixFQUFRWixFQUFJN0UsU0FBVzZFLEVBQUlzUSxZQUFjblAsT0FBT0MsS0FBS3BCLEVBQUlzUSxZQUFhLFVBQVksTUFDeEYsSUFBSzFQLEVBQU8sU0FFWixNQUFNNDFCLEVBQWFOLEdBQ2pCdDFCLEVBQ0FaLEVBQUk5RSxTQUNKbzdCLEVBQW9CSCxTQUNwQkcsRUFBb0JyNkIsUUFBVSxPQUM5QnFELEtBQUtDLE1BQU0rMkIsRUFBb0JoQyxTQUFXLE1BQzFDaDFCLEtBQUtDLE1BQU0rMkIsRUFBb0IvRixNQUFRLE1BQ3ZDK0YsRUFBb0JGLGFBQWUsUUFHckMsSUFBSTdGLFFBQWM5MEIsRUFBSU8sUUFBUXc2QixHQUM5QmpHLEVBQXVCLGlCQUFUQSxFQUFvQmp4QixLQUFLQyxNQUFNZ3hCLEdBQVFBLEVBR3JELElBQUlrRyxFQUFXbEcsRUFDZixNQUFNbUcsRUFBY0osRUFBb0JJLGFBQWUsV0FDdkQsSUFBSyxNQUFNaDlCLEtBQU9nOUIsRUFBWTc4QixNQUFNLEtBQU0sQ0FDeEMsSUFBSTQ4QixHQUFnQyxpQkFBYkEsS0FBeUIvOEIsS0FBTys4QixHQUVoRCxDQUNMQSxPQUFXLzlCLEVBQ1gsS0FDRixDQUpFKzlCLEVBQVdBLEVBQVMvOEIsRUFLeEIsQ0FFQSxJQUFJKzhCLEdBQWdDLGlCQUFiQSxFQWlCckIsTUFMQWg3QixFQUFJdVIsS0FBSzNFLEdBQWM4cEIsYUFBYyxDQUNuQzdCLE1BQU83MEIsRUFBSW9RLEtBQUs2WixVQUF1QixpQkFDdkM2SyxLQUFNQSxFQUFLeHpCLFVBRWJrQixRQUFRbkIsTUFBTSwrQkFBZ0N5ekIsR0FDeEMsSUFBSWpqQixNQUFNaWpCLEVBQUt4ekIsU0FkckIsVUFGT2lELEVBQUlzUSxtQkFDSnRRLEVBQUk3RSxPQUNQbTdCLEVBQW9CSyxRQUFTLENBQy9CLE1BQU16N0IsRUFBV3U3QixFQUFTNThCLE1BQU0sS0FBSys4QixPQUFTSCxFQUk5Q0EsR0FIZ0JILEVBQW9CSyxRQUFReFIsU0FBUyxLQUNqRG1SLEVBQW9CSyxRQUNwQkwsRUFBb0JLLFFBQVUsS0FDYno3QixDQUN2QixDQUNBOEUsRUFBSXFSLE9BQVNpbEIsRUFBb0JPLGFBQWVQLEVBQW9CTyxhQUFlSixFQUFXQSxDQVNsRyxDQUVGLE9BQU9oN0IsR0FHSHlELEdBQVV6RCxJQUNkLE1BQU1tdkIsRUFBYW52QixFQUFJMk4sVUFBZ0MseUJBQTJCLENBQUEsRUFFNUUwdEIsRUFBb0IsQ0FDeEJ6NUIsRUFDQXpDLEVBQ0EwdUIsRUFDQUMsR0FBb0IsRUFDcEJFLEtBQVksQ0FFWnBzQixPQUNBekMsT0FDQSxVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHdCQUF3QnJvQixFQUFLc3NCLGdCQUN0RSxFQUNBLFNBQUlyQixHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qix3QkFBd0Jyb0IsRUFBS3NzQixnQkFDdEUsRUFDQSxXQUFJNXNCLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0NBQWdDcm9CLEVBQUtzc0IsZ0JBQzlFLEVBQ0FwQyxRQUFTcUQsRUFBV3Z0QixJQUF1Q2lzQixFQUMzREMsY0FDR0UsSUFHTCxNQUFPLENBQ0xxTixFQUFrQixXQUFZLFFBQVMsSUFBSSxHQUMzQ0EsRUFBa0IsU0FBVSxPQUFRLFFBQVEsRUFBTyxDQUFFMU8sUUFBUyxDQUFDLE9BQVEsTUFBTyxTQUM5RTBPLEVBQWtCLGNBQWUsUUFBUyxRQUMxQ0EsRUFBa0IsVUFBVyxRQUFTLE1BQ3RDQSxFQUFrQixPQUFRLFFBQVMsTUFDbkNBLEVBQWtCLGVBQWdCLFFBQVMsSUFDM0NBLEVBQWtCLFVBQVcsUUFBUyxJQUN0Q0EsRUFBa0IsY0FBZSxRQUFTLGNDOUc5QyxNQXNCTVosR0FBYyxDQUFDdmdDLEVBQWFvaEMsRUFBZTc3QixFQUFrQkQsRUFBa0IyRixLQUM1RSxDQUNMM0UsT0FBUSxNQUNSdEcsSUFBSyxHQUFHQSxnQkFDUjIrQixRQUFTLENBQ1BpQixZQUFhLHNCQUNiLGFBQWMsVUFDZHlCLGNBQWVELEVBQ2YsWUFBYTdOLG1CQUFtQmp1QixJQUVsQ2c2QixTQUFVLENBQ1J4NkIsS0FBTSxDQUNKc3RCLE1BQU9ubkIsRUFDUGdCLFFBQVMsQ0FDUHkwQixTQUFVbjdCLEtBSWhCZ0IseUJBQXlCLElBSXZCKzZCLEdBQWlCLENBQUN4N0IsRUFBYU0sS0FDbkMsR0FBdUIsTUFBbkJBLEVBQUk0M0IsWUFBd0MsTUFBbEI1M0IsRUFBSXcwQixLQUFLSCxNQUFxQyxZQUFyQnIwQixFQUFJdzBCLEtBQUt4ekIsUUFNOUQsTUFMQXRCLEVBQUl1UixLQUFLM0UsR0FBYzhwQixhQUFjLENBQ25DN0IsTUFBTzcwQixFQUFJb1EsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU05MEIsRUFBSW9RLEtBQUs2WixVQUF1Qiw4QkFDdENybEIsS0FBTXRFLEVBQUl3MEIsS0FBS3h6QixVQUVYLElBQUl1USxNQUFNdlIsRUFBSXcwQixLQUFLeHpCLFVBSXZCbTZCLEdBQW1CLENBQUN2aEMsRUFBYW9oQyxFQUFleEcsS0FBUyxDQUM3RHQwQixPQUFRLE9BQ1J0RyxNQUNBMitCLFFBQVMsQ0FDUDBDLGNBQWVELEVBQ2YsZUFBZ0Isb0JBRWxCeEcsT0FDQXIwQix5QkFBeUIsSUFHckJpN0IsR0FBaUJqNEIsSUFDckIsTUFBTXZKLElBQUVBLEVBQUdvaEMsTUFBRUEsRUFBS0ssU0FBRUEsRUFBUUMsU0FBRUEsRUFBUUMsV0FBRUEsRUFBVVgsUUFBRUEsRUFBT1ksVUFBRUEsR0FBY3I0QixFQUMzRSxNQUFPLENBQ0x2SixLQUFNQSxHQUFPLElBQUk2QyxRQUFRLE1BQU8sSUFDaEN1K0IsTUFBT0EsR0FBUyxHQUNoQkssU0FBVUEsR0FBWSxHQUN0QkMsU0FBVUEsR0FBWSxHQUN0QkMsV0FBWTNPLEdBQWlCLENBQzNCaHhCLEtBQU0yL0IsR0FBYyxHQUNwQjFPLFlBQVksRUFDWkMsVUFBVSxFQUNWQyxhQUFhLElBRWY2TixRQUFTQSxFQUNMaE8sR0FBaUIsQ0FDZmh4QixLQUFNZy9CLEdBQVcsR0FDakIvTixZQUFZLEVBQ1pDLFVBQVUsRUFDVkMsYUFBYSxJQUVmLEdBQ0p5TyxXQUFZQSxHQUFhLElBQUkvK0IsUUFBUSxNQUFPLE1BSTFDbVksR0FBUzNWLE1BQU9TLElBQ3BCLE1BQU0rN0IsRUFBYy83QixFQUFJMk4sVUFBd0IscUJBQ2hELElBQUtvdUIsRUFBYSxNQUFNLElBQUlscUIsTUFBTSw4QkFFbEMsTUFBTTNYLElBQUVBLEVBQUd5aEMsU0FBRUEsRUFBUUMsU0FBRUEsRUFBUUMsV0FBRUEsRUFBVVgsUUFBRUEsRUFBT1ksVUFBRUEsR0FBY0osR0FBY0ssR0FDbEYsSUFBSVQsTUFBRUEsR0FBVUksR0FBY0ssR0FJOUIsR0FIS1QsSUFDSEEsT0FsR2tCLzdCLE9BQU9TLEVBQWE5RixFQUFheWhDLEVBQWtCQyxLQUN2RSxNQUFNSSxFQUFhaDhCLEVBQUkyTixVQUE0QixtQ0FDbkQsR0FBSXF1QixHQUFjQSxFQUFXQyxhQUFlbmdDLEtBQUtELE1BQVFtZ0MsRUFBV0MsWUFBYyxNQUFXRCxFQUFXVixNQUN0RyxPQUFPVSxFQUFXVixNQUVwQixNQUFNaDdCLFFBQVk0TixFQUFNZ3VCLEtBQUssR0FBR2hpQyxtQkFBc0IsQ0FDcER5aEMsV0FDQUMsYUFFRixHQUFzQixNQUFsQnQ3QixFQUFJTyxLQUFLOHpCLE1BQXFDLFlBQXJCcjBCLEVBQUlPLEtBQUtTLFFBQXVCLENBQzNELE1BQU1nNkIsRUFBUWg3QixFQUFJTyxLQUFLQSxLQUFLeTZCLE1BTzVCLE9BTkF0N0IsRUFBSXVRLFdBQVcsQ0FDYixrQ0FBbUMsQ0FDakMrcUIsUUFDQVcsWUFBYW5nQyxLQUFLRCxTQUdmeS9CLENBQ1QsQ0FDQSxNQUFNLElBQUl6cEIsTUFBTSxxQkErRUFzcUIsQ0FBY244QixFQUFLOUYsRUFBS3loQyxFQUFVQyxLQUU3QzFoQyxLQUFTb2hDLEdBQVVLLEdBQVlDLEdBQVksTUFBTSxJQUFJL3BCLE1BQU0sbUNBRWhFLE1BQU1pcEIsRUFBVTk2QixFQUFJMlAsT0FDcEIsSUFBSyxNQUFNcEwsS0FBT3UyQixFQUNoQixHQUFJdjJCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsSUFBSXlGLEVBQVFaLEVBQUk3RSxRQUNYeUYsR0FBU1osRUFBSXNRLGNBQ2hCMVAsRUFBUU8sT0FBT0MsS0FBS3BCLEVBQUlzUSxZQUFhLFdBRXZDLE1BQU11bkIsRUFBaUIsR0FBR1AsSUFBYXQzQixFQUFJOUUsV0FDckNzN0IsRUFBYU4sR0FBWXZnQyxFQUFLb2hDLEVBQU8vMkIsRUFBSTlFLFNBQVUyOEIsRUFBZ0JqM0IsR0FDbkVrM0IsUUFBbUJyOEIsRUFBSU8sUUFBUXc2QixHQUNyQ1MsR0FBZXg3QixFQUFLcThCLEdBRXBCLE1BQU1DLFFBQW9CdDhCLEVBQUlPLFFBQzVCazdCLEdBQWlCLEdBQUd2aEMsZ0JBQW1Cb2hDLEVBQU8sQ0FDNUNNLFNBQVUsR0FDVlcsS0FBTSxFQUNOQyxTQUFVLEVBQ1ZDLFNBQVMsRUFDVHZnQyxLQUFNQSxFQUFLbEMsUUFBUW9pQyxNQUd2QlosR0FBZXg3QixFQUFLczhCLEdBRXBCLE1BQU1JLFFBQW9CMThCLEVBQUlPLFFBQzVCazdCLEdBQWlCLEdBQUd2aEMsZUFBa0JvaEMsRUFBTyxDQUMzQ00sU0FBVSxHQUNWMS9CLEtBQU1rZ0MsRUFDTkcsS0FBTSxFQUNOQyxTQUFVLEVBQ1ZDLFNBQVMsS0FHYmpCLEdBQWV4N0IsRUFBSzA4QixHQUVwQixNQUFNQyxFQUFPRCxFQUFXNUgsS0FBS2owQixLQUFLODdCLEtBQzVCQyxFQUFjclAsR0FBVyxHQUFHMk4sR0FBV1csSUFBYXQzQixFQUFJOUUsWUFDOUQ4RSxFQUFJcVIsT0FBUyxHQUFHa21CLEdBQWE1aEMsSUFBTTRoQyxHQUFhQSxJQUFjNWhDLEVBQU0sR0FBSyxPQUFPMGlDLElBQ2hGcjRCLEVBQUlxUixRQUFZa21CLEdBQWFBLElBQWM1aEMsSUFBUXlpQyxFQUF5QixHQUFsQixTQUFTQSxXQUM1RHA0QixFQUFJc1EsbUJBQ0p0USxFQUFJN0UsTUFDYixDQUVGLE9BQU9NLEdBR0h5RCxHQUFVekQsSUFDZCxNQUFNbXZCLEVBQWFudkIsRUFBSTJOLFVBQXdCLHNCQUF3QixDQUFBLEVBQ3ZFLE1BQU8sQ0FDTGdnQixHQUFZM3RCLEVBQUssUUFBUyxNQUFPLFFBQVNtdkIsRUFBV2oxQixLQUFPLElBQUksT0FBTStDLEVBQVcsQ0FDL0UsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsMkJBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxRQUFTLFFBQVNtdkIsRUFBV21NLE9BQVMsSUFBSSxPQUFPcitCLEVBQVcsQ0FDcEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsNkJBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxXQUFZLFFBQVNtdkIsRUFBV3dNLFVBQVksSUFBSSxPQUFPMStCLEVBQVcsQ0FDMUYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxXQUFZLFFBQVNtdkIsRUFBV3lNLFVBQVksSUFBSSxPQUFPMytCLEVBQVcsQ0FDMUYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxhQUFjLFFBQVNtdkIsRUFBVzBNLFlBQWMsSUFBSSxPQUFPNStCLEVBQVcsQ0FDOUYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsbUNBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxVQUFXLFFBQVNtdkIsRUFBVytMLFNBQVcsSUFBSSxPQUFPaitCLEVBQVcsQ0FDeEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxZQUFhLFFBQVNtdkIsRUFBVzJNLFdBQWEsSUFBSSxPQUFPNytCLEVBQVcsQ0FDNUYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsaUNBQ3pDLE1DNUxOLE1BQU00UyxHQUFvQixLQUFjLElBQUkvZ0MsTUFBT2doQyxjQUc3Q0MsR0FBb0IsQ0FBQzUyQixFQUF3QjFHLEtBQ2pELE1BQU11OUIsRUFBT0gsS0FFUEksRUFBYSxVQURGMUMsRUFBS0MsUUFBUS82QixJQUFhLCtCQUNEdTlCLE9BQVU3MkIsRUFBUSsyQixVQUFVLzJCLEVBQVFqSyxPQUFPdUQsSUFDL0UwOUIsRUFBWWhpQyxFQUFPaWlDLFdBQVcsT0FBUWozQixFQUFRazNCLGlCQUFpQmhpQyxPQUFPNGhDLEdBQVkzaEMsT0FBTyxVQUMvRixNQUFPLE9BQU82SyxFQUFRbTNCLGVBQWVILEtBR2pDMUMsR0FBYyxDQUNsQnQwQixFQUNBMUcsRUFDQTA5QixFQUNBaDRCLEtBQWEsQ0FFYjNFLE9BQVEsTUFDUnRHLElBQUssV0FBV2lNLEVBQVErMkIsVUFBVS8yQixFQUFRbzNCLHFCQUFxQmhRLEdBQVcsR0FBR3BuQixFQUFRakssT0FBT3VELE9BQzVGbzVCLFFBQVMsQ0FDUDJFLEtBQU0sR0FBR3IzQixFQUFRKzJCLFVBQVUvMkIsRUFBUW8zQixvQkFDbkNoQyxjQUFlNEIsRUFDZnJoQyxLQUFNK2dDLEtBQ04sZUFBZ0J0QyxFQUFLQyxRQUFRLzZCLElBQWEsNEJBRTVDcTFCLEtBQU0zdkIsRUFDTjFFLHlCQUF5QixJQUdyQnlVLEdBQVMzVixNQUFPUyxJQUNwQixNQUFNeTlCLEVBQWdCejlCLEVBQUkyTixVQUF5QixpQkFDbkQsSUFBSzh2QixFQUFlLE1BQU0sSUFBSTVyQixNQUFNLGdDQUVwQzRyQixFQUFjdmhDLEtBQU9neEIsR0FBaUIsQ0FBRWh4QixLQUFNdWhDLEVBQWN2aEMsT0FDNUQsTUFBTWcvQixFQUFVaE8sR0FBaUIsQ0FBRWh4QixLQUFNdWhDLEVBQWN2QyxVQUV2RCxJQUNFLE1BQVF2ckIsT0FBUW1yQixHQUFZOTZCLEVBQ3RCODdCLEdBQWEyQixFQUFjM0IsV0FBYSxJQUFJLytCLFFBQVEsTUFBTyxLQUMzRGIsS0FBRUEsRUFBSWdoQyxPQUFFQSxFQUFNSyxLQUFFQSxFQUFNcDNCLFFBQVN1M0IsRUFBYSxJQUFPRCxFQUV6RCxJQUFLLE1BQU1sNUIsS0FBT3UyQixFQUNoQixHQUFJdjJCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsTUFBTXk5QixFQUFZSixHQUFrQlUsRUFBZWw1QixFQUFJOUUsVUFDakQwRixFQUFRWixFQUFJN0UsUUFBVWdHLE9BQU9DLEtBQUtwQixFQUFJc1EsWUFBYyxVQUNwRDFPLEVBQVVzMEIsR0FBWWdELEVBQWVsNUIsRUFBSTlFLFNBQVUwOUIsRUFBV2g0QixHQUdwRSxHQUF3QixhQUZMbkYsRUFBSU8sUUFBUTRGLElBRXRCK3hCLFdBUVAsTUFBTSxJQUFJcm1CLE1BQU0saUJBUlcsUUFDcEJ0TixFQUFJc1EsbUJBQ0p0USxFQUFJN0UsT0FDWCxNQUFNazlCLEVBQWNyUCxHQUFXLEdBQUcyTixHQUFXaC9CLElBQU9xSSxFQUFJOUUsWUFDeEQ4RSxFQUFJcVIsT0FBU2ttQixFQUNULEdBQUdBLEtBQWFjLElBQWNjLElBQzlCLFdBQVdSLEtBQVVLLGtCQUFxQlgsSUFBY2MsR0FDOUQsQ0FHRixDQUVGLE9BQU8xOUIsQ0FDVCxDQUFFLE1BQU80MEIsR0FLUCxNQUpBNTBCLEVBQUl1UixLQUFLM0UsR0FBYzhwQixhQUFjLENBQ25DN0IsTUFBTzcwQixFQUFJb1EsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU05MEIsRUFBSW9RLEtBQUs2WixVQUF1QixvQkFFbEMySyxDQUNSLEdBR0lueEIsR0FBVXpELElBQ2QsTUFBTW12QixFQUFhbnZCLEVBQUkyTixVQUF5QixrQkFBb0IsQ0FBQSxFQUNwRSxNQUFPLENBQ0xnZ0IsR0FBWTN0QixFQUFLLFdBQVksY0FBZSxRQUFTbXZCLEVBQVdtTyxhQUFlLElBQUksR0FDbkYzUCxHQUFZM3RCLEVBQUssV0FBWSxrQkFBbUIsUUFBU212QixFQUFXa08saUJBQW1CLElBQUksR0FDM0YxUCxHQUFZM3RCLEVBQUssV0FBWSxTQUFVLFFBQVNtdkIsRUFBVytOLFFBQVUsSUFBSSxHQUN6RXZQLEdBQVkzdEIsRUFBSyxXQUFZLE9BQVEsUUFBU212QixFQUFXb08sTUFBUSxJQUFJLE9BQU10Z0MsRUFBVyxDQUNwRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QiwrQkFDekMsSUFFRjBELEdBQVkzdEIsRUFBSyxXQUFZLE9BQVEsUUFBU212QixFQUFXanpCLE1BQVEsSUFBSSxPQUFPZSxFQUFXLENBQ3JGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLCtCQUN6QyxJQUVGMEQsR0FBWTN0QixFQUFLLFdBQVksVUFBVyxRQUFTbXZCLEVBQVcrTCxTQUFXLElBQUksT0FBT2orQixFQUFXLENBQzNGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLGtDQUN6QyxJQUVGMEQsR0FBWTN0QixFQUFLLFdBQVksWUFBYSxRQUFTbXZCLEVBQVcyTSxXQUFhLElBQUksT0FBTzcrQixFQUFXLENBQy9GLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLG9DQUN6QyxJQUVGMEQsR0FBWTN0QixFQUFLLFdBQVksVUFBVyxRQUFTbXZCLEVBQVdocEIsU0FBVyxJQUFJLE9BQU9sSixFQUFXLENBQzNGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLGtDQUN6QyxNQ25HTixNQUFNMFQsR0FDSlgsS0FDQS91QixLQUVBbWpCLGNBQWdCLENBQ2QsT0FDQSxRQUNBLE1BQ0EsV0FDQSxXQUNBLFVBQ0EsTUFDQSxTQUNBLGNBQ0EsT0FDQSxTQUNBLFlBQ0EsZUFHRixXQUFBL2pCLENBQVlZLEdBQ1ZWLEtBQUt5dkIsS0FBTyxJQUFJbGhDLEtBQ2hCeVIsS0FBS1UsS0FBT0EsQ0FDZCxDQUVPLElBQUFsUyxHQUNMLE1BQU8sR0FBR3dSLEtBQUt5dkIsS0FBS2hoQyxlQUN0QixDQUVPLEtBQUE0aEMsR0FDTCxPQUFRcndCLEtBQUt5dkIsS0FBS3pnQyxXQUFhLEdBQUd2QixXQUFXNkIsU0FBUyxFQUFHLElBQzNELENBRU8sR0FBQWdoQyxHQUNMLE9BQU90d0IsS0FBS3l2QixLQUFLeGdDLFVBQVV4QixXQUFXNkIsU0FBUyxFQUFHLElBQ3BELENBRU8sUUFBQTIzQixHQUNMLE9BQU9qbkIsS0FBS1UsS0FBS3hPLFFBQ25CLENBRU8sUUFBQUEsR0FDTCxPQUFROE4sS0FBS1UsS0FBS3hPLFVBQVksSUFBSTFDLFFBQVF3USxLQUFLVSxLQUFLN1IsU0FBVyxHQUFJLEdBQ3JFLENBRU8sT0FBQTBoQyxHQUNMLE9BQVF2d0IsS0FBS1UsS0FBSzdSLFNBQVcsSUFBSVcsUUFBUSxJQUFLLEdBQ2hELENBRU8sR0FBQWdoQyxHQUNMLE9BQU81aUMsRUFBT0MsV0FBVyxPQUFPQyxPQUFPa1MsS0FBS3l3QixhQUFjMWlDLE9BQU8sTUFDbkUsQ0FFTyxNQUFBMmlDLEdBQ0wsT0FBTzlpQyxFQUNKQyxXQUFXLE9BQ1hDLE9BQU9rUyxLQUFLeXdCLGFBQ1oxaUMsT0FBTyxVQUNQeUIsUUFBUSxNQUFPLEtBQ2ZBLFFBQVEsTUFBTyxLQUNmQSxRQUFRLE1BQU8sR0FDcEIsQ0FFTyxXQUFBbWhDLEdBQ0wsT0FBTy9pQyxFQUNKQyxXQUFXLE9BQ1hDLE9BQU9rUyxLQUFLeXdCLGFBQ1oxaUMsT0FBTyxVQUNQeUIsUUFBUSxNQUFPLEtBQ2ZBLFFBQVEsTUFBTyxLQUNmVCxNQUFNLEVBQUcsRUFDZCxDQUVPLElBQUE2aEMsR0FDTCxPQUFPaGpDLEVBQU9DLFdBQVcsUUFBUUMsT0FBT2tTLEtBQUt5d0IsYUFBYzFpQyxPQUFPLE1BQ3BFLENBRU8sTUFBQThpQyxHQUNMLE9BQU9qakMsRUFBT0MsV0FBVyxVQUFVQyxPQUFPa1MsS0FBS3l3QixhQUFjMWlDLE9BQU8sTUFDdEUsQ0FFTyxTQUFBK2lDLEdBQ0wsT0FBTzNqQyxLQUFLc00sTUFBTWxMLEtBQUtELE1BQVEsS0FBTWIsVUFDdkMsQ0FFTyxXQUFBc2pDLEdBQ0wsT0FBT3hpQyxLQUFLRCxNQUFNYixVQUNwQixDQUVRLFNBQUFnakMsR0FDTixPQUFPendCLEtBQUtVLEtBQUs0RyxZQUFjdEgsS0FBS1UsS0FBSzRHLFlBQWN0SCxLQUFLVSxLQUFLdk8sTUFDbkUsRUFHSSxTQUFVNitCLEdBQVd0d0IsRUFBZ0IvRixHQUN6QyxJQUFLQSxFQUNILE9BQU8rRixFQUFLeE8sU0FHZCxNQUFNKytCLEVBQW9CLElBQUliLEdBQWtCMXZCLEdBRWhELElBQUlzd0IsRUFBcUJyMkIsRUFFekIsSUFBSyxNQUFNakssS0FBTzAvQixHQUFrQmMsT0FBUSxDQUMxQyxNQUFNQyxFQUFLLElBQUk5Z0MsT0FBTyxJQUFJSyxLQUFRLEtBRWxDc2dDLEVBQWFBLEVBQVd4aEMsUUFBUTJoQyxFQUFJRixFQUFrQnZnQyxLQUN4RCxDQUVBLE9BQU9zZ0MsQ0FDVCxVQWtEZ0JJLEdBQ2Q3UixFQUNBOFIsRUFDQWhILEdBRUEsTUFBTWlILEVBckJSLFNBQTRCM2tDLEVBQU0sSUFDaEMsSUFBS0EsRUFBSyxNQUFPLEdBRWpCLElBQUssZUFBZXVFLEtBQUt2RSxHQUFNLENBQzdCLE1BQU91K0IsRUFBTUUsR0FBUXorQixFQUFJa0UsTUFBTSxLQUMvQixNQUFPLFVBQVVxNkIsRUFBSzE3QixRQUFRLFlBQWEsZ0JBQWdCNDdCLEdBQzdELENBRUEsSUFDRSxNQUFNQyxTQUFFQSxFQUFRRixTQUFFQSxFQUFRQyxLQUFFQSxHQUFTLElBQUkzM0IsRUFBSTlHLEdBQzdDLE1BQU8sR0FBRzArQixNQUFhRixFQUFTMzdCLFFBQVEsWUFBYSxnQkFBZ0I0N0IsR0FDdkUsQ0FBRSxNQUFPLzVCLEdBQ1AsTUFBTyxFQUNULENBQ0YsQ0FPd0JrZ0MsQ0FBbUJoUyxHQUN6QyxJQUFLK1IsRUFDSCxPQVlGLE9BQU8sSUFUT0QsRUFBYUcsRUFBa0JDLEdBQzdCLENBQ2RDLFdBQVcsRUFDWEMsZUFBZ0IsSUFDaEJDLFdBQVksT0FDWnZILHFCQUNBOUssTUFBTytSLEdBSVgsQ0NwRkF0L0IsZUFBZTYvQixHQUFXQyxFQUE2QkMsRUFBY0MsR0FDbkUsTUFBTUMsUUFBa0JDLEVBQ3RCSixFQUFLSyxPQUNMLElBQUlDLEVBQWlCLENBQ25CQyxPQUFRUCxFQUFLUSxXQUNiQyxJQUFLVCxFQUFLbmpDLEtBQ1Y2akMsUUFBU1QsRUFDVFUsVUFBV1QsSUFFYixDQUFFVSxVQUFXLE9BRVRDLEVBQVksSUFBSWhtQyxFQUFJOEcsSUFBSXcrQixHQUU5QixPQURBVSxFQUFVQyxPQUFTLEdBQ1pELEVBQVUvSSxJQUNuQixDQUVBLElBQUE5aEIsR0FBZSxDQUNiK3FCLGVBakdGLFNBQXdCZixHQUN0QixJQUFJVCxHQUFhLEVBQ2pCLElBRUVBLEVBQTRCLFdBRGxCLElBQUkxa0MsRUFBSThHLElBQUlxK0IsRUFBSzNFLFVBQ1o5QixRQUNqQixDQUFFLE1BQU8sQ0FFVCxNQUFNeUgsRUFBMEMsQ0FBQSxFQUM1Q3pCLEVBQ0Z5QixFQUFnQjlJLFdBQWFvSCxHQUFjVSxFQUFLdlMsT0FBTyxJQUFRdVMsRUFBS3pILG9CQUVwRXlJLEVBQWdCQyxVQUFZM0IsR0FBY1UsRUFBS3ZTLE9BQU8sSUFBU3VTLEVBQUt6SCxvQkFHdEUsTUFBTTJJLEVBQWdDLENBQ3BDQyxPQUFRbkIsRUFBS21CLFFBQVUsT0FDdkI5RixTQUFVMkUsRUFBSzNFLGVBQVl6OUIsRUFDM0J3akMsWUFBYSxDQUNYbkQsWUFBYStCLEVBQUtxQixZQUNsQkMsZ0JBQWlCdEIsRUFBS3NCLGlCQUV4QkMsSUFBS2hDLEVBQ0xpQyxlQUFnQnhCLEVBQUt5QixnQkFDckJDLGVBQWdCLElBQUlDLEVBQWdCWCxJQUd0QyxPQUFPLElBQUlZLEVBQVNWLEVBQ3RCLEVBdUVFVyxpQkEzREYzaEMsZUFBZ0M4L0IsR0FDOUIsSUFBS0EsRUFBS2hpQyxLQUFLcUMsU0FBVzIvQixFQUFLaGlDLEtBQUt3WCxZQUNsQyxNQUFNLElBQUloRCxNQUFNLG1CQUVsQixJQUNFLE1BQU1pakIsS0FBRUEsRUFBSWdGLFlBQUVBLEVBQVdxSCxnQkFBRUEsU0RvRHhCNWhDLGVBQTJCME8sR0FLaEMsTUFBTWdsQixFQUlGLENBQUEsRUFFSixHQUFJaGxCLEVBQUs0RyxZQUFhLENBQ3BCLE1BQU1pZ0IsRUFBTzdtQixFQUFLNEcsWUFBWTlYLFFBQVEsdUJBQXdCLElBQzlEazJCLEVBQU82RyxZQUFjN3JCLEVBQUs0RyxZQUFZelIsTUFBTSxnQ0FBZ0MsR0FDNUU2dkIsRUFBTzZCLEtBQU9wdkIsT0FBT0MsS0FBS212QixFQUFNLFVBQ2hDN0IsRUFBT2tPLGdCQUFrQixRQUMzQixNQUNNbHpCLEVBQUs3UixVQUNQNjJCLEVBQU82RyxZQUFjUyxFQUFLQyxRQUFRdnNCLEVBQUs3UixlQUFZYSxHQUVyRGcyQixFQUFPNkIsS0FBTzdtQixFQUFLdk8sT0FJckIsSUFBS3V6QixFQUFPNkcsWUFBYSxDQUN2QixNQUFNc0gsUUFBaUJDLEVBQW1CcE8sRUFBTzZCLE1BQ2pEN0IsRUFBTzZHLFlBQWNzSCxHQUFVN0csSUFDakMsQ0FFQSxPQUFPdEgsQ0FDVCxDQ2xGeURxTyxDQUFZakMsRUFBS2hpQyxNQUVoRTJ0QixFQUFVLElBQUl1VyxFQUFpQixDQUNuQzNCLE9BQVFQLEVBQUtRLFdBQ2JDLElBQUtULEVBQUtuakMsS0FDVnNsQyxJQUFLbkMsRUFBS29DLElBQ1ZDLEtBQU01TSxFQUNOaUYsWUFBYUQsRUFDYjZILGdCQUFpQlIsSUFHYnh4QixRQUF1QzB2QixFQUFLSyxPQUFPa0MsS0FBSzVXLEdBRTlELElBQUk5d0IsRUFXSixPQVBFQSxFQUhHbWxDLEVBQUt3QyxVQUdGLEdBQUd4QyxFQUFLd0MsYUFBYXhDLEVBQUtuakMsYUFGcEJrakMsR0FBV0MsRUFBTTF2QixFQUFPbXlCLEtBQU9ueUIsRUFBT3F3QixXQUtoRFgsRUFBS2w1QixVQUNQak0sR0FBT21sQyxFQUFLbDVCLFFBQVEvRSxXQUFXLEtBQU9pK0IsRUFBS2w1QixRQUFVLElBQUlrNUIsRUFBS2w1QixXQUd6RCxDQUNMbEksSUFBS29oQyxFQUFLbmpDLEtBQ1ZoQyxNQUNBNm5DLE9BQVE3bkMsRUFDUnFsQyxVQUFXNXZCLEVBQU9xd0IsVUFDbEJWLEtBQU0zdkIsRUFBT215QixLQUVqQixDQUFFLE1BQU9sTixHQUNQLE9BQU96MEIsUUFBUUUsT0FBT3UwQixFQUN4QixDQUNGLEdDOUZBLFNBQVNvTixHQUErQkMsR0FDdEMsTUFBd0MsaUJBQTdCQSxFQUN5QyxTQUEzQ0EsRUFBeUI3MUIsY0FFM0I4MUIsUUFBUUQsRUFDakIsQ0FFQSxNQUFNL3NCLEdBQVMzVixNQUFPUyxJQUNwQixNQUFNbXZCLEVBQW9DbnZCLEVBQUkyTixVQUFVLHVCQUN4RCxJQUFLd2hCLEVBQVksTUFBTSxJQUFJdGQsTUFBTSxxQ0FDakMsSUFDRSxNQUFNb3dCLEVBQTJCRCxHQUErQjdTLEVBQVc4UywwQkFDM0UsSUFBSUosRUFBWTFTLEVBQVcwUyxVQUN2QkEsSUFDRkEsRUFBWUEsRUFBVTlrQyxRQUFRLE9BQVEsSUFDbENveUIsRUFBVzJSLGtCQUFvQm1CLElBQ2pDSixHQUFhLElBQU0xUyxFQUFXMFEsYUFHbEMsTUFBTUgsRUFBU3JxQixHQUFTK3FCLGVBQWVqUixHQUNqQzJMLEVBQVU5NkIsRUFBSTJQLE9BQ3BCLElBQUssTUFBTXBMLEtBQU91MkIsRUFBUyxDQUN6QixNQUFNcUgsUUFBYTlzQixHQUFTNnJCLGlCQUFpQixDQUMzQ3hCLFNBQ0FHLFdBQVkxUSxFQUFXMFEsV0FDdkIzakMsS0FBTXFpQyxHQUFXaDZCLEVBQUs0cUIsRUFBVzBNLFlBQ2pDeCtCLEtBQU1rSCxFQUNOazlCLElBQU10UyxFQUFXc1MsS0FBTyxjQUN4QkksWUFDQTE3QixRQUFTZ3BCLEVBQVdocEIsU0FBVyxZQUUxQjVCLEVBQUk3RSxjQUNKNkUsRUFBSXNRLFlBQ1h0USxFQUFJcVIsT0FBU3VzQixFQUFLSixPQUNsQng5QixFQUFJckssSUFBTWlvQyxFQUFLam9DLEdBQ2pCLENBRUEsT0FBTzhGLENBQ1QsQ0FBRSxNQUFPNDBCLEdBTVAsTUFMQTUwQixFQUFJdVIsS0FBSzNFLEdBQWM4cEIsYUFBYyxDQUNuQzdCLE1BQU83MEIsRUFBSW9RLEtBQUs2WixVQUF1QixpQkFDdkM2SyxLQUFNOTBCLEVBQUlvUSxLQUFLNlosVUFBdUIsOEJBQ3RDcmxCLEtBQU0sS0FFRmd3QixDQUNSLEdBR0lueEIsR0FBVXpELElBVWQsSUFBSW12QixFQUFhbnZCLEVBQUkyTixVQUFpQyx3QkFBMEIsQ0FBQSxFQUNoRndoQixFQUFhLENBVFh1UixZQUFhLEdBQ2JDLGdCQUFpQixHQUNqQmQsV0FBWSxHQUNaaEUsV0FBWSxpQ0FDWmlGLGlCQUFpQixFQUNqQmxKLG9CQUFvQixFQUNwQjZKLElBQUssaUJBRzZCdFMsR0ErTXBDLE1BOU1nQyxDQUM5QixDQUNFdnRCLEtBQU0sY0FDTnpDLEtBQU0sUUFDTjJzQixRQUFTcUQsRUFBV3VSLFlBQ3BCNVMsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLGdDQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QixnQ0FDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsd0NBQ3pDLEdBRUYsQ0FDRXJvQixLQUFNLGtCQUNOekMsS0FBTSxRQUNOMnNCLFFBQVNxRCxFQUFXd1IsZ0JBQ3BCN1MsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHFDQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QixxQ0FDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsNkNBQ3pDLEdBRUYsQ0FDRXJvQixLQUFNLGFBQ056QyxLQUFNLFFBQ04yc0IsUUFBU3FELEVBQVcwUSxXQUNwQi9SLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1QiwyQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsMkJBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLG1DQUN6QyxHQUVGLENBQ0Vyb0IsS0FBTSxhQUNOekMsS0FBTSxRQUNOMnNCLFFBQVNxRCxFQUFXME0sV0FDcEIvTixVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsK0JBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLCtCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1Qix1Q0FDekMsR0FFRixDQUNFcm9CLEtBQU0sU0FDTnpDLEtBQU0sUUFDTjJzQixRQUFTcUQsRUFBV3FSLE9BQ3BCMVMsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLDJCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QiwyQkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsbUNBQ3pDLEdBRUYsQ0FDRXJvQixLQUFNLFdBQ056QyxLQUFNLFFBQ04yc0IsUUFBU3FELEVBQVd1TCxTQUNwQjVNLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qiw2QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLHFDQUN6QyxHQUVGLENBQ0Vyb0IsS0FBTSxRQUNOekMsS0FBTSxRQUNOMnNCLFFBQVNxRCxFQUFXckMsTUFDcEJnQixVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsMEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLDBCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixrQ0FDekMsR0FFRixDQUNFcm9CLEtBQU0sWUFDTnpDLEtBQU0sUUFDTjJzQixRQUFTcUQsRUFBVzBTLFVBQ3BCL1QsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLDhCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qiw4QkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsc0NBQ3pDLEdBRUYsQ0FDRXJvQixLQUFNLFVBQ056QyxLQUFNLFFBQ04yc0IsUUFBU3FELEVBQVdocEIsU0FBVyxHQUMvQjJuQixVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixvQ0FDekMsR0FFRixDQUNFcm9CLEtBQU0sa0JBQ056QyxLQUFNLFVBQ04yc0IsUUFBU3FELEVBQVcyUixrQkFBbUIsRUFDdkNoVCxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsb0NBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLG9DQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1Qiw0Q0FDekMsR0FFRixDQUNFcm9CLEtBQU0scUJBQ056QyxLQUFNLFVBQ04yc0IsUUFBU3FELEVBQVd5SSxxQkFBc0IsRUFDMUM5SixVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsdUNBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLHVDQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QiwrQ0FDekMsR0FFRixDQUNFcm9CLEtBQU0sTUFDTnpDLEtBQU0sT0FDTjJzQixRQUFTcUQsRUFBV3NTLEtBQU8sY0FDM0I5VSxRQUFTLENBQ1AsVUFDQSxjQUNBLG9CQUNBLHFCQUNBLGdCQUNBLG9CQUNBLDZCQUVGbUIsVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHdCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLEdBRUYsQ0FDRXJvQixLQUFNLDJCQUNOekMsS0FBTSxVQUNOMnNCLFFBQVNrVyxHQUErQjdTLEVBQVc4Uyw0QkFBNkIsRUFDaEZuVSxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsNkNBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLDZDQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixxREFDekMsS0N6UU4sU0FBU21ZLEdBQWtCQyxFQUFjbm1DLEVBQWN1RCxFQUFrQjZpQyxFQUFnQixJQUN2RixNQUFPLGdDQUFnQ0QsY0FBaUI5VSxHQUFXLEdBQUdyeEIsSUFBT3VELE9BQWM2aUMsR0FDN0YsQ0FFQSxNQUFNN0gsR0FBYyxDQUFDaDdCLEVBQWtCMEcsRUFBd0J0RixLQUM3RCxNQUFNeTZCLE1BQUVBLEVBQUsrRyxLQUFFQSxHQUFTbDhCLEVBQ2xCMnpCLEVBQWNTLEVBQUtDLFFBQVEvNkIsSUFBYSwyQkFDOUMsTUFBTyxDQUNMZSxPQUFRLE1BQ1J0RyxJQUFLa29DLEdBQWtCQyxFQUFNbDhCLEVBQVFqSyxLQUFNdUQsR0FDM0NvNUIsUUFBUyxDQUNQMEMsY0FBZSxTQUFTRCxJQUN4QixhQUFjLFVBQ2QsZUFBZ0J4QixHQUVsQmhGLEtBQU1qMEIsRUFDTnMxQixNQUFNLElBSUpvTSxHQUFhLENBQUM5aUMsRUFBa0IwRyxLQUNwQyxNQUFNbTFCLE1BQUVBLEVBQUsrRyxLQUFFQSxFQUFJRyxPQUFFQSxHQUFXcjhCLEVBQ2hDLE1BQU8sQ0FDTDNGLE9BQVEsTUFDUnRHLElBQUtrb0MsR0FBa0JDLEVBQU1sOEIsRUFBUWpLLEtBQU11RCxFQUFVLFFBQVEraUMsS0FDN0QzSixRQUFTLENBQ1AwQyxjQUFlLFNBQVNELElBQ3hCLGFBQWMsV0FFaEJuRixNQUFNLElBSUpqaEIsR0FBUzNWLE1BQU9TLElBQ3BCLE1BQU15aUMsRUFBZ0J6aUMsRUFBSTJOLFVBQXlCLGlCQUNuRCxJQUFLODBCLEVBQWUsTUFBTSxJQUFJNXdCLE1BQU0sNEJBRXBDLE1BQU1ncUIsRUFBYTNPLEdBQWlCLENBQUVoeEIsS0FBTXVtQyxFQUFjdm1DLE9BQ3BEZy9CLEVBQVVoTyxHQUFpQixDQUFFaHhCLEtBQU11bUMsRUFBY3ZILFNBQVcsS0FDbEV1SCxFQUFjdm1DLEtBQU8yL0IsRUFDckI0RyxFQUFjM0csV0FBYTJHLEVBQWMzRyxXQUFhLElBQUkvK0IsUUFBUSxNQUFPLElBQ3pFLElBQ0UsTUFBTSs5QixFQUFVOTZCLEVBQUkyUCxPQUNwQixJQUFLLE1BQU1wTCxLQUFPdTJCLEVBQ2hCLEdBQUl2MkIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixNQUFNbVYsRUFBY3RRLEVBQUlzUSxhQUFlblAsT0FBT0MsS0FBS3BCLEVBQUk3RSxRQUFRMUUsU0FBUyxVQUNsRTZGLEVBQU8sQ0FDWFMsUUFBUyxvQkFDVGtoQyxPQUFRQyxFQUFjRCxPQUN0QkUsUUFBUzd0QixFQUNUM1ksS0FBTTIvQixFQUFhLzhCLFVBQVV5RixFQUFJOUUsV0FFN0JzN0IsRUFBYU4sR0FBWWwyQixFQUFJOUUsU0FBVWdqQyxFQUFlNWhDLEdBQzVELElBQ0UsTUFBTWkwQixRQUtJOTBCLEVBQUlPLFFBQVF3NkIsR0FDdEIsSUFBSWpHLEVBUUYsTUFBTSxJQUFJampCLE1BQU0seUNBUFR0TixFQUFJc1EsbUJBQ0p0USxFQUFJN0UsT0FDWDZFLEVBQUlxUixPQUFTNnNCLEVBQWMzRyxVQUN2QixHQUFHMkcsRUFBYzNHLGFBQWF2TyxHQUFXLEdBQUcyTixHQUFXVyxJQUFhdDNCLEVBQUk5RSxjQUN4RXExQixFQUFLNE4sUUFBUUMsYUFDakJwK0IsRUFBSXErQixLQUFPOU4sRUFBSzROLFFBQVFHLEdBSTVCLENBQUUsTUFBT2pPLEdBQ1AsR0FBdUIsTUFBbkJBLEVBQUlzRCxXQUFvQixNQUFNdEQsU0FDM0Jyd0IsRUFBSXNRLG1CQUNKdFEsRUFBSTdFLE9BQ1gsTUFBTVksUUFBYU4sRUFBSU8sUUFBUWdpQyxHQUFXaCtCLEVBQUk5RSxTQUFVZ2pDLElBQ3hELElBQUl2bEMsT0FBT0MsS0FBS21ELEdBQUtsRyxPQU1uQixNQUFNdzZCLEVBTE5yd0IsRUFBSXErQixLQUFPdGlDLEVBQUl1aUMsSUFDZnQrQixFQUFJcVIsT0FBUzZzQixFQUFjM0csVUFDdkIsR0FBRzJHLEVBQWMzRyxhQUFhdk8sR0FBVyxHQUFHMk4sR0FBV1csSUFBYXQzQixFQUFJOUUsY0FDeEVhLEVBQUlxaUMsWUFJWixDQUNGLENBRUYsT0FBTzNpQyxDQUNULENBQUUsTUFBTzQwQixHQUtQLE1BSkE1MEIsRUFBSXVSLEtBQUszRSxHQUFjOHBCLGFBQWMsQ0FDbkM3QixNQUFPNzBCLEVBQUlvUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTTkwQixFQUFJb1EsS0FBSzZaLFVBQXVCLGdDQUVsQzJLLENBQ1IsR0FHSW54QixHQUFVekQsSUFDZCxNQUFNbXZCLEVBQWFudkIsRUFBSTJOLFVBQXlCLGtCQUFvQixDQUFBLEVBMEZwRSxNQXpGZ0MsQ0FDOUIsQ0FDRS9MLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHFCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QixxQkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV2tULE1BQVEsR0FDNUJ2VSxVQUFVLEdBRVosQ0FDRWxzQixLQUFNLFNBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qix1QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsdUJBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLCtCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVdxVCxRQUFVLFNBQzlCMVUsVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxRQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsc0JBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLHNCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVdtTSxPQUFTLEdBQzdCeE4sVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIscUJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLHFCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1Qiw2QkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXanpCLE1BQVEsR0FDNUI0eEIsVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxVQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsd0JBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLHdCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixnQ0FDekMsRUFDQTZCLFFBQVNxRCxFQUFXK0wsU0FBVyxHQUMvQnBOLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLDBCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QiwwQkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsa0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBVzJNLFdBQWEsR0FDakNoTyxVQUFVLEtDMUxoQixNQUdNMk0sR0FBY2w3QixNQUNsQlMsRUFDQW1HLEVBQ0ExRyxFQUNBcWpDLEtBRUEsTUFBTUMsRUFBVzU4QixFQUFRNDhCLFVBQVksR0FDL0JwSCxFQUFXeDFCLEVBQVF3MUIsVUFBWSxHQUMvQnFILEVBWGtCLENBQUNBLEdBQ3pCQSxFQUFlQSxFQUFZNWhDLFdBQVcsVUFBWTRoQyxFQUFjLFVBQVVBLElBQWlCLEdBVXZFQyxDQUFrQjk4QixFQUFRNjhCLGFBQWUsSUFDdkRFLEVBQVEvOEIsRUFBUSs4QixPQUFTLEdBQy9CLElBQUlDLEVBQ0osR0FBSXhILEdBQVlxSCxFQUNkRyxFQUFnQkgsTUFDWCxLQUFJRCxFQUdULE1BQU0sSUFBSWx4QixNQUFNLHVDQUZoQnN4QixFQUFnQixhQUFhSixHQUcvQixDQUNBLE1BQU1LLEVBQWlDLENBQ3JDNWlDLE9BQVEsT0FDUnRHLElBQUssZ0NBQ0wyK0IsUUFBUyxDQUNQMEMsY0FBZTRILEVBQ2YsZUFBZ0Isc0JBQ2hCM0YsS0FBTSxnQkFDTixhQUFjLFdBRWhCaEUsU0FBVSxDQUNScjBCLE1BQU8yOUIsRUFDUDNqQyxLQUFNLFNBQ055QyxLQUFNbkMsRUFDTndyQixZQUFhLDBCQUdqQixHQUFJMFEsR0FBWXFILEdBQWVFLEVBQU8sQ0FDcEMsSUFDSTVpQyxFQURBK2lDLEVBQVksRUFFWkMsRUFBWSxHQUNoQixFQUFHLENBQ0QsTUFBTUMsRUFBc0MsQ0FDMUMvaUMsT0FBUSxNQUNSdEcsSUFBSyxtQ0FBbUN5aEMsWUFBbUIwSCxJQUMzRHhLLFFBQVMsQ0FDUDBDLGNBQWU0SCxHQUVqQmhOLE1BQU0sRUFDTjExQix5QkFBeUIsRUFDekIraUMsUUFBUyxLQU1YLEdBSklyOUIsRUFBUTJtQixRQUNWeVcsRUFBb0J6VyxNQUFRM21CLEVBQVEybUIsT0FFdEN4c0IsUUFBYU4sRUFBSU8sUUFBUWdqQyxHQUNBLE1BQW5CampDLEVBQUk0M0IsYUFBc0I1M0IsRUFBSXcwQixLQUFLajFCLFFBQ3ZDLE1BQU0sSUFBSWdTLE1BQU0sa0NBRWxCLE1BQU00eEIsRUFBWW5qQyxFQUFJdzBCLEtBQUtqMEIsS0FDM0IsSUFBSyxNQUFNeEQsS0FBUW9tQyxFQUNqQixHQUFJcG1DLEVBQUt3M0IsUUFBVXFPLEVBQU8sQ0FDeEJJLEVBQVlqbUMsRUFBS2tMLEdBQ2pCLEtBQ0YsQ0FFRjg2QixHQUNGLE9BQVMvaUMsRUFBSXcwQixLQUFLajBCLEtBQUt6RyxPQUFTLEdBQzVCa3BDLEdBQWFGLEVBQWU1SixXQUM5QjRKLEVBQWU1SixTQUFTMEosTUFBUUksRUFFcEMsQ0FJQSxPQUhJbjlCLEVBQVEybUIsUUFDVnNXLEVBQWV0VyxNQUFRM21CLEVBQVEybUIsT0FFMUJzVyxHQUdIbHVCLEdBQVMzVixNQUFPUyxJQUNwQixNQUFNMGpDLEVBQWUxakMsRUFBSTJOLFVBQXdCLGdCQUNqRCxJQUFLKzFCLEVBQWMsTUFBTSxJQUFJN3hCLE1BQU0sMkJBQ25DLElBQ0UsTUFBTWlwQixFQUFVOTZCLEVBQUkyUCxPQUNwQixJQUFLLE1BQU1wTCxLQUFPdTJCLEVBQ2hCLEdBQUl2MkIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixNQUFNbVYsRUFBY3RRLEVBQUlzUSxhQUFlblAsT0FBT0MsS0FBS3BCLEVBQUk3RSxRQUFRMUUsU0FBUyxVQUNsRW1MLFFBQWdCczBCLEdBQVl6NkIsRUFBSzBqQyxFQUFjbi9CLEVBQUk5RSxTQUFVb1YsR0FDN0R2VSxRQUFvQk4sRUFBSU8sUUFBUTRGLEdBQ2hDMnVCLEVBQXNCLGlCQUFSeDBCLEVBQW1CdUQsS0FBS0MsTUFBTXhELEdBQU9BLEVBQ3pELElBQUl3MEIsRUFBS2oxQixRQU1QLE1BQU0sSUFBSWdTLE1BQU0seUNBTFR0TixFQUFJc1EsbUJBQ0p0USxFQUFJN0UsT0FDWDZFLEVBQUlxUixPQUFTa2YsRUFBS2owQixLQUFLOGlDLEtBQ3ZCcC9CLEVBQUlxK0IsS0FBTzlOLEVBQUtqMEIsS0FBSytpQyxVQUl6QixDQUVGLE9BQU81akMsQ0FDVCxDQUFFLE1BQU80MEIsR0FNUCxNQUxBNTBCLEVBQUl1UixLQUFLM0UsR0FBYzhwQixhQUFjLENBQ25DN0IsTUFBTzcwQixFQUFJb1EsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU05MEIsRUFBSW9RLEtBQUs2WixVQUF1Qiw4QkFDdENybEIsS0FBTSxxQ0FFRmd3QixHQUFLcUQsVUFBVXAzQixNQUFRK3pCLENBQy9CLEdBR0lueEIsR0FBVXpELElBQ2QsTUFBTW12QixFQUFhbnZCLEVBQUkyTixVQUF3QixpQkFBbUIsQ0FBQSxFQThFbEUsTUE3RWdDLENBQzlCLENBQ0UvTCxLQUFNLFdBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsd0JBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLGdDQUN6QyxFQUNBNkIsUUFBU3FELEVBQVc0VCxVQUFZLEdBQ2hDalYsVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsd0JBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLHdCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixnQ0FDekMsRUFDQTZCLFFBQVNxRCxFQUFXd00sVUFBWSxHQUNoQzdOLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sY0FDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qiw0QkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsb0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBVzZULGFBQWUsR0FDbkNsVixVQUFVLEdBRVosQ0FDRWxzQixLQUFNLFFBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1QixxQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIscUJBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLDZCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVcrVCxPQUFTLEdBQzdCcFYsVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxRQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIscUJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLHFCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1Qiw2QkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXckMsT0FBUyxHQUM3QmdCLFVBQVUsS0NyTGhCLE1BQU01WSxHQUFTM1YsTUFBT1MsSUFDcEIsTUFBTTZqQyxFQUFjN2pDLEVBQUkyTixVQUF3QixnQkFDaEQsSUFBS2syQixFQUFhLE1BQU0sSUFBSWh5QixNQUFNLDhCQUVsQyxNQUFNZ3FCLEVBQWFnSSxFQUFZM25DLE1BQVEsR0FDakM0L0IsR0FBYStILEVBQVkvSCxXQUFhLElBQUkvK0IsUUFBUSxNQUFPLElBQ3pEbStCLEVBQVVoTyxHQUFpQixDQUMvQmh4QixLQUFNMm5DLEVBQVkzSSxTQUFTbitCLFFBQVEsTUFBTyxPQUV0Qys5QixFQUFVOTZCLEVBQUkyUCxPQUNwQixJQUFLLE1BQU1wTCxLQUFPdTJCLEVBQ2hCLEdBQUl2MkIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixJQUFJeUYsRUFBUVosRUFBSTdFLFFBQ1h5RixHQUFTWixFQUFJc1EsY0FDaEIxUCxFQUFRTyxPQUFPQyxLQUFLcEIsRUFBSXNRLFlBQWEsV0FFdkMsSUFDRSxNQUFNaXZCLEVBQWM1bkMsRUFBS3JCLEtBQUttRixFQUFJd04sUUFBUyxVQUFXLFNBQ2hEdTJCLEVBQWtCN25DLEVBQUtyQixLQUFLaXBDLEVBQWF2L0IsRUFBSTlFLFVBQzdDdWtDLEVBQWlCOW5DLEVBQUtyQixLQUFLZ2hDLEVBQVl0M0IsRUFBSTlFLFVBQ2pEaU8sRUFBY3hSLEVBQUtsQyxRQUFRZ3FDLElBQzNCdDJCLEVBQWN4UixFQUFLbEMsUUFBUStwQyxJQUMzQnBrQyxFQUFHd08sY0FBYzYxQixFQUFnQjcrQixHQUNqQ3hGLEVBQUdza0MsYUFBYUQsRUFBZ0JELFVBQ3pCeC9CLEVBQUlzUSxtQkFDSnRRLEVBQUk3RSxPQUVUNkUsRUFBSXFSLE9BREZrbUIsRUFDVyxHQUFHQSxLQUFhdk8sR0FBVyxHQUFHMk4sSUFBVTMyQixFQUFJOUUsY0FFNUN2RCxFQUFLckIsS0FBS2doQyxFQUFZdDNCLEVBQUk5RSxVQUV6QzhFLEVBQUlxK0IsS0FBTzFtQyxFQUFLckIsS0FBS2doQyxFQUFZdDNCLEVBQUk5RSxVQUNyQzhFLEVBQUkyL0IsWUFBYyxnQ0FBZ0MzVyxHQUFXaHBCLEVBQUk5RSxVQUFVMUMsUUFBUSxNQUFPLEtBQzVGLENBQUUsTUFBTzZCLEdBS1AsTUFKQW9CLEVBQUl1UixLQUFLM0UsR0FBYzhwQixhQUFjLENBQ25DN0IsTUFBTzcwQixFQUFJb1EsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU0sMkJBRUYsSUFBSWpqQixNQUFNLHlCQUNsQixDQUNGLENBRUYsT0FBTzdSLEdBR0h5RCxHQUFVekQsSUFDZCxNQUFNbXZCLEVBQWFudkIsRUFBSTJOLFVBQXdCLGlCQUFtQixDQUFBLEVBZ0RsRSxNQS9DZ0MsQ0FDOUIsQ0FDRS9MLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLG9CQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QixvQkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXanpCLE1BQVEsR0FDNUIsV0FBSW9GLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0E2RCxVQUFVLEdBRVosQ0FDRWxzQixLQUFNLFlBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qix5QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIseUJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBVzJNLFdBQWEsR0FDakMsV0FBSXg2QixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLGlDQUN6QyxFQUNBNkQsVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxVQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsdUJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLHVCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVcrTCxTQUFXLEdBQy9CcE4sVUFBVSxFQUNWLFdBQUl4c0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QiwrQkFDekMsS0N2RU4sTUFBTXdRLEdBQWMsQ0FBQ3QwQixFQUFzQjFHLEVBQThCMEYsS0FDdkUsSUFBSXN6QixFQUFPdHlCLEVBQVFzeUIsS0FDbkJBLEVBQU9BLEVBQUsxN0IsUUFBUSxNQUFPLElBQzNCLE1BQU1vbkMsRUFBMkIsT0FBcEJoK0IsRUFBUWdzQixRQUNmbUosRUFBUW4xQixFQUFRbTFCLE1BRWhCOEksRUFBWSxDQUNoQixlQUFnQixzQkFDaEIsYUFBYyxVQUNkQyxXQUFZLGFBQ1ovSSxNQUFPQSxRQUFTcitCLEdBRVpxbkMsRUFBYSxDQUNqQm4vQixNQUFPLENBQ0xtbkIsTUFBT25uQixFQUNQZ0IsUUFBUyxDQUNQeTBCLFNBQVVuN0IsSUFHZDhrQyxJQUFLLFFBR0RDLEVBQVksQ0FDaEIsZUFBZ0Isc0JBQ2hCLGFBQWMsVUFDZEgsV0FBWSxhQUNaSSxPQUFRLG1CQUNSbEosY0FBZUQsUUFBU3IrQixHQUVwQnluQyxFQUFhditCLEVBQVF1K0IsV0FDckJDLEVBQVV4K0IsRUFBUXcrQixRQUN4QixJQUFJQyxFQUFrQnorQixFQUFReStCLFdBQVd0WSxXQUN0QnJ2QixJQUFmMm5DLElBQ0ZBLEVBQWF6K0IsRUFBUXkrQixZQUV2QixNQUFNQyxFQUEwQixDQUM5QjdsQyxLQUFNLENBQ0pzdEIsTUFBT25uQixFQUNQZ0IsUUFBUyxDQUNQeTBCLFNBQVVuN0IsSUFHZDhrQyxJQUFLLE9BQ0xPLFlBQWFKLEVBQ2JLLFNBQVVKLEVBQ1ZDLGNBRUdGLFVBQ0lHLEVBQVdDLFlBRWZILFVBQ0lFLEVBQVdFLFNBRUMsSUFBZkgsR0FBbUMsSUFBZkEsVUFDakJDLEVBQVdELFdBTXBCLE1BQU8sQ0FDTHBrQyxPQUFRLE9BQ1J0RyxJQUFLaXFDLEVBQU8sR0FBRzFMLGtCQUF1QixHQUFHQSxlQUN6Q3VNLE1BTm1CLElBQUl4TixFQUFNQyxNQUFNLENBQ25DRyxvQkFBb0IsSUFNcEJpQixRQUFTc0wsRUFBT0ssRUFBWUosRUFDNUI1SyxTQUFVMkssRUFBT1UsRUFBYVAsSUFJNUJwdkIsR0FBUzNWLE1BQU9TLElBQ3BCLE1BQU1pbEMsRUFBY2psQyxFQUFJMk4sVUFBdUIsb0JBQy9DLElBQUtzM0IsRUFBYSxNQUFNLElBQUlwekIsTUFBTSxtQ0FFbEMsTUFBTWlwQixFQUFVOTZCLEVBQUkyUCxPQUNwQixJQUFLLE1BQU1wTCxLQUFPdTJCLEVBQVMsQ0FDekIsSUFBSTMxQixFQUFRWixFQUFJN0UsUUFDWHlGLEdBQVNaLEVBQUlzUSxjQUNoQjFQLEVBQVFPLE9BQU9DLEtBQUtwQixFQUFJc1EsWUFBYSxXQUV2QyxNQUFNa21CLEVBQWFOLEdBQVl3SyxFQUFhMWdDLEVBQUk5RSxTQUFVMEYsR0FDMUQsSUFBSTJ2QixRQUFjOTBCLEVBQUlPLFFBQVF3NkIsR0FDOUJqRyxFQUF1QixpQkFBVEEsRUFBb0JqeEIsS0FBS0MsTUFBTWd4QixHQUFRQSxFQUNyRCxNQUFNcVAsRUFBK0IsT0FBeEJjLEVBQVk5UyxRQUV6QixLQURrQmdTLEdBQXVCLElBQWhCclAsRUFBS3FELE9BQWdDLE1BQWRyRCxFQUFLSCxNQWFuRCxNQUpBMzBCLEVBQUl1UixLQUFLM0UsR0FBYzhwQixhQUFjLENBQ25DN0IsTUFBTyxnQkFDUEMsS0FBTUEsRUFBS3h6QixVQUVQLElBQUl1USxNQUFNaWpCLEVBQUt4ekIsZ0JBWGRpRCxFQUFJc1EsbUJBQ0p0USxFQUFJN0UsT0FDWDZFLEVBQUlxUixPQUFTdXVCLEVBQU9yUCxFQUFLajBCLEtBQUtxa0MsTUFBTWhyQyxJQUFNNDZCLEVBQUtqMEIsS0FBSzNHLElBQ2hEaXFDLElBQ0Y1L0IsRUFBSXErQixLQUFPOU4sRUFBS2owQixLQUFLNUMsSUFTM0IsQ0FDQSxPQUFPK0IsR0FHSHlELEdBQVV6RCxJQUNkLE1BQU1tdkIsRUFBYW52QixFQUFJMk4sVUFBdUIscUJBQXVCLENBQUEsRUF3R3JFLE1BdkdnQyxDQUM5QixDQUNFL0wsS0FBTSxVQUNOekMsS0FBTSxPQUNOMnNCLFFBQVNxRCxFQUFXZ0QsU0FBVyxLQUMvQixVQUFJbEUsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsc0JBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLHNCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1Qiw4QkFDekMsRUFDQTBDLFFBQVMsQ0FBQyxLQUFNLE1BQ2hCbUIsVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxPQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsbUJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLG1CQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QiwyQkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXc0osTUFBUSxHQUM1QjNLLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sUUFDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLG9CQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QixvQkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV21NLE1BQ3BCeE4sVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxhQUNOekMsS0FBTSxRQUNOMnNCLFFBQVNxRCxFQUFXdVYsV0FDcEI1VyxVQUFVLEVBQ1YsVUFBSUcsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsMEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLDBCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixrQ0FDekMsR0FFRixDQUNFcm9CLEtBQU0sVUFDTnpDLEtBQU0sUUFDTjJzQixRQUFTcUQsRUFBV3dWLFFBQ3BCN1csVUFBVSxFQUNWLFVBQUlHLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHVCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qix1QkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsK0JBQ3pDLEdBRUYsQ0FDRXJvQixLQUFNLGFBQ056QyxLQUFNLE9BQ04yc0IsUUFBU3FELEVBQVd5VixZQUFjLG1CQUNsQ2pZLFFBQVMsQ0FDUCxDQUNFL3FCLEtBQU0sbUJBQ04wcUIsTUFBTyxHQUVULENBQ0UxcUIsS0FBTSxTQUNOMHFCLE1BQU8sSUFHWHdCLFVBQVUsRUFDVixVQUFJRyxHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qix5QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIseUJBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLGlDQUN6QyxLQ25PTixNQUFNd1EsR0FBYyxDQUFDdDBCLEVBQXlCMUcsRUFBa0IwRixLQUM5RCxNQUFNc3pCLEtBQUVBLEVBQU8sWUFBV0UsS0FBRUEsRUFBTyxHQUFFd00sT0FBRUEsRUFBUyxHQUFFelosV0FBRUEsRUFBYSxVQUFTMFosVUFBRUEsRUFBWSxJQUFPai9CLEVBQ3pGay9CLEVBQU81TSxFQUFLcjFCLE1BQU0sOEJBQ2xCdzFCLEVBQVdILEVBQUtyM0IsV0FBVyxZQUFjLFdBQWEsVUFDdERra0MsRUFBYTdNLEVBQUsxN0IsUUFBUSx5QkFBMEIsSUFNMUQsTUFBTyxDQUNMeUQsT0FBUSxPQUNSdEcsSUFIVSxHQUhLbXJDLEVBQ2IsR0FBR3pNLElBQVcwTSxLQUZFM00sR0FBUSxVQUd4QixHQUFHQyxJQUFXME0sSUFBYTNNLEVBQU8sSUFBSUEsSUFBUywwQkFDTmpOLElBQWF5WixFQUFTLFdBQVdBLElBQVcsS0FBS0MsRUFBWSxRQUFRQSxJQUFjLEtBSTlIdk0sUUFBUyxDQUNQLGVBQWdCLHVCQUVsQlcsU0FBVSxDQUNSeDZCLEtBQU0sQ0FDSnN0QixNQUFPbm5CLEVBQ1BnQixRQUFTLENBQ1B5MEIsU0FBVW43QixFQUNWcTZCLFlBQWFTLEVBQUtDLFFBQVEvNkIsSUFBYSw4QkFJN0NnQix5QkFBeUIsSUFJdkJ5VSxHQUFTM1YsTUFBT1MsSUFDcEIsTUFBTXVsQyxFQUFpQnZsQyxFQUFJMk4sVUFBMEIsa0JBQ3JELElBQUs0M0IsRUFDSCxNQUFNLElBQUkxekIsTUFBTSw2QkFFbEIsSUFDRSxNQUFNaXBCLEVBQVU5NkIsRUFBSTJQLE9BQ3BCLElBQUssTUFBTXBMLEtBQU91MkIsRUFDaEIsR0FBSXYyQixFQUFJOUUsVUFBWThFLEVBQUk3RSxPQUFRLENBQzlCLElBQUl5RixFQUFRWixFQUFJN0UsUUFDWHlGLEdBQVNaLEVBQUlzUSxjQUNoQjFQLEVBQVFPLE9BQU9DLEtBQUtwQixFQUFJc1EsWUFBYSxXQUV2QyxNQUFNMU8sRUFBVXMwQixHQUFZOEssRUFBZ0JoaEMsRUFBSTlFLFNBQVUwRixHQUVwRDdFLFFBQVlOLEVBQ2ZPLFFBQVE0RixHQUNSeEYsS0FBTUwsR0FBYUEsR0FDbkJpQixNQUFPcXpCLElBQ0MsQ0FDTHNELFdBQVksSUFDWnBELEtBQU0sQ0FDSnBmLElBQUsxVixFQUFJb1EsS0FBSzZaLFVBQXVCLGVBQ3JDMkssVUFJUixHQUF1QixNQUFuQnQwQixFQUFJNDNCLGFBQXNCNTNCLEVBQUl3MEIsTUFBTWoxQixRQU10QyxNQUFNLElBQUlnUyxNQUFNdlIsRUFBSXcwQixLQUFLeHpCLGdCQUxsQmlELEVBQUlzUSxtQkFDSnRRLEVBQUk3RSxPQUNYNkUsRUFBSXFSLE9BQVN0VixFQUFJdzBCLEtBQUs3QixPQUFPLEdBQzdCMXVCLEVBQUlpaEMsV0FBYWxsQyxFQUFJdzBCLEtBQUswUSxXQUFhbGxDLEVBQUl3MEIsS0FBSzBRLFdBQVcsR0FBSyxFQUlwRSxDQUVGLE9BQU94bEMsQ0FDVCxDQUFFLE1BQU80MEIsR0FLUCxNQUpBNTBCLEVBQUl1UixLQUFLM0UsR0FBYzhwQixhQUFjLENBQ25DN0IsTUFBTzcwQixFQUFJb1EsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU05MEIsRUFBSW9RLEtBQUs2WixVQUF1QixvQkFFbEMySyxDQUNSLEdBR0lueEIsR0FBVXpELElBQ2QsTUFBTW12QixFQUFhbnZCLEVBQUkyTixVQUEwQixtQkFBcUIsQ0FBQSxFQStEdEUsTUE5RGdDLENBQzlCLENBQ0UvTCxLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1QixzQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsc0JBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3NKLE1BQVEsWUFDNUIzSyxVQUFVLEdBRVosQ0FDRWxzQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1QixzQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsc0JBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3dKLE1BQVEsTUFDNUI3SyxVQUFVLEdBRVosQ0FDRWxzQixLQUFNLFNBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsd0JBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV2dXLFFBQVUsR0FDOUJyWCxVQUFVLEdBRVosQ0FDRWxzQixLQUFNLGFBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qiw0QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3pELFlBQWMsR0FDbENvQyxVQUFVLEdBRVosQ0FDRWxzQixLQUFNLFlBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1QixxQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIscUJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV2lXLFdBQWEsR0FDakN0WCxVQUFVLEtDeEloQixTQUFTMk0sR0FBWXQwQixFQUF1QjFHLEVBQWtCNjdCLEVBQWV3SCxHQUMzRSxNQUFNdkYsRUFpQlIsU0FBb0JBLEdBQ2xCLE1BQWdCLE9BQVRBLEVBQWdCLEdBQUssSUFBTUEsQ0FDcEMsQ0FuQmVrSSxDQUFXdC9CLEVBQVFvM0IsTUFBUSxNQUNsQ3JoQyxFQUFPaUssRUFBUWpLLE1BQVEsR0FLN0IsTUFBTyxDQUNMc0UsT0FBUSxPQUNSdEcsSUFBSyxnQkFBZ0JxakMsOEJBTkE3M0IsT0FBT0MsS0FBS3pKLEVBQU91RCxFQUFVLFNBQ2pEekUsU0FBUyxVQUNUK0IsUUFBUSxNQUFPLEtBQ2ZBLFFBQVEsTUFBTyxPQUloQjg3QixRQUFTLENBQ1AwQyxjQUFlLFdBQVdELElBQzFCLGVBQWdCZixFQUFLQyxRQUFRLzZCLElBQWEsNEJBRTVDcTFCLEtBQU1nTyxFQUVWLENBTUEsU0FBUzRDLEdBQVNDLEdBQ2hCLE1BQU1DLEVBQVlELEVBQWFDLFVBQ3pCQyxFQUFZRixFQUFhRSxVQUN6QkMsRUFBTSxJQUFJbFgsR0FBTW1YLEtBQUt6cUMsT0FBTzBxQyxJQUFJSixFQUFXQyxHQUMzQzEvQixFQUFVLENBQ2Q5RCxNQUFPc2pDLEVBQWF6SSxRQUd0QixPQURrQixJQUFJdE8sR0FBTXFYLEdBQUdDLFVBQVUvL0IsR0FDeEJnZ0MsWUFBWUwsRUFDL0IsQ0FFQSxNQUFNNXdCLEdBQVMzVixNQUFPUyxJQUNwQixNQUFNMmxDLEVBQWUzbEMsRUFBSTJOLFVBQXdCLGdCQUNqRCxJQUFLZzRCLEVBQ0gsTUFBTSxJQUFJOXpCLE1BQU0sMkJBRWxCLElBQ0UsTUFBTWlwQixFQUFVOTZCLEVBQUkyUCxPQUNwQixJQUFLLE1BQU1wTCxLQUFPdTJCLEVBQ2hCLEdBQUl2MkIsRUFBSTlFLFVBQVk4RSxFQUFJN0UsT0FBUSxDQUM5QixNQUFNbVYsRUFBY3RRLEVBQUlzUSxhQUFlblAsT0FBT0MsS0FBS3BCLEVBQUk3RSxRQUFRMUUsU0FBUyxVQUNsRW1MLEVBQVVzMEIsR0FBWWtMLEVBQWNwaEMsRUFBSTlFLFNBQVVpbUMsR0FBU0MsR0FBZTl3QixHQUMxRXZVLFFBQVlOLEVBQUlPLFFBQVE0RixHQUN4QjJ1QixFQUFPanhCLEtBQUtDLE1BQU14RCxHQUN4QixJQUFJdzBCLEdBQU03MkIsSUFZUixNQUxBK0IsRUFBSXVSLEtBQUszRSxHQUFjOHBCLGFBQWMsQ0FDbkM3QixNQUFPNzBCLEVBQUlvUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTUEsRUFBS3BmLE1BRWIxVixFQUFJZ08sSUFBSTNNLE1BQU0sY0FBZXl6QixHQUN2QixJQUFJampCLE1BQU0saUJBWkgsUUFDTnROLEVBQUlzUSxtQkFDSnRRLEVBQUk3RSxPQUNYLE1BQU0wbUMsRUFBVVQsRUFBYXpyQyxJQUN2QndqQyxFQUFhaUksRUFBYXgvQixTQUFXLEdBQzNDNUIsRUFBSXFSLE9BQVMsR0FBR3d3QixLQUFXdFIsRUFBSzcyQixNQUFnQnkvQixHQUNsRCxDQVFGLENBRUYsT0FBTzE5QixDQUNULENBQUUsTUFBTzQwQixHQUNQLEdBQW9CLGtCQUFoQkEsRUFBSXR6QixTQUVGc3pCLEVBQUlxRCxTQUFVLENBQ2hCLE1BQU01MkIsRUFBUXV6QixFQUFJcUQsU0FBU25ELEtBQzNCOTBCLEVBQUl1UixLQUFLM0UsR0FBYzhwQixhQUFjLENBQ25DN0IsTUFBTzcwQixFQUFJb1EsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU16ekIsRUFBTUEsT0FFaEIsQ0FFRixNQUFNdXpCLENBQ1IsR0FHSW54QixHQUFVekQsSUFDZCxNQUFNbXZCLEVBQWFudkIsRUFBSTJOLFVBQXdCLGlCQUFtQixDQUFBLEVBbUdsRSxNQWxHZ0MsQ0FDOUIsQ0FDRS9MLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHlCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qix5QkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXeVcsV0FBYSxHQUNqQzlYLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sWUFDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHlCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qix5QkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXMFcsV0FBYSxHQUNqQy9YLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sU0FDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHNCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QixzQkFDekMsRUFDQTZCLFFBQVNxRCxFQUFXK04sUUFBVSxHQUM5QnBQLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sTUFDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLG1CQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QixtQkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsMkJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV2oxQixLQUFPLEdBQzNCNHpCLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLG9CQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QixvQkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV29PLE1BQVEsR0FDNUJ6UCxVQUFVLEdBRVosQ0FDRWxzQixLQUFNLFVBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qix1QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsdUJBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLCtCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVdocEIsU0FBVyxHQUMvQjJuQixVQUFVLEdBRVosQ0FDRWxzQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1QixvQkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsb0JBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVdqekIsTUFBUSxHQUM1QjR4QixVQUFVLEtDaExoQixNQUFNdVksR0FDSWpWLGdCQUNBc08sT0FBUyxJQUFJNEcsR0FDckJDLGFBQWMsRUFFZCxXQUFBbDVCLEdBQXVCLENBRWhCLGtCQUFPbTVCLEdBSVosT0FIS0gsR0FBVW5OLFdBQ2JtTixHQUFVbk4sU0FBVyxJQUFJbU4sSUFFcEJBLEdBQVVuTixRQUNuQixDQUVRLCtCQUFPdU4sQ0FBeUJ2cUMsR0FDdEMsT0FBT0EsRUFBS2EsUUFBUSxNQUFPLElBQzdCLENBRU8sYUFBTTJwQyxDQUFRampDLEdBQ25CLE1BQU1nMUIsS0FBRUEsRUFBSUUsS0FBRUEsRUFBSWdELFNBQUVBLEVBQVFDLFNBQUVBLEVBQVErSyxXQUFFQSxFQUFVQyxXQUFFQSxHQUFlbmpDLEVBQzdEb2pDLEVBQW9CRixFQUN0QixDQUNFaEwsV0FDQW1MLGVBQWdCSCxFQUNoQkMsV0FBWUEsUUFBYzNwQyxHQUU1QixDQUFFMCtCLFdBQVVDLFlBQ2hCLFVBQ1FydUIsS0FBS215QixPQUFPZ0gsUUFBUSxDQUN4QmpPLE9BQ0FFLEtBQU0xMEIsT0FBTzAwQixJQUFTLE1BQ25Ca08sSUFFTHQ1QixLQUFLZzVCLGFBQWMsQ0FDckIsQ0FBRSxNQUFPM1IsR0FDUCxNQUFNLElBQUkvaUIsTUFBTStpQixFQUNsQixDQUNGLENBRU8sWUFBTWprQixDQUFPOGQsRUFBZXNZLEVBQWdCdGpDLEdBQ2pELElBQUs4SixLQUFLZzVCLFlBQ1IsTUFBTSxJQUFJMTBCLE1BQU0sK0JBRWxCLElBQ0VrMUIsRUFBU1YsR0FBVUkseUJBQXlCTSxTQUN0Q3g1QixLQUFLeTVCLE1BQU05cUMsRUFBS2xDLFFBQVErc0MsR0FBUWhxQyxRQUFRLGFBQWMsSUFBSzBHLFNBQzNEOEosS0FBS215QixPQUFPdUgsUUFBUXhZLEVBQU9zWSxHQUNqQyxNQUFNRyxFQUFXempDLEVBQU95akMsVUFBWSxPQUNuQixTQUFiQSxTQUNJMzVCLEtBQUs0NUIsS0FBSyxTQUFTRCxNQUFhSCxLQUUxQyxDQUFFLE1BQU9uUyxHQUNQLE1BQU0sSUFBSS9pQixNQUFNK2lCLEVBQ2xCLENBQ0YsQ0FFUSxXQUFNb1MsQ0FBTUksRUFBaUIzakMsR0FDbkMsSUFBSzhKLEtBQUtteUIsT0FBTzZHLGNBQ2YsTUFBTSxJQUFJMTBCLE1BQU0sZ0NBRWxCLE1BQU13MUIsRUFBZ0I1akMsRUFBTzZqQyxTQUFXLE9BQ3hDLEdBQXNCLFNBQWxCRCxFQUEwQixDQUM1QixNQUFNRSxFQUFPSCxFQUFRaHBDLE1BQU0sS0FDM0IsSUFBSW9wQyxFQUFjLEdBQ2xCLElBQUssTUFBTUMsS0FBT0YsRUFDaEIsR0FBSUUsRUFBSyxDQUNQRCxHQUFlLElBQUlDLElBQ25CLE1BQU1DLEVBQVMsVUFBVUYsZUFBeUJILE1BQWtCRyxXQUM5RGo2QixLQUFLNDVCLEtBQUtPLEVBQ2xCLENBRUosS0FBTyxDQUNMLE1BQU1BLEVBQVMscUJBQXFCTixXQUM5Qjc1QixLQUFLNDVCLEtBQUtPLEVBQ2xCLENBQ0YsQ0FFTyxXQUFNQyxDQUFNWixFQUFnQmEsRUFBY0MsR0FDL0NkLEVBQVNWLEdBQVVJLHlCQUF5Qk0sR0FDNUMsTUFBT2UsRUFBT0MsR0FBVUYsRUFBUSxDQUFDRCxFQUFNQyxHQUFTRCxFQUFLdHFDLFNBQVMsS0FBT3NxQyxFQUFLeHBDLE1BQU0sS0FBTyxDQUFDd3BDLEVBQU1BLFNBRXhGcjZCLEtBQUs0NUIsS0FBSyxTQUFTVyxLQUFTQyxNQUFXaEIsS0FDL0MsQ0FFUSxVQUFNSSxDQUFLTyxHQUVqQixPQUEyQixXQURGbjZCLEtBQUtteUIsT0FBT2hMLFlBQVlnVCxJQUMvQi9TLElBQ3BCLENBRU8sS0FBQXFULEdBQ0x6NkIsS0FBS215QixPQUFPdUksVUFDWjE2QixLQUFLZzVCLGFBQWMsQ0FDckIsRUN6RkYsTUFBTXJ4QixHQUFTM1YsTUFBT1MsSUFDcEIsTUFBTWtvQyxFQUFrQmxvQyxFQUFJMk4sVUFBNEIsb0JBQ3hELElBQUt1NkIsRUFDSCxNQUFNLElBQUlyMkIsTUFBTSxrQ0FFbEJxMkIsRUFBZ0J2UCxLQUFPMTBCLE9BQU9pa0MsRUFBZ0J2UCxPQUFTLElBQ25EdVAsRUFBZ0J2UCxLQUFPLEdBQUt1UCxFQUFnQnZQLEtBQU8sU0FDckR1UCxFQUFnQnZQLEtBQU8sSUFFekJ1UCxFQUFnQnJNLFdBQWEzTyxHQUFpQixDQUM1Q2h4QixLQUFNZ3NDLEVBQWdCck0sV0FDdEJ4TyxhQUFhLElBRWYsTUFBTTZOLEVBQVVoTyxHQUFpQixDQUMvQmh4QixLQUFNZ3NDLEVBQWdCaE4sUUFDdEI3TixhQUFhLElBRWYsSUFDRSxNQUFNeU4sRUFBVTk2QixFQUFJMlAsT0FDcEIsSUFBSyxNQUFNcEwsS0FBT3UyQixFQUNoQixHQUFJdjJCLEVBQUk5RSxVQUFZOEUsRUFBSTdFLE9BQVEsQ0FDOUIsSUFBSXlGLEVBQVFaLEVBQUk3RSxRQUNYeUYsR0FBU1osRUFBSXNRLGNBQ2hCMVAsRUFBUU8sT0FBT0MsS0FBS3BCLEVBQUlzUSxZQUFhLFdBRXZDLE1BQU1zekIsRUFBaUJqc0MsRUFBS3JCLEtBQUttRixFQUFJd04sUUFBUyxjQUN4Q3MyQixFQUFjNW5DLEVBQUtyQixLQUFLbUYsRUFBSXdOLFFBQVMsVUFBVyxhQUN0REUsRUFBY28yQixHQUNkLE1BQU05d0IsRUFBZTlXLEVBQUtyQixLQUFLc3RDLEVBQWdCNWpDLEVBQUk5RSxVQUNuRGlPLEVBQWN4UixFQUFLbEMsUUFBUWdaLElBQzNCbzFCLEVBQWVwMUIsRUFBYzdOLEdBQzdCLE1BQU11NkIsRUFBUzJHLEdBQVVHLG9CQUNuQjlHLEVBQU9nSCxRQUFRd0IsR0FDckIsTUFBTUcsRUFBYW5zQyxFQUFLckIsS0FBSyxJQUFJcXRDLEVBQWdCck0sYUFBYTkrQixRQUFRLFNBQVUsS0FBTXdILEVBQUk5RSxnQkFDcEZpZ0MsRUFBTy91QixPQUFPcUMsRUFBY3ExQixFQUFZSCxHQUM5Q0EsRUFBZ0JJLGdCQUFtQjVJLEVBQU9pSSxNQUFNVSxFQUFZSCxFQUFnQkksaUJBQ3JFL2pDLEVBQUlzUSxtQkFDSnRRLEVBQUk3RSxPQUNYLE1BQU0wbUMsRUFBVThCLEVBQWdCcE0sV0FBYW9NLEVBQWdCelAsS0FDekR5UCxFQUFnQmhOLFFBQ2xCMzJCLEVBQUlxUixPQUFTLEdBQUd3d0IsS0FBVzdZLEdBQVcsR0FBZSxNQUFaMk4sRUFBa0IsR0FBS0EsSUFBVTMyQixFQUFJOUUsY0FFOUU4RSxFQUFJcVIsT0FBUyxHQUFHd3dCLEtBQVc3WSxHQUFXLEdBQWtDLE1BQS9CMmEsRUFBZ0JyTSxXQUFxQixHQUFLcU0sRUFBZ0JyTSxhQUFhdDNCLEVBQUk5RSxjQUV0SCxNQUFNOG9DLEVBQWtCcnNDLEVBQUtyQixLQUFLaXBDLEVBQWF2L0IsRUFBSTlFLFVBQ25EaU8sRUFBY3hSLEVBQUtsQyxRQUFRdXVDLElBQzNCQyxFQUFXRCxHQUNYRSxFQUFTejFCLEVBQWM5VyxFQUFLckIsS0FBS2lwQyxFQUFhdi9CLEVBQUk5RSxXQUNsRDhFLEVBQUkyL0IsWUFBYyxvQ0FBb0N6VyxtQkFBbUJscEIsRUFBSTlFLFlBQzdFaWdDLEVBQU9zSSxPQUNULENBRUYsT0FBT2hvQyxDQUNULENBQUUsTUFBTzQwQixHQUtQLE1BSkE1MEIsRUFBSXVSLEtBQUszRSxHQUFjOHBCLGFBQWMsQ0FDbkM3QixNQUFPNzBCLEVBQUlvUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTTkwQixFQUFJb1EsS0FBSzZaLFVBQXVCLG9CQUVsQzJLLENBQ1IsR0FHSW54QixHQUFVekQsSUFDZCxNQUFNbXZCLEVBQWFudkIsRUFBSTJOLFVBQTRCLHFCQUF1QixDQUFBLEVBaUwxRSxNQWhMZ0MsQ0FDOUIsQ0FDRS9MLEtBQU0sT0FDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHdCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3NKLE1BQVEsR0FDNUIzSyxVQUFVLEdBRVosQ0FDRWxzQixLQUFNLE9BQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qix3QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsd0JBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLGdDQUN6QyxFQUNBNkIsUUFBU3FELEVBQVd3SixNQUFRLEdBQzVCN0ssVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVd3TSxVQUFZLEdBQ2hDN04sVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsNEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBNkIsUUFBU3FELEVBQVd5TSxVQUFZLEdBQ2hDOU4sVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxhQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsOEJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLDhCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixzQ0FDekMsRUFDQTZCLFFBQVNxRCxFQUFXd1gsWUFBYyxHQUNsQzdZLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sYUFDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLHlDQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qix5Q0FDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsaURBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV3lYLFlBQWMsR0FDbEM5WSxVQUFVLEdBRVosQ0FDRWxzQixLQUFNLGFBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qiw4QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsOEJBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLHNDQUN6QyxFQUNBNkIsUUFBU3FELEVBQVcwTSxZQUFjLEdBQ2xDL04sVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxZQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLDZCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixxQ0FDekMsRUFDQTZCLFFBQVNxRCxFQUFXMk0sV0FBYSxHQUNqQ2hPLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sVUFDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLGdDQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1QixnQ0FDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsd0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBVytMLFNBQVcsR0FDL0JwTixVQUFVLEdBRVosQ0FDRWxzQixLQUFNLFdBQ056QyxLQUFNLFFBQ04sVUFBSTh1QixHQUNGLE9BQU9qdUIsRUFBSW9RLEtBQUs2WixVQUF1Qiw2QkFDekMsRUFDQSxTQUFJNEMsR0FDRixPQUFPN3NCLEVBQUlvUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0EsV0FBSTNvQixHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLHFDQUN6QyxFQUNBNkIsUUFBU3FELEVBQVdtWixVQUFZLEdBQ2hDeGEsVUFBVSxHQUVaLENBQ0Vsc0IsS0FBTSxXQUNOekMsS0FBTSxRQUNOLFVBQUk4dUIsR0FDRixPQUFPanVCLEVBQUlvUSxLQUFLNlosVUFBdUIsNkJBQ3pDLEVBQ0EsU0FBSTRDLEdBQ0YsT0FBTzdzQixFQUFJb1EsS0FBSzZaLFVBQXVCLDZCQUN6QyxFQUNBLFdBQUkzb0IsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixxQ0FDekMsRUFDQTZCLFFBQVNxRCxFQUFXK1gsVUFBWSxHQUNoQ3BaLFVBQVUsR0FFWixDQUNFbHNCLEtBQU0sVUFDTnpDLEtBQU0sUUFDTixVQUFJOHVCLEdBQ0YsT0FBT2p1QixFQUFJb1EsS0FBSzZaLFVBQXVCLDRCQUN6QyxFQUNBLFNBQUk0QyxHQUNGLE9BQU83c0IsRUFBSW9RLEtBQUs2WixVQUF1Qiw0QkFDekMsRUFDQSxXQUFJM29CLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsb0NBQ3pDLEVBQ0E2QixRQUFTcUQsRUFBV21ZLFNBQVcsR0FDL0J4WixVQUFVLEtDaFBoQixNQUFNMk0sR0FBYyxDQUFDaDdCLEVBQWtCMEYsRUFBZXVqQyxFQUFrQkMsRUFBUyxNQUN4RSxDQUNMbm9DLE9BQVEsT0FDUnRHLElBQUssV0FBV3l1QyxrQkFDaEI5UCxRQUFTLENBQ1BpQixZQUFhLHNCQUNiLGFBQWMsVUFDZHlCLGNBQWVtTixHQUVqQmxQLFNBQVUsQ0FDUm9QLE9BQVEsQ0FDTnRjLE1BQU9ubkIsRUFDUGdCLFFBQVMsQ0FBRXkwQixTQUFVbjdCLElBRXZCOGtDLElBQUssVUFLTHJ2QixHQUFTM1YsTUFBT1MsSUFDcEIsTUFBTTZvQyxFQUFhN29DLEVBQUkyTixVQUF1QixlQUM5QyxJQUFLazdCLEdBQVl2TixPQUFPanNCLE9BQ3RCLE1BQU0sSUFBSXdDLE1BQU0sNEJBRWxCLE1BQU04MkIsR0FBVUUsRUFBV0MsY0FBZ0IsU0FBUy9yQyxRQUFRLGVBQWdCLElBQUlBLFFBQVEsTUFBTyxJQUV6Ris5QixFQUFVOTZCLEVBQUkyUCxPQUNwQixJQUFLLE1BQU1wTCxLQUFPdTJCLEVBQVMsQ0FDekIsSUFBS3YyQixFQUFJOUUsU0FBVSxTQUVuQixNQUFNc3BDLEVBQWN4a0MsRUFBSTdFLFNBQVc2RSxFQUFJc1EsWUFBY25QLE9BQU9DLEtBQUtwQixFQUFJc1EsWUFBYSxlQUFZNVgsR0FDOUYsSUFBSzhyQyxFQUFhLFNBRWxCLE1BQU1oTyxFQUFhTixHQUFZbDJCLEVBQUk5RSxTQUFVc3BDLEVBQWFGLEVBQVd2TixNQUFPcU4sR0FDdEVyb0MsUUFBb0JOLEVBQUlPLFFBQVF3NkIsR0FDaENqRyxFQUFPanhCLEtBQUtDLE1BQU14RCxHQUV4QixHQUFrQixZQUFkdzBCLEVBQUtILEtBQ1Bwd0IsRUFBSXFSLE9BQVNrZixFQUFLajBCLEtBQUszRyxJQUN2QnFLLEVBQUlxK0IsS0FBTzlOLEVBQUtqMEIsS0FBSytoQyxTQUNoQixJQUFrQixtQkFBZDlOLEVBQUtILE1BQW9ELGlCQUFoQkcsRUFBS2tVLE9BV2xELENBQ0wsTUFBTUMsRUFBV25VLEVBQUt4ekIsU0FBVyxnQkFLakMsTUFKQXRCLEVBQUl1UixLQUFLM0UsR0FBYzhwQixhQUFjLENBQ25DN0IsTUFBTzcwQixFQUFJb1EsS0FBSzZaLFVBQXVCLGlCQUN2QzZLLEtBQU1tVSxJQUVGLElBQUlwM0IsTUFBTW8zQixFQUNsQixDQWpCRTFrQyxFQUFJcVIsT0FBU2tmLEVBQUtrVSxPQUNsQixJQUNFLE1BQU1FLFFBQXNCaDdCLEVBQU0vTSxJQUFJLFdBQVd3bkMsMEJBQWdDLENBQy9FOVAsUUFBUyxDQUFFMEMsY0FBZXNOLEVBQVd2TixTQUVqQzZOLEVBQWVELEVBQWNyb0MsTUFBTUEsTUFBTThOLEtBQU14SixHQUFlQSxFQUFNakwsTUFBUTQ2QixFQUFLa1UsUUFDbkZHLElBQWM1a0MsRUFBSXErQixLQUFPdUcsRUFBYXZHLEtBQzVDLENBQUUsTUFFRixDQVFGLFFBRU9yK0IsRUFBSXNRLG1CQUNKdFEsRUFBSTdFLE1BQ2IsQ0FDQSxPQUFPTSxHQUdIeUQsR0FBVXpELElBQ2QsTUFBTW12QixFQUFhbnZCLEVBQUkyTixVQUF1QixnQkFBa0IsQ0FBQSxFQUNoRSxNQUFPLENBQ0xnZ0IsR0FBWTN0QixFQUFLLE9BQVEsUUFBUyxRQUFTbXZCLEVBQVdtTSxPQUFTLElBQUksT0FBTXIrQixFQUFXLENBQ2xGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLDRCQUN6QyxJQUVGMEQsR0FBWTN0QixFQUFLLE9BQVEsZUFBZ0IsUUFBU212QixFQUFXMlosY0FBZ0IsSUFBSSxPQUFPN3JDLEVBQVcsQ0FDakcsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsb0NBQ3pDLE1DcEVOLE1BQU04UyxHQUFvQixDQUFDNTJCLEVBQXVCMUcsS0FDaEQsTUFBTTJwQyxTQUFFQSxFQUFRdkQsVUFBRUEsRUFBU3dELE1BQUVBLEVBQUtuTSxPQUFFQSxFQUFNL0ssUUFBRUEsRUFBT29MLEtBQUVBLEVBQUk3QyxTQUFFQSxFQUFReCtCLEtBQUVBLEdBQVNpSyxFQUc5RSxJQUFJZzNCLEVBQ0FtTSxFQUFXLEdBRWYsSUFMY25YLEdBQXVCLE9BQVpBLEVBS2YsQ0FDUixNQUFNeDNCLEVBQVNELEtBQUtzTSxNQUFzQixLQUFoQnRNLEtBQUtDLFVBQ3pCNHVDLEVBQVU3dUMsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLEtBQVEsRUFFMUMydEMsRUFBaUIsS0FBS0gsT0FBV25NLE9BQVlrTSxPQURuQ0csRUFBVSxVQUNvREEsT0FBYTV1QyxPQUVyRjh1QyxFQUFhdHVDLEVBQU9paUMsV0FBVyxPQUFReUksR0FBV3hxQyxPQUFPbXVDLEdBQWdCbHVDLFNBQ3pFb3VDLEVBQWFoa0MsT0FBT3l2QixPQUFPLENBQUNzVSxFQUFZL2pDLE9BQU9DLEtBQUs2akMsS0FDMURyTSxFQUFZejNCLE9BQU9DLEtBQUsrakMsR0FBWTF1QyxTQUFTLFNBQy9DLEtBQU8sQ0FDTCxNQUFNMnVDLEVBQVFqdkMsS0FBS3NNLE1BQU1sTCxLQUFLRCxNQUFRLEtBQ3RDeXRDLEVBQVcsR0FBR0ssS0FBU0EsRUFBUSxRQUMvQixNQUFNQyxFQUFVenVDLEVBQU9paUMsV0FBVyxPQUFReUksR0FBV3hxQyxPQUFPaXVDLEdBQVVodUMsT0FBTyxPQUV2RXV1QyxFQUFhLFNBQVMzdEMsSUFBT3VELGFBQW9CeTlCLEtBQVV4QyxHQUR6QyxPQUFPNkMscUJBR3pCdU0sRUFBZSxTQUFTUixNQURMbnVDLEVBQU9DLFdBQVcsUUFBUUMsT0FBT3d1QyxHQUFZdnVDLE9BQU8sV0FFN0U2aEMsRUFBWWhpQyxFQUFPaWlDLFdBQVcsT0FBUXdNLEdBQVN2dUMsT0FBT3l1QyxHQUFjeHVDLE9BQU8sTUFDN0UsQ0FFQSxNQUFPLENBQUU2aEMsWUFBV2tNLFFBQU9uTSxTQUFRb00sYUFHL0I3TyxHQUFjLENBQ2xCdDBCLEVBQ0ExRyxFQUNBMDlCLEVBQ0FoNEIsRUFDQWd0QixLQUVBLE1BQU1vTCxLQUFFQSxFQUFJcmhDLEtBQUVBLEVBQUlnaEMsT0FBRUEsRUFBTXhDLFNBQUVBLEVBQVEwTyxTQUFFQSxHQUFhampDLEVBRTdDNGpDLEVBQVksU0FBUzVYLGNBRTNCLElBSGNoc0IsRUFBUWdzQixTQUErQixPQUFwQmhzQixFQUFRZ3NCLFFBSXZDLE1BQU8sQ0FDTDN4QixPQUFRLE9BQ1J0RyxJQUFLLFVBQVVxakMsZ0NBQW1DSixFQUFVa00sU0FBU2xNLEVBQVVELFVBQVVwK0IsVUFBVTVDLEtBQVF1RCxJQUMzR281QixRQUFTLENBQ1AyRSxLQUFNLEdBQUdELHNCQUNUaEMsY0FBZTRCLEVBQVVBLFVBQ3pCckQsWUFBYSxzQkFDYixhQUFjaVEsR0FFaEJ2USxTQUFVLENBQUV3USxHQUFJLFNBQVVDLFlBQWE5a0MsR0FDdkMxRSx5QkFBeUIsR0FJN0IsTUFDTWc0QixFQUFPLEdBQUd5RSxLQUFVeEMsR0FERixPQUFPNkMsbUJBRS9CLE1BQU8sQ0FDTC84QixPQUFRLE1BQ1J0RyxJQUFLLFVBQVV1K0IsS0FBUWxMLEdBQVcsR0FBR3J4QixJQUFPdUQsT0FDNUNvNUIsUUFBUyxDQUNQMkUsS0FBTS9FLEVBQ044QyxjQUFlLDhCQUE4QjZOLGlCQUF3QmpNLEVBQVVtTSx1QkFBdUJuTSxFQUFVbU0sNkRBQTZEbk0sRUFBVUEsWUFDdkxyRCxZQUFhUyxFQUFLQyxRQUFRLzZCLElBQWEsMkJBQ3ZDLGFBQWNzcUMsR0FFaEJqVixLQUFNM3ZCLEVBQ04xRSx5QkFBeUIsSUFJdkJ5VSxHQUFTM1YsTUFBT1MsSUFDcEIsTUFBTWtxQyxFQUFlbHFDLEVBQUkyTixVQUF3QixnQkFDakQsSUFBS3U4QixFQUFjLE1BQU0sSUFBSXI0QixNQUFNLGlDQUVuQyxJQUNFLE1BQU1pcEIsRUFBVTk2QixFQUFJMlAsT0FDZG1zQixHQUFhb08sRUFBYXBPLFdBQWEsSUFBSS8rQixRQUFRLE1BQU8sSUFDMURiLEVBQU9neEIsR0FBaUIsQ0FBRWh4QixLQUFNZ3VDLEVBQWFodUMsT0FDN0NnL0IsRUFBVWhPLEdBQWlCLENBQUVoeEIsS0FBTWd1QyxFQUFhaFAsVUFDdERnUCxFQUFhaHVDLEtBQU9BLEVBQ3BCLE1BQU1pdUMsR0FBU0QsRUFBYS9YLFNBQW9DLE9BQXpCK1gsRUFBYS9YLFFBRXBELElBQUssTUFBTTV0QixLQUFPdTJCLEVBQVMsQ0FDekIsSUFBS3YyQixFQUFJOUUsV0FBYThFLEVBQUk3RSxPQUFRLFNBRWxDLE1BQU15OUIsRUFBWUosR0FBa0JtTixFQUFjM2xDLEVBQUk5RSxVQUNoRDBGLEVBQVFaLEVBQUk3RSxRQUFVZ0csT0FBT0MsS0FBS3BCLEVBQUlzUSxZQUFjLFVBQ3BEMU8sRUFBVXMwQixHQUFZeVAsRUFBYzNsQyxFQUFJOUUsU0FBVTA5QixFQUFXaDRCLEVBQU9uRixFQUFJbVEsYUFBZW5RLEVBQUlrUSxTQUUzRjVQLFFBQVlOLEVBQUlPLFFBQVE0RixHQUFTNUUsTUFBT3F6QixJQUFVLENBQ3REc0QsV0FBWSxJQUNacEQsS0FBTSxDQUFFcGYsSUFBSzFWLEVBQUlvUSxLQUFLNlosVUFBdUIsZUFBZ0IySyxVQUd6REUsRUFBT3FWLEdBQXdCLGlCQUFSN3BDLEVBQW1CdUQsS0FBS0MsTUFBTXhELEdBQU9BLEVBRWxFLEdBQXdCLE1BQXBCdzBCLEVBQUtvRCxXQUNQLE1BQU1wRCxHQUFNQSxNQUFNRixLQUFPLElBQUkvaUIsTUFBTWlqQixHQUFNQSxNQUFNcGYsS0FBT29mLEdBQU1BLE1BQU14ekIsU0FHcEUsTUFBTThvQyxFQUFZRixFQUFhL2pDLFNBQVcsR0FDcENra0MsSUFBU0gsRUFBYUcsS0FLNUIsVUFITzlsQyxFQUFJc1EsbUJBQ0p0USxFQUFJN0UsT0FFUHlxQyxHQUEwQixZQUFqQnJWLEVBQUt4ekIsUUFDaEJpRCxFQUFJcVIsT0FBU2ttQixFQUNULEdBQUdBLEtBQWF2TyxHQUFXLEdBQUcyTixHQUFXaC9CLElBQU9xSSxFQUFJOUUsY0FBYzJxQyxJQUNsRSxHQUFHdFYsRUFBS2owQixLQUFLeXBDLGFBQWFGLFFBQ3pCLElBQUtELEdBQThCLE1BQXJCclYsR0FBTW9ELFdBUXpCLE1BQU0sSUFBSXJtQixNQUFPdlIsRUFBWXcwQixNQUFNcGYsS0FBTyxpQkFQMUMsR0FBSW9tQixFQUNGdjNCLEVBQUlxUixPQUFTLEdBQUdrbUIsS0FBYXZPLEdBQVcsR0FBRzJOLEdBQVdoL0IsSUFBT3FJLEVBQUk5RSxjQUFjMnFDLFFBQzFFLENBQ0wsTUFBTTFQLEVBQVd3UCxFQUFheFAsVUFBWSxPQUFPd1AsRUFBYTNNLG9CQUM5RGg1QixFQUFJcVIsT0FBUyxXQUFXczBCLEVBQWFoTixVQUFVeEMsS0FBWW5OLEdBQVcsR0FBR3J4QixJQUFPcUksRUFBSTlFLGNBQWMycUMsR0FDcEcsQ0FHRixDQUVJQyxJQUNGOWxDLEVBQUlxUixRQUFVdzBCLEVBQVksYUFBZSxhQUU3QyxDQUNBLE9BQU9wcUMsQ0FDVCxDQUFFLE1BQU80MEIsR0FDUCxLQUFNc1YsRUFBYS9YLFNBQW9DLE9BQXpCK1gsRUFBYS9YLFVBQXFCeUMsRUFBSXZ6QixNQUNsRSxJQUNFLE1BQU15ekIsRUFBT2p4QixLQUFLQyxNQUFNOHdCLEVBQUl2ekIsT0FDNUJyQixFQUFJdVIsS0FBSzNFLEdBQWM4cEIsYUFBYyxDQUNuQzdCLE1BQU83MEIsRUFBSW9RLEtBQUs2WixVQUF1QixpQkFDdkM2SyxLQUFNOTBCLEVBQUlvUSxLQUFLNlosVUFBdUIsdUJBQXdCLENBQUUwSyxLQUFNRyxFQUFLSCxPQUMzRS92QixLQUFNLHVEQUVWLENBQUUsTUFBT2hHLEdBRVQsQ0FFRixNQUFNZzJCLENBQ1IsR0FHSW54QixHQUFVekQsSUFDZCxNQUFNbXZCLEVBQWFudkIsRUFBSTJOLFVBQXdCLGlCQUFtQixDQUFBLEVBRWxFLE1BQU8sQ0FDTGdnQixHQUFZM3RCLEVBQUssZUFBZ0IsVUFBVyxPQUFRLE1BQU0sT0FBTy9DLEVBQVcsQ0FBRTB2QixRQUFTLENBQUMsS0FBTSxRQUM5RmdCLEdBQVkzdEIsRUFBSyxlQUFnQixXQUFZLFFBQVNtdkIsRUFBV2lhLFVBQVksSUFBSSxHQUNqRnpiLEdBQVkzdEIsRUFBSyxlQUFnQixZQUFhLFFBQVNtdkIsRUFBVzBXLFdBQWEsSUFBSSxHQUNuRmxZLEdBQVkzdEIsRUFBSyxlQUFnQixTQUFVLFFBQVNtdkIsRUFBVytOLFFBQVUsSUFBSSxHQUM3RXZQLEdBQVkzdEIsRUFBSyxlQUFnQixRQUFTLFFBQVNtdkIsRUFBV2thLE9BQVMsSUFBSSxPQUFNcHNDLEVBQVcsQ0FDMUYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsb0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssZUFBZ0IsT0FBUSxRQUFTbXZCLEVBQVdvTyxNQUFRLElBQUksT0FBTXRnQyxFQUFXLENBQ3hGLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLG1DQUN6QyxJQUVGMEQsR0FBWTN0QixFQUFLLGVBQWdCLFdBQVksUUFBU212QixFQUFXdUwsVUFBWSxJQUFJLE9BQU96OUIsRUFBVyxDQUNqRyxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1Qix1Q0FDekMsSUFFRjBELEdBQVkzdEIsRUFBSyxlQUFnQixPQUFRLFFBQVNtdkIsRUFBV2p6QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUN6RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixtQ0FDekMsSUFFRjBELEdBQVkzdEIsRUFBSyxlQUFnQixVQUFXLFFBQVNtdkIsRUFBVytMLFNBQVcsSUFBSSxPQUFPaitCLEVBQVcsQ0FDL0YsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsc0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssZUFBZ0IsWUFBYSxRQUFTbXZCLEVBQVcyTSxXQUFhLElBQUksT0FBTzcrQixFQUFXLENBQ25HLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLHdDQUN6QyxJQUVGMEQsR0FBWTN0QixFQUFLLGVBQWdCLFVBQVcsUUFBU212QixFQUFXaHBCLFNBQVcsSUFBSSxPQUFPbEosRUFBVyxDQUMvRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixzQ0FDekMsSUFFRjBELEdBQVkzdEIsRUFBSyxlQUFnQixPQUFRLFlBQWFtdkIsRUFBV2tiLE1BQU0sT0FBT3B0QyxFQUFXLENBQ3ZGLGVBQUlzdEMsR0FDRixPQUFPdnFDLEVBQUlvUSxLQUFLNlosVUFBdUIsbUNBQ3pDLEVBQ0EsY0FBSXVnQixHQUNGLE9BQU94cUMsRUFBSW9RLEtBQUs2WixVQUF1QixrQ0FDekMsRUFDQSxRQUFJd2dCLEdBQ0YsT0FBT3pxQyxFQUFJb1EsS0FBSzZaLFVBQXVCLCtCQUN6QyxNQzNNTixNQUFNeWdCLEdBQW1CLDJCQUluQjNNLEdBQU8yRSxHQUE0QnZuQyxFQUFPQyxXQUFXLE9BQU9DLE9BQU9xbkMsR0FBU3BuQyxPQUFPLE9Bb0RuRmdZLEdBQWUvVCxNQUFPUyxFQUFhdUUsRUFBVW9tQyxFQUE0Qnp1QyxLQUM3RSxJQUFLcUksRUFBSTlFLFdBQWE4RSxFQUFJN0UsT0FBUSxPQUVsQyxNQUFNeUYsRUFBUVosRUFBSTdFLFNBQVc2RSxFQUFJc1EsWUFBY25QLE9BQU9DLEtBQUtwQixFQUFJc1EsWUFBYSxVQUFZLE1BQ3hGLElBQUsxUCxFQUFPLE9BRVosTUFBTWc0QixFQXhEa0IsRUFBQ2gzQixFQUF1QjFHLEtBQ2hELE1BQU12RCxLQUFFQSxFQUFPLEdBQUUwdUMsU0FBRUEsRUFBUWhQLFNBQUVBLEVBQVFzQixPQUFFQSxHQUFXLzJCLEVBQzVDMGtDLEVBQWM5TSxHQUFJbkMsR0FDbEJvQixHQUFPLElBQUlsaEMsTUFBT2doQyxjQUVsQnhRLEVBQVEsUUFERTRRLEtBQVUzUCxHQUFXLEdBQUdyeEIsSUFBT3VELFFBQ25CdTlCLElBRTVCLE1BQU8sU0FBUzROLEtBREh6dkMsRUFBT2lpQyxXQUFXLE9BQVF5TixHQUFheHZDLE9BQU9peEIsR0FBT2h4QixPQUFPLGFBa0R2RHloQyxDQUFrQjROLEVBQWNwbUMsRUFBSTlFLFVBQ2hEMEcsRUEvQ1ksRUFDbEJBLEVBQ0ExRyxFQUNBMDlCLEVBQ0FoNEIsS0FFQSxNQUFNKzNCLE9BQUVBLEVBQU1oaEMsS0FBRUEsR0FBU2lLLEVBQ3pCLElBQUl1MEIsR0FBWXYwQixFQUFRdTBCLFVBQVlnUSxJQUFrQjN0QyxRQUFRLFFBQVMsSUFLdkUsT0FKSzI5QixFQUFTdDVCLFdBQVcsVUFDdkJzNUIsRUFBVyxXQUFXQSxLQUdqQixDQUNMbDZCLE9BQVEsTUFDUnRHLElBQUssR0FBR3dnQyxLQUFZd0MsS0FBVTNQLEdBQVcsR0FBR3J4QixJQUFPdUQsT0FDbkRvNUIsUUFBUyxDQUNQMEMsY0FBZTRCLEVBQ2ZyaEMsTUFBTSxJQUFJQSxNQUFPZ2hDLGNBQ2pCLGVBQWdCdkMsRUFBS0MsUUFBUS82QixJQUFhLDRCQUU1Q3ExQixLQUFNM3ZCLEVBQ04xRSx5QkFBeUIsSUEwQlhnNkIsQ0FBWWtRLEVBQWNwbUMsRUFBSTlFLFNBQVUwOUIsRUFBV2g0QixHQUduRSxHQWhFMEIsYUE4RFBuRixFQUFJTyxRQUFRNEYsSUFFdEIreEIsV0FDUCxNQUFNLElBQUlybUIsTUFBTSx3QkFHWHROLEVBQUlzUSxtQkFDSnRRLEVBQUk3RSxPQUVYLE1BQU1vckMsRUFBU0gsRUFBYXhrQyxTQUFXLEdBQ2pDaWdDLEVBQVUsR0FBR3VFLEVBQWF6d0MsT0FBT3F6QixHQUFXLEdBQUdyeEIsSUFBT3FJLEVBQUk5RSxjQUFjcXJDLElBRTlFdm1DLEVBQUlxUixPQUFTKzBCLEVBQWFJLGVBQWlCQyxHQUFrQjVFLEVBQVN1RSxFQUFjcG1DLEVBQUk5RSxVQUFZMm1DLEdBR2hHNEUsR0FBb0IsQ0FBQzl3QyxFQUFhaU0sRUFBdUIxRyxLQUM3RCxNQUFNd3JDLEVBdkNrQixFQUN4QkYsRUFDQUcsRUFDQS9rQyxFQUNBMUcsS0FFQSxNQUFNMHJDLEVBQU0sSUFBSWhsQyxFQUFRakssTUFBUSxLQUFLdUQsSUFBVzFDLFFBQVEsT0FBUSxLQUFLQSxRQUFRLFFBQVMsS0FDaEZsQixFQUFNbkIsS0FBS2dSLE1BQU01UCxLQUFLRCxNQUFRLEtBQzlCdXZDLEVBQVNGLEVBQWFydkMsRUFBTWtDLFNBQVNtdEMsRUFBV2x3QyxXQUFZLElBQU1hLEVBaEQ5QyxLQW1EMUIsTUFBTyxRQUZNa2lDLEdBQUksR0FBR2dOLEtBQWtCSyxLQUFVRCxLQUNiRSxVQUFVLEdBQUksTUFBTUQsS0E2QjNDRSxDQUFrQm5sQyxFQUFRNGtDLGVBQWdCNWtDLEVBQVEra0MsV0FBWS9rQyxFQUFTMUcsR0FDbkYsT0FBT3ZGLEVBQUlvRCxTQUFTLEtBQU8sR0FBR3BELEtBQU8rd0MsSUFBUSxHQUFHL3dDLEtBQU8rd0MsS0FHbkQvMUIsR0FBUzNWLE1BQU9TLElBQ3BCLE1BQU0ycUMsRUFBZTNxQyxFQUFJMk4sVUFBd0IsZ0JBQ2pELElBQUtnOUIsRUFBYyxNQUFNLElBQUk5NEIsTUFBTSwyQkFFbkMsSUFDRSxNQUFNaXBCLEVBQVU5NkIsRUFBSTJQLE9BQ2R6VCxFQUFPZ3hCLEdBQWlCLENBQUVoeEIsS0FBTXl1QyxFQUFhenVDLE9BQ25EeXVDLEVBQWF6dUMsS0FBT0EsRUFFcEIsSUFBSyxNQUFNcUksS0FBT3UyQixRQUNWeG5CLEdBQWF0VCxFQUFLdUUsRUFBS29tQyxFQUFjenVDLEdBRzdDLE9BQU84RCxDQUNULENBQUUsTUFBTzQwQixHQUVQLE1BREEyVyxHQUFrQnZyQyxFQUFLNDBCLEdBQ2pCQSxDQUNSLEdBR0kyVyxHQUFvQixDQUFDdnJDLEVBQWE0MEIsS0FHdEMsR0FGd0Msa0JBQWhCQSxFQUFJdHpCLFFBRzFCdEIsRUFBSXVSLEtBQUszRSxHQUFjOHBCLGFBQWMsQ0FDbkM3QixNQUFPNzBCLEVBQUlvUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTTkwQixFQUFJb1EsS0FBSzZaLFVBQXVCLHdCQUVuQyxDQUNMLE1BQU11aEIsRUFBWTduQyxHQUE0Qml4QixFQUFJdnpCLE9BQzVDb3FDLEVBQWlDLGlCQUFkRCxHQUEwQkEsRUFBWUEsRUFBVTdXLEtBQU82VyxHQUFhLGdCQUU3RnhyQyxFQUFJdVIsS0FBSzNFLEdBQWM4cEIsYUFBYyxDQUNuQzdCLE1BQU83MEIsRUFBSW9RLEtBQUs2WixVQUF1QixpQkFDdkM2SyxLQUFNOTBCLEVBQUlvUSxLQUFLNlosVUFBdUIsdUJBQXdCLENBQUUwSyxLQUFNOFcsSUFDdEU3bUMsS0FBTSxvQ0FFVixHQUdJbkIsR0FBVXpELElBQ2QsTUFBTW12QixFQUFhbnZCLEVBQUkyTixVQUF3QixpQkFBbUIsQ0FBQSxFQUVsRSxNQUFPLENBQ0xnZ0IsR0FBWTN0QixFQUFLLFFBQVMsU0FBVSxRQUFTbXZCLEVBQVcrTixRQUFVLElBQUksR0FFdEV2UCxHQUFZM3RCLEVBQUssUUFBUyxXQUFZLFFBQVNtdkIsRUFBV3liLFVBQVksSUFBSSxPQUFNM3RDLEVBQVcsQ0FDekYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxXQUFZLFFBQVNtdkIsRUFBV3lNLFVBQVksSUFBSSxPQUFNMytCLEVBQVcsQ0FDekYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxNQUFPLFFBQVNtdkIsRUFBV2oxQixLQUFPLElBQUksT0FBTStDLEVBQVcsQ0FDL0UsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsMkJBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxVQUFXLFFBQVNtdkIsRUFBV2hwQixTQUFXLElBQUksT0FBT2xKLEVBQVcsQ0FDeEYsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsK0JBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssUUFBUyxPQUFRLFFBQVNtdkIsRUFBV2p6QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUNsRixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1Qiw0QkFDekMsSUFFRjBELEdBQVkzdEIsRUFBSyxRQUFTLGlCQUFrQixRQUFTbXZCLEVBQVc0YixnQkFBa0IsSUFBSSxHQUN0RnBkLEdBQVkzdEIsRUFBSyxRQUFTLGFBQWMsUUFBU212QixFQUFXK2IsWUFBYyxJQUFJLEdBQzlFdmQsR0FBWTN0QixFQUFLLFFBQVMsV0FBWSxRQUFTbXZCLEVBQVd1TCxVQUFZZ1EsSUFBa0IsT0FBT3p0QyxFQUFXLENBQ3hHLFdBQUlxRSxHQUNGLE9BQU90QixFQUFJb1EsS0FBSzZaLFVBQXVCLGdDQUN6QyxNQy9KTixNQUFNeWhCLEdBQWdCLFdBdUJoQkMsR0FBa0JwbkMsSUFDdEIsR0FBSUEsRUFBSTdFLE9BQVEsT0FBTzZFLEVBQUk3RSxPQUMzQixHQUFJNkUsRUFBSXNRLFlBQWEsT0FBT25QLE9BQU9DLEtBQUtwQixFQUFJc1EsWUFBYSxVQUN6RCxNQUFNLElBQUloRCxNQUFNLHdCQUdaKzVCLEdBQWdCLENBQ3BCeEYsRUFDQXZLLEVBQ0FnUSxFQUNBcHNDLEVBQ0FxckMsRUFDQWdCLElBSU8sR0FBRzFGLEtBRFU3WSxHQUFXLEdBRGJ1ZSxFQUFhRCxFQUFVaFEsSUFDS3A4QixLQUFZMUMsUUFBUSxRQUFTLE1BQ3hDK3RDLElBRy9CaUIsR0FBa0IsQ0FBQy9yQyxFQUFhUCxFQUFrQnNwQyxLQUN0RCxNQUFNakYsRUFBYzVuQyxFQUFLckIsS0FBS21GLEVBQUl3TixRQUFTLFVBQVcsZUFDaEQrNkIsRUFBa0Jyc0MsRUFBS3JCLEtBQUtpcEMsRUFBYXJrQyxHQUMvQ2lPLEVBQWN4UixFQUFLbEMsUUFBUXV1QyxJQUMzQjVvQyxFQUFHd08sY0FBY282QixFQUFpQlEsSUFHOUJpRCxHQUFjenNDLE1BQ2xCbWdDLEVBQ0E3RCxFQUNBcDhCLEVBQ0FzcEMsS0FFQSxNQUFNa0QsRUFBb0IvdkMsRUFBS2xDLFFBQVEsR0FBRzZoQyxJQUFhcDhCLEtBQ2pEeXNDLEVBQXFDLE1BQXRCRCxFQUE0QixHQUFLQSxFQUVsREMsU0FDSXhNLEVBQU95TSxnQkFBZ0JELEVBQWMsQ0FBRUUsV0FBVyxJQUcxRCxNQUFNNXNDLEVBQVcsR0FBR3E4QixJQUFhcDhCLElBQVcxQyxRQUFRLGFBQWMsSUFDbEUsYUFBYTJpQyxFQUFPMk0sZ0JBQWdCN3NDLEVBQVV1cEMsRUFBYSxDQUFFdUQsV0FBVyxLQUdwRXAzQixHQUFTM1YsTUFBT1MsSUFDcEIsTUFBTXlELEVBQVN6RCxFQUFJMk4sVUFBOEIsc0JBQ2pELElBQUtsSyxFQUFRLE1BQU0sSUFBSW9PLE1BQU0saUNBakVOLElBQUM0bUIsRUFtRXhCaDFCLEVBQU9nMUIsTUFuRWlCQSxFQW1FT2gxQixFQUFPZzFCLEtBakUvQixHQWlFcUNoMUIsRUFBT203QixXQWpFNUIsV0FBYSxZQURsQm5HLEVBQUsxN0IsUUFBUSxxQkFBc0IsT0FtRXJEMEcsRUFBT3ZILEtBQU9neEIsR0FBaUIsQ0FBRWh4QixLQUFNdUgsRUFBT3ZILEtBQU1teEIsYUFBYSxJQUVqRSxNQUFNd2UsRUFBVTNlLEdBQWlCLENBQUVoeEIsS0FBTXVILEVBQU9vb0MsUUFBU3hlLGFBQWEsSUFDaEV5ZCxFQUFTcm5DLEVBQU8wQyxTQUFXLEdBRWpDLElBQ0UsTUFBTXU1QixFQXJFaUIsQ0FBQ2o4QixJQUMxQixNQUFNODhCLEVBQXFDLENBQ3pDNUUsU0FBVWw0QixFQUFPazRCLFNBQ2pCQyxTQUFVbjRCLEVBQU9tNEIsU0FDakI5QyxjQUFlNFMsR0FDZjFTLGlCQUFrQjBTLElBT3BCLE1BSndCLFdBQXBCam9DLEVBQU84b0MsV0FDVGhNLEVBQWNnTSxTQUFXQyxHQUFTQyxRQUc3QkMsR0FBYWpwQyxFQUFPZzFCLEtBQU04SCxJQXlEaEJvTSxDQUFtQmxwQyxHQUM1QjJpQyxFQUFVM2lDLEVBQU9xNEIsV0FBYXI0QixFQUFPZzFCLEtBRTNDLElBQUssTUFBTWwwQixLQUFPdkUsRUFBSTJQLE9BQVEsQ0FDNUIsSUFBS3BMLEVBQUk5RSxTQUFVLFNBRW5CLE1BQU1zcEMsRUFBYzRDLEdBQWVwbkMsR0FHbkMsVUFGMkJ5bkMsR0FBWXRNLEVBQVFqOEIsRUFBT3ZILEtBQU1xSSxFQUFJOUUsU0FBVXNwQyxHQUd4RSxNQUFNLElBQUlsM0IsTUFBTSxpQkFHbEJrNkIsR0FBZ0IvckMsRUFBS3VFLEVBQUk5RSxTQUFVc3BDLFVBRTVCeGtDLEVBQUlzUSxtQkFDSnRRLEVBQUk3RSxPQUVYNkUsRUFBSXFSLE9BQVNnMkIsR0FBY3hGLEVBQVMzaUMsRUFBT3ZILEtBQU0ydkMsRUFBU3RuQyxFQUFJOUUsU0FBVXFyQyxJQUFVcm5DLEVBQU9vb0MsU0FDekZ0bkMsRUFBSTIvQixZQUFjLHNDQUFnRHpXLG1CQUFtQmxwQixFQUFJOUUsV0FDM0YsQ0FFQSxPQUFPTyxDQUNULENBQUUsTUFBTzQwQixHQUtQLE1BSkE1MEIsRUFBSXVSLEtBQUszRSxHQUFjOHBCLGFBQWMsQ0FDbkM3QixNQUFPNzBCLEVBQUlvUSxLQUFLNlosVUFBdUIsaUJBQ3ZDNkssS0FBTTkwQixFQUFJb1EsS0FBSzZaLFVBQXVCLG9CQUVsQzJLLENBQ1IsR0FHSW54QixHQUFVekQsSUFDZCxNQUFNbXZCLEVBQWFudkIsRUFBSTJOLFVBQThCLHVCQUF5QixDQUFBLEVBRTlFLE1BQU8sQ0FDTGdnQixHQUFZM3RCLEVBQUssY0FBZSxPQUFRLFFBQVNtdkIsRUFBV3NKLE1BQVEsSUFBSSxHQUN4RTlLLEdBQVkzdEIsRUFBSyxjQUFlLGFBQWMsWUFBYW12QixFQUFXeVAsWUFBWSxPQUFPM2hDLEVBQVcsQ0FDbEcsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsd0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssY0FBZSxXQUFZLFFBQVNtdkIsRUFBV3dNLFVBQVksSUFBSSxPQUFNMStCLEVBQVcsQ0FDL0YsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsc0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssY0FBZSxXQUFZLFFBQVNtdkIsRUFBV3lNLFVBQVksSUFBSSxPQUFNMytCLEVBQVcsQ0FDL0YsV0FBSXFFLEdBQ0YsT0FBT3RCLEVBQUlvUSxLQUFLNlosVUFBdUIsc0NBQ3pDLElBRUYwRCxHQUFZM3RCLEVBQUssY0FBZSxPQUFRLFFBQVNtdkIsRUFBV2p6QixNQUFRLElBQUksT0FBT2UsRUFBVyxDQUN4RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixrQ0FDekMsSUFFRjBELEdBQVkzdEIsRUFBSyxjQUFlLFVBQVcsUUFBU212QixFQUFXMGMsU0FBVyxJQUFJLE9BQU81dUMsRUFBVyxDQUM5RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QiwwQ0FDekMsSUFFRjBELEdBQVkzdEIsRUFBSyxjQUFlLFlBQWEsUUFBU212QixFQUFXMk0sV0FBYSxJQUFJLE9BQU83K0IsRUFBVyxDQUNsRyxXQUFJcUUsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1Qix1Q0FDekMsSUFFRjBELEdBQVkzdEIsRUFBSyxjQUFlLFdBQVksT0FBUW12QixFQUFXb2QsVUFBWSxTQUFTLE9BQU90dkMsRUFBVyxDQUNwRzB2QixRQUFTLENBQUMsUUFBUyxZQUVyQmdCLEdBQVkzdEIsRUFBSyxjQUFlLFVBQVcsUUFBU212QixFQUFXaHBCLFNBQVcsSUFBSSxPQUFPbEosRUFBVyxDQUM5RixXQUFJcUUsR0FDRixPQUFPdEIsRUFBSW9RLEtBQUs2WixVQUF1QixxQ0FDekMsTUNoSk4sTUFBTTJpQixHQUFtQixLQUNoQixDQUNMLFFBQUFyYixDQUFTdnhCLElsQjZHQyxTQUFtQkEsR0FDL0JBLEVBQUlpUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUFvQyxDQUMvRCxRQUFJOXJCLEdBQ0YsT0FBTzVCLEVBQUlvUSxLQUFLNlosVUFBdUIsdUJBQ3pDLFNBQ0EvVSxVQUNBelIsSUFFSixDa0JwSE1vcEMsQ0FBc0I3c0MsR2pCc0xkLFNBQW1CQSxHQUMvQkEsRUFBSWlRLE9BQU9vRixTQUFTa2MsU0FBUzdELEdBQWlDLENBQzVELFFBQUk5ckIsR0FDRixPQUFPNUIsRUFBSW9RLEtBQUs2WixVQUF1QixxQkFDekMsU0FDQS9VLFVBQ0F6UixJQUVKLENpQjdMTXFwQyxDQUFjOXNDLEdoQjRGTixTQUFtQkEsR0FDL0JBLEVBQUlpUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE2QixDQUN4RCxRQUFJOXJCLEdBQ0YsT0FBTzVCLEVBQUlvUSxLQUFLNlosVUFBdUIsa0JBQ3pDLFNBQ0EvVSxVQUNBelIsSUFFSixDZ0JuR01zcEMsQ0FBZS9zQyxHYmdRUCxTQUFtQkEsR0FDL0JBLEVBQUlpUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUFzQyxDQUNqRSxRQUFJOXJCLEdBQ0YsT0FBTzVCLEVBQUlvUSxLQUFLNlosVUFBdUIsb0JBQ3pDLFNBQ0EvVSxVQUNBelIsSUFFSixDYXZRTXVwQyxDQUFtQmh0QyxHWjhLWCxTQUFtQkEsR0FDL0JBLEVBQUlpUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE2QixDQUN4RCxRQUFJOXJCLEdBQ0YsT0FBTzVCLEVBQUlvUSxLQUFLNlosVUFBdUIsZ0JBQ3pDLFNBQ0EvVSxVQUNBelIsSUFFSixDWXJMTXdwQyxDQUFlanRDLEdYNktQLFNBQW1CQSxHQUMvQkEsRUFBSWlRLE9BQU9vRixTQUFTa2MsU0FBUzdELEdBQTRCLENBQ3ZELFFBQUk5ckIsR0FDRixPQUFPNUIsRUFBSW9RLEtBQUs2WixVQUF1QixlQUN6QyxTQUNBL1UsVUFDQXpSLElBRUosQ1dwTE15cEMsQ0FBY2x0QyxHVmtGTixTQUFtQkEsR0FDL0JBLEVBQUlpUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE0QixDQUN2RCxRQUFJOXJCLEdBQ0YsT0FBTzVCLEVBQUlvUSxLQUFLNlosVUFBdUIsZUFDekMsU0FDQS9VLFVBQ0F6UixJQUVKLENVekZNMHBDLENBQWNudEMsR1RzTk4sU0FBbUJBLEdBQy9CQSxFQUFJaVEsT0FBT29GLFNBQVNrYyxTQUFTN0QsR0FBZ0MsQ0FDM0QsUUFBSTlyQixHQUNGLE9BQU81QixFQUFJb1EsS0FBSzZaLFVBQXVCLG9CQUN6QyxTQUNBL1UsVUFDQXpSLElBRUosQ1M3Tk0ycEMsQ0FBYXB0QyxHUjJITCxTQUFtQkEsR0FDL0JBLEVBQUlpUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE4QixDQUN6RCxRQUFJOXJCLEdBQ0YsT0FBTzVCLEVBQUlvUSxLQUFLNlosVUFBdUIsaUJBQ3pDLFNBQ0EvVSxVQUNBelIsSUFFSixDUWxJTTRwQyxDQUFnQnJ0QyxHUGlLUixTQUFtQkEsR0FDL0JBLEVBQUlpUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE0QixDQUN2RCxRQUFJOXJCLEdBQ0YsT0FBTzVCLEVBQUlvUSxLQUFLNlosVUFBdUIsZUFDekMsU0FDQS9VLFVBQ0F6UixJQUVKLENPeEtNNnBDLENBQWN0dEMsR0xnT04sU0FBbUJBLEdBQy9CQSxFQUFJaVEsT0FBT29GLFNBQVNrYyxTQUFTN0QsR0FBZ0MsQ0FDM0QsUUFBSTlyQixHQUNGLE9BQU81QixFQUFJb1EsS0FBSzZaLFVBQXVCLG1CQUN6QyxTQUNBL1UsVUFDQXpSLElBRUosQ0t2T004cEMsQ0FBYXZ0QyxHSjJETCxTQUFtQkEsR0FDL0JBLEVBQUlpUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUEyQixDQUN0RCxRQUFJOXJCLEdBQ0YsT0FBTzVCLEVBQUlvUSxLQUFLNlosVUFBdUIsY0FDekMsU0FDQS9VLFVBQ0F6UixJQUVKLENJbEVNK3BDLENBQWF4dEMsR0gyTEwsU0FBbUJBLEdBQy9CQSxFQUFJaVEsT0FBT29GLFNBQVNrYyxTQUFTN0QsR0FBNEIsQ0FDdkQsUUFBSTlyQixHQUNGLE9BQU81QixFQUFJb1EsS0FBSzZaLFVBQXVCLHNCQUN6QyxTQUNBL1UsVUFDQXpSLElBRUosQ0dsTU1ncUMsQ0FBY3p0QyxHRitJTixTQUFtQkEsR0FDL0JBLEVBQUlpUSxPQUFPb0YsU0FBU2tjLFNBQVM3RCxHQUE0QixDQUN2RCxRQUFJOXJCLEdBQ0YsT0FBTzVCLEVBQUlvUSxLQUFLNlosVUFBdUIsZUFDekMsU0FDQS9VLFVBQ0F6UixJQUVKLENFdEpNaXFDLENBQWMxdEMsR0RxSU4sU0FBbUJBLEdBQy9CQSxFQUFJaVEsT0FBT29GLFNBQVNrYyxTQUFTN0QsR0FBa0MsQ0FDN0QsUUFBSTlyQixHQUNGLE9BQU81QixFQUFJb1EsS0FBSzZaLFVBQXVCLHFCQUN6QyxFQUNBL1UsVUFDQXpSLFdBRUosQ0M1SU1rcUMsQ0FBb0IzdEMsRUFDdEIsVUMvQlM0dEMsR0FDTTV0QyxJQUVqQixXQUFBcU4sQ0FBWXJOLEdBQ1Z1TixLQUFLdk4sSUFBTUEsQ0FDYixDQUVBLG9CQUFBNnRDLENBQXFCdmUsR0FDbkIsTUFBTTdyQixFQUFTOEosS0FBS3ZOLElBQUkyTixZQUNsQm1nQyxFQUFpQnZnQyxLQUFLdk4sSUFBSTJOLFVBQWUsVUFBVTJoQixLQUV6RCxJQUFJN3JCLEVBQU80UixXQUFZNVIsRUFBTzRSLFNBQVNpYSxHQVF2QyxHQUpLN3JCLEVBQU80UixXQUNWNVIsRUFBTzRSLFNBQVcsQ0FBQSxHQUdoQnk0QixHQUFrQjV3QyxPQUFPQyxLQUFLMndDLEdBQWdCMXpDLE9BQVMsRUFBRyxDQUM1RCxNQUFNMnpDLEVBQTBCLElBQzNCRCxFQUNIaC9CLElBQUtnL0IsRUFBZWgvQixLQUFPay9CLElBQzNCdmlCLFlBQWFxaUIsRUFBZXJpQixhQUFlLFVBQzNDVSxXQUFZMmhCLEVBQWUzaEIsWUFBY3J3QixLQUFLRCxNQUM5Q3d3QixXQUFZeWhCLEVBQWV6aEIsWUFBY3Z3QixLQUFLRCxPQUdoRDRILEVBQU80UixTQUFTaWEsR0FBZ0IsQ0FDOUJTLFdBQVksQ0FBQ2dlLEdBQ2JFLFVBQVdGLEVBQVdqL0IsS0FHeEJ2QixLQUFLdk4sSUFBSXVRLFdBQVcsQ0FDbEI4RSxTQUFVNVIsRUFBTzRSLFdBRW5COUgsS0FBS3ZOLElBQUl1USxXQUFXLENBQ2xCLENBQUMsVUFBVStlLEtBQWlCeWUsR0FFaEMsTUFDRXRxQyxFQUFPNFIsU0FBU2lhLEdBQWdCLENBQzlCUyxXQUFZLEdBQ1prZSxVQUFXLEdBR2pCLENBRUEsd0JBQUExaUIsQ0FBeUIrRCxHQUN2Qi9oQixLQUFLc2dDLHFCQUFxQnZlLEdBRTFCLE1BQU00ZSxFQUFlM2dDLEtBQUt2TixJQUFJMk4sVUFBK0IsWUFBWTJoQixLQUN6RSxJQUFLNGUsSUFBaUJBLEVBQWFELFVBQ2pDLE9BQU8sS0FJVCxPQURzQkMsRUFBYW5lLFdBQVdwaEIsS0FBS3RSLEdBQVFBLEVBQUt5UixNQUFRby9CLEVBQWFELFlBQzdELElBQzFCLENBRUEscUJBQUE1aUIsQ0FBc0JpRSxHQUNwQi9oQixLQUFLc2dDLHFCQUFxQnZlLEdBRTFCLE1BQU00ZSxFQUFlM2dDLEtBQUt2TixJQUFJMk4sVUFBK0IsWUFBWTJoQixLQUN6RSxPQUFPNGUsR0FBY25lLFlBQWMsRUFDckMsQ0FFQSxpQkFBQUQsQ0FBa0JSLEVBQXNCNUQsRUFBb0J5aUIsR0FDMUQ1Z0MsS0FBS3NnQyxxQkFBcUJ2ZSxHQUUxQixNQUFNNGUsRUFBZTNnQyxLQUFLdk4sSUFBSTJOLFVBQStCLFlBQVkyaEIsS0FFbkVPLEVBQXlCLElBQzFCc2UsRUFDSHIvQixJQUFLay9CLElBQ0x2aUIsWUFBYUMsRUFDYlMsV0FBWXJ3QixLQUFLRCxNQUNqQnd3QixXQUFZdndCLEtBQUtELE9BaUJuQixPQWRBcXlDLEVBQWFuZSxXQUFXNWMsS0FBSzBjLEdBRVUsSUFBbkNxZSxFQUFhbmUsV0FBVzMxQixTQUMxQjh6QyxFQUFhRCxVQUFZcGUsRUFBVS9nQixLQUdyQ3ZCLEtBQUt2TixJQUFJdVEsV0FBVyxDQUNsQixDQUFDLFlBQVkrZSxLQUFpQjRlLElBRzVCQSxFQUFhRCxZQUFjcGUsRUFBVS9nQixLQUN2Q3ZCLEtBQUs2Z0MsbUJBQW1COWUsRUFBY08sR0FHakNBLENBQ1QsQ0FFQSxvQkFBQUQsQ0FBcUJOLEVBQXNCK2UsRUFBa0JGLEdBQzNENWdDLEtBQUtzZ0MscUJBQXFCdmUsR0FFMUIsTUFBTTRlLEVBQWUzZ0MsS0FBS3ZOLElBQUkyTixVQUErQixZQUFZMmhCLEtBQ25FZ2YsRUFBY0osRUFBYW5lLFdBQVdHLFVBQVU3eUIsR0FBUUEsRUFBS3lSLE1BQVF1L0IsR0FFM0UsSUFBb0IsSUFBaEJDLEVBQ0YsT0FBTyxFQUdULE1BQU0zZSxFQUFpQnVlLEVBQWFuZSxXQUFXdWUsR0FpQi9DLE9BaEJBSixFQUFhbmUsV0FBV3VlLEdBQWUsSUFDbENILEVBQ0hyL0IsSUFBSzZnQixFQUFlN2dCLElBQ3BCMmMsWUFBYTBpQixFQUFXMWlCLGFBQWVrRSxFQUFlbEUsWUFDdERVLFdBQVl3RCxFQUFleEQsV0FDM0JFLFdBQVl2d0IsS0FBS0QsT0FHbkIwUixLQUFLdk4sSUFBSXVRLFdBQVcsQ0FDbEIsQ0FBQyxZQUFZK2UsS0FBaUI0ZSxJQUc1QkEsRUFBYUQsWUFBY0ksR0FDN0I5Z0MsS0FBSzZnQyxtQkFBbUI5ZSxFQUFjNGUsRUFBYW5lLFdBQVd1ZSxLQUd6RCxDQUNULENBRUEsb0JBQUFwaUIsQ0FBcUJvRCxFQUFzQitlLEdBQ3pDOWdDLEtBQUtzZ0MscUJBQXFCdmUsR0FFMUIsTUFBTTRlLEVBQWUzZ0MsS0FBS3ZOLElBQUkyTixVQUErQixZQUFZMmhCLEtBQ25FaGEsRUFDSi9ILEtBQUt2TixJQUFJMk4sVUFBa0Isb0JBQXNCSixLQUFLdk4sSUFBSTJOLFVBQWtCLG1CQUFxQixPQUVuRyxHQUF1QyxJQUFuQ3VnQyxFQUFhbmUsV0FBVzMxQixRQUFnQmsxQixJQUFpQmhhLEVBRTNELE9BREEvSCxLQUFLdk4sSUFBSWdPLElBQUl0TCxLQUFLLDJEQUNYLEVBR1QsTUFBTTRyQyxFQUFjSixFQUFhbmUsV0FBV0csVUFBVTd5QixHQUFRQSxFQUFLeVIsTUFBUXUvQixHQUUzRSxPQUFvQixJQUFoQkMsSUFJQUosRUFBYUQsWUFBY0ksR0FBWUgsRUFBYW5lLFdBQVczMUIsT0FBUyxHQUMxRW1ULEtBQUt2TixJQUFJZ08sSUFBSXRMLEtBQUssa0ZBQ1gsSUFHVHdyQyxFQUFhbmUsV0FBV3dlLE9BQU9ELEVBQWEsR0FFeENKLEVBQWFELFlBQWNJLElBQzdCSCxFQUFhRCxVQUFZQyxFQUFhbmUsV0FBVzMxQixPQUFTLEVBQUk4ekMsRUFBYW5lLFdBQVcsR0FBR2poQixJQUFNLElBR2pHdkIsS0FBS3ZOLElBQUl1USxXQUFXLENBQ2xCLENBQUMsWUFBWStlLEtBQWlCNGUsSUFHTyxJQUFuQ0EsRUFBYW5lLFdBQVczMUIsUUFDMUJtVCxLQUFLdk4sSUFBSXdRLGFBQWEsU0FBVThlLEdBRWxDL2hCLEtBQUt2TixJQUFJZ08sSUFBSUMsS0FBSyxHQUFHcWhCLDZCQUVkLEdBQ1QsQ0FFQSxnQkFBQTFELENBQWlCMEQsRUFBc0IrZSxHQUNyQzlnQyxLQUFLc2dDLHFCQUFxQnZlLEdBRTFCLE1BQU00ZSxFQUFlM2dDLEtBQUt2TixJQUFJMk4sVUFBK0IsWUFBWTJoQixLQUNuRTdyQixFQUFTeXFDLEVBQWFuZSxXQUFXcGhCLEtBQUt0UixHQUFRQSxFQUFLeVIsTUFBUXUvQixHQUVqRSxRQUFLNXFDLElBSUx5cUMsRUFBYUQsVUFBWUksRUFFekI5Z0MsS0FBS3ZOLElBQUl1USxXQUFXLENBQ2xCLENBQUMsWUFBWStlLEtBQWlCNGUsSUFHaEMzZ0MsS0FBSzZnQyxtQkFBbUI5ZSxFQUFjN3JCLElBRS9CLEVBQ1QsQ0FFUSxrQkFBQTJxQyxDQUFtQjllLEVBQXNCN3JCLEdBQy9DOEosS0FBS3ZOLElBQUl1USxXQUFXLENBQ2xCLENBQUMsVUFBVStlLEtBQWlCN3JCLEdBRWhDLENBRUEsZUFBQWtvQixDQUFnQjJELEVBQXNCNUQsR0FDcENuZSxLQUFLc2dDLHFCQUFxQnZlLEdBRzFCLE9BRHFCL2hCLEtBQUt2TixJQUFJMk4sVUFBK0IsWUFBWTJoQixLQUNyRFMsV0FBV3BoQixLQUFLdFIsR0FBUUEsRUFBS291QixjQUFnQkMsSUFBZSxJQUNsRixDQUVBLFlBQUFoWCxDQUFhNGEsRUFBc0IrZSxFQUFrQjd3QyxHQUNuRCtQLEtBQUtzZ0MscUJBQXFCdmUsR0FFMUIsTUFBTTRlLEVBQWUzZ0MsS0FBS3ZOLElBQUkyTixVQUErQixZQUFZMmhCLEtBQ25FN3JCLEVBQVN5cUMsRUFBYW5lLFdBQVdwaEIsS0FBS3RSLEdBQVFBLEVBQUt5UixNQUFRdS9CLEdBRWpFLFFBQUs1cUMsSUFJTEEsRUFBT2dvQixZQUFjanVCLEVBQ3JCaUcsRUFBTzRvQixXQUFhdndCLEtBQUtELE1BRXpCMFIsS0FBS3ZOLElBQUl1USxXQUFXLENBQ2xCLENBQUMsWUFBWStlLEtBQWlCNGUsSUFHNUJBLEVBQWFELFlBQWNJLEdBQzdCOWdDLEtBQUs2Z0MsbUJBQW1COWUsRUFBYzdyQixJQUdqQyxFQUNULEVDNU5GLE1BQU0rcUMsR0FDYXh1QyxJQUNBeXVDLEdBQ2pCLFdBQUFwaEMsQ0FBWXJOLEdBSVYsR0FIQXVOLEtBQUt2TixJQUFNQSxFQUNYdU4sS0FBS2toQyxHQUFLLElBQUlDLEdBQVVuaEMsS0FBS3ZOLElBQUl5UCxhQUU1QmxDLEtBQUtraEMsR0FBRy82QixJQUFJLFVBQ2YsSUFDRW5HLEtBQUtraEMsR0FBR2hkLElBQUksU0FBVSxDQUVwQjhYLFFBQVMsT0FDVGwwQixTQUFVLE9BQ1Z5WixLQUFNLENBQ0p3TSxNQUFPLEtBR2IsQ0FBRSxNQUFPcnBCLEdBRVAsTUFEQTFFLEtBQUt2TixJQUFJZ08sSUFBSTNNLE1BQU00USxHQUNiQSxDQUNSLENBRUYsSUFBSzFFLEtBQUtraEMsR0FBRy82QixJQUFJLGdCQUNmLElBQ0VuRyxLQUFLa2hDLEdBQUdoZCxJQUFJLGVBQWdCLENBQUEsRUFDOUIsQ0FBRSxNQUFPeGYsR0FFUCxNQURBMUUsS0FBS3ZOLElBQUlnTyxJQUFJM00sTUFBTTRRLEdBQ2JBLENBQ1IsQ0FHRjFFLEtBQUtvaEMsTUFBSyxFQUNaLENBRUEsSUFBQUEsQ0FBS0MsR0FDSCxPQUFPcmhDLEtBQUtraEMsR0FBR0UsS0FBS0MsRUFDdEIsQ0FFQSxTQUFBQyxDQUFVNXdDLEVBQU0sSUFDZCxNQUFZLEtBQVJBLEVBQ0tzUCxLQUFLa2hDLEdBQUdFLE1BQUssSUFFdEJwaEMsS0FBS29oQyxNQUFLLEdBQ0hwaEMsS0FBS2toQyxHQUFHdHRDLElBQUlsRCxHQUNyQixDQUlBLEdBQUFrRCxDQUFJbEQsRUFBeUIsSUFDM0IsT0FBSTNELE1BQU1vSixRQUFRekYsR0FDVEEsRUFBSW1SLElBQUkwL0IsR0FBS3ZoQyxLQUFLc2hDLFVBQVVDLElBRTlCdmhDLEtBQUtzaEMsVUFBVTV3QyxFQUN4QixDQUVBLEdBQUF3ekIsQ0FBSXh6QixFQUFhcXVCLEdBQ2YvZSxLQUFLb2hDLE1BQUssR0FDVnBoQyxLQUFLa2hDLEdBQUdoZCxJQUFJeHpCLEVBQUtxdUIsRUFDbkIsQ0FFQSxHQUFBNVksQ0FBSXpWLEdBRUYsT0FEQXNQLEtBQUtvaEMsTUFBSyxHQUNIcGhDLEtBQUtraEMsR0FBRy82QixJQUFJelYsRUFDckIsQ0FFQSxLQUFBOHdDLENBQU05d0MsRUFBYXF1QixHQUVqQixPQURBL2UsS0FBS29oQyxNQUFLLEdBQ0hwaEMsS0FBS2toQyxHQUFHTSxNQUFNOXdDLEVBQUtxdUIsRUFDNUIsQ0FFQSxVQUFBL2IsQ0FBVzlNLEdBQ1R2RyxPQUFPQyxLQUFLc0csR0FBUStsQixRQUFTNW5CLElBQzNCMkwsS0FBS2trQixJQUFJN3ZCLEVBQU02QixFQUFPN0IsS0FFMUIsQ0FFQSxZQUFBNE8sQ0FBYS9NLEdBQ1h2RyxPQUFPQyxLQUFLc0csR0FBUStsQixRQUFTNW5CLElBQzNCMkwsS0FBS3doQyxNQUFNbnRDLEVBQU02QixFQUFPN0IsS0FFNUIsQ0FFQSxhQUFBb3RDLEdBQ0UsT0FBT3poQyxLQUFLdk4sSUFBSXlQLFVBQ2xCLEVDM0ZLLE1BQU13L0IsR0FBeUIsMkJDZ0NoQ0MsR0FBbUQsQ0FDdkRDLHlsQ0FDQUMsaXdCQUNBQyxnNENBQ0FDLG9qQ0FDQUMsOHJCQU9JQyxHQUFvRCxDQUN4REwsT0FBUSxrQkFDUkMsTUFBTyxjQUNQQyxNQUFPLGdCQUNQQyxNQUFPLFdBQ1BDLElBQUssVUFTUCxNQUFNRSxHQUFvQmx3QyxNQUFPUyxLQU5qQyxTQUEyQkEsR0FDekIsTUFBTTB2QyxFQUFZeHpDLEVBQUtyQixLQUFLbUYsRUFBSXdOLFFBQVN5aEMsSUFDekN2aEMsRUFBY2dpQyxFQUNoQixDQUlFQyxDQUFrQjN2QyxHQUVsQixNQUFNMHZDLEVBQVl4ekMsRUFBS3JCLEtBQUttRixFQUFJd04sUUFBU3loQyxHQUF3QixHQUFHcGIsSUFBUTNyQixPQUFPLDRCQUNuRixhQUFhLElBQUkvSCxRQUF5QixDQUFDQyxFQUFjQyxLQUN2RCxNQUFNdXZDLEVBM0NpQixNQUN6QixNQUFNQSxFQUFXM3RDLFFBQVEydEMsU0FDekIsT0FBSUMsR0FBYyxNQUNELFVBQWJELEVBQ29DLE9BQS9CRSxFQUFHQyxVQUFVM3hDLE1BQU0sS0FBSyxHQUFjLFFBQVUsUUFDakMsV0FBYnd4QyxFQUNGLFNBRUEsU0FtQ1VJLEdBQ1hDLEVBQWEvekMsRUFBS3JCLEtBQUttRixFQUFJd04sUUFBU2dpQyxHQUF3QkksSUFLbEUsSUFBSU0sRUFIQ3Z3QyxFQUFHd0MsV0FBVzh0QyxJQUNqQnR3QyxFQUFHd08sY0FBYzhoQyxFQUFZZixHQUF1QlUsR0FBVyxRQUkvRE0sRUFEZSxXQUFiTixFQUNVdmEsR0FBTSxZQUFhLENBQUM0YSxFQUFZUCxJQUN0QixVQUFiRSxHQUFxQyxVQUFiQSxFQUNyQnZhLEdBQU0sYUFBYyxDQUM5QixhQUNBLGtCQUNBLFVBQ0EsT0FDQSxtQkFDQSxlQUtBLFFBQ0E0YSxFQUNBUCxJQUdVcmEsR0FBTSxLQUFNLENBQUM0YSxFQUFZUCxJQUd2Q1EsRUFBVTVhLE9BQU94a0IsR0FBRyxPQUFTalEsSUFDM0IsR0FBaUIsVUFBYit1QyxHQUM2Qiw2QkFBM0IvdUMsRUFBSzdGLFdBQVdxVSxPQUtsQixPQUpBclAsRUFBSXVSLEtBQUszRSxHQUFjOHBCLGFBQWMsQ0FDbkM3QixNQUFPLGtDQUNQQyxLQUFNLGdGQUVEejBCLEVBQU8sSUFBSXdSLE1BQU0sZ0ZBRzVCLE1BQU1zK0IsRUFBVXR2QyxFQUFLN0YsV0FBV3FVLE9BSWhDLElBQUkrZ0MsR0FBMkIsRUFXL0IsR0FSSWwwQyxFQUFLQyxTQUFTZzBDLEtBQWFqMEMsRUFBS0MsU0FBU3V6QyxJQUd2Qy92QyxFQUFHd0MsV0FBV2d1QyxLQUNoQkMsR0FBMkIsR0FJZixhQUFaRCxJQUEyQnh3QyxFQUFHd0MsV0FBV2d1QyxHQUMzQyxPQUFPOXZDLEVBQU8sSUFBSXdSLE1BQU0sY0FBY3MrQixNQUd4Qy92QyxFQUFRLENBQ04rdkMsVUFDQUMsa0NDdkZGLE1BQU9DLFdBQWNsakMsRUFDakJtakMsUUFDQUMsVUFDQTlCLEdBQ0ErQixjQUNSL2dDLFdBQ0FqQyxRQUNBeUMsT0FDQWpDLElBQ0EwQixJQUNBQyxPQUNBelUsTUFDQTBVLFNBQ0FDLGVBQ0FFLGNBQ0FNLGNBTUFMLFFBQ0FJLEtBQ0FGLFFBQWtCLFFBQ2xCQyxZQUVBLGdCQUFJTCxHQUNGLE9BQU92QyxLQUFLaWpDLGFBQ2QsQ0FFQSxXQUFBbmpDLENBQVlvQyxFQUFxQixJQUMvQm5DLFFBQ0FDLEtBQUtrQyxXQUFhQSxFQUNsQmxDLEtBQUtyUyxNQUFRLEdBQ2JxUyxLQUFLcUMsU0FBVyxHQUNoQnJDLEtBQUtzQyxlQUFpQixHQUN0QnRDLEtBQUtvQyxPQUFTLEdBQ2RwQyxLQUFLMEMsT0FBUyxDQUNaK0UsWUFBYSxJQUFJbWMsR0FBaUIsZUFDbEM5YixTQUFVLElBQUk4YixHQUFpQixZQUMvQnBjLHVCQUF3QixJQUFJb2MsR0FBaUIsMEJBQzdDL2Isb0JBQXFCLElBQUkrYixHQUFpQix1QkFDMUMxYixtQkFBb0IsSUFBSTBiLEdBQWlCLHVCQUUzQzVqQixLQUFLa2pDLGlCQUNMbGpDLEtBQUtTLElBQU0sSUFBSXlrQixHQUFPbGxCLE1BQ3RCQSxLQUFLbUMsSUFBTSxJQUFJc2lCLEdBQVV6a0IsTUFDekJBLEtBQUt3QyxjQUFnQixJQUFJa2tCLEdBQWMxbUIsTUFDdkNBLEtBQUs4QyxjQUFnQixJQUFJdTlCLEdBQWNyZ0MsTUFDdkNBLEtBQUttakMsWUFDUCxDQUVBLG1CQUFhdlgsQ0FBTzFwQixFQUFxQixJQUN2QyxNQUFNelAsRUFBTSxJQUFJcXdDLEdBQU01Z0MsR0FFdEIsYUFETXpQLEVBQUlreUIsT0FDSGx5QixDQUNULENBRVEsY0FBQXl3QyxHQUVOLEdBREFsakMsS0FBS2tDLFdBQWFsQyxLQUFLa0MsWUFBY3ZULEVBQUtyQixLQUFLODFDLElBQVcsd0JBQ04sVUFBaER6MEMsRUFBS0UsUUFBUW1SLEtBQUtrQyxZQUFZeWUsY0FFaEMsTUFEQTNnQixLQUFLa0MsV0FBYSxHQUNab0MsTUFBTSxxREFFZHRFLEtBQUtDLFFBQVV0UixFQUFLbEMsUUFBUXVULEtBQUtrQyxZQUM1QnVhLEVBQWV6YyxLQUFLa0MsYUFDdkJtaEMsRUFBZSxHQUFHcmpDLEtBQUtrQyxhQUUzQixDQUVRLFVBQUFpaEMsR0FDTm5qQyxLQUFLa2hDLEdBQUssSUFBSUQsR0FBR2poQyxNQUNqQkEsS0FBSzhDLGNBQWdCLElBQUl1OUIsR0FBY3JnQyxNQUN2Q0EsS0FBSytpQyxRQUFVL2lDLEtBQUtraEMsR0FBR0UsTUFBSyxFQUM5QixDQUVRLFVBQU16YyxHQUNaLElBRUUza0IsS0FBSzZDLEtBQU8sSUFBSXdZLEdBQVlyYixNQUM1QkEsS0FBS3lDLFFBQVUsSUFBSUEsR0FBUXpDLE1BQzNCQSxLQUFLaWpDLGNBQWdCLElBQUkvYSxHQUFhbG9CLE1BRXRDd2tCLEdBQXFCLFNBQ3JCNmEsS0FBbUJyYixTQUFTaGtCLE14Qm5IekIsQ0FDTCxRQUFBZ2tCLENBQVN2eEIsR0FDUEEsRUFBSWlRLE9BQU8rRSxZQUFZdWMsU0FBUyxPQUFRMkksSUFDeENsNkIsRUFBSWlRLE9BQU8rRSxZQUFZdWMsU0FBUyxTQUFVeUksR0FDNUMsR3dCZ0h3QnpJLFNBQVNoa0IsTUFDL0J3a0IsR0FBcUIsVUFFZnhrQixLQUFLaWpDLGNBQWN6bUIsT0FDekJ4YyxLQUFLZ2pDLFVBQVksSUFBSXJqQyxHQUFVSyxLQUNqQyxDQUFFLE1BQU8wRSxHQUdQLE1BRkExRSxLQUFLZ0UsS0FBSzNFLEdBQWNpRyxpQkFBaUIsR0FDekN0RixLQUFLUyxJQUFJM00sTUFBTTRRLEdBQ1RBLENBQ1IsQ0FDRixDQU9BLFNBQU1nZixDQUFJM2EsRUFBc0IxVSxHQUM5QixPQUFJQSxTQUNJMkwsS0FBS3VDLGFBQWFpbEIsZUFBZW56QixFQUFNMFUsU0FDL0IvSSxLQUFLdUMsYUFBYTRnQixVQUFVOXVCLElBRXJDMFUsRUFBTy9JLEtBQ2hCLENBRUEsZ0JBQUFzakMsR0FDMEIsS0FBcEJ0akMsS0FBS2tDLGFBQ1BsQyxLQUFLbUMsSUFBSXdpQixPQUNUM2tCLEtBQUttQyxJQUFJOGlCLGVBRWIsQ0FFQSxTQUFBN2tCLENBQWEvTCxHQUVYLE9BREEyTCxLQUFLK2lDLFFBQVUvaUMsS0FBS2toQyxHQUFHRSxNQUFLLEdBQ3ZCL3NDLEVBR0VULEVBQUlvTSxLQUFLK2lDLFFBQVMxdUMsR0FGaEIyTCxLQUFLK2lDLE9BR2hCLENBRUEsVUFBQS8vQixDQUFXOU0sR0FDSkQsR0FBbUJDLElBSXhCOEosS0FBS2tELFVBQVVoTixHQUNmOEosS0FBS2toQyxHQUFHbCtCLFdBQVc5TSxJQUpqQjhKLEtBQUtTLElBQUl0TCxLQUFLLHlEQUtsQixDQUVBLFlBQUE4TixDQUFhdlMsRUFBYTZ5QyxHQUNuQjd5QyxHQUFRNnlDLElBQ1R4dEMsR0FBdUJyRixHQUN6QnNQLEtBQUtTLElBQUl0TCxLQUFLLGNBQWN6RSx1QkFHOUJzUCxLQUFLbUQsWUFBWXpTLEVBQUs2eUMsR0FDdEJ2akMsS0FBS2toQyxHQUFHTSxNQUFNOXdDLEVBQUs2eUMsSUFDckIsQ0FFQSxTQUFBcmdDLENBQVVoTixHQUNIRCxHQUFtQkMsR0FJeEJ2RyxPQUFPQyxLQUFLc0csR0FBUStsQixRQUFTNW5CLElBQ3ZCMEIsR0FBdUIxQixLQUN6QjJMLEtBQUtTLElBQUl0TCxLQUFLLGNBQWNkLDhCQUVyQjZCLEVBQU83QixJQUVoQjZ2QixFQUFJbGtCLEtBQUsraUMsUUFBUzF1QyxFQUFNNkIsRUFBTzdCLElBQy9CMDFCLEdBQVMvbEIsS0FBSzFFLEdBQVV5ckIsY0FBZSxDQUNyQzVNLFdBQVk5cEIsRUFDWjBxQixNQUFPN29CLEVBQU83QixPQVpoQjJMLEtBQUtTLElBQUl0TCxLQUFLLHlEQWVsQixDQUVBLFdBQUFnTyxDQUFZelMsRUFBYTZ5QyxHQUNsQjd5QyxHQUFRNnlDLElBQ1R4dEMsR0FBdUJyRixHQUN6QnNQLEtBQUtTLElBQUl0TCxLQUFLLGNBQWN6RSxvQkFHOUI4d0MsRUFBTXhoQyxLQUFLSSxVQUFVMVAsR0FBTTZ5QyxHQUM3QixDQUVBLFdBQUl2d0MsR0FDRixPQUFPZ04sS0FBS3lDLFFBQVF6UCxRQUFRK1AsS0FBSy9DLEtBQUt5QyxRQUN4QyxDQUVBLFlBQU1XLENBQU96VixHQUNYLEdBQXdCLEtBQXBCcVMsS0FBS2tDLFdBRVAsT0FEQWxDLEtBQUtTLElBQUkzTSxNQUFNLDREQUNSLEdBR1QsUUFBY3BFLElBQVYvQixHQUF3QyxJQUFqQkEsRUFBTWQsT0FzQjFCLENBQ0wsTUFBTXVWLE9BQUVBLFNBQWlCcEMsS0FBS2dqQyxVQUFVL2dDLE1BQU10VSxHQUM5QyxPQUFPeVUsQ0FDVCxDQXhCRSxJQUNFLE1BQU13Z0MsUUFBRUEsRUFBT0MseUJBQUVBLFNBQW1DWCxHQUFrQmxpQyxNQUNoRXdqQyxFQUFVLEtBQ1RYLEdBQ0hZLEVBQU9iLEdBQVM1dUMsTUFBTTBRLElBQ3BCMUUsS0FBS1MsSUFBSTNNLE1BQU00USxNQUlyQixHQUFnQixhQUFaaytCLEVBQ0YsTUFBTSxJQUFJdCtCLE1BQU0sZ0NBQ1gsQ0FDTHRFLEtBQUt3RCxLQUFLbkUsR0FBY2dHLE9BQVFtK0IsR0FDaEN4akMsS0FBS3dELEtBQUtuRSxHQUFjaUosU0FBVWs3QixHQUNsQyxNQUFNcGhDLE9BQUVBLFNBQWlCcEMsS0FBS2dqQyxVQUFVL2dDLE1BQU0sQ0FBQzJnQyxJQUMvQyxPQUFPeGdDLENBQ1QsQ0FDRixDQUFFLE1BQU9zQyxHQUVQLE1BREExRSxLQUFLZ0UsS0FBSzNFLEdBQWNnRyxPQUFRWCxHQUMxQkEsQ0FDUixDQUtKLENBRUEscUJBQU1yQixDQUFnQjFWLEVBQWVnVSxHQUFjLEdBQ2pELEdBQXdCLEtBQXBCM0IsS0FBS2tDLFdBRVAsT0FEQWxDLEtBQUtTLElBQUkzTSxNQUFNLDREQUNSa00sS0FHVCxRQUFjdFEsSUFBVi9CLEdBQXdDLElBQWpCQSxFQUFNZCxPQXNCL0IsYUFBYW1ULEtBQUtnakMsVUFBVS9nQyxNQUFNdFUsRUFBT2dVLEdBckJ6QyxJQUNFLE1BQU1paEMsUUFBRUEsRUFBT0MseUJBQUVBLFNBQW1DWCxHQUFrQmxpQyxNQUNoRXdqQyxFQUFVLEtBQ1RYLEdBQ0hZLEVBQU9iLEdBQVM1dUMsTUFBTTBRLElBQ3BCMUUsS0FBS1MsSUFBSTNNLE1BQU00USxNQUlyQixHQUFnQixhQUFaaytCLEVBQ0YsTUFBTSxJQUFJdCtCLE1BQU0sZ0NBSWhCLE9BRkF0RSxLQUFLd0QsS0FBS25FLEdBQWNnRyxPQUFRbStCLEdBQ2hDeGpDLEtBQUt3RCxLQUFLbkUsR0FBY2lKLFNBQVVrN0IsU0FDckJ4akMsS0FBS2dqQyxVQUFVL2dDLE1BQU0sQ0FBQzJnQyxHQUFVamhDLEVBRWpELENBQUUsTUFBTytDLEdBRVAsTUFEQTFFLEtBQUtnRSxLQUFLM0UsR0FBY2dHLE9BQVFYLEdBQzFCQSxDQUNSLENBSUoifQ==