serve-sim 0.0.7 → 0.0.8

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.
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{readdirSync as g,readFileSync as y,existsSync as N,unlinkSync as F}from"fs";import{execSync as R,spawn as U,exec as q,execFile as k}from"child_process";import{tmpdir as _}from"os";import{join as w}from"path";var B=w(_(),"serve-sim"),I=new Set(["host.exp.Exponent","dev.expo.Exponent"]),v=["Frameworks/React.framework","Frameworks/hermes.framework","Frameworks/Hermes.framework","Frameworks/ExpoModulesCore.framework","main.jsbundle"],f=/(WidgetRenderer|ExtensionHost|\.extension(\.|$)|Service|PlaceholderApp|InCallService|CallUI|InCallUI|com\.apple\.Preferences\.Cellular|com\.apple\.purplebuddy|com\.apple\.chrono|com\.apple\.shuttle|com\.apple\.usernotificationsui)/i;function m(Y){return!f.test(Y)}function p(Y,J){if(I.has(J))return Promise.resolve(!0);return new Promise((Q)=>{k("xcrun",["simctl","get_app_container",Y,J,"app"],{timeout:2000},(z,Z)=>{if(z)return Q(!1);let C=Z.trim();if(!C)return Q(!1);for(let X of v)if(N(w(C,X)))return Q(!0);Q(!1)})})}var O={at:0,booted:null};function S(){let Y=Date.now();if(O.booted&&Y-O.at<1500)return O.booted;try{let J=R("xcrun simctl list devices booted -j",{encoding:"utf-8",stdio:["ignore","pipe","pipe"],timeout:3000}),Q=JSON.parse(J),z=new Set;for(let Z of Object.values(Q.devices))for(let C of Z)if(C.state==="Booted")z.add(C.udid);return O={at:Y,booted:z},z}catch{return null}}function L(){let Y;try{Y=g(B).filter((z)=>z.startsWith("server-")&&z.endsWith(".json"))}catch{return[]}let J=S(),Q=[];for(let z of Y){let Z=w(B,z);try{let C=JSON.parse(y(Z,"utf-8"));try{process.kill(C.pid,0)}catch{try{F(Z)}catch{}continue}if(J&&!J.has(C.device)){try{process.kill(C.pid,"SIGTERM")}catch{}try{F(Z)}catch{}continue}Q.push(C)}catch{}}return Q}var A=null;function h(){if(!A)A=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT4KPC9oZWFkPjxib2R5Pgo8ZGl2IGlkPSJyb290Ij48L2Rpdj4KPCEtLV9fU0lNX1BSRVZJRVdfQ09ORklHX18tLT4KPHNjcmlwdCB0eXBlPSJtb2R1bGUiPnZhciBEWj1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIE9aPShKKT0+SjtmdW5jdGlvbiBOWihKLFope3RoaXNbSl09T1ouYmluZChudWxsLFopfXZhciBaNT0oSixaKT0+e2Zvcih2YXIgcSBpbiBaKURaKEoscSx7Z2V0OlpbcV0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsc2V0Ok5aLmJpbmQoWixxKX0pfTt2YXIgczEsZyxZNSxUWix6MSxxNSwkNSxLNSxXOCxqNixsMSx6NSxMOCxHOCxCOCxXNSxrNj17fSxBNj1bXSxqWj0vYWNpdHxleCg/OnN8Z3xufHB8JCl8cnBofGdyaWR8b3dzfG1uY3xudHd8aW5lW2NoXXx6b298Xm9yZHxpdGVyYS9pLGExPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gaTAoSixaKXtmb3IodmFyIHEgaW4gWilKW3FdPVpbcV07cmV0dXJuIEp9ZnVuY3Rpb24gVTgoSil7SiYmSi5wYXJlbnROb2RlJiZKLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoSil9ZnVuY3Rpb24gUTAoSixaLHEpe3ZhciBRLFgsWSwkPXt9O2ZvcihZIGluIFopWT09ImtleSI/UT1aW1ldOlk9PSJyZWYiP1g9WltZXTokW1ldPVpbWV07aWYoYXJndW1lbnRzLmxlbmd0aD4yJiYoJC5jaGlsZHJlbj1hcmd1bWVudHMubGVuZ3RoPjM/czEuY2FsbChhcmd1bWVudHMsMik6cSksdHlwZW9mIEo9PSJmdW5jdGlvbiImJkouZGVmYXVsdFByb3BzIT1udWxsKWZvcihZIGluIEouZGVmYXVsdFByb3BzKSRbWV09PT12b2lkIDAmJigkW1ldPUouZGVmYXVsdFByb3BzW1ldKTtyZXR1cm4gaTEoSiwkLFEsWCxudWxsKX1mdW5jdGlvbiBpMShKLFoscSxRLFgpe3ZhciBZPXt0eXBlOkoscHJvcHM6WixrZXk6cSxyZWY6USxfX2s6bnVsbCxfXzpudWxsLF9fYjowLF9fZTpudWxsLF9fYzpudWxsLGNvbnN0cnVjdG9yOnZvaWQgMCxfX3Y6WD09bnVsbD8rK1k1OlgsX19pOi0xLF9fdTowfTtyZXR1cm4gWD09bnVsbCYmZy52bm9kZSE9bnVsbCYmZy52bm9kZShZKSxZfWZ1bmN0aW9uIEUxKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19ZnVuY3Rpb24gSjAoSil7cmV0dXJuIEouY2hpbGRyZW59ZnVuY3Rpb24gTDAoSixaKXt0aGlzLnByb3BzPUosdGhpcy5jb250ZXh0PVp9ZnVuY3Rpb24gUDEoSixaKXtpZihaPT1udWxsKXJldHVybiBKLl9fP1AxKEouX18sSi5fX2krMSk6bnVsbDtmb3IodmFyIHE7WjxKLl9fay5sZW5ndGg7WisrKWlmKChxPUouX19rW1pdKSE9bnVsbCYmcS5fX2UhPW51bGwpcmV0dXJuIHEuX19lO3JldHVybiB0eXBlb2YgSi50eXBlPT0iZnVuY3Rpb24iP1AxKEopOm51bGx9ZnVuY3Rpb24ga1ooSil7aWYoSi5fX1AmJkouX19kKXt2YXIgWj1KLl9fdixxPVouX19lLFE9W10sWD1bXSxZPWkwKHt9LFopO1kuX192PVouX192KzEsZy52bm9kZSYmZy52bm9kZShZKSxGOChKLl9fUCxZLFosSi5fX24sSi5fX1AubmFtZXNwYWNlVVJJLDMyJlouX191P1txXTpudWxsLFEscT09bnVsbD9QMShaKTpxLCEhKDMyJlouX191KSxYKSxZLl9fdj1aLl9fdixZLl9fLl9fa1tZLl9faV09WSxWNShRLFksWCksWi5fX2U9Wi5fXz1udWxsLFkuX19lIT1xJiZHNShZKX19ZnVuY3Rpb24gRzUoSil7aWYoKEo9Si5fXykhPW51bGwmJkouX19jIT1udWxsKXJldHVybiBKLl9fZT1KLl9fYy5iYXNlPW51bGwsSi5fX2suc29tZShmdW5jdGlvbihaKXtpZihaIT1udWxsJiZaLl9fZSE9bnVsbClyZXR1cm4gSi5fX2U9Si5fX2MuYmFzZT1aLl9fZX0pLEc1KEopfWZ1bmN0aW9uIEg4KEopeyghSi5fX2QmJihKLl9fZD0hMCkmJnoxLnB1c2goSikmJiFJNi5fX3IrK3x8cTUhPWcuZGVib3VuY2VSZW5kZXJpbmcpJiYoKHE1PWcuZGVib3VuY2VSZW5kZXJpbmcpfHwkNSkoSTYpfWZ1bmN0aW9uIEk2KCl7dHJ5e2Zvcih2YXIgSixaPTE7ejEubGVuZ3RoOyl6MS5sZW5ndGg+WiYmejEuc29ydChLNSksSj16MS5zaGlmdCgpLFo9ejEubGVuZ3RoLGtaKEopfWZpbmFsbHl7ejEubGVuZ3RoPUk2Ll9fcj0wfX1mdW5jdGlvbiBCNShKLFoscSxRLFgsWSwkLEssQixHLEgpe3ZhciB6LFUsVixGLEwsRCxPLE49USYmUS5fX2t8fEE2LEE9Wi5sZW5ndGg7Zm9yKEI9QVoocSxaLE4sQixBKSx6PTA7ejxBO3orKykoVj1xLl9fa1t6XSkhPW51bGwmJihVPVYuX19pIT0tMSYmTltWLl9faV18fGs2LFYuX19pPXosRD1GOChKLFYsVSxYLFksJCxLLEIsRyxIKSxGPVYuX19lLFYucmVmJiZVLnJlZiE9Vi5yZWYmJihVLnJlZiYmRDgoVS5yZWYsbnVsbCxWKSxILnB1c2goVi5yZWYsVi5fX2N8fEYsVikpLEw9PW51bGwmJkYhPW51bGwmJihMPUYpLChPPSEhKDQmVi5fX3UpKXx8VS5fX2s9PT1WLl9faz8oQj1INShWLEIsSixPKSxPJiZVLl9fZSYmKFUuX19lPW51bGwpKTp0eXBlb2YgVi50eXBlPT0iZnVuY3Rpb24iJiZEIT09dm9pZCAwP0I9RDpGJiYoQj1GLm5leHRTaWJsaW5nKSxWLl9fdSY9LTcpO3JldHVybiBxLl9fZT1MLEJ9ZnVuY3Rpb24gQVooSixaLHEsUSxYKXt2YXIgWSwkLEssQixHLEg9cS5sZW5ndGgsej1ILFU9MDtmb3IoSi5fX2s9QXJyYXkoWCksWT0wO1k8WDtZKyspKCQ9WltZXSkhPW51bGwmJnR5cGVvZiAkIT0iYm9vbGVhbiImJnR5cGVvZiAkIT0iZnVuY3Rpb24iPyh0eXBlb2YgJD09InN0cmluZyJ8fHR5cGVvZiAkPT0ibnVtYmVyInx8dHlwZW9mICQ9PSJiaWdpbnQifHwkLmNvbnN0cnVjdG9yPT1TdHJpbmc/JD1KLl9fa1tZXT1pMShudWxsLCQsbnVsbCxudWxsLG51bGwpOmExKCQpPyQ9Si5fX2tbWV09aTEoSjAse2NoaWxkcmVuOiR9LG51bGwsbnVsbCxudWxsKTokLmNvbnN0cnVjdG9yPT09dm9pZCAwJiYkLl9fYj4wPyQ9Si5fX2tbWV09aTEoJC50eXBlLCQucHJvcHMsJC5rZXksJC5yZWY/JC5yZWY6bnVsbCwkLl9fdik6Si5fX2tbWV09JCxCPVkrVSwkLl9fPUosJC5fX2I9Si5fX2IrMSxLPW51bGwsKEc9JC5fX2k9SVooJCxxLEIseikpIT0tMSYmKHotLSwoSz1xW0ddKSYmKEsuX191fD0yKSksSz09bnVsbHx8Sy5fX3Y9PW51bGw/KEc9PS0xJiYoWD5IP1UtLTpYPEgmJlUrKyksdHlwZW9mICQudHlwZSE9ImZ1bmN0aW9uIiYmKCQuX191fD00KSk6RyE9QiYmKEc9PUItMT9VLS06Rz09QisxP1UrKzooRz5CP1UtLTpVKyssJC5fX3V8PTQpKSk6Si5fX2tbWV09bnVsbDtpZih6KWZvcihZPTA7WTxIO1krKykoSz1xW1ldKSE9bnVsbCYmKDImSy5fX3UpPT0wJiYoSy5fX2U9PVEmJihRPVAxKEspKSxVNShLLEspKTtyZXR1cm4gUX1mdW5jdGlvbiBINShKLFoscSxRKXt2YXIgWCxZO2lmKHR5cGVvZiBKLnR5cGU9PSJmdW5jdGlvbiIpe2ZvcihYPUouX19rLFk9MDtYJiZZPFgubGVuZ3RoO1krKylYW1ldJiYoWFtZXS5fXz1KLFo9SDUoWFtZXSxaLHEsUSkpO3JldHVybiBafUouX19lIT1aJiYoUSYmKFomJkoudHlwZSYmIVoucGFyZW50Tm9kZSYmKFo9UDEoSikpLHEuaW5zZXJ0QmVmb3JlKEouX19lLFp8fG51bGwpKSxaPUouX19lKTtkbyBaPVomJloubmV4dFNpYmxpbmc7d2hpbGUoWiE9bnVsbCYmWi5ub2RlVHlwZT09OCk7cmV0dXJuIFp9ZnVuY3Rpb24gXzAoSixaKXtyZXR1cm4gWj1afHxbXSxKPT1udWxsfHx0eXBlb2YgSj09ImJvb2xlYW4ifHwoYTEoSik/Si5zb21lKGZ1bmN0aW9uKHEpe18wKHEsWil9KTpaLnB1c2goSikpLFp9ZnVuY3Rpb24gSVooSixaLHEsUSl7dmFyIFgsWSwkLEs9Si5rZXksQj1KLnR5cGUsRz1aW3FdLEg9RyE9bnVsbCYmKDImRy5fX3UpPT0wO2lmKEc9PT1udWxsJiZLPT1udWxsfHxIJiZLPT1HLmtleSYmQj09Ry50eXBlKXJldHVybiBxO2lmKFE+KEg/MTowKSl7Zm9yKFg9cS0xLFk9cSsxO1g+PTB8fFk8Wi5sZW5ndGg7KWlmKChHPVpbJD1YPj0wP1gtLTpZKytdKSE9bnVsbCYmKDImRy5fX3UpPT0wJiZLPT1HLmtleSYmQj09Ry50eXBlKXJldHVybiAkfXJldHVybi0xfWZ1bmN0aW9uIFE1KEosWixxKXtaWzBdPT0iLSI/Si5zZXRQcm9wZXJ0eShaLHE9PW51bGw/IiI6cSk6SltaXT1xPT1udWxsPyIiOnR5cGVvZiBxIT0ibnVtYmVyInx8aloudGVzdChaKT9xOnErInB4In1mdW5jdGlvbiBUNihKLFoscSxRLFgpe3ZhciBZLCQ7SjppZihaPT0ic3R5bGUiKWlmKHR5cGVvZiBxPT0ic3RyaW5nIilKLnN0eWxlLmNzc1RleHQ9cTtlbHNle2lmKHR5cGVvZiBRPT0ic3RyaW5nIiYmKEouc3R5bGUuY3NzVGV4dD1RPSIiKSxRKWZvcihaIGluIFEpcSYmWiBpbiBxfHxRNShKLnN0eWxlLFosIiIpO2lmKHEpZm9yKFogaW4gcSlRJiZxW1pdPT1RW1pdfHxRNShKLnN0eWxlLFoscVtaXSl9ZWxzZSBpZihaWzBdPT0ibyImJlpbMV09PSJuIilZPVohPShaPVoucmVwbGFjZSh6NSwiJDEiKSksJD1aLnRvTG93ZXJDYXNlKCksWj0kIGluIEp8fFo9PSJvbkZvY3VzT3V0Inx8Wj09Im9uRm9jdXNJbiI/JC5zbGljZSgyKTpaLnNsaWNlKDIpLEoubHx8KEoubD17fSksSi5sW1orWV09cSxxP1E/cVtsMV09UVtsMV06KHFbbDFdPUw4LEouYWRkRXZlbnRMaXN0ZW5lcihaLFk/Qjg6RzgsWSkpOkoucmVtb3ZlRXZlbnRMaXN0ZW5lcihaLFk/Qjg6RzgsWSk7ZWxzZXtpZihYPT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKVo9Wi5yZXBsYWNlKC94bGluayhIfDpoKS8sImgiKS5yZXBsYWNlKC9zTmFtZSQvLCJzIik7ZWxzZSBpZihaIT0id2lkdGgiJiZaIT0iaGVpZ2h0IiYmWiE9ImhyZWYiJiZaIT0ibGlzdCImJlohPSJmb3JtIiYmWiE9InRhYkluZGV4IiYmWiE9ImRvd25sb2FkIiYmWiE9InJvd1NwYW4iJiZaIT0iY29sU3BhbiImJlohPSJyb2xlIiYmWiE9InBvcG92ZXIiJiZaIGluIEopdHJ5e0pbWl09cT09bnVsbD8iIjpxO2JyZWFrIEp9Y2F0Y2goSyl7fXR5cGVvZiBxPT0iZnVuY3Rpb24ifHwocT09bnVsbHx8cT09PSExJiZaWzRdIT0iLSI/Si5yZW1vdmVBdHRyaWJ1dGUoWik6Si5zZXRBdHRyaWJ1dGUoWixaPT0icG9wb3ZlciImJnE9PTE/IiI6cSkpfX1mdW5jdGlvbiBYNShKKXtyZXR1cm4gZnVuY3Rpb24oWil7aWYodGhpcy5sKXt2YXIgcT10aGlzLmxbWi50eXBlK0pdO2lmKFpbajZdPT1udWxsKVpbajZdPUw4Kys7ZWxzZSBpZihaW2o2XTxxW2wxXSlyZXR1cm47cmV0dXJuIHEoZy5ldmVudD9nLmV2ZW50KFopOlopfX19ZnVuY3Rpb24gRjgoSixaLHEsUSxYLFksJCxLLEIsRyl7dmFyIEgseixVLFYsRixMLEQsTyxOLEEsaix3LGIsUCx2LGM9Wi50eXBlO2lmKFouY29uc3RydWN0b3IhPT12b2lkIDApcmV0dXJuIG51bGw7MTI4JnEuX191JiYoQj0hISgzMiZxLl9fdSksWT1bSz1aLl9fZT1xLl9fZV0pLChIPWcuX19iKSYmSChaKTtKOmlmKHR5cGVvZiBjPT0iZnVuY3Rpb24iKXRyeXtpZihPPVoucHJvcHMsTj1jLnByb3RvdHlwZSYmYy5wcm90b3R5cGUucmVuZGVyLEE9KEg9Yy5jb250ZXh0VHlwZSkmJlFbSC5fX2NdLGo9SD9BP0EucHJvcHMudmFsdWU6SC5fXzpRLHEuX19jP0Q9KHo9Wi5fX2M9cS5fX2MpLl9fPXouX19FOihOP1ouX19jPXo9bmV3IGMoTyxqKTooWi5fX2M9ej1uZXcgTDAoTyxqKSx6LmNvbnN0cnVjdG9yPWMsei5yZW5kZXI9RVopLEEmJkEuc3ViKHopLHouc3RhdGV8fCh6LnN0YXRlPXt9KSx6Ll9fbj1RLFU9ei5fX2Q9ITAsei5fX2g9W10sei5fc2I9W10pLE4mJnouX19zPT1udWxsJiYoei5fX3M9ei5zdGF0ZSksTiYmYy5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMhPW51bGwmJih6Ll9fcz09ei5zdGF0ZSYmKHouX19zPWkwKHt9LHouX19zKSksaTAoei5fX3MsYy5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoTyx6Ll9fcykpKSxWPXoucHJvcHMsRj16LnN0YXRlLHouX192PVosVSlOJiZjLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcz09bnVsbCYmei5jb21wb25lbnRXaWxsTW91bnQhPW51bGwmJnouY29tcG9uZW50V2lsbE1vdW50KCksTiYmei5jb21wb25lbnREaWRNb3VudCE9bnVsbCYmei5fX2gucHVzaCh6LmNvbXBvbmVudERpZE1vdW50KTtlbHNle2lmKE4mJmMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1udWxsJiZPIT09ViYmei5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT1udWxsJiZ6LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoTyxqKSxaLl9fdj09cS5fX3Z8fCF6Ll9fZSYmei5zaG91bGRDb21wb25lbnRVcGRhdGUhPW51bGwmJnouc2hvdWxkQ29tcG9uZW50VXBkYXRlKE8sei5fX3Msaik9PT0hMSl7Wi5fX3YhPXEuX192JiYoei5wcm9wcz1PLHouc3RhdGU9ei5fX3Msei5fX2Q9ITEpLFouX19lPXEuX19lLFouX19rPXEuX19rLFouX19rLnNvbWUoZnVuY3Rpb24oZil7ZiYmKGYuX189Wil9KSxBNi5wdXNoLmFwcGx5KHouX19oLHouX3NiKSx6Ll9zYj1bXSx6Ll9faC5sZW5ndGgmJiQucHVzaCh6KTticmVhayBKfXouY29tcG9uZW50V2lsbFVwZGF0ZSE9bnVsbCYmei5jb21wb25lbnRXaWxsVXBkYXRlKE8sei5fX3MsaiksTiYmei5jb21wb25lbnREaWRVcGRhdGUhPW51bGwmJnouX19oLnB1c2goZnVuY3Rpb24oKXt6LmNvbXBvbmVudERpZFVwZGF0ZShWLEYsTCl9KX1pZih6LmNvbnRleHQ9aix6LnByb3BzPU8sei5fX1A9Six6Ll9fZT0hMSx3PWcuX19yLGI9MCxOKXouc3RhdGU9ei5fX3Msei5fX2Q9ITEsdyYmdyhaKSxIPXoucmVuZGVyKHoucHJvcHMsei5zdGF0ZSx6LmNvbnRleHQpLEE2LnB1c2guYXBwbHkoei5fX2gsei5fc2IpLHouX3NiPVtdO2Vsc2UgZG8gei5fX2Q9ITEsdyYmdyhaKSxIPXoucmVuZGVyKHoucHJvcHMsei5zdGF0ZSx6LmNvbnRleHQpLHouc3RhdGU9ei5fX3M7d2hpbGUoei5fX2QmJisrYjwyNSk7ei5zdGF0ZT16Ll9fcyx6LmdldENoaWxkQ29udGV4dCE9bnVsbCYmKFE9aTAoaTAoe30sUSksei5nZXRDaGlsZENvbnRleHQoKSkpLE4mJiFVJiZ6LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT1udWxsJiYoTD16LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKFYsRikpLFA9SCE9bnVsbCYmSC50eXBlPT09SjAmJkgua2V5PT1udWxsP0w1KEgucHJvcHMuY2hpbGRyZW4pOkgsSz1CNShKLGExKFApP1A6W1BdLFoscSxRLFgsWSwkLEssQixHKSx6LmJhc2U9Wi5fX2UsWi5fX3UmPS0xNjEsei5fX2gubGVuZ3RoJiYkLnB1c2goeiksRCYmKHouX19FPXouX189bnVsbCl9Y2F0Y2goZil7aWYoWi5fX3Y9bnVsbCxCfHxZIT1udWxsKWlmKGYudGhlbil7Zm9yKFouX191fD1CPzE2MDoxMjg7SyYmSy5ub2RlVHlwZT09OCYmSy5uZXh0U2libGluZzspSz1LLm5leHRTaWJsaW5nO1lbWS5pbmRleE9mKEspXT1udWxsLFouX19lPUt9ZWxzZXtmb3Iodj1ZLmxlbmd0aDt2LS07KVU4KFlbdl0pO1Y4KFopfWVsc2UgWi5fX2U9cS5fX2UsWi5fX2s9cS5fX2ssZi50aGVufHxWOChaKTtnLl9fZShmLFoscSl9ZWxzZSBZPT1udWxsJiZaLl9fdj09cS5fX3Y/KFouX19rPXEuX19rLFouX19lPXEuX19lKTpLPVouX19lPVBaKHEuX19lLFoscSxRLFgsWSwkLEIsRyk7cmV0dXJuKEg9Zy5kaWZmZWQpJiZIKFopLDEyOCZaLl9fdT92b2lkIDA6S31mdW5jdGlvbiBWOChKKXtKJiYoSi5fX2MmJihKLl9fYy5fX2U9ITApLEouX19rJiZKLl9fay5zb21lKFY4KSl9ZnVuY3Rpb24gVjUoSixaLHEpe2Zvcih2YXIgUT0wO1E8cS5sZW5ndGg7USsrKUQ4KHFbUV0scVsrK1FdLHFbKytRXSk7Zy5fX2MmJmcuX19jKFosSiksSi5zb21lKGZ1bmN0aW9uKFgpe3RyeXtKPVguX19oLFguX19oPVtdLEouc29tZShmdW5jdGlvbihZKXtZLmNhbGwoWCl9KX1jYXRjaChZKXtnLl9fZShZLFguX192KX19KX1mdW5jdGlvbiBMNShKKXtyZXR1cm4gdHlwZW9mIEohPSJvYmplY3QifHxKPT1udWxsfHxKLl9fYj4wP0o6YTEoSik/Si5tYXAoTDUpOmkwKHt9LEopfWZ1bmN0aW9uIFBaKEosWixxLFEsWCxZLCQsSyxCKXt2YXIgRyxILHosVSxWLEYsTCxEPXEucHJvcHN8fGs2LE89Wi5wcm9wcyxOPVoudHlwZTtpZihOPT0ic3ZnIj9YPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6Tj09Im1hdGgiP1g9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiOlh8fChYPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiksWSE9bnVsbCl7Zm9yKEc9MDtHPFkubGVuZ3RoO0crKylpZigoVj1ZW0ddKSYmInNldEF0dHJpYnV0ZSJpbiBWPT0hIU4mJihOP1YubG9jYWxOYW1lPT1OOlYubm9kZVR5cGU9PTMpKXtKPVYsWVtHXT1udWxsO2JyZWFrfX1pZihKPT1udWxsKXtpZihOPT1udWxsKXJldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShPKTtKPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhYLE4sTy5pcyYmTyksSyYmKGcuX19tJiZnLl9fbShaLFkpLEs9ITEpLFk9bnVsbH1pZihOPT1udWxsKUQ9PT1PfHxLJiZKLmRhdGE9PU98fChKLmRhdGE9Tyk7ZWxzZXtpZihZPVkmJnMxLmNhbGwoSi5jaGlsZE5vZGVzKSwhSyYmWSE9bnVsbClmb3IoRD17fSxHPTA7RzxKLmF0dHJpYnV0ZXMubGVuZ3RoO0crKylEWyhWPUouYXR0cmlidXRlc1tHXSkubmFtZV09Vi52YWx1ZTtmb3IoRyBpbiBEKVY9RFtHXSxHPT0iZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiP3o9VjpHPT0iY2hpbGRyZW4ifHwoRyBpbiBPKXx8Rz09InZhbHVlIiYmKCJkZWZhdWx0VmFsdWUiaW4gTyl8fEc9PSJjaGVja2VkIiYmKCJkZWZhdWx0Q2hlY2tlZCJpbiBPKXx8VDYoSixHLG51bGwsVixYKTtmb3IoRyBpbiBPKVY9T1tHXSxHPT0iY2hpbGRyZW4iP1U9VjpHPT0iZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiP0g9VjpHPT0idmFsdWUiP0Y9VjpHPT0iY2hlY2tlZCI/TD1WOksmJnR5cGVvZiBWIT0iZnVuY3Rpb24ifHxEW0ddPT09Vnx8VDYoSixHLFYsRFtHXSxYKTtpZihIKUt8fHomJihILl9faHRtbD09ei5fX2h0bWx8fEguX19odG1sPT1KLmlubmVySFRNTCl8fChKLmlubmVySFRNTD1ILl9faHRtbCksWi5fX2s9W107ZWxzZSBpZih6JiYoSi5pbm5lckhUTUw9IiIpLEI1KFoudHlwZT09InRlbXBsYXRlIj9KLmNvbnRlbnQ6SixhMShVKT9VOltVXSxaLHEsUSxOPT0iZm9yZWlnbk9iamVjdCI/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOlgsWSwkLFk/WVswXTpxLl9fayYmUDEocSwwKSxLLEIpLFkhPW51bGwpZm9yKEc9WS5sZW5ndGg7Ry0tOylVOChZW0ddKTtLfHwoRz0idmFsdWUiLE49PSJwcm9ncmVzcyImJkY9PW51bGw/Si5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIik6RiE9bnVsbCYmKEYhPT1KW0ddfHxOPT0icHJvZ3Jlc3MiJiYhRnx8Tj09Im9wdGlvbiImJkYhPURbR10pJiZUNihKLEcsRixEW0ddLFgpLEc9ImNoZWNrZWQiLEwhPW51bGwmJkwhPUpbR10mJlQ2KEosRyxMLERbR10sWCkpfXJldHVybiBKfWZ1bmN0aW9uIEQ4KEosWixxKXt0cnl7aWYodHlwZW9mIEo9PSJmdW5jdGlvbiIpe3ZhciBRPXR5cGVvZiBKLl9fdT09ImZ1bmN0aW9uIjtRJiZKLl9fdSgpLFEmJlo9PW51bGx8fChKLl9fdT1KKFopKX1lbHNlIEouY3VycmVudD1afWNhdGNoKFgpe2cuX19lKFgscSl9fWZ1bmN0aW9uIFU1KEosWixxKXt2YXIgUSxYO2lmKGcudW5tb3VudCYmZy51bm1vdW50KEopLChRPUoucmVmKSYmKFEuY3VycmVudCYmUS5jdXJyZW50IT1KLl9fZXx8RDgoUSxudWxsLFopKSwoUT1KLl9fYykhPW51bGwpe2lmKFEuY29tcG9uZW50V2lsbFVubW91bnQpdHJ5e1EuY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChZKXtnLl9fZShZLFopfVEuYmFzZT1RLl9fUD1udWxsfWlmKFE9Si5fX2spZm9yKFg9MDtYPFEubGVuZ3RoO1grKylRW1hdJiZVNShRW1hdLFoscXx8dHlwZW9mIEoudHlwZSE9ImZ1bmN0aW9uIik7cXx8VTgoSi5fX2UpLEouX19jPUouX189Si5fX2U9dm9pZCAwfWZ1bmN0aW9uIEVaKEosWixxKXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3RvcihKLHEpfWZ1bmN0aW9uIFoxKEosWixxKXt2YXIgUSxYLFksJDtaPT1kb2N1bWVudCYmKFo9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSxnLl9fJiZnLl9fKEosWiksWD0oUT10eXBlb2YgcT09ImZ1bmN0aW9uIik/bnVsbDpxJiZxLl9fa3x8Wi5fX2ssWT1bXSwkPVtdLEY4KFosSj0oIVEmJnF8fFopLl9faz1RMChKMCxudWxsLFtKXSksWHx8azYsazYsWi5uYW1lc3BhY2VVUkksIVEmJnE/W3FdOlg/bnVsbDpaLmZpcnN0Q2hpbGQ/czEuY2FsbChaLmNoaWxkTm9kZXMpOm51bGwsWSwhUSYmcT9xOlg/WC5fX2U6Wi5maXJzdENoaWxkLFEsJCksVjUoWSxKLCQpfWZ1bmN0aW9uIFA2KEosWil7WjEoSixaLFA2KX1mdW5jdGlvbiBPOChKLFoscSl7dmFyIFEsWCxZLCQsSz1pMCh7fSxKLnByb3BzKTtmb3IoWSBpbiBKLnR5cGUmJkoudHlwZS5kZWZhdWx0UHJvcHMmJigkPUoudHlwZS5kZWZhdWx0UHJvcHMpLFopWT09ImtleSI/UT1aW1ldOlk9PSJyZWYiP1g9WltZXTpLW1ldPVpbWV09PT12b2lkIDAmJiQhPW51bGw/JFtZXTpaW1ldO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjImJihLLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9zMS5jYWxsKGFyZ3VtZW50cywyKTpxKSxpMShKLnR5cGUsSyxRfHxKLmtleSxYfHxKLnJlZixudWxsKX1mdW5jdGlvbiBqMChKKXtmdW5jdGlvbiBaKHEpe3ZhciBRLFg7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0fHwoUT1uZXcgU2V0LChYPXt9KVtaLl9fY109dGhpcyx0aGlzLmdldENoaWxkQ29udGV4dD1mdW5jdGlvbigpe3JldHVybiBYfSx0aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7UT1udWxsfSx0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbihZKXt0aGlzLnByb3BzLnZhbHVlIT1ZLnZhbHVlJiZRLmZvckVhY2goZnVuY3Rpb24oJCl7JC5fX2U9ITAsSDgoJCl9KX0sdGhpcy5zdWI9ZnVuY3Rpb24oWSl7US5hZGQoWSk7dmFyICQ9WS5jb21wb25lbnRXaWxsVW5tb3VudDtZLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7USYmUS5kZWxldGUoWSksJCYmJC5jYWxsKFkpfX0pLHEuY2hpbGRyZW59cmV0dXJuIFouX19jPSJfX2NDIitXNSsrLFouX189SixaLlByb3ZpZGVyPVouX19sPShaLkNvbnN1bWVyPWZ1bmN0aW9uKHEsUSl7cmV0dXJuIHEuY2hpbGRyZW4oUSl9KS5jb250ZXh0VHlwZT1aLFp9czE9QTYuc2xpY2UsZz17X19lOmZ1bmN0aW9uKEosWixxLFEpe2Zvcih2YXIgWCxZLCQ7Wj1aLl9fOylpZigoWD1aLl9fYykmJiFYLl9fKXRyeXtpZigoWT1YLmNvbnN0cnVjdG9yKSYmWS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPW51bGwmJihYLnNldFN0YXRlKFkuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKEopKSwkPVguX19kKSxYLmNvbXBvbmVudERpZENhdGNoIT1udWxsJiYoWC5jb21wb25lbnREaWRDYXRjaChKLFF8fHt9KSwkPVguX19kKSwkKXJldHVybiBYLl9fRT1YfWNhdGNoKEspe0o9S310aHJvdyBKfX0sWTU9MCxUWj1mdW5jdGlvbihKKXtyZXR1cm4gSiE9bnVsbCYmSi5jb25zdHJ1Y3Rvcj09PXZvaWQgMH0sTDAucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKEosWil7dmFyIHE7cT10aGlzLl9fcyE9bnVsbCYmdGhpcy5fX3MhPXRoaXMuc3RhdGU/dGhpcy5fX3M6dGhpcy5fX3M9aTAoe30sdGhpcy5zdGF0ZSksdHlwZW9mIEo9PSJmdW5jdGlvbiImJihKPUooaTAoe30scSksdGhpcy5wcm9wcykpLEomJmkwKHEsSiksSiE9bnVsbCYmdGhpcy5fX3YmJihaJiZ0aGlzLl9zYi5wdXNoKFopLEg4KHRoaXMpKX0sTDAucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKEope3RoaXMuX192JiYodGhpcy5fX2U9ITAsSiYmdGhpcy5fX2gucHVzaChKKSxIOCh0aGlzKSl9LEwwLnByb3RvdHlwZS5yZW5kZXI9SjAsejE9W10sJDU9dHlwZW9mIFByb21pc2U9PSJmdW5jdGlvbiI/UHJvbWlzZS5wcm90b3R5cGUudGhlbi5iaW5kKFByb21pc2UucmVzb2x2ZSgpKTpzZXRUaW1lb3V0LEs1PWZ1bmN0aW9uKEosWil7cmV0dXJuIEouX192Ll9fYi1aLl9fdi5fX2J9LEk2Ll9fcj0wLFc4PU1hdGgucmFuZG9tKCkudG9TdHJpbmcoOCksajY9Il9fZCIrVzgsbDE9Il9fYSIrVzgsejU9LyhQb2ludGVyQ2FwdHVyZSkkfENhcHR1cmUkL2ksTDg9MCxHOD1YNSghMSksQjg9WDUoITApLFc1PTA7dmFyIHExLFkwLE44LEY1LF8xPTAsSTU9W10sVzA9ZyxENT1XMC5fX2IsTzU9VzAuX19yLE41PVcwLmRpZmZlZCxUNT1XMC5fX2MsajU9VzAudW5tb3VudCxrNT1XMC5fXztmdW5jdGlvbiBIMShKLFope1cwLl9faCYmVzAuX19oKFkwLEosXzF8fFopLF8xPTA7dmFyIHE9WTAuX19IfHwoWTAuX19IPXtfXzpbXSxfX2g6W119KTtyZXR1cm4gSj49cS5fXy5sZW5ndGgmJnEuX18ucHVzaCh7fSkscS5fX1tKXX1mdW5jdGlvbiBfKEope3JldHVybiBfMT0xLFExKFA1LEopfWZ1bmN0aW9uIFExKEosWixxKXt2YXIgUT1IMShxMSsrLDIpO2lmKFEudD1KLCFRLl9fYyYmKFEuX189W3E/cShaKTpQNSh2b2lkIDAsWiksZnVuY3Rpb24oSyl7dmFyIEI9US5fX04/US5fX05bMF06US5fX1swXSxHPVEudChCLEspO0IhPT1HJiYoUS5fX049W0csUS5fX1sxXV0sUS5fX2Muc2V0U3RhdGUoe30pKX1dLFEuX19jPVkwLCFZMC5fX2YpKXt2YXIgWD1mdW5jdGlvbihLLEIsRyl7aWYoIVEuX19jLl9fSClyZXR1cm4hMDt2YXIgSD1RLl9fYy5fX0guX18uZmlsdGVyKGZ1bmN0aW9uKFUpe3JldHVybiBVLl9fY30pO2lmKEguZXZlcnkoZnVuY3Rpb24oVSl7cmV0dXJuIVUuX19OfSkpcmV0dXJuIVl8fFkuY2FsbCh0aGlzLEssQixHKTt2YXIgej1RLl9fYy5wcm9wcyE9PUs7cmV0dXJuIEguc29tZShmdW5jdGlvbihVKXtpZihVLl9fTil7dmFyIFY9VS5fX1swXTtVLl9fPVUuX19OLFUuX19OPXZvaWQgMCxWIT09VS5fX1swXSYmKHo9ITApfX0pLFkmJlkuY2FsbCh0aGlzLEssQixHKXx8en07WTAuX19mPSEwO3ZhcntzaG91bGRDb21wb25lbnRVcGRhdGU6WSxjb21wb25lbnRXaWxsVXBkYXRlOiR9PVkwO1kwLmNvbXBvbmVudFdpbGxVcGRhdGU9ZnVuY3Rpb24oSyxCLEcpe2lmKHRoaXMuX19lKXt2YXIgSD1ZO1k9dm9pZCAwLFgoSyxCLEcpLFk9SH0kJiYkLmNhbGwodGhpcyxLLEIsRyl9LFkwLnNob3VsZENvbXBvbmVudFVwZGF0ZT1YfXJldHVybiBRLl9fTnx8US5fX31mdW5jdGlvbiB5KEosWil7dmFyIHE9SDEocTErKywzKTshVzAuX19zJiZqOChxLl9fSCxaKSYmKHEuX189SixxLnU9WixZMC5fX0guX19oLnB1c2gocSkpfWZ1bmN0aW9uIE0wKEosWil7dmFyIHE9SDEocTErKyw0KTshVzAuX19zJiZqOChxLl9fSCxaKSYmKHEuX189SixxLnU9WixZMC5fX2gucHVzaChxKSl9ZnVuY3Rpb24gRShKKXtyZXR1cm4gXzE9NSxIMChmdW5jdGlvbigpe3JldHVybntjdXJyZW50Okp9fSxbXSl9ZnVuY3Rpb24gcjEoSixaLHEpe18xPTYsTTAoZnVuY3Rpb24oKXtpZih0eXBlb2YgSj09ImZ1bmN0aW9uIil7dmFyIFE9SihaKCkpO3JldHVybiBmdW5jdGlvbigpe0oobnVsbCksUSYmdHlwZW9mIFE9PSJmdW5jdGlvbiImJlEoKX19aWYoSilyZXR1cm4gSi5jdXJyZW50PVooKSxmdW5jdGlvbigpe3JldHVybiBKLmN1cnJlbnQ9bnVsbH19LHE9PW51bGw/cTpxLmNvbmNhdChKKSl9ZnVuY3Rpb24gSDAoSixaKXt2YXIgcT1IMShxMSsrLDcpO3JldHVybiBqOChxLl9fSCxaKSYmKHEuX189SigpLHEuX19IPVoscS5fX2g9SikscS5fX31mdW5jdGlvbiBTKEosWil7cmV0dXJuIF8xPTgsSDAoZnVuY3Rpb24oKXtyZXR1cm4gSn0sWil9ZnVuY3Rpb24gazAoSil7dmFyIFo9WTAuY29udGV4dFtKLl9fY10scT1IMShxMSsrLDkpO3JldHVybiBxLmM9SixaPyhxLl9fPT1udWxsJiYocS5fXz0hMCxaLnN1YihZMCkpLFoucHJvcHMudmFsdWUpOkouX199ZnVuY3Rpb24gbzEoSixaKXtXMC51c2VEZWJ1Z1ZhbHVlJiZXMC51c2VEZWJ1Z1ZhbHVlKFo/WihKKTpKKX1mdW5jdGlvbiBfWihKKXt2YXIgWj1IMShxMSsrLDEwKSxxPV8oKTtyZXR1cm4gWi5fXz1KLFkwLmNvbXBvbmVudERpZENhdGNofHwoWTAuY29tcG9uZW50RGlkQ2F0Y2g9ZnVuY3Rpb24oUSxYKXtaLl9fJiZaLl9fKFEsWCkscVsxXShRKX0pLFtxWzBdLGZ1bmN0aW9uKCl7cVsxXSh2b2lkIDApfV19ZnVuY3Rpb24gbjEoKXt2YXIgSj1IMShxMSsrLDExKTtpZighSi5fXyl7Zm9yKHZhciBaPVkwLl9fdjtaIT09bnVsbCYmIVouX19tJiZaLl9fIT09bnVsbDspWj1aLl9fO3ZhciBxPVouX19tfHwoWi5fX209WzAsMF0pO0ouX189IlAiK3FbMF0rIi0iK3FbMV0rK31yZXR1cm4gSi5fX31mdW5jdGlvbiBNWigpe2Zvcih2YXIgSjtKPUk1LnNoaWZ0KCk7KXt2YXIgWj1KLl9fSDtpZihKLl9fUCYmWil0cnl7Wi5fX2guc29tZShFNiksWi5fX2guc29tZShUOCksWi5fX2g9W119Y2F0Y2gocSl7Wi5fX2g9W10sVzAuX19lKHEsSi5fX3YpfX19VzAuX19iPWZ1bmN0aW9uKEope1kwPW51bGwsRDUmJkQ1KEopfSxXMC5fXz1mdW5jdGlvbihKLFope0omJlouX19rJiZaLl9fay5fX20mJihKLl9fbT1aLl9fay5fX20pLGs1JiZrNShKLFopfSxXMC5fX3I9ZnVuY3Rpb24oSil7TzUmJk81KEopLHExPTA7dmFyIFo9KFkwPUouX19jKS5fX0g7WiYmKE44PT09WTA/KFouX19oPVtdLFkwLl9faD1bXSxaLl9fLnNvbWUoZnVuY3Rpb24ocSl7cS5fX04mJihxLl9fPXEuX19OKSxxLnU9cS5fX049dm9pZCAwfSkpOihaLl9faC5zb21lKEU2KSxaLl9faC5zb21lKFQ4KSxaLl9faD1bXSxxMT0wKSksTjg9WTB9LFcwLmRpZmZlZD1mdW5jdGlvbihKKXtONSYmTjUoSik7dmFyIFo9Si5fX2M7WiYmWi5fX0gmJihaLl9fSC5fX2gubGVuZ3RoJiYoSTUucHVzaChaKSE9PTEmJkY1PT09VzAucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKEY1PVcwLnJlcXVlc3RBbmltYXRpb25GcmFtZSl8fHdaKShNWikpLFouX19ILl9fLnNvbWUoZnVuY3Rpb24ocSl7cS51JiYocS5fX0g9cS51KSxxLnU9dm9pZCAwfSkpLE44PVkwPW51bGx9LFcwLl9fYz1mdW5jdGlvbihKLFope1ouc29tZShmdW5jdGlvbihxKXt0cnl7cS5fX2guc29tZShFNikscS5fX2g9cS5fX2guZmlsdGVyKGZ1bmN0aW9uKFEpe3JldHVybiFRLl9ffHxUOChRKX0pfWNhdGNoKFEpe1ouc29tZShmdW5jdGlvbihYKXtYLl9faCYmKFguX19oPVtdKX0pLFo9W10sVzAuX19lKFEscS5fX3YpfX0pLFQ1JiZUNShKLFopfSxXMC51bm1vdW50PWZ1bmN0aW9uKEope2o1JiZqNShKKTt2YXIgWixxPUouX19jO3EmJnEuX19IJiYocS5fX0guX18uc29tZShmdW5jdGlvbihRKXt0cnl7RTYoUSl9Y2F0Y2goWCl7Wj1YfX0pLHEuX19IPXZvaWQgMCxaJiZXMC5fX2UoWixxLl9fdikpfTt2YXIgQTU9dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIjtmdW5jdGlvbiB3WihKKXt2YXIgWixxPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KFEpLEE1JiZjYW5jZWxBbmltYXRpb25GcmFtZShaKSxzZXRUaW1lb3V0KEopfSxRPXNldFRpbWVvdXQocSwzNSk7QTUmJihaPXJlcXVlc3RBbmltYXRpb25GcmFtZShxKSl9ZnVuY3Rpb24gRTYoSil7dmFyIFo9WTAscT1KLl9fYzt0eXBlb2YgcT09ImZ1bmN0aW9uIiYmKEouX19jPXZvaWQgMCxxKCkpLFkwPVp9ZnVuY3Rpb24gVDgoSil7dmFyIFo9WTA7Si5fX2M9Si5fXygpLFkwPVp9ZnVuY3Rpb24gajgoSixaKXtyZXR1cm4hSnx8Si5sZW5ndGghPT1aLmxlbmd0aHx8Wi5zb21lKGZ1bmN0aW9uKHEsUSl7cmV0dXJuIHEhPT1KW1FdfSl9ZnVuY3Rpb24gUDUoSixaKXtyZXR1cm4gdHlwZW9mIFo9PSJmdW5jdGlvbiI/WihKKTpafWZ1bmN0aW9uIHlaKEosWil7Zm9yKHZhciBxIGluIFopSltxXT1aW3FdO3JldHVybiBKfWZ1bmN0aW9uIEU1KEosWil7Zm9yKHZhciBxIGluIEopaWYocSE9PSJfX3NvdXJjZSImJiEocSBpbiBaKSlyZXR1cm4hMDtmb3IodmFyIFEgaW4gWilpZihRIT09Il9fc291cmNlIiYmSltRXSE9PVpbUV0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gXzUoSixaKXt0aGlzLnByb3BzPUosdGhpcy5jb250ZXh0PVp9KF81LnByb3RvdHlwZT1uZXcgTDApLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLF81LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oSixaKXtyZXR1cm4gRTUodGhpcy5wcm9wcyxKKXx8RTUodGhpcy5zdGF0ZSxaKX07dmFyIE01PWcuX19iO2cuX19iPWZ1bmN0aW9uKEope0oudHlwZSYmSi50eXBlLl9fZiYmSi5yZWYmJihKLnByb3BzLnJlZj1KLnJlZixKLnJlZj1udWxsKSxNNSYmTTUoSil9O3ZhciBDWj1nLl9fZTtnLl9fZT1mdW5jdGlvbihKLFoscSxRKXtpZihKLnRoZW4pe2Zvcih2YXIgWCxZPVo7WT1ZLl9fOylpZigoWD1ZLl9fYykmJlguX19jKXJldHVybiBaLl9fZT09bnVsbCYmKFouX19lPXEuX19lLFouX19rPXEuX19rKSxYLl9fYyhKLFopfUNaKEosWixxLFEpfTt2YXIgdzU9Zy51bm1vdW50O2Z1bmN0aW9uIGg1KEosWixxKXtyZXR1cm4gSiYmKEouX19jJiZKLl9fYy5fX0gmJihKLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihRKXt0eXBlb2YgUS5fX2M9PSJmdW5jdGlvbiImJlEuX19jKCl9KSxKLl9fYy5fX0g9bnVsbCksKEo9eVooe30sSikpLl9fYyE9bnVsbCYmKEouX19jLl9fUD09PXEmJihKLl9fYy5fX1A9WiksSi5fX2MuX19lPSEwLEouX19jPW51bGwpLEouX19rPUouX19rJiZKLl9fay5tYXAoZnVuY3Rpb24oUSl7cmV0dXJuIGg1KFEsWixxKX0pKSxKfWZ1bmN0aW9uIGc1KEosWixxKXtyZXR1cm4gSiYmcSYmKEouX192PW51bGwsSi5fX2s9Si5fX2smJkouX19rLm1hcChmdW5jdGlvbihRKXtyZXR1cm4gZzUoUSxaLHEpfSksSi5fX2MmJkouX19jLl9fUD09PVomJihKLl9fZSYmcS5hcHBlbmRDaGlsZChKLl9fZSksSi5fX2MuX19lPSEwLEouX19jLl9fUD1xKSksSn1mdW5jdGlvbiBrOCgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiB2NShKKXt2YXIgWj1KLl9fJiZKLl9fLl9fYztyZXR1cm4gWiYmWi5fX2EmJlouX19hKEopfWZ1bmN0aW9uIF82KCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9Zy51bm1vdW50PWZ1bmN0aW9uKEope3ZhciBaPUouX19jO1omJihaLl9fej0hMCksWiYmWi5fX1ImJlouX19SKCksWiYmMzImSi5fX3UmJihKLnR5cGU9bnVsbCksdzUmJnc1KEopfSwoazgucHJvdG90eXBlPW5ldyBMMCkuX19jPWZ1bmN0aW9uKEosWil7dmFyIHE9Wi5fX2MsUT10aGlzO1Eubz09bnVsbCYmKFEubz1bXSksUS5vLnB1c2gocSk7dmFyIFg9djUoUS5fX3YpLFk9ITEsJD1mdW5jdGlvbigpe1l8fFEuX196fHwoWT0hMCxxLl9fUj1udWxsLFg/WChCKTpCKCkpfTtxLl9fUj0kO3ZhciBLPXEuX19QO3EuX19QPW51bGw7dmFyIEI9ZnVuY3Rpb24oKXtpZighLS1RLl9fdSl7aWYoUS5zdGF0ZS5fX2Epe3ZhciBHPVEuc3RhdGUuX19hO1EuX192Ll9fa1swXT1nNShHLEcuX19jLl9fUCxHLl9fYy5fX08pfXZhciBIO2ZvcihRLnNldFN0YXRlKHtfX2E6US5fX2I9bnVsbH0pO0g9US5vLnBvcCgpOylILl9fUD1LLEguZm9yY2VVcGRhdGUoKX19O1EuX191Kyt8fDMyJlouX191fHxRLnNldFN0YXRlKHtfX2E6US5fX2I9US5fX3YuX19rWzBdfSksSi50aGVuKCQsJCl9LGs4LnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMubz1bXX0sazgucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihKLFope2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciBxPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFE9dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09aDUodGhpcy5fX2IscSxRLl9fTz1RLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgWD1aLl9fYSYmUTAoSjAsbnVsbCxKLmZhbGxiYWNrKTtyZXR1cm4gWCYmKFguX191Jj0tMzMpLFtRMChKMCxudWxsLFouX19hP251bGw6Si5jaGlsZHJlbiksWF19O3ZhciB5NT1mdW5jdGlvbihKLFoscSl7aWYoKytxWzFdPT09cVswXSYmSi5sLmRlbGV0ZShaKSxKLnByb3BzLnJldmVhbE9yZGVyJiYoSi5wcm9wcy5yZXZlYWxPcmRlclswXSE9PSJ0Inx8IUoubC5zaXplKSlmb3IocT1KLmk7cTspe2Zvcig7cS5sZW5ndGg+MzspcS5wb3AoKSgpO2lmKHFbMV08cVswXSlicmVhaztKLmk9cT1xWzJdfX07KF82LnByb3RvdHlwZT1uZXcgTDApLl9fYT1mdW5jdGlvbihKKXt2YXIgWj10aGlzLHE9djUoWi5fX3YpLFE9Wi5sLmdldChKKTtyZXR1cm4gUVswXSsrLGZ1bmN0aW9uKFgpe3ZhciBZPWZ1bmN0aW9uKCl7Wi5wcm9wcy5yZXZlYWxPcmRlcj8oUS5wdXNoKFgpLHk1KFosSixRKSk6WCgpfTtxP3EoWSk6WSgpfX0sXzYucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihKKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgWj1fMChKLmNoaWxkcmVuKTtKLnJldmVhbE9yZGVyJiZKLnJldmVhbE9yZGVyWzBdPT09ImIiJiZaLnJldmVyc2UoKTtmb3IodmFyIHE9Wi5sZW5ndGg7cS0tOyl0aGlzLmwuc2V0KFpbcV0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuIEouY2hpbGRyZW59LF82LnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9XzYucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIEo9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihaLHEpe3k1KEoscSxaKX0pfTt2YXIgU1o9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsYlo9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLFJaPS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8saFo9L1tBLVowLTldL2csZ1o9dHlwZW9mIGRvY3VtZW50PCJ1Iix2Wj1mdW5jdGlvbihKKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoSil9O2Z1bmN0aW9uIHg1KEosWixxKXtyZXR1cm4gWi5fX2s9PW51bGwmJihaLnRleHRDb250ZW50PSIiKSxaMShKLFopLHR5cGVvZiBxPT0iZnVuY3Rpb24iJiZxKCksSj9KLl9fYzpudWxsfUwwLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PSEwLFsiY29tcG9uZW50V2lsbE1vdW50IiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsImNvbXBvbmVudFdpbGxVcGRhdGUiXS5mb3JFYWNoKGZ1bmN0aW9uKEope09iamVjdC5kZWZpbmVQcm9wZXJ0eShMMC5wcm90b3R5cGUsSix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitKXX0sc2V0OmZ1bmN0aW9uKFope09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLEose2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpafSl9fSl9KTt2YXIgQzU9Zy5ldmVudDtnLmV2ZW50PWZ1bmN0aW9uKEope3JldHVybiBDNSYmKEo9QzUoSikpLEoucGVyc2lzdD1mdW5jdGlvbigpe30sSi5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX0sSi5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0UHJldmVudGVkfSxKLm5hdGl2ZUV2ZW50PUp9O3ZhciBmNSx4Wj17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0sUzU9Zy52bm9kZTtnLnZub2RlPWZ1bmN0aW9uKEope3R5cGVvZiBKLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihaKXt2YXJ7cHJvcHM6cSx0eXBlOlF9PVosWD17fSxZPVEuaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyICQgaW4gcSl7dmFyIEs9cVskXTtpZighKCQ9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBxKSYmSz09bnVsbHx8Z1omJiQ9PT0iY2hpbGRyZW4iJiZRPT09Im5vc2NyaXB0Inx8JD09PSJjbGFzcyJ8fCQ9PT0iY2xhc3NOYW1lIikpe3ZhciBCPSQudG9Mb3dlckNhc2UoKTskPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBxJiZxLnZhbHVlPT1udWxsPyQ9InZhbHVlIjokPT09ImRvd25sb2FkIiYmSz09PSEwP0s9IiI6Qj09PSJ0cmFuc2xhdGUiJiZLPT09Im5vIj9LPSExOkJbMF09PT0ibyImJkJbMV09PT0ibiI/Qj09PSJvbmRvdWJsZWNsaWNrIj8kPSJvbmRibGNsaWNrIjpCIT09Im9uY2hhbmdlInx8USE9PSJpbnB1dCImJlEhPT0idGV4dGFyZWEifHx2WihxLnR5cGUpP0I9PT0ib25mb2N1cyI/JD0ib25mb2N1c2luIjpCPT09Im9uYmx1ciI/JD0ib25mb2N1c291dCI6UloudGVzdCgkKSYmKCQ9Qik6Qj0kPSJvbmlucHV0IjpZJiZiWi50ZXN0KCQpPyQ9JC5yZXBsYWNlKGhaLCItJCYiKS50b0xvd2VyQ2FzZSgpOks9PT1udWxsJiYoSz12b2lkIDApLEI9PT0ib25pbnB1dCImJlhbJD1CXSYmKCQ9Im9uaW5wdXRDYXB0dXJlIiksWFskXT1LfX1RPT0ic2VsZWN0IiYmKFgubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoWC52YWx1ZSkmJihYLnZhbHVlPV8wKHEuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oRyl7Ry5wcm9wcy5zZWxlY3RlZD1YLnZhbHVlLmluZGV4T2YoRy5wcm9wcy52YWx1ZSkhPS0xfSkpLFguZGVmYXVsdFZhbHVlIT1udWxsJiYoWC52YWx1ZT1fMChxLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKEcpe0cucHJvcHMuc2VsZWN0ZWQ9WC5tdWx0aXBsZT9YLmRlZmF1bHRWYWx1ZS5pbmRleE9mKEcucHJvcHMudmFsdWUpIT0tMTpYLmRlZmF1bHRWYWx1ZT09Ry5wcm9wcy52YWx1ZX0pKSkscS5jbGFzcyYmIXEuY2xhc3NOYW1lPyhYLmNsYXNzPXEuY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KFgsImNsYXNzTmFtZSIseFopKTpxLmNsYXNzTmFtZSYmKFguY2xhc3M9WC5jbGFzc05hbWU9cS5jbGFzc05hbWUpLFoucHJvcHM9WH0oSiksSi4kJHR5cGVvZj1TWixTNSYmUzUoSil9O3ZhciBiNT1nLl9fcjtnLl9fcj1mdW5jdGlvbihKKXtiNSYmYjUoSiksZjU9Si5fX2N9O3ZhciBSNT1nLmRpZmZlZDtnLmRpZmZlZD1mdW5jdGlvbihKKXtSNSYmUjUoSik7dmFye3Byb3BzOlosX19lOnF9PUo7cSE9bnVsbCYmSi50eXBlPT09InRleHRhcmVhIiYmInZhbHVlImluIFomJloudmFsdWUhPT1xLnZhbHVlJiYocS52YWx1ZT1aLnZhbHVlPT1udWxsPyIiOloudmFsdWUpLGY1PW51bGx9O2Z1bmN0aW9uIG01KEope3JldHVybiEhSi5fX2smJihaMShudWxsLEopLCEwKX1mdW5jdGlvbiBwNShKKXtyZXR1cm57cmVuZGVyOmZ1bmN0aW9uKFope3g1KFosSil9LHVubW91bnQ6ZnVuY3Rpb24oKXttNShKKX19fXZhciBuPXt9O1o1KG4se3ZlcnNpb246KCk9PnJaLHVzZVRyYW5zaXRpb246KCk9Pk04LHVzZVN5bmNFeHRlcm5hbFN0b3JlOigpPT5QOCx1c2VTdGF0ZTooKT0+Xyx1c2VSZWY6KCk9PkUsdXNlUmVkdWNlcjooKT0+UTEsdXNlTWVtbzooKT0+SDAsdXNlTGF5b3V0RWZmZWN0OigpPT5NMCx1c2VJbnNlcnRpb25FZmZlY3Q6KCk9Pnc4LHVzZUltcGVyYXRpdmVIYW5kbGU6KCk9PnIxLHVzZUlkOigpPT5uMSx1c2VFcnJvckJvdW5kYXJ5OigpPT5fWix1c2VFZmZlY3Q6KCk9PnksdXNlRGVmZXJyZWRWYWx1ZTooKT0+XzgsdXNlRGVidWdWYWx1ZTooKT0+bzEsdXNlQ29udGV4dDooKT0+azAsdXNlQ2FsbGJhY2s6KCk9PlMsdW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM6KCk9Pkg3LHVubW91bnRDb21wb25lbnRBdE5vZGU6KCk9Pkc3LHN0YXJ0VHJhbnNpdGlvbjooKT0+RTgscmVuZGVyOigpPT5YNyxtZW1vOigpPT5uNSxsYXp5OigpPT5aNyxpc1ZhbGlkRWxlbWVudDooKT0+czAsaXNNZW1vOigpPT5XNyxpc0ZyYWdtZW50OigpPT56Nyxpc0VsZW1lbnQ6KCk9PlY3LGh5ZHJhdGU6KCk9Plk3LGZvcndhcmRSZWY6KCk9PlIsZmx1c2hTeW5jOigpPT53MSxmaW5kRE9NTm9kZTooKT0+QjcsZGVmYXVsdDooKT0+ZzAsY3JlYXRlUmVmOigpPT5FMSxjcmVhdGVQb3J0YWw6KCk9PnE3LGNyZWF0ZUZhY3Rvcnk6KCk9Pks3LGNyZWF0ZUVsZW1lbnQ6KCk9PlEwLGNyZWF0ZUNvbnRleHQ6KCk9PmowLGNsb25lRWxlbWVudDooKT0+WDEsX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ6KCk9PiQ3LFN1c3BlbnNlTGlzdDooKT0+TTEsU3VzcGVuc2U6KCk9PnQxLFN0cmljdE1vZGU6KCk9PkowLFB1cmVDb21wb25lbnQ6KCk9Pk02LEZyYWdtZW50OigpPT5KMCxDb21wb25lbnQ6KCk9PkwwLENoaWxkcmVuOigpPT5oMH0pO2Z1bmN0aW9uIG81KEosWil7Zm9yKHZhciBxIGluIFopSltxXT1aW3FdO3JldHVybiBKfWZ1bmN0aW9uIEk4KEosWil7Zm9yKHZhciBxIGluIEopaWYocSE9PSJfX3NvdXJjZSImJiEocSBpbiBaKSlyZXR1cm4hMDtmb3IodmFyIFEgaW4gWilpZihRIT09Il9fc291cmNlIiYmSltRXSE9PVpbUV0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gUDgoSixaKXt2YXIgcT1aKCksUT1fKHt0OntfXzpxLHU6Wn19KSxYPVFbMF0udCxZPVFbMV07cmV0dXJuIE0wKGZ1bmN0aW9uKCl7WC5fXz1xLFgudT1aLEE4KFgpJiZZKHt0Olh9KX0sW0oscSxaXSkseShmdW5jdGlvbigpe3JldHVybiBBOChYKSYmWSh7dDpYfSksSihmdW5jdGlvbigpe0E4KFgpJiZZKHt0Olh9KX0pfSxbSl0pLHF9ZnVuY3Rpb24gQTgoSil7dHJ5e3JldHVybiEoKFo9Si5fXyk9PT0ocT1KLnUoKSkmJihaIT09MHx8MS9aPT0xL3EpfHxaIT1aJiZxIT1xKX1jYXRjaChRKXtyZXR1cm4hMH12YXIgWixxfWZ1bmN0aW9uIEU4KEope0ooKX1mdW5jdGlvbiBfOChKKXtyZXR1cm4gSn1mdW5jdGlvbiBNOCgpe3JldHVyblshMSxFOF19dmFyIHc4PU0wO2Z1bmN0aW9uIE02KEosWil7dGhpcy5wcm9wcz1KLHRoaXMuY29udGV4dD1afWZ1bmN0aW9uIG41KEosWil7ZnVuY3Rpb24gcShYKXt2YXIgWT10aGlzLnByb3BzLnJlZjtyZXR1cm4gWSE9WC5yZWYmJlkmJih0eXBlb2YgWT09ImZ1bmN0aW9uIj9ZKG51bGwpOlkuY3VycmVudD1udWxsKSxaPyFaKHRoaXMucHJvcHMsWCl8fFkhPVgucmVmOkk4KHRoaXMucHJvcHMsWCl9ZnVuY3Rpb24gUShYKXtyZXR1cm4gdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9cSxRMChKLFgpfXJldHVybiBRLmRpc3BsYXlOYW1lPSJNZW1vKCIrKEouZGlzcGxheU5hbWV8fEoubmFtZSkrIikiLFEuX19mPVEucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsUS50eXBlPUosUX0oTTYucHJvdG90eXBlPW5ldyBMMCkuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAsTTYucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbihKLFope3JldHVybiBJOCh0aGlzLnByb3BzLEopfHxJOCh0aGlzLnN0YXRlLFopfTt2YXIgdTU9Zy5fX2I7Zy5fX2I9ZnVuY3Rpb24oSil7Si50eXBlJiZKLnR5cGUuX19mJiZKLnJlZiYmKEoucHJvcHMucmVmPUoucmVmLEoucmVmPW51bGwpLHU1JiZ1NShKKX07dmFyIGZaPXR5cGVvZiBTeW1ib2w8InUiJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpfHwzOTExO2Z1bmN0aW9uIFIoSil7ZnVuY3Rpb24gWihxKXt2YXIgUT1vNSh7fSxxKTtyZXR1cm4gZGVsZXRlIFEucmVmLEooUSxxLnJlZnx8bnVsbCl9cmV0dXJuIFouJCR0eXBlb2Y9ZlosWi5yZW5kZXI9SixaLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PVouX19mPSEwLFouZGlzcGxheU5hbWU9IkZvcndhcmRSZWYoIisoSi5kaXNwbGF5TmFtZXx8Si5uYW1lKSsiKSIsWn12YXIgZDU9ZnVuY3Rpb24oSixaKXtyZXR1cm4gSj09bnVsbD9udWxsOl8wKF8wKEopLm1hcChaKSl9LGgwPXttYXA6ZDUsZm9yRWFjaDpkNSxjb3VudDpmdW5jdGlvbihKKXtyZXR1cm4gSj9fMChKKS5sZW5ndGg6MH0sb25seTpmdW5jdGlvbihKKXt2YXIgWj1fMChKKTtpZihaLmxlbmd0aCE9PTEpdGhyb3ciQ2hpbGRyZW4ub25seSI7cmV0dXJuIFpbMF19LHRvQXJyYXk6XzB9LG1aPWcuX19lO2cuX19lPWZ1bmN0aW9uKEosWixxLFEpe2lmKEoudGhlbil7Zm9yKHZhciBYLFk9WjtZPVkuX187KWlmKChYPVkuX19jKSYmWC5fX2MpcmV0dXJuIFouX19lPT1udWxsJiYoWi5fX2U9cS5fX2UsWi5fX2s9cS5fX2spLFguX19jKEosWil9bVooSixaLHEsUSl9O3ZhciBjNT1nLnVubW91bnQ7ZnVuY3Rpb24gdDUoSixaLHEpe3JldHVybiBKJiYoSi5fX2MmJkouX19jLl9fSCYmKEouX19jLl9fSC5fXy5mb3JFYWNoKGZ1bmN0aW9uKFEpe3R5cGVvZiBRLl9fYz09ImZ1bmN0aW9uIiYmUS5fX2MoKX0pLEouX19jLl9fSD1udWxsKSwoSj1vNSh7fSxKKSkuX19jIT1udWxsJiYoSi5fX2MuX19QPT09cSYmKEouX19jLl9fUD1aKSxKLl9fYy5fX2U9ITAsSi5fX2M9bnVsbCksSi5fX2s9Si5fX2smJkouX19rLm1hcChmdW5jdGlvbihRKXtyZXR1cm4gdDUoUSxaLHEpfSkpLEp9ZnVuY3Rpb24gZTUoSixaLHEpe3JldHVybiBKJiZxJiYoSi5fX3Y9bnVsbCxKLl9faz1KLl9fayYmSi5fX2subWFwKGZ1bmN0aW9uKFEpe3JldHVybiBlNShRLFoscSl9KSxKLl9fYyYmSi5fX2MuX19QPT09WiYmKEouX19lJiZxLmFwcGVuZENoaWxkKEouX19lKSxKLl9fYy5fX2U9ITAsSi5fX2MuX19QPXEpKSxKfWZ1bmN0aW9uIHQxKCl7dGhpcy5fX3U9MCx0aGlzLm89bnVsbCx0aGlzLl9fYj1udWxsfWZ1bmN0aW9uIEo3KEope3ZhciBaPUouX18mJkouX18uX19jO3JldHVybiBaJiZaLl9fYSYmWi5fX2EoSil9ZnVuY3Rpb24gWjcoSil7dmFyIFoscSxRLFg9bnVsbDtmdW5jdGlvbiBZKCQpe2lmKFp8fChaPUooKSkudGhlbihmdW5jdGlvbihLKXtLJiYoWD1LLmRlZmF1bHR8fEspLFE9ITB9LGZ1bmN0aW9uKEspe3E9SyxRPSEwfSkscSl0aHJvdyBxO2lmKCFRKXRocm93IFo7cmV0dXJuIFg/UTAoWCwkKTpudWxsfXJldHVybiBZLmRpc3BsYXlOYW1lPSJMYXp5IixZLl9fZj0hMCxZfWZ1bmN0aW9uIE0xKCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9Zy51bm1vdW50PWZ1bmN0aW9uKEope3ZhciBaPUouX19jO1omJihaLl9fej0hMCksWiYmWi5fX1ImJlouX19SKCksWiYmMzImSi5fX3UmJihKLnR5cGU9bnVsbCksYzUmJmM1KEopfSwodDEucHJvdG90eXBlPW5ldyBMMCkuX19jPWZ1bmN0aW9uKEosWil7dmFyIHE9Wi5fX2MsUT10aGlzO1Eubz09bnVsbCYmKFEubz1bXSksUS5vLnB1c2gocSk7dmFyIFg9SjcoUS5fX3YpLFk9ITEsJD1mdW5jdGlvbigpe1l8fFEuX196fHwoWT0hMCxxLl9fUj1udWxsLFg/WChCKTpCKCkpfTtxLl9fUj0kO3ZhciBLPXEuX19QO3EuX19QPW51bGw7dmFyIEI9ZnVuY3Rpb24oKXtpZighLS1RLl9fdSl7aWYoUS5zdGF0ZS5fX2Epe3ZhciBHPVEuc3RhdGUuX19hO1EuX192Ll9fa1swXT1lNShHLEcuX19jLl9fUCxHLl9fYy5fX08pfXZhciBIO2ZvcihRLnNldFN0YXRlKHtfX2E6US5fX2I9bnVsbH0pO0g9US5vLnBvcCgpOylILl9fUD1LLEguZm9yY2VVcGRhdGUoKX19O1EuX191Kyt8fDMyJlouX191fHxRLnNldFN0YXRlKHtfX2E6US5fX2I9US5fX3YuX19rWzBdfSksSi50aGVuKCQsJCl9LHQxLnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMubz1bXX0sdDEucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihKLFope2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciBxPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFE9dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09dDUodGhpcy5fX2IscSxRLl9fTz1RLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgWD1aLl9fYSYmUTAoSjAsbnVsbCxKLmZhbGxiYWNrKTtyZXR1cm4gWCYmKFguX191Jj0tMzMpLFtRMChKMCxudWxsLFouX19hP251bGw6Si5jaGlsZHJlbiksWF19O3ZhciBsNT1mdW5jdGlvbihKLFoscSl7aWYoKytxWzFdPT09cVswXSYmSi5sLmRlbGV0ZShaKSxKLnByb3BzLnJldmVhbE9yZGVyJiYoSi5wcm9wcy5yZXZlYWxPcmRlclswXSE9PSJ0Inx8IUoubC5zaXplKSlmb3IocT1KLmk7cTspe2Zvcig7cS5sZW5ndGg+MzspcS5wb3AoKSgpO2lmKHFbMV08cVswXSlicmVhaztKLmk9cT1xWzJdfX07ZnVuY3Rpb24gcFooSil7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIEouY29udGV4dH0sSi5jaGlsZHJlbn1mdW5jdGlvbiB1WihKKXt2YXIgWj10aGlzLHE9Si5oO2lmKFouY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXtaMShudWxsLFoudiksWi52PW51bGwsWi5oPW51bGx9LFouaCYmWi5oIT09cSYmWi5jb21wb25lbnRXaWxsVW5tb3VudCgpLCFaLnYpe2Zvcih2YXIgUT1aLl9fdjtRIT09bnVsbCYmIVEuX19tJiZRLl9fIT09bnVsbDspUT1RLl9fO1ouaD1xLFoudj17bm9kZVR5cGU6MSxwYXJlbnROb2RlOnEsY2hpbGROb2RlczpbXSxfX2s6e19fbTpRLl9fbX0sY29udGFpbnM6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sbmFtZXNwYWNlVVJJOnEubmFtZXNwYWNlVVJJLGluc2VydEJlZm9yZTpmdW5jdGlvbihYLFkpe3RoaXMuY2hpbGROb2Rlcy5wdXNoKFgpLFouaC5pbnNlcnRCZWZvcmUoWCxZKX0scmVtb3ZlQ2hpbGQ6ZnVuY3Rpb24oWCl7dGhpcy5jaGlsZE5vZGVzLnNwbGljZSh0aGlzLmNoaWxkTm9kZXMuaW5kZXhPZihYKT4+PjEsMSksWi5oLnJlbW92ZUNoaWxkKFgpfX19WjEoUTAocFose2NvbnRleHQ6Wi5jb250ZXh0fSxKLl9fdiksWi52KX1mdW5jdGlvbiBxNyhKLFope3ZhciBxPVEwKHVaLHtfX3Y6SixoOlp9KTtyZXR1cm4gcS5jb250YWluZXJJbmZvPVoscX0oTTEucHJvdG90eXBlPW5ldyBMMCkuX19hPWZ1bmN0aW9uKEope3ZhciBaPXRoaXMscT1KNyhaLl9fdiksUT1aLmwuZ2V0KEopO3JldHVybiBRWzBdKyssZnVuY3Rpb24oWCl7dmFyIFk9ZnVuY3Rpb24oKXtaLnByb3BzLnJldmVhbE9yZGVyPyhRLnB1c2goWCksbDUoWixKLFEpKTpYKCl9O3E/cShZKTpZKCl9fSxNMS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKEope3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciBaPV8wKEouY2hpbGRyZW4pO0oucmV2ZWFsT3JkZXImJkoucmV2ZWFsT3JkZXJbMF09PT0iYiImJloucmV2ZXJzZSgpO2Zvcih2YXIgcT1aLmxlbmd0aDtxLS07KXRoaXMubC5zZXQoWltxXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gSi5jaGlsZHJlbn0sTTEucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1NMS5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgSj10aGlzO3RoaXMubC5mb3JFYWNoKGZ1bmN0aW9uKFoscSl7bDUoSixxLFopfSl9O3ZhciBRNz10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpfHw2MDEwMyxkWj0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sY1o9L15vbihBbml8VHJhfFRvdXxCZWZvcmVJbnB8Q29tcG8pLyxsWj0vW0EtWjAtOV0vZyxpWj10eXBlb2YgZG9jdW1lbnQ8InUiLHNaPWZ1bmN0aW9uKEope3JldHVybih0eXBlb2YgU3ltYm9sPCJ1IiYmdHlwZW9mIFN5bWJvbCgpPT0ic3ltYm9sIj8vZmlsfGNoZXxyYWQvOi9maWx8Y2hlfHJhLykudGVzdChKKX07ZnVuY3Rpb24gWDcoSixaLHEpe3JldHVybiBaLl9faz09bnVsbCYmKFoudGV4dENvbnRlbnQ9IiIpLFoxKEosWiksdHlwZW9mIHE9PSJmdW5jdGlvbiImJnEoKSxKP0ouX19jOm51bGx9ZnVuY3Rpb24gWTcoSixaLHEpe3JldHVybiBQNihKLFopLHR5cGVvZiBxPT0iZnVuY3Rpb24iJiZxKCksSj9KLl9fYzpudWxsfUwwLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PSEwLFsiY29tcG9uZW50V2lsbE1vdW50IiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsImNvbXBvbmVudFdpbGxVcGRhdGUiXS5mb3JFYWNoKGZ1bmN0aW9uKEope09iamVjdC5kZWZpbmVQcm9wZXJ0eShMMC5wcm90b3R5cGUsSix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitKXX0sc2V0OmZ1bmN0aW9uKFope09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLEose2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpafSl9fSl9KTt2YXIgaTU9Zy5ldmVudDtnLmV2ZW50PWZ1bmN0aW9uKEope3JldHVybiBpNSYmKEo9aTUoSikpLEoucGVyc2lzdD1mdW5jdGlvbigpe30sSi5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX0sSi5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0UHJldmVudGVkfSxKLm5hdGl2ZUV2ZW50PUp9O3ZhciB5OCxhWj17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0sczU9Zy52bm9kZTtnLnZub2RlPWZ1bmN0aW9uKEope3R5cGVvZiBKLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihaKXt2YXJ7cHJvcHM6cSx0eXBlOlF9PVosWD17fSxZPVEuaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyICQgaW4gcSl7dmFyIEs9cVskXTtpZighKCQ9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBxKSYmSz09bnVsbHx8aVomJiQ9PT0iY2hpbGRyZW4iJiZRPT09Im5vc2NyaXB0Inx8JD09PSJjbGFzcyJ8fCQ9PT0iY2xhc3NOYW1lIikpe3ZhciBCPSQudG9Mb3dlckNhc2UoKTskPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBxJiZxLnZhbHVlPT1udWxsPyQ9InZhbHVlIjokPT09ImRvd25sb2FkIiYmSz09PSEwP0s9IiI6Qj09PSJ0cmFuc2xhdGUiJiZLPT09Im5vIj9LPSExOkJbMF09PT0ibyImJkJbMV09PT0ibiI/Qj09PSJvbmRvdWJsZWNsaWNrIj8kPSJvbmRibGNsaWNrIjpCIT09Im9uY2hhbmdlInx8USE9PSJpbnB1dCImJlEhPT0idGV4dGFyZWEifHxzWihxLnR5cGUpP0I9PT0ib25mb2N1cyI/JD0ib25mb2N1c2luIjpCPT09Im9uYmx1ciI/JD0ib25mb2N1c291dCI6Y1oudGVzdCgkKSYmKCQ9Qik6Qj0kPSJvbmlucHV0IjpZJiZkWi50ZXN0KCQpPyQ9JC5yZXBsYWNlKGxaLCItJCYiKS50b0xvd2VyQ2FzZSgpOks9PT1udWxsJiYoSz12b2lkIDApLEI9PT0ib25pbnB1dCImJlhbJD1CXSYmKCQ9Im9uaW5wdXRDYXB0dXJlIiksWFskXT1LfX1RPT0ic2VsZWN0IiYmKFgubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoWC52YWx1ZSkmJihYLnZhbHVlPV8wKHEuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oRyl7Ry5wcm9wcy5zZWxlY3RlZD1YLnZhbHVlLmluZGV4T2YoRy5wcm9wcy52YWx1ZSkhPS0xfSkpLFguZGVmYXVsdFZhbHVlIT1udWxsJiYoWC52YWx1ZT1fMChxLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKEcpe0cucHJvcHMuc2VsZWN0ZWQ9WC5tdWx0aXBsZT9YLmRlZmF1bHRWYWx1ZS5pbmRleE9mKEcucHJvcHMudmFsdWUpIT0tMTpYLmRlZmF1bHRWYWx1ZT09Ry5wcm9wcy52YWx1ZX0pKSkscS5jbGFzcyYmIXEuY2xhc3NOYW1lPyhYLmNsYXNzPXEuY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KFgsImNsYXNzTmFtZSIsYVopKTpxLmNsYXNzTmFtZSYmKFguY2xhc3M9WC5jbGFzc05hbWU9cS5jbGFzc05hbWUpLFoucHJvcHM9WH0oSiksSi4kJHR5cGVvZj1RNyxzNSYmczUoSil9O3ZhciBhNT1nLl9fcjtnLl9fcj1mdW5jdGlvbihKKXthNSYmYTUoSikseTg9Si5fX2N9O3ZhciByNT1nLmRpZmZlZDtnLmRpZmZlZD1mdW5jdGlvbihKKXtyNSYmcjUoSik7dmFye3Byb3BzOlosX19lOnF9PUo7cSE9bnVsbCYmSi50eXBlPT09InRleHRhcmVhIiYmInZhbHVlImluIFomJloudmFsdWUhPT1xLnZhbHVlJiYocS52YWx1ZT1aLnZhbHVlPT1udWxsPyIiOloudmFsdWUpLHk4PW51bGx9O3ZhciAkNz17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjp7Y3VycmVudDp7cmVhZENvbnRleHQ6ZnVuY3Rpb24oSil7cmV0dXJuIHk4Ll9fbltKLl9fY10ucHJvcHMudmFsdWV9LHVzZUNhbGxiYWNrOlMsdXNlQ29udGV4dDprMCx1c2VEZWJ1Z1ZhbHVlOm8xLHVzZURlZmVycmVkVmFsdWU6XzgsdXNlRWZmZWN0OnksdXNlSWQ6bjEsdXNlSW1wZXJhdGl2ZUhhbmRsZTpyMSx1c2VJbnNlcnRpb25FZmZlY3Q6dzgsdXNlTGF5b3V0RWZmZWN0Ok0wLHVzZU1lbW86SDAsdXNlUmVkdWNlcjpRMSx1c2VSZWY6RSx1c2VTdGF0ZTpfLHVzZVN5bmNFeHRlcm5hbFN0b3JlOlA4LHVzZVRyYW5zaXRpb246TTh9fX0sclo9IjE4LjMuMSI7ZnVuY3Rpb24gSzcoSil7cmV0dXJuIFEwLmJpbmQobnVsbCxKKX1mdW5jdGlvbiBzMChKKXtyZXR1cm4hIUomJkouJCR0eXBlb2Y9PT1RN31mdW5jdGlvbiB6NyhKKXtyZXR1cm4gczAoSikmJkoudHlwZT09PUowfWZ1bmN0aW9uIFc3KEope3JldHVybiEhSiYmdHlwZW9mIEouZGlzcGxheU5hbWU9PSJzdHJpbmciJiZKLmRpc3BsYXlOYW1lLmluZGV4T2YoIk1lbW8oIik9PTB9ZnVuY3Rpb24gWDEoSil7cmV0dXJuIHMwKEopP084LmFwcGx5KG51bGwsYXJndW1lbnRzKTpKfWZ1bmN0aW9uIEc3KEope3JldHVybiEhSi5fX2smJihaMShudWxsLEopLCEwKX1mdW5jdGlvbiBCNyhKKXtyZXR1cm4gSiYmKEouYmFzZXx8Si5ub2RlVHlwZT09PTEmJkopfHxudWxsfXZhciBINz1mdW5jdGlvbihKLFope3JldHVybiBKKFopfSx3MT1mdW5jdGlvbihKLFope3ZhciBxPWcuZGVib3VuY2VSZW5kZXJpbmc7Zy5kZWJvdW5jZVJlbmRlcmluZz1mdW5jdGlvbihYKXtyZXR1cm4gWCgpfTt2YXIgUT1KKFopO3JldHVybiBnLmRlYm91bmNlUmVuZGVyaW5nPXEsUX0sVjc9czAsZzA9e3VzZVN0YXRlOl8sdXNlSWQ6bjEsdXNlUmVkdWNlcjpRMSx1c2VFZmZlY3Q6eSx1c2VMYXlvdXRFZmZlY3Q6TTAsdXNlSW5zZXJ0aW9uRWZmZWN0Onc4LHVzZVRyYW5zaXRpb246TTgsdXNlRGVmZXJyZWRWYWx1ZTpfOCx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpQOCxzdGFydFRyYW5zaXRpb246RTgsdXNlUmVmOkUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpyMSx1c2VNZW1vOkgwLHVzZUNhbGxiYWNrOlMsdXNlQ29udGV4dDprMCx1c2VEZWJ1Z1ZhbHVlOm8xLHZlcnNpb246IjE4LjMuMSIsQ2hpbGRyZW46aDAscmVuZGVyOlg3LGh5ZHJhdGU6WTcsdW5tb3VudENvbXBvbmVudEF0Tm9kZTpHNyxjcmVhdGVQb3J0YWw6cTcsY3JlYXRlRWxlbWVudDpRMCxjcmVhdGVDb250ZXh0OmowLGNyZWF0ZUZhY3Rvcnk6SzcsY2xvbmVFbGVtZW50OlgxLGNyZWF0ZVJlZjpFMSxGcmFnbWVudDpKMCxpc1ZhbGlkRWxlbWVudDpzMCxpc0VsZW1lbnQ6VjcsaXNGcmFnbWVudDp6Nyxpc01lbW86VzcsZmluZERPTU5vZGU6QjcsQ29tcG9uZW50OkwwLFB1cmVDb21wb25lbnQ6TTYsbWVtbzpuNSxmb3J3YXJkUmVmOlIsZmx1c2hTeW5jOncxLHVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzOkg3LFN0cmljdE1vZGU6SjAsU3VzcGVuc2U6dDEsU3VzcGVuc2VMaXN0Ok0xLGxhenk6WjcsX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ6JDd9O3ZhciBvWj0wO2Z1bmN0aW9uIFcoSixaLHEsUSxYLFkpe1p8fChaPXt9KTt2YXIgJCxLLEI9WjtpZigicmVmImluIEIpZm9yKEsgaW4gQj17fSxaKUs9PSJyZWYiPyQ9WltLXTpCW0tdPVpbS107dmFyIEc9e3R5cGU6Sixwcm9wczpCLGtleTpxLHJlZjokLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjotLW9aLF9faTotMSxfX3U6MCxfX3NvdXJjZTpYLF9fc2VsZjpZfTtpZih0eXBlb2YgSj09ImZ1bmN0aW9uIiYmKCQ9Si5kZWZhdWx0UHJvcHMpKWZvcihLIGluICQpQltLXT09PXZvaWQgMCYmKEJbS109JFtLXSk7cmV0dXJuIGcudm5vZGUmJmcudm5vZGUoRyksR312YXIgQzg9YHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzknIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsMC40NSknIHN0cm9rZT0ncmdiYSgwLDAsMCwwLjU1KScgc3Ryb2tlLXdpZHRoPScxLjI1JyBmaWx0ZXI9J2Ryb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuNDUpKScvJTNFJTNDL3N2ZyUzRSIpIDEyIDEyLCBwb2ludGVyYCxuWj0zLHRaPTQsZVo9NTtmdW5jdGlvbiB3Nih7dXJsOkosd3NVcmw6WixzdHlsZTpxLGltYWdlU3R5bGU6USxjbGFzc05hbWU6WCxvbkhvbWVQcmVzczpZLG9uU3RyZWFtVG91Y2g6JCxvblN0cmVhbU11bHRpVG91Y2g6SyxvblN0cmVhbUJ1dHRvbjpCLHN1YnNjcmliZUZyYW1lOkcsc3RyZWFtRnJhbWU6SCxzdHJlYW1Db25maWc6eixoaWRlQ29udHJvbHM6VSxvblN0cmVhbWluZ0NoYW5nZTpWLGNvbm5lY3Rpb25RdWFsaXR5OkZ9KXtsZXQgTD0hISQsRD1FKG51bGwpLE89RShudWxsKSxOPUUobnVsbCksW0Esal09XyghMSksW3csYl09XyhudWxsKSxbUCx2XT1fKG51bGwpLGM9RShudWxsKSxbZixvXT1fKG51bGwpO3koKCk9PntsZXQgTT1jLmN1cnJlbnQ7aWYoIU18fHR5cGVvZiBSZXNpemVPYnNlcnZlcj4idSIpcmV0dXJuO2xldCBDPW5ldyBSZXNpemVPYnNlcnZlcigoSSk9PntsZXQgaD1JWzBdPy5jb250ZW50UmVjdDtpZihoKW8oe3dpZHRoOmgud2lkdGgsaGVpZ2h0OmguaGVpZ2h0fSl9KTtyZXR1cm4gQy5vYnNlcnZlKE0pLCgpPT5DLmRpc2Nvbm5lY3QoKX0sW10pO2xldFtaMCx0XT1fKDApLGE9RSgwKSxbayx4XT1fKCExKSxzPUUobnVsbCk7eSgoKT0+e2lmKEY9PT0icG9vciIpe2lmKHgoITApLHMuY3VycmVudCljbGVhclRpbWVvdXQocy5jdXJyZW50KTtzLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e3goITEpLHMuY3VycmVudD1udWxsfSwzMDAwKX1lbHNlIGlmKHgoITEpLHMuY3VycmVudCljbGVhclRpbWVvdXQocy5jdXJyZW50KSxzLmN1cnJlbnQ9bnVsbDtyZXR1cm4oKT0+e2lmKHMuY3VycmVudCljbGVhclRpbWVvdXQocy5jdXJyZW50KX19LFtGXSk7bGV0IHA9YCR7Sn0vc3RyZWFtLm1qcGVnYCxUPUUoVik7VC5jdXJyZW50PVYseSgoKT0+e1QuY3VycmVudD8uKEEpfSxbQV0pLHkoKCk9PntpZihMJiZ6KXYoeil9LFtMLHpdKTtsZXQgZD1FKCExKTtkLmN1cnJlbnQ9QTtsZXQgcj1FKG51bGwpO3koKCk9PntpZighTHx8IUcpcmV0dXJuO2xldCBDPXNldFRpbWVvdXQoKCk9PntpZighZC5jdXJyZW50KWIoIlN0cmVhbSBpcyBub3QgcHJvZHVjaW5nIGZyYW1lcy4gVGhlIHNpbXVsYXRvciBtYXkgaGF2ZSBzdG9wcGVkIOKAlCB0cnkgcmVjb25uZWN0aW5nLiIpfSw2MDAwKSxJPUcoKGgpPT57YS5jdXJyZW50KyssTzAuY3VycmVudD1EYXRlLm5vdygpO2xldCB1PU8uY3VycmVudDtpZih1KXtpZihyLmN1cnJlbnQpVVJMLnJldm9rZU9iamVjdFVSTChyLmN1cnJlbnQpO3IuY3VycmVudD1oLHUuc3JjPWh9aWYoIWQuY3VycmVudCljbGVhclRpbWVvdXQoQyksaighMCksYihudWxsKX0pO3JldHVybigpPT57Y2xlYXJUaW1lb3V0KEMpLEk/LigpfX0sW0wsR10pO2xldCBsPVMoKE0pPT57aWYoTCl7JD8uKE0pO3JldHVybn1sZXQgQz1OLmN1cnJlbnQ7aWYoIUN8fEMucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoTSkpLGg9bmV3IFVpbnQ4QXJyYXkoMStJLmxlbmd0aCk7aFswXT1uWixoLnNldChJLDEpLEMuc2VuZChoKX0sW0wsJF0pLEswPVMoKE0pPT57aWYoTCl7Qj8uKE0pO3JldHVybn1sZXQgQz1OLmN1cnJlbnQ7aWYoIUN8fEMucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoe2J1dHRvbjpNfSkpLGg9bmV3IFVpbnQ4QXJyYXkoMStJLmxlbmd0aCk7aFswXT10WixoLnNldChJLDEpLEMuc2VuZChoKX0sW0wsQl0pLEIwPVMoKE0pPT57aWYoTCl7Sz8uKE0pO3JldHVybn1sZXQgQz1OLmN1cnJlbnQ7aWYoIUN8fEMucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoTSkpLGg9bmV3IFVpbnQ4QXJyYXkoMStJLmxlbmd0aCk7aFswXT1lWixoLnNldChJLDEpLEMuc2VuZChoKX0sW0wsS10pO3koKCk9PntpZihMKXJldHVybjtmZXRjaChgJHtKfS9jb25maWdgKS50aGVuKChGMCk9PkYwLmpzb24oKSkudGhlbigoRjApPT57aWYoRjAud2lkdGg+MCYmRjAuaGVpZ2h0PjApdihGMCl9KS5jYXRjaCgoKT0+e30pO2xldCBNPVo/P0oucmVwbGFjZSgvXmh0dHAvLCJ3cyIpKyIvd3MiLEM9bmV3IFdlYlNvY2tldChNKTtDLmJpbmFyeVR5cGU9ImFycmF5YnVmZmVyIixOLmN1cnJlbnQ9QyxDLm9ub3Blbj0oKT0+e2ooITApLGIobnVsbCl9LEMub25jbG9zZT0oKT0+e2ooITEpfSxDLm9uZXJyb3I9KCk9PntiKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBmYWlsZWQiKSxqKCExKX07bGV0IEk9bmV3IEFib3J0Q29udHJvbGxlcixoPXNldEludGVydmFsKCgpPT57dChhLmN1cnJlbnQpLGEuY3VycmVudD0wfSwxMDAwKSx1PSExLFgwPXNldFRpbWVvdXQoKCk9PntpZighdSliKCJTdHJlYW0gaXMgbm90IHByb2R1Y2luZyBmcmFtZXMuIFRoZSBzaW11bGF0b3IgbWF5IGhhdmUgc3RvcHBlZCDigJQgdHJ5IHJlY29ubmVjdGluZy4iKX0sNjAwMCk7cmV0dXJuKGFzeW5jKCk9Pnt0cnl7bGV0IEUwPShhd2FpdCBmZXRjaChwLHtzaWduYWw6SS5zaWduYWx9KSkuYm9keT8uZ2V0UmVhZGVyKCk7aWYoIUUwKXJldHVybjtsZXQgcDA9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKCItLWZyYW1lIik7d2hpbGUoITApe2xldHtkb25lOkZaLHZhbHVlOks4fT1hd2FpdCBFMC5yZWFkKCk7aWYoRlopYnJlYWs7aWYoSzgpZm9yKGxldCB6OD0wO3o4PD1LOC5sZW5ndGgtcDAubGVuZ3RoO3o4Kyspe2xldCBKNT0hMDtmb3IobGV0IE42PTA7TjY8cDAubGVuZ3RoO042KyspaWYoSzhbejgrTjZdIT09cDBbTjZdKXtKNT0hMTticmVha31pZihKNSl7aWYoYS5jdXJyZW50KyssIXUpdT0hMCxjbGVhclRpbWVvdXQoWDApfX19fWNhdGNoe319KSgpLCgpPT57SS5hYm9ydCgpLGNsZWFySW50ZXJ2YWwoaCksY2xlYXJUaW1lb3V0KFgwKSxDLmNsb3NlKCksTi5jdXJyZW50PW51bGx9fSxbSixwLExdKTtsZXQgTzA9RSgwKTt5KCgpPT57aWYoIUwpcmV0dXJuO2xldCBNPTIwMDAsQz0oKT0+e2xldCB1PU8wLmN1cnJlbnQ7aWYoIXV8fCFkLmN1cnJlbnQpcmV0dXJuO2lmKERhdGUubm93KCktdT5NKWooITEpfSxJPXNldEludGVydmFsKCgpPT57dChhLmN1cnJlbnQpLGEuY3VycmVudD0wLEMoKX0sMTAwMCksaD0oKT0+e2lmKCFkb2N1bWVudC5oaWRkZW4pQygpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsaCksKCk9PntjbGVhckludGVydmFsKEkpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGgpfX0sW0xdKTtsZXQgcTA9UygoKT0+e3JldHVybiBMP08uY3VycmVudDpELmN1cnJlbnR9LFtMXSksZT1TKChNLEMpPT57bGV0IEk9cTAoKTtpZighSSlyZXR1cm47bGV0IGg9SS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PShDLmNsaWVudFgtaC5sZWZ0KS9oLndpZHRoLFgwPShDLmNsaWVudFktaC50b3ApL2guaGVpZ2h0O2woe3R5cGU6TSx4OnUseTpYMH0pfSxbbF0pLHowPTMsVjA9RSghMSksRDA9RSghMSksSjE9RSghMSksbDA9RSh7ZHg6MCxkeTowfSksUDA9RSghMSksW3UxLHI5XT1fKCExKSxvOT1FKHt4OjAuNSx5OjAuNX0pLFtLMSxSMF09XyhudWxsKTt5KCgpPT57bGV0IE09KEkpPT57aWYoSS5rZXk9PT0iQWx0IilyOSghMCl9LEM9KEkpPT57aWYoSS5rZXk9PT0iQWx0Iil7aWYocjkoITEpLCFEMC5jdXJyZW50KVIwKG51bGwpfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixNKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLEMpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLE0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsQyl9fSxbXSkseSgoKT0+e2lmKHUxJiYhRDAuY3VycmVudCl7bGV0IE09bzkuY3VycmVudDtSMCh7eDE6TS54LHkxOk0ueSx4MjoxLU0ueCx5MjoxLU0ueX0pfWVsc2UgaWYoIXUxJiYhRDAuY3VycmVudClSMChudWxsKX0sW3UxXSk7bGV0IEY2PUUobnVsbCksJDg9RSghMSksZDE9RSgwKSxuOT1TKChNLEMpPT57JDguY3VycmVudD0hMDtsZXQgST1GNi5jdXJyZW50O2lmKEkpY2FuY2VsQW5pbWF0aW9uRnJhbWUoZDEuY3VycmVudCksZDEuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntJLnN0eWxlLmxlZnQ9YCR7TSoxMDB9JWAsSS5zdHlsZS50b3A9YCR7QyoxMDB9JWAsSS5zdHlsZS5kaXNwbGF5PSJibG9jayJ9KX0sW10pLHQ5PVMoKE0sQyk9PntpZighJDguY3VycmVudClyZXR1cm47bGV0IEk9RjYuY3VycmVudDtpZihJKWNhbmNlbEFuaW1hdGlvbkZyYW1lKGQxLmN1cnJlbnQpLGQxLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57SS5zdHlsZS5sZWZ0PWAke00qMTAwfSVgLEkuc3R5bGUudG9wPWAke0MqMTAwfSVgfSl9LFtdKSxENj1TKCgpPT57JDguY3VycmVudD0hMTtsZXQgTT1GNi5jdXJyZW50O2lmKE0pY2FuY2VsQW5pbWF0aW9uRnJhbWUoZDEuY3VycmVudCksTS5zdHlsZS5kaXNwbGF5PSJub25lIn0sW10pLGU5PUUoMCksYzE9RShudWxsKSxVWj1TKCgpPT57bGV0IE09RGF0ZS5ub3coKSxDPU0tZTkuY3VycmVudDtpZihlOS5jdXJyZW50PU0sQzwzMDApe2lmKGMxLmN1cnJlbnQpY2xlYXJUaW1lb3V0KGMxLmN1cnJlbnQpLGMxLmN1cnJlbnQ9bnVsbDtpZihZKVkoKTtlbHNlIEswKCJhcHBfc3dpdGNoZXIiKX1lbHNlIGMxLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e2lmKFkpWSgpO2Vsc2UgSzAoImhvbWUiKTtjMS5jdXJyZW50PW51bGx9LDMwMCl9LFtLMCxZXSksTzY9KCgpPT57aWYoIVB8fCFmKXJldHVybiBudWxsO2lmKGYud2lkdGg9PT0wfHxmLmhlaWdodD09PTApcmV0dXJuIG51bGw7bGV0IE09TWF0aC5taW4oZi53aWR0aC9QLndpZHRoLGYuaGVpZ2h0L1AuaGVpZ2h0KTtyZXR1cm57d2lkdGg6UC53aWR0aCpNLGhlaWdodDpQLmhlaWdodCpNfX0pKCk7cmV0dXJuIFcoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGZsZXg6MSwuLi5VP3t9Ontib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIn0sb3ZlcmZsb3c6ImhpZGRlbiIsbWluV2lkdGg6MCxtaW5IZWlnaHQ6MCwuLi5xfSxjbGFzc05hbWU6WCxjaGlsZHJlbjpbVygiZGl2Iix7cmVmOmMsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsZmxleDoxLG1pbkhlaWdodDowLG1pbldpZHRoOjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIn0sY2hpbGRyZW46VygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsd2lkdGg6TzY/YCR7TzYud2lkdGh9cHhgOiIxMDAlIixoZWlnaHQ6TzY/YCR7TzYuaGVpZ2h0fXB4YDoiMTAwJSJ9LGNoaWxkcmVuOltXKCJpbWciLHtyZWY6RCxzcmM6TD92b2lkIDA6cCxkcmFnZ2FibGU6ITEsb25Mb2FkOihNKT0+e2xldCBDPU0uY3VycmVudFRhcmdldDtpZihDLm5hdHVyYWxXaWR0aD4wJiZDLm5hdHVyYWxIZWlnaHQ+MCl2KChJKT0+SSYmSS53aWR0aD09PUMubmF0dXJhbFdpZHRoJiZJLmhlaWdodD09PUMubmF0dXJhbEhlaWdodD9JOnt3aWR0aDpDLm5hdHVyYWxXaWR0aCxoZWlnaHQ6Qy5uYXR1cmFsSGVpZ2h0fSl9LHN0eWxlOkw/e2Rpc3BsYXk6Im5vbmUifTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGN1cnNvcjpDOCxkaXNwbGF5OiJibG9jayIsdXNlclNlbGVjdDoibm9uZSIsV2Via2l0VXNlclNlbGVjdDoibm9uZSIsdG91Y2hBY3Rpb246Im5vbmUiLC4uLlF9fSksTCYmVygiaW1nIix7cmVmOk8sZHJhZ2dhYmxlOiExLG9uTG9hZDooTSk9PntsZXQgQz1NLmN1cnJlbnRUYXJnZXQ7aWYoQy5uYXR1cmFsV2lkdGg+MCYmQy5uYXR1cmFsSGVpZ2h0PjApdigoSSk9PkkmJkkud2lkdGg9PT1DLm5hdHVyYWxXaWR0aCYmSS5oZWlnaHQ9PT1DLm5hdHVyYWxIZWlnaHQ/STp7d2lkdGg6Qy5uYXR1cmFsV2lkdGgsaGVpZ2h0OkMubmF0dXJhbEhlaWdodH0pfSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGN1cnNvcjpDOCxkaXNwbGF5OiJibG9jayIsdXNlclNlbGVjdDoibm9uZSIsV2Via2l0VXNlclNlbGVjdDoibm9uZSIsdG91Y2hBY3Rpb246Im5vbmUiLC4uLlF9fSksVygiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxjdXJzb3I6QzgsdG91Y2hBY3Rpb246Im5vbmUifSxvbk1vdXNlRG93bjooTSk9PntNLnByZXZlbnREZWZhdWx0KCk7bGV0IEM9cTAoKTtpZighQylyZXR1cm47bGV0IEk9Qy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxoPShNLmNsaWVudFgtSS5sZWZ0KS9JLndpZHRoLHU9KE0uY2xpZW50WS1JLnRvcCkvSS5oZWlnaHQ7aWYoTS5hbHRLZXkpe0QwLmN1cnJlbnQ9ITAsSjEuY3VycmVudD1NLnNoaWZ0S2V5O2xldCBYMD17eDE6aCx5MTp1LHgyOjEtaCx5MjoxLXV9O2wwLmN1cnJlbnQ9e2R4OjEtaC1oLGR5OjEtdS11fSxSMChYMCksQjAoe3R5cGU6ImJlZ2luIiwuLi5YMH0pO3JldHVybn1pZihuOShoLHUpLHU+MC44OClWMC5jdXJyZW50PSEwLGwoe3R5cGU6ImJlZ2luIix4OmgseTp1LGVkZ2U6ejB9KTtlbHNlIFYwLmN1cnJlbnQ9ITEsZSgiYmVnaW4iLE0pfSxvbk1vdXNlTW92ZTooTSk9PntsZXQgQz1xMCgpO2lmKCFDKXJldHVybjtsZXQgST1DLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGg9KE0uY2xpZW50WC1JLmxlZnQpL0kud2lkdGgsdT0oTS5jbGllbnRZLUkudG9wKS9JLmhlaWdodDtpZihvOS5jdXJyZW50PXt4OmgseTp1fSxNLmJ1dHRvbnM9PT0wKXtpZihNLmFsdEtleSlSMCh7eDE6aCx5MTp1LHgyOjEtaCx5MjoxLXV9KTtyZXR1cm59aWYoRDAuY3VycmVudCl7bGV0IFgwO2lmKEoxLmN1cnJlbnQpe2xldCBGMD1sMC5jdXJyZW50O1gwPXt4MTpoLHkxOnUseDI6aCtGMC5keCx5Mjp1K0YwLmR5fX1lbHNlIFgwPXt4MTpoLHkxOnUseDI6MS1oLHkyOjEtdX07UjAoWDApLEIwKHt0eXBlOiJtb3ZlIiwuLi5YMH0pO3JldHVybn1pZih0OShoLHUpLFYwLmN1cnJlbnQpbCh7dHlwZToibW92ZSIseDpoLHk6dSxlZGdlOnowfSk7ZWxzZSBlKCJtb3ZlIixNKX0sb25Nb3VzZVVwOihNKT0+e2lmKEQwLmN1cnJlbnQpe2xldCBDPXEwKCk7aWYoQyl7bGV0IEk9Qy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxoPShNLmNsaWVudFgtSS5sZWZ0KS9JLndpZHRoLHU9KE0uY2xpZW50WS1JLnRvcCkvSS5oZWlnaHQ7aWYoSjEuY3VycmVudCl7bGV0IFgwPWwwLmN1cnJlbnQ7QjAoe3R5cGU6ImVuZCIseDE6aCx5MTp1LHgyOmgrWDAuZHgseTI6dStYMC5keX0pfWVsc2UgQjAoe3R5cGU6ImVuZCIseDE6aCx5MTp1LHgyOjEtaCx5MjoxLXV9KX1pZihEMC5jdXJyZW50PSExLCFNLmFsdEtleSlSMChudWxsKTtyZXR1cm59aWYoRDYoKSxWMC5jdXJyZW50KXtsZXQgQz1xMCgpO2lmKEMpe2xldCBJPUMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaD0oTS5jbGllbnRYLUkubGVmdCkvSS53aWR0aCx1PShNLmNsaWVudFktSS50b3ApL0kuaGVpZ2h0O2woe3R5cGU6ImVuZCIseDpoLHk6dSxlZGdlOnowfSl9VjAuY3VycmVudD0hMTtyZXR1cm59ZSgiZW5kIixNKX0sb25Nb3VzZUxlYXZlOihNKT0+e2lmKEQwLmN1cnJlbnQpe2lmKEsxKUIwKHt0eXBlOiJlbmQiLC4uLksxfSk7RDAuY3VycmVudD0hMSxSMChudWxsKTtyZXR1cm59aWYoRDYoKSxWMC5jdXJyZW50KXtsZXQgQz1xMCgpO2lmKEMpe2xldCBJPUMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaD0oTS5jbGllbnRYLUkubGVmdCkvSS53aWR0aCx1PShNLmNsaWVudFktSS50b3ApL0kuaGVpZ2h0O2woe3R5cGU6ImVuZCIseDpoLHk6dSxlZGdlOnowfSl9VjAuY3VycmVudD0hMTtyZXR1cm59aWYoTS5idXR0b25zPjApZSgiZW5kIixNKTtSMChudWxsKX0sb25Ub3VjaFN0YXJ0OihNKT0+e00ucHJldmVudERlZmF1bHQoKTtsZXQgQz1xMCgpO2lmKCFDKXJldHVybjtsZXQgST1DLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKE0udG91Y2hlcy5sZW5ndGg+PTIpe0Q2KCk7bGV0IEYwPU0udG91Y2hlc1swXSxFMD1NLnRvdWNoZXNbMV0scDA9e3gxOihGMC5jbGllbnRYLUkubGVmdCkvSS53aWR0aCx5MTooRjAuY2xpZW50WS1JLnRvcCkvSS5oZWlnaHQseDI6KEUwLmNsaWVudFgtSS5sZWZ0KS9JLndpZHRoLHkyOihFMC5jbGllbnRZLUkudG9wKS9JLmhlaWdodH07aWYoIVAwLmN1cnJlbnQmJiFWMC5jdXJyZW50KWwoe3R5cGU6ImVuZCIseDpwMC54MSx5OnAwLnkxfSk7UDAuY3VycmVudD0hMCxEMC5jdXJyZW50PSEwLFYwLmN1cnJlbnQ9ITEsUjAocDApLEIwKHt0eXBlOiJiZWdpbiIsLi4ucDB9KTtyZXR1cm59bGV0IGg9TS50b3VjaGVzWzBdO2lmKCFoKXJldHVybjtsZXQgdT0oaC5jbGllbnRYLUkubGVmdCkvSS53aWR0aCxYMD0oaC5jbGllbnRZLUkudG9wKS9JLmhlaWdodDtpZihuOSh1LFgwKSxYMD4wLjg4KVYwLmN1cnJlbnQ9ITAsbCh7dHlwZToiYmVnaW4iLHg6dSx5OlgwLGVkZ2U6ejB9KTtlbHNlIFYwLmN1cnJlbnQ9ITEsbCh7dHlwZToiYmVnaW4iLHg6dSx5OlgwfSl9LG9uVG91Y2hNb3ZlOihNKT0+e00ucHJldmVudERlZmF1bHQoKTtsZXQgQz1xMCgpO2lmKCFDKXJldHVybjtsZXQgST1DLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKFAwLmN1cnJlbnQmJk0udG91Y2hlcy5sZW5ndGg+PTIpe2xldCBGMD1NLnRvdWNoZXNbMF0sRTA9TS50b3VjaGVzWzFdLHAwPXt4MTooRjAuY2xpZW50WC1JLmxlZnQpL0kud2lkdGgseTE6KEYwLmNsaWVudFktSS50b3ApL0kuaGVpZ2h0LHgyOihFMC5jbGllbnRYLUkubGVmdCkvSS53aWR0aCx5MjooRTAuY2xpZW50WS1JLnRvcCkvSS5oZWlnaHR9O1IwKHAwKSxCMCh7dHlwZToibW92ZSIsLi4ucDB9KTtyZXR1cm59bGV0IGg9TS50b3VjaGVzWzBdO2lmKCFoKXJldHVybjtsZXQgdT0oaC5jbGllbnRYLUkubGVmdCkvSS53aWR0aCxYMD0oaC5jbGllbnRZLUkudG9wKS9JLmhlaWdodDtpZih0OSh1LFgwKSxWMC5jdXJyZW50KWwoe3R5cGU6Im1vdmUiLHg6dSx5OlgwLGVkZ2U6ejB9KTtlbHNlIGwoe3R5cGU6Im1vdmUiLHg6dSx5OlgwfSl9LG9uVG91Y2hFbmQ6KE0pPT57TS5wcmV2ZW50RGVmYXVsdCgpO2xldCBDPXEwKCk7aWYoIUMpcmV0dXJuO2xldCBJPUMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoUDAuY3VycmVudCl7aWYoTS50b3VjaGVzLmxlbmd0aDwyKXtsZXQgRjA9TS5jaGFuZ2VkVG91Y2hlc1swXSxFMD1LMTtpZihGMCYmRTApQjAoe3R5cGU6ImVuZCIseDE6KEYwLmNsaWVudFgtSS5sZWZ0KS9JLndpZHRoLHkxOihGMC5jbGllbnRZLUkudG9wKS9JLmhlaWdodCx4MjpFMC54Mix5MjpFMC55Mn0pO2Vsc2UgaWYoRTApQjAoe3R5cGU6ImVuZCIsLi4uRTB9KTtQMC5jdXJyZW50PSExLEQwLmN1cnJlbnQ9ITEsUjAobnVsbCl9cmV0dXJufWxldCBoPU0uY2hhbmdlZFRvdWNoZXNbMF07aWYoIWgpcmV0dXJuO2xldCB1PShoLmNsaWVudFgtSS5sZWZ0KS9JLndpZHRoLFgwPShoLmNsaWVudFktSS50b3ApL0kuaGVpZ2h0O2lmKEQ2KCksVjAuY3VycmVudClsKHt0eXBlOiJlbmQiLHg6dSx5OlgwLGVkZ2U6ejB9KSxWMC5jdXJyZW50PSExO2Vsc2UgbCh7dHlwZToiZW5kIix4OnUseTpYMH0pfX0pLFcoImRpdiIse3JlZjpGNiwiZGF0YS10ZXN0aWQiOiJ0b3VjaC1pbmRpY2F0b3IiLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGRpc3BsYXk6Im5vbmUiLHdpZHRoOjI0LGhlaWdodDoyNCxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDoicmdiYSg1OSwxMzAsMjQ2LDAuNSkiLGJveFNoYWRvdzoiMCAwIDhweCByZ2JhKDU5LDEzMCwyNDYsMC4zKSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiLHBvaW50ZXJFdmVudHM6Im5vbmUifX0pLEsxJiZXKEowLHtjaGlsZHJlbjpbVygiZGl2Iix7ImRhdGEtdGVzdGlkIjoiZmluZ2VyLWRvdCIsc3R5bGU6RjcoSzEueDEsSzEueTEpfSksVygiZGl2Iix7ImRhdGEtdGVzdGlkIjoiZmluZ2VyLWRvdCIsc3R5bGU6RjcoSzEueDIsSzEueTIpfSldfSksIUEmJiF3JiZXKCJkaXYiLHtzdHlsZTp7Li4uTDcsLi4uUXx8e319LGNoaWxkcmVuOlcoInNwYW4iLHtzdHlsZTp7Y29sb3I6IiM4ODgiLGZvbnRTaXplOjE0fSxjaGlsZHJlbjoiQ29ubmVjdGluZy4uLiJ9KX0pLHcmJlcoImRpdiIse3N0eWxlOkw3LGNoaWxkcmVuOlcoInNwYW4iLHtzdHlsZTp7Y29sb3I6IiNmNDQiLGZvbnRTaXplOjE0LHBhZGRpbmc6MjAsdGV4dEFsaWduOiJjZW50ZXIifSxjaGlsZHJlbjp3fSl9KSxrJiZXKCJkaXYiLHtzdHlsZTpKcSxjaGlsZHJlbjpXKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjZmJiZjI0Iixmb250U2l6ZToxMyxmb250RmFtaWx5OiJtb25vc3BhY2UifSxjaGlsZHJlbjoiU2xvdyBjb25uZWN0aW9uIn0pfSldfSl9KSwhVSYmVygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLHBhZGRpbmc6IjRweCA4cHgiLGJvcmRlclRvcDoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikifSxjaGlsZHJlbjpbVygiYnV0dG9uIix7b25DbGljazpVWixzdHlsZTp7YmFja2dyb3VuZDoibm9uZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpIixjb2xvcjoiI2FhYSIsZm9udFNpemU6MTEsZm9udEZhbWlseToibW9ub3NwYWNlIixwYWRkaW5nOiIycHggMTBweCIsY3Vyc29yOiJwb2ludGVyIixib3JkZXJSYWRpdXM6NH0sY2hpbGRyZW46IkhvbWUifSksVygic3BhbiIse3N0eWxlOntjb2xvcjpaMD4wPyIjNGY0IjoiIzg4OCIsZm9udFNpemU6MTIsZm9udEZhbWlseToibW9ub3NwYWNlIixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2fSxjaGlsZHJlbjpbRiYmVygic3BhbiIseyJkYXRhLXRlc3RpZCI6InF1YWxpdHktZG90IixzdHlsZTp7d2lkdGg6OCxoZWlnaHQ6OCxib3JkZXJSYWRpdXM6IjUwJSIsZGlzcGxheToiaW5saW5lLWJsb2NrIixiYWNrZ3JvdW5kOkY9PT0iZ29vZCI/IiM0YWRlODAiOkY9PT0iZGVncmFkZWQiPyIjZmFjYzE1IjoiI2VmNDQ0NCJ9fSksWjAsIiBmcHMiXX0pXX0pXX0pfXZhciBKcT17cG9zaXRpb246ImFic29sdXRlIix0b3A6OCxsZWZ0OiI1MCUiLHRyYW5zZm9ybToidHJhbnNsYXRlWCgtNTAlKSIsYmFja2dyb3VuZDoicmdiYSgwLDAsMCwwLjcpIixib3JkZXJSYWRpdXM6NixwYWRkaW5nOiI0cHggMTJweCIscG9pbnRlckV2ZW50czoibm9uZSJ9LEw3PXtwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuOCkifSxVNz0yMDtmdW5jdGlvbiBGNyhKLFope3JldHVybntwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6YCR7SioxMDB9JWAsdG9wOmAke1oqMTAwfSVgLHdpZHRoOlU3LGhlaWdodDpVNyxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwwLjQ1KSIsYm9yZGVyOiIxLjI1cHggc29saWQgcmdiYSgwLDAsMCwwLjU1KSIsYm94U2hhZG93OiIwIDFweCAzcHggcmdiYSgwLDAsMCwwLjQ1KSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiLHBvaW50ZXJFdmVudHM6Im5vbmUifX1mdW5jdGlvbiB5MShKKXtpZighSilyZXR1cm4iaXBob25lIjtsZXQgWj1KLnRvTG93ZXJDYXNlKCk7aWYoWi5pbmNsdWRlcygiaXBhZCIpKXJldHVybiJpcGFkIjtpZihaLmluY2x1ZGVzKCJ3YXRjaCIpKXJldHVybiJ3YXRjaCI7aWYoWi5pbmNsdWRlcygidmlzaW9uIikpcmV0dXJuInZpc2lvbiI7cmV0dXJuImlwaG9uZSJ9dmFyIGEwPXtpcGhvbmU6e3dpZHRoOjQyNyxoZWlnaHQ6ODgxLGJlemVsWDoxOCxiZXplbFk6MTgsaW5uZXJSYWRpdXM6NTV9LGlwYWQ6e3dpZHRoOjQzMCxoZWlnaHQ6NjA1LGJlemVsWDoxNixiZXplbFk6MTYsaW5uZXJSYWRpdXM6MTJ9LHdhdGNoOnt3aWR0aDoyNzQsaGVpZ2h0OjMyMixiZXplbFg6MTIsYmV6ZWxZOjEyLGlubmVyUmFkaXVzOjc5fSx2aXNpb246e3dpZHRoOjY0MCxoZWlnaHQ6NDAwLGJlemVsWDoxMixiZXplbFk6MTIsaW5uZXJSYWRpdXM6MzJ9fSxfWT1hMC5pcGhvbmUud2lkdGgsTVk9YTAuaXBob25lLmhlaWdodCx3WT1hMC5pcGhvbmUuYmV6ZWxYLHlZPWEwLmlwaG9uZS5iZXplbFksQ1k9YTAuaXBob25lLmlubmVyUmFkaXVzO2Z1bmN0aW9uIHk2KEo9ImlwaG9uZSIpe2xldCBaPWEwW0pdLHE9Wi53aWR0aC0yKlouYmV6ZWxYLFE9Wi5oZWlnaHQtMipaLmJlemVsWTtyZXR1cm5gJHtaLmlubmVyUmFkaXVzL3EqMTAwfSUgLyAke1ouaW5uZXJSYWRpdXMvUSoxMDB9JWB9dmFyIFM4PWowKG51bGwpO2Z1bmN0aW9uIEM2KEope2xldCBaPWswKFM4KTtpZighWil0aHJvdyBFcnJvcihgPFNpbXVsYXRvclRvb2xiYXIuJHtKfT4gbXVzdCBiZSByZW5kZXJlZCBpbnNpZGUgPFNpbXVsYXRvclRvb2xiYXI+YCk7cmV0dXJuIFp9dmFyIFlxPXtkaXNwbGF5OiJmbGV4IixmbGV4V3JhcDoid3JhcCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsZ2FwOiI0cHggMTJweCIscGFkZGluZzoiOHB4IDEycHgiLGJvcmRlclJhZGl1czoyNCxiYWNrZ3JvdW5kOiIjMWMxYzFlIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSkiLGJveFNoYWRvdzoiMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yKSIsbWluV2lkdGg6MjQwLHdpZHRoOiIxMDAlIn07ZnVuY3Rpb24gJHEoe2V4ZWM6SixkZXZpY2VVZGlkOlosZGV2aWNlTmFtZTpxLGRldmljZVJ1bnRpbWU6USxzdHJlYW1pbmc6WD0hMSxkaXNhYmxlZDpZPSExLGNoaWxkcmVuOiQsc3R5bGU6SywuLi5CfSl7bGV0IEc9eTEocSksej17ZXhlYzpKLGRldmljZVVkaWQ6WixkZXZpY2VOYW1lOnEsZGV2aWNlUnVudGltZTpRLGRldmljZVR5cGU6RyxzdHJlYW1pbmc6WCxkaXNhYmxlZDpZfHwhWnx8IVh9O3JldHVybiBXKFM4LlByb3ZpZGVyLHt2YWx1ZTp6LGNoaWxkcmVuOlcoImRpdiIseyJkYXRhLXNpbXVsYXRvci10b29sYmFyIjohMCxzdHlsZTp7Li4uWXEsLi4uS30sLi4uQixjaGlsZHJlbjokfSl9KX12YXIgS3E9e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiZmxleC1zdGFydCIsdGV4dEFsaWduOiJsZWZ0IixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoiI2ZmZiIscGFkZGluZzoiMnB4IDRweCIsbWFyZ2luOiItMnB4IC00cHgiLGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsbWluV2lkdGg6MCxtYXhXaWR0aDoiMTAwJSIsbGluZUhlaWdodDoxLjIsZm9udEZhbWlseToiaW5oZXJpdCJ9LHpxPVIoZnVuY3Rpb24oe25hbWU6WixzdWJ0aXRsZTpxLGhpZGVDaGV2cm9uOlEsc3R5bGU6WCxvbk1vdXNlRW50ZXI6WSxvbk1vdXNlTGVhdmU6JCwuLi5LfSxCKXtsZXQgRz1DNigiVGl0bGUiKSxbSCx6XT1fKCExKSxVPVo/P0cuZGV2aWNlTmFtZT8/Ik5vIHNpbXVsYXRvciIsVj1xPz8oRy5kZXZpY2VSdW50aW1lP0cuZGV2aWNlUnVudGltZS5yZXBsYWNlKC9cLi8sIiAiKToi4oCUIik7cmV0dXJuIFcoImJ1dHRvbiIse3JlZjpCLHR5cGU6ImJ1dHRvbiIsImRhdGEtc2ltdWxhdG9yLXRvb2xiYXItdGl0bGUiOiEwLG9uTW91c2VFbnRlcjooRik9Pnt6KCEwKSxZPy4oRil9LG9uTW91c2VMZWF2ZTooRik9Pnt6KCExKSwkPy4oRil9LHN0eWxlOnsuLi5LcSxiYWNrZ3JvdW5kOkg/InJnYmEoMjU1LDI1NSwyNTUsMC4xKSI6InRyYW5zcGFyZW50IiwuLi5YfSwuLi5LLGNoaWxkcmVuOltXKCJzcGFuIix7c3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZvbnRTaXplOjEyLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOiIjZmZmIixtYXhXaWR0aDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0sY2hpbGRyZW46W1UsIVEmJlcoInN2ZyIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxMCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3R5bGU6e2NvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNikiLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46VygicG9seWxpbmUiLHtwb2ludHM6IjYgOSAxMiAxNSAxOCA5In0pfSldfSksVygic3BhbiIse3N0eWxlOntmb250U2l6ZToxMCxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjUpIixtYXhXaWR0aDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0sY2hpbGRyZW46Vn0pXX0pfSksV3E9e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjQsZmxleFNocmluazowfTtmdW5jdGlvbiBHcSh7c3R5bGU6SiwuLi5afSl7cmV0dXJuIFcoImRpdiIse3N0eWxlOnsuLi5XcSwuLi5KfSwuLi5afSl9dmFyIEJxPXtiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixwYWRkaW5nOjYsYm9yZGVyUmFkaXVzOjYsY3Vyc29yOiJwb2ludGVyIixkaXNwbGF5OiJpbmxpbmUtZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjgpIix0cmFuc2l0aW9uOiJiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBjb2xvciAwLjE1cyJ9LFM2PVIoZnVuY3Rpb24oe2ZvcmNlRGlzYWJsZWQ6WixzdHlsZTpxLGRpc2FibGVkOlEsb25Nb3VzZUVudGVyOlgsb25Nb3VzZUxlYXZlOlksY2hpbGRyZW46JCwuLi5LfSxCKXtsZXQgRz1rMChTOCksSD1RfHxafHxHPy5kaXNhYmxlZCxbeixVXT1fKCExKTtyZXR1cm4gVygiYnV0dG9uIix7cmVmOkIsdHlwZToiYnV0dG9uIixkaXNhYmxlZDpILG9uTW91c2VFbnRlcjooVik9PntVKCEwKSxYPy4oVil9LG9uTW91c2VMZWF2ZTooVik9PntVKCExKSxZPy4oVil9LHN0eWxlOnsuLi5CcSxjb2xvcjpIPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMjUpIjoicmdiYSgyNTUsMjU1LDI1NSwwLjgpIixiYWNrZ3JvdW5kOnomJiFIPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkiOiJ0cmFuc3BhcmVudCIsY3Vyc29yOkg/Im5vdC1hbGxvd2VkIjoicG9pbnRlciIsLi4ucX0sLi4uSyxjaGlsZHJlbjokfSl9KTtmdW5jdGlvbiBIcSgpe3JldHVyblsndGVsbCBhcHBsaWNhdGlvbiAiU3lzdGVtIEV2ZW50cyIgdG8gdGVsbCBwcm9jZXNzICJTaW11bGF0b3IiIHRvIHNldCBmcm9udG1vc3QgdG8gdHJ1ZScsJ3RlbGwgYXBwbGljYXRpb24gIlN5c3RlbSBFdmVudHMiIHRvIHRlbGwgcHJvY2VzcyAiU2ltdWxhdG9yIiB0byBwZXJmb3JtIGFjdGlvbiAiQVhSYWlzZSIgb2YgKGZpcnN0IHdpbmRvdyB3aG9zZSBuYW1lIGNvbnRhaW5zICJ3YXRjaE9TIiknLCd0ZWxsIGFwcGxpY2F0aW9uICJTeXN0ZW0gRXZlbnRzIiB0byB0ZWxsIHByb2Nlc3MgIlNpbXVsYXRvciIgdG8gY2xpY2sgbWVudSBpdGVtICJIb21lIiBvZiBtZW51ICJEZXZpY2UiIG9mIG1lbnUgYmFyIGl0ZW0gIkRldmljZSIgb2YgbWVudSBiYXIgMSddLm1hcCgoWik9PmAtZSAnJHtafSdgKS5yZWR1Y2UoKFoscSk9PmAke1p9ICR7cX1gLCJvc2FzY3JpcHQiKX12YXIgVnE9e3BvcnRyYWl0OiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0X3Vwc2lkZV9kb3duIixwb3J0cmFpdF91cHNpZGVfZG93bjoibGFuZHNjYXBlX3JpZ2h0IixsYW5kc2NhcGVfcmlnaHQ6InBvcnRyYWl0In0sTHE9Vygic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46VygicGF0aCIse2Q6Ik0zIDEwLjUgMTIgM2w5IDcuNVYyMGExIDEgMCAwIDEtMSAxaC01di03aC02djdINGExIDEgMCAwIDEtMS0xeiJ9KX0pLFVxPVcoInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltXKCJwYXRoIix7ZDoiTTE0LjUgNGgtNUw3IDdINGEyIDIgMCAwIDAtMiAydjlhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yVjlhMiAyIDAgMCAwLTItMmgtM3oifSksVygiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjQifSldfSksRnE9Vygic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMTIgMTMiLGZpbGw6ImN1cnJlbnRDb2xvciIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpXKCJwYXRoIix7ZDoiTTEwLjIzMDUgMTIuODA3N0g0LjQyMzgzQzMuOTIzODMgMTIuODA3NyAzLjU0Njg4IDEyLjY4NDYgMy4yOTI5NyAxMi40Mzg1QzMuMDQyOTcgMTIuMTk2MyAyLjkxNzk3IDExLjgxOTQgMi45MTc5NyAxMS4zMDc3VjUuNTEyNzRDMi45MTc5NyA0Ljk5NzExIDMuMDQyOTcgNC42MTgyMSAzLjI5Mjk3IDQuMzc2MDJDMy41NDY4OCA0LjEyOTkzIDMuOTIzODMgNC4wMDY4OCA0LjQyMzgzIDQuMDA2ODhIMTAuMjMwNUMxMC43MzQ0IDQuMDA2ODggMTEuMTExMyA0LjEyOTkzIDExLjM2MTMgNC4zNzYwMkMxMS42MTEzIDQuNjE4MjEgMTEuNzM2MyA0Ljk5NzExIDExLjczNjMgNS41MTI3NFYxMS4zMDc3QzExLjczNjMgMTEuODE5NCAxMS42MTEzIDEyLjE5NjMgMTEuMzYxMyAxMi40Mzg1QzExLjExMTMgMTIuNjg0NiAxMC43MzQ0IDEyLjgwNzcgMTAuMjMwNSAxMi44MDc3Wk0xMC4yMTI5IDExLjg2NDNDMTAuNDE2IDExLjg2NDMgMTAuNTYyNSAxMS44MTk0IDEwLjY1MjMgMTEuNzI5NUMxMC43NDYxIDExLjY0MzYgMTAuNzkzIDExLjQ5NzEgMTAuNzkzIDExLjI5MDFWNS41MjQ0NkMxMC43OTMgNS4zMTc0MyAxMC43NDYxIDUuMTcwOTQgMTAuNjUyMyA1LjA4NTAxQzEwLjU2MjUgNC45OTUxNiAxMC40MTYgNC45NTAyNCAxMC4yMTI5IDQuOTUwMjRINC40NDE0MUM0LjI0MjE5IDQuOTUwMjQgNC4wOTU3IDQuOTk1MTYgNC4wMDE5NSA1LjA4NTAxQzMuOTA4MiA1LjE3MDk0IDMuODYxMzMgNS4zMTc0MyAzLjg2MTMzIDUuNTI0NDZWMTEuMjkwMUMzLjg2MTMzIDExLjQ5NzEgMy45MDgyIDExLjY0MzYgNC4wMDE5NSAxMS43Mjk1QzQuMDk1NyAxMS44MTk0IDQuMjQyMTkgMTEuODY0MyA0LjQ0MTQxIDExLjg2NDNIMTAuMjEyOVpNMi45MTc5NyAyLjU4MzA1VjAuNDE1MDgzQzIuOTE3OTcgMC4yMDAyNCAyLjk4NjMzIDAuMDY5MzgwMyAzLjEyMzA1IDAuMDIyNTA1M0MzLjI1OTc3IC0wLjAyODI3NTkgMy40MTAxNiAwLjAwNjg4MDMzIDMuNTc0MjIgMC4xMjc5NzRMNS4wNTA3OCAxLjIxMTk2QzUuMTc1NzggMS4zMDU3MSA1LjIzODI4IDEuNDAxNDEgNS4yMzgyOCAxLjQ5OTA3QzUuMjM4MjggMS41OTY3MiA1LjE3NTc4IDEuNjkyNDMgNS4wNTA3OCAxLjc4NjE4TDMuNTc0MjIgMi44NjQzQzMuNDEwMTYgMi45ODU0IDMuMjU5NzcgMy4wMjI1MSAzLjEyMzA1IDIuOTc1NjNDMi45ODYzMyAyLjkyNDg1IDIuOTE3OTcgMi43OTM5OSAyLjkxNzk3IDIuNTgzMDVaTTMuNTMzMiAxLjE1MzM2QzMuNjI2OTUgMS4xNTMzNiAzLjcwNzAzIDEuMTg2NTcgMy43NzM0NCAxLjI1Mjk3QzMuODQzNzUgMS4zMTkzOCAzLjg3ODkxIDEuMzk3NTEgMy44Nzg5MSAxLjQ4NzM1QzMuODc4OTEgMS41ODExIDMuODQzNzUgMS42NjMxMyAzLjc3MzQ0IDEuNzMzNDRDMy43MDcwMyAxLjc5OTg1IDMuNjI2OTUgMS44MzMwNSAzLjUzMzIgMS44MzMwNUgyLjgwNjY0QzIuMzgwODYgMS44MzMwNSAyLjAxMTcyIDEuOTI0ODUgMS42OTkyMiAyLjEwODQ0QzEuMzkwNjIgMi4yODgxMyAxLjE1MjM0IDIuNTM4MTMgMC45ODQzNzUgMi44NTg0NEMwLjgxNjQwNiAzLjE3ODc2IDAuNzMyNDIyIDMuNTQ1OTQgMC43MzI0MjIgMy45NjAwMVY0LjgzODkxQzAuNzMyNDIyIDQuOTM2NTcgMC42OTcyNjYgNS4wMjI1MSAwLjYyNjk1MyA1LjA5NjcyQzAuNTUyNzM0IDUuMTY3MDQgMC40NjQ4NDQgNS4yMDIxOSAwLjM2MzI4MSA1LjIwMjE5QzAuMjY1NjI1IDUuMjAyMTkgMC4xODE2NDEgNS4xNjcwNCAwLjExMTMyOCA1LjA5NjcyQzAuMDM3MTA5NCA1LjAyMjUxIDAgNC45MzY1NyAwIDQuODM4OTFWMy45NjAwMUMwIDMuNDAxNDEgMC4xMTcxODggMi45MTExOCAwLjM1MTU2MiAyLjQ4OTNDMC41ODIwMzEgMi4wNjc0MyAwLjkwODIwMyAxLjczOTMgMS4zMzAwOCAxLjUwNDkzQzEuNzQ4MDUgMS4yNzA1NSAyLjIzODI4IDEuMTUzMzYgMi44MDA3OCAxLjE1MzM2SDMuNTMzMloifSl9KSxEcT1SKGZ1bmN0aW9uKHtvbkNsaWNrOlosLi4ucX0sUSl7bGV0IFg9QzYoIkhvbWVCdXR0b24iKTtyZXR1cm4gVyhTNix7cmVmOlEsImFyaWEtbGFiZWwiOiJIb21lIixvbkNsaWNrOihZKT0+e2lmKFo/LihZKSxZLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKFguZGV2aWNlVHlwZT09PSJ3YXRjaCIpWC5leGVjKEhxKCkpO2Vsc2UgWC5leGVjKCJzZXJ2ZS1zaW0gYnV0dG9uIGhvbWUiKX0sLi4ucSxjaGlsZHJlbjpMcX0pfSksT3E9UihmdW5jdGlvbih7b25DbGljazpaLC4uLnF9LFEpe2xldCBYPUM2KCJTY3JlZW5zaG90QnV0dG9uIik7cmV0dXJuIFcoUzYse3JlZjpRLCJhcmlhLWxhYmVsIjoiU2NyZWVuc2hvdCIsb25DbGljazooWSk9PntpZihaPy4oWSksWS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZihYLmRldmljZVVkaWQpWC5leGVjKGB4Y3J1biBzaW1jdGwgaW8gJHtYLmRldmljZVVkaWR9IHNjcmVlbnNob3Qgfi9EZXNrdG9wL2hhdGNoLXNjcmVlbnNob3QtJChkYXRlICslcykucG5nYCl9LC4uLnEsY2hpbGRyZW46VXF9KX0pLE5xPVIoZnVuY3Rpb24oe29uQ2xpY2s6Wixmb3JjZURpc2FibGVkOnEsLi4uUX0sWCl7bGV0IFk9QzYoIlJvdGF0ZUJ1dHRvbiIpLCQ9WS5kZXZpY2VUeXBlPT09IndhdGNoInx8WS5kZXZpY2VUeXBlPT09InZpc2lvbiIsW0ssQl09XygicG9ydHJhaXQiKTtyZXR1cm4geSgoKT0+e0IoInBvcnRyYWl0Iil9LFtZLmRldmljZVVkaWRdKSxXKFM2LHtyZWY6WCwiYXJpYS1sYWJlbCI6IlJvdGF0ZSBkZXZpY2UiLGZvcmNlRGlzYWJsZWQ6cXx8JCxvbkNsaWNrOihHKT0+e2lmKFo/LihHKSxHLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKCFZLmRldmljZVVkaWR8fCQpcmV0dXJuO2xldCBIPVZxW0tdO0IoSCksWS5leGVjKGBzZXJ2ZS1zaW0gcm90YXRlICR7SH0gLWQgJHtZLmRldmljZVVkaWR9YCl9LC4uLlEsY2hpbGRyZW46RnF9KX0pLEEwPSRxO0EwLlRpdGxlPXpxO0EwLkFjdGlvbnM9R3E7QTAuQnV0dG9uPVM2O0EwLkhvbWVCdXR0b249RHE7QTAuU2NyZWVuc2hvdEJ1dHRvbj1PcTtBMC5Sb3RhdGVCdXR0b249TnE7dmFyIFUwPXt9O1o1KFUwLHtjcmVhdGVNZW51YmFyU2NvcGU6KCk9PmRYLFRyaWdnZXI6KCk9PksyLFN1YlRyaWdnZXI6KCk9PlQyLFN1YkNvbnRlbnQ6KCk9PmoyLFN1YjooKT0+TjIsU2VwYXJhdG9yOigpPT5EMixSb290OigpPT5ZMixSYWRpb0l0ZW06KCk9PlUyLFJhZGlvR3JvdXA6KCk9PkwyLFBvcnRhbDooKT0+ejIsTWVudWJhclRyaWdnZXI6KCk9PlM5LE1lbnViYXJTdWJUcmlnZ2VyOigpPT5sOSxNZW51YmFyU3ViQ29udGVudDooKT0+aTksTWVudWJhclN1YjooKT0+YzksTWVudWJhclNlcGFyYXRvcjooKT0+dTksTWVudWJhclJhZGlvSXRlbTooKT0+bTksTWVudWJhclJhZGlvR3JvdXA6KCk9PmY5LE1lbnViYXJQb3J0YWw6KCk9PmI5LE1lbnViYXJNZW51OigpPT5DOSxNZW51YmFyTGFiZWw6KCk9Pmc5LE1lbnViYXJJdGVtSW5kaWNhdG9yOigpPT5wOSxNZW51YmFySXRlbTooKT0+djksTWVudWJhckdyb3VwOigpPT5oOSxNZW51YmFyQ29udGVudDooKT0+UjksTWVudWJhckNoZWNrYm94SXRlbTooKT0+eDksTWVudWJhckFycm93OigpPT5kOSxNZW51YmFyOigpPT53OSxNZW51OigpPT4kMixMYWJlbDooKT0+QjIsSXRlbUluZGljYXRvcjooKT0+RjIsSXRlbTooKT0+SDIsR3JvdXA6KCk9PkcyLENvbnRlbnQ6KCk9PlcyLENoZWNrYm94SXRlbTooKT0+VjIsQXJyb3c6KCk9Pk8yfSk7ZnVuY3Rpb24gcjAoSixaPVtdKXtsZXQgcT1bXTtmdW5jdGlvbiBRKFksJCl7bGV0IEs9ajAoJCksQj1xLmxlbmd0aDtxPVsuLi5xLCRdO2xldCBHPSh6KT0+e2xldHtzY29wZTpVLGNoaWxkcmVuOlYsLi4uRn09eixMPVU/LltKXT8uW0JdfHxLLEQ9SDAoKCk9PkYsT2JqZWN0LnZhbHVlcyhGKSk7cmV0dXJuIFcoTC5Qcm92aWRlcix7dmFsdWU6RCxjaGlsZHJlbjpWfSl9O0cuZGlzcGxheU5hbWU9WSsiUHJvdmlkZXIiO2Z1bmN0aW9uIEgoeixVKXtsZXQgVj1VPy5bSl0/LltCXXx8SyxGPWswKFYpO2lmKEYpcmV0dXJuIEY7aWYoJCE9PXZvaWQgMClyZXR1cm4gJDt0aHJvdyBFcnJvcihgXGAke3p9XGAgbXVzdCBiZSB1c2VkIHdpdGhpbiBcYCR7WX1cYGApfXJldHVybltHLEhdfWxldCBYPSgpPT57bGV0IFk9cS5tYXAoKCQpPT57cmV0dXJuIGowKCQpfSk7cmV0dXJuIGZ1bmN0aW9uKEspe2xldCBCPUs/LltKXXx8WTtyZXR1cm4gSDAoKCk9Pih7W2BfX3Njb3BlJHtKfWBdOnsuLi5LLFtKXTpCfX0pLFtLLEJdKX19O3JldHVybiBYLnNjb3BlTmFtZT1KLFtRLFRxKFgsLi4uWildfWZ1bmN0aW9uIFRxKC4uLkope2xldCBaPUpbMF07aWYoSi5sZW5ndGg9PT0xKXJldHVybiBaO2xldCBxPSgpPT57bGV0IFE9Si5tYXAoKFgpPT4oe3VzZVNjb3BlOlgoKSxzY29wZU5hbWU6WC5zY29wZU5hbWV9KSk7cmV0dXJuIGZ1bmN0aW9uKFkpe2xldCAkPVEucmVkdWNlKChLLHt1c2VTY29wZTpCLHNjb3BlTmFtZTpHfSk9PntsZXQgej1CKFkpW2BfX3Njb3BlJHtHfWBdO3JldHVybnsuLi5LLC4uLnp9fSx7fSk7cmV0dXJuIEgwKCgpPT4oe1tgX19zY29wZSR7Wi5zY29wZU5hbWV9YF06JH0pLFskXSl9fTtyZXR1cm4gcS5zY29wZU5hbWU9Wi5zY29wZU5hbWUscX1mdW5jdGlvbiBENyhKLFope2lmKHR5cGVvZiBKPT09ImZ1bmN0aW9uIilyZXR1cm4gSihaKTtlbHNlIGlmKEohPT1udWxsJiZKIT09dm9pZCAwKUouY3VycmVudD1afWZ1bmN0aW9uIGUxKC4uLkope3JldHVybihaKT0+e2xldCBxPSExLFE9Si5tYXAoKFgpPT57bGV0IFk9RDcoWCxaKTtpZighcSYmdHlwZW9mIFk9PSJmdW5jdGlvbiIpcT0hMDtyZXR1cm4gWX0pO2lmKHEpcmV0dXJuKCk9Pntmb3IobGV0IFg9MDtYPFEubGVuZ3RoO1grKyl7bGV0IFk9UVtYXTtpZih0eXBlb2YgWT09ImZ1bmN0aW9uIilZKCk7ZWxzZSBENyhKW1hdLG51bGwpfX19fWZ1bmN0aW9uIEcwKC4uLkope3JldHVybiBTKGUxKC4uLkopLEopfWZ1bmN0aW9uIFYxKEope2xldCBaPWpxKEopLHE9UigoUSxYKT0+e2xldHtjaGlsZHJlbjpZLC4uLiR9PVEsSz1oMC50b0FycmF5KFkpLEI9Sy5maW5kKEFxKTtpZihCKXtsZXQgRz1CLnByb3BzLmNoaWxkcmVuLEg9Sy5tYXAoKHopPT57aWYoej09PUIpe2lmKGgwLmNvdW50KEcpPjEpcmV0dXJuIGgwLm9ubHkobnVsbCk7cmV0dXJuIHMwKEcpP0cucHJvcHMuY2hpbGRyZW46bnVsbH1lbHNlIHJldHVybiB6fSk7cmV0dXJuIFcoWix7Li4uJCxyZWY6WCxjaGlsZHJlbjpzMChHKT9YMShHLHZvaWQgMCxIKTpudWxsfSl9cmV0dXJuIFcoWix7Li4uJCxyZWY6WCxjaGlsZHJlbjpZfSl9KTtyZXR1cm4gcS5kaXNwbGF5TmFtZT1gJHtKfS5TbG90YCxxfWZ1bmN0aW9uIGpxKEope2xldCBaPVIoKHEsUSk9PntsZXR7Y2hpbGRyZW46WCwuLi5ZfT1xO2lmKHMwKFgpKXtsZXQgJD1QcShYKSxLPUlxKFksWC5wcm9wcyk7aWYoWC50eXBlIT09SjApSy5yZWY9UT9lMShRLCQpOiQ7cmV0dXJuIFgxKFgsSyl9cmV0dXJuIGgwLmNvdW50KFgpPjE/aDAub25seShudWxsKTpudWxsfSk7cmV0dXJuIFouZGlzcGxheU5hbWU9YCR7Sn0uU2xvdENsb25lYCxafXZhciBrcT1TeW1ib2woInJhZGl4LnNsb3R0YWJsZSIpO2Z1bmN0aW9uIEFxKEope3JldHVybiBzMChKKSYmdHlwZW9mIEoudHlwZT09PSJmdW5jdGlvbiImJiJfX3JhZGl4SWQiaW4gSi50eXBlJiZKLnR5cGUuX19yYWRpeElkPT09a3F9ZnVuY3Rpb24gSXEoSixaKXtsZXQgcT17Li4uWn07Zm9yKGxldCBRIGluIFope2xldCBYPUpbUV0sWT1aW1FdO2lmKC9eb25bQS1aXS8udGVzdChRKSl7aWYoWCYmWSlxW1FdPSguLi5LKT0+e2xldCBCPVkoLi4uSyk7cmV0dXJuIFgoLi4uSyksQn07ZWxzZSBpZihYKXFbUV09WH1lbHNlIGlmKFE9PT0ic3R5bGUiKXFbUV09ey4uLlgsLi4uWX07ZWxzZSBpZihRPT09ImNsYXNzTmFtZSIpcVtRXT1bWCxZXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpfXJldHVybnsuLi5KLC4uLnF9fWZ1bmN0aW9uIFBxKEope2xldCBaPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSi5wcm9wcywicmVmIik/LmdldCxxPVomJiJpc1JlYWN0V2FybmluZyJpbiBaJiZaLmlzUmVhY3RXYXJuaW5nO2lmKHEpcmV0dXJuIEoucmVmO2lmKFo9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihKLCJyZWYiKT8uZ2V0LHE9WiYmImlzUmVhY3RXYXJuaW5nImluIFomJlouaXNSZWFjdFdhcm5pbmcscSlyZXR1cm4gSi5wcm9wcy5yZWY7cmV0dXJuIEoucHJvcHMucmVmfHxKLnJlZn1mdW5jdGlvbiBDMShKKXtsZXQgWj1KKyJDb2xsZWN0aW9uUHJvdmlkZXIiLFtxLFFdPXIwKFopLFtYLFldPXEoWix7Y29sbGVjdGlvblJlZjp7Y3VycmVudDpudWxsfSxpdGVtTWFwOm5ldyBNYXB9KSwkPShMKT0+e2xldHtzY29wZTpELGNoaWxkcmVuOk99PUwsTj1nMC51c2VSZWYobnVsbCksQT1nMC51c2VSZWYobmV3IE1hcCkuY3VycmVudDtyZXR1cm4gVyhYLHtzY29wZTpELGl0ZW1NYXA6QSxjb2xsZWN0aW9uUmVmOk4sY2hpbGRyZW46T30pfTskLmRpc3BsYXlOYW1lPVo7bGV0IEs9SisiQ29sbGVjdGlvblNsb3QiLEI9VjEoSyksRz1nMC5mb3J3YXJkUmVmKChMLEQpPT57bGV0e3Njb3BlOk8sY2hpbGRyZW46Tn09TCxBPVkoSyxPKSxqPUcwKEQsQS5jb2xsZWN0aW9uUmVmKTtyZXR1cm4gVyhCLHtyZWY6aixjaGlsZHJlbjpOfSl9KTtHLmRpc3BsYXlOYW1lPUs7bGV0IEg9SisiQ29sbGVjdGlvbkl0ZW1TbG90Iix6PSJkYXRhLXJhZGl4LWNvbGxlY3Rpb24taXRlbSIsVT1WMShIKSxWPWcwLmZvcndhcmRSZWYoKEwsRCk9PntsZXR7c2NvcGU6TyxjaGlsZHJlbjpOLC4uLkF9PUwsaj1nMC51c2VSZWYobnVsbCksdz1HMChELGopLGI9WShILE8pO3JldHVybiBnMC51c2VFZmZlY3QoKCk9PntyZXR1cm4gYi5pdGVtTWFwLnNldChqLHtyZWY6aiwuLi5BfSksKCk9PnZvaWQgYi5pdGVtTWFwLmRlbGV0ZShqKX0pLFcoVSx7Li4ue1t6XToiIn0scmVmOncsY2hpbGRyZW46Tn0pfSk7Vi5kaXNwbGF5TmFtZT1IO2Z1bmN0aW9uIEYoTCl7bGV0IEQ9WShKKyJDb2xsZWN0aW9uQ29uc3VtZXIiLEwpO3JldHVybiBnMC51c2VDYWxsYmFjaygoKT0+e2xldCBOPUQuY29sbGVjdGlvblJlZi5jdXJyZW50O2lmKCFOKXJldHVybltdO2xldCBBPUFycmF5LmZyb20oTi5xdWVyeVNlbGVjdG9yQWxsKGBbJHt6fV1gKSk7cmV0dXJuIEFycmF5LmZyb20oRC5pdGVtTWFwLnZhbHVlcygpKS5zb3J0KChiLFApPT5BLmluZGV4T2YoYi5yZWYuY3VycmVudCktQS5pbmRleE9mKFAucmVmLmN1cnJlbnQpKX0sW0QuY29sbGVjdGlvblJlZixELml0ZW1NYXBdKX1yZXR1cm5be1Byb3ZpZGVyOiQsU2xvdDpHLEl0ZW1TbG90OlZ9LEYsUV19dmFyIE83PW5ldyBXZWFrTWFwLFckPWNsYXNzIEogZXh0ZW5kcyBNYXB7I0o7Y29uc3RydWN0b3IoWil7c3VwZXIoWik7dGhpcy4jSj1bLi4uc3VwZXIua2V5cygpXSxPNy5zZXQodGhpcywhMCl9c2V0KFoscSl7aWYoTzcuZ2V0KHRoaXMpKWlmKHRoaXMuaGFzKFopKXRoaXMuI0pbdGhpcy4jSi5pbmRleE9mKFopXT1aO2Vsc2UgdGhpcy4jSi5wdXNoKFopO3JldHVybiBzdXBlci5zZXQoWixxKSx0aGlzfWluc2VydChaLHEsUSl7bGV0IFg9dGhpcy5oYXMocSksWT10aGlzLiNKLmxlbmd0aCwkPU43KFopLEs9JD49MD8kOlkrJCxCPUs8MHx8Sz49WT8tMTpLO2lmKEI9PT10aGlzLnNpemV8fFgmJkI9PT10aGlzLnNpemUtMXx8Qj09PS0xKXJldHVybiB0aGlzLnNldChxLFEpLHRoaXM7bGV0IEc9dGhpcy5zaXplKyhYPzA6MSk7aWYoJDwwKUsrKztsZXQgSD1bLi4udGhpcy4jSl0seixVPSExO2ZvcihsZXQgVj1LO1Y8RztWKyspaWYoSz09PVYpe2xldCBGPUhbVl07aWYoSFtWXT09PXEpRj1IW1YrMV07aWYoWCl0aGlzLmRlbGV0ZShxKTt6PXRoaXMuZ2V0KEYpLHRoaXMuc2V0KHEsUSl9ZWxzZXtpZighVSYmSFtWLTFdPT09cSlVPSEwO2xldCBGPUhbVT9WOlYtMV0sTD16O3o9dGhpcy5nZXQoRiksdGhpcy5kZWxldGUoRiksdGhpcy5zZXQoRixMKX1yZXR1cm4gdGhpc313aXRoKFoscSxRKXtsZXQgWD1uZXcgSih0aGlzKTtyZXR1cm4gWC5pbnNlcnQoWixxLFEpLFh9YmVmb3JlKFope2xldCBxPXRoaXMuI0ouaW5kZXhPZihaKS0xO2lmKHE8MClyZXR1cm47cmV0dXJuIHRoaXMuZW50cnlBdChxKX1zZXRCZWZvcmUoWixxLFEpe2xldCBYPXRoaXMuI0ouaW5kZXhPZihaKTtpZihYPT09LTEpcmV0dXJuIHRoaXM7cmV0dXJuIHRoaXMuaW5zZXJ0KFgscSxRKX1hZnRlcihaKXtsZXQgcT10aGlzLiNKLmluZGV4T2YoWik7aWYocT1xPT09LTF8fHE9PT10aGlzLnNpemUtMT8tMTpxKzEscT09PS0xKXJldHVybjtyZXR1cm4gdGhpcy5lbnRyeUF0KHEpfXNldEFmdGVyKFoscSxRKXtsZXQgWD10aGlzLiNKLmluZGV4T2YoWik7aWYoWD09PS0xKXJldHVybiB0aGlzO3JldHVybiB0aGlzLmluc2VydChYKzEscSxRKX1maXJzdCgpe3JldHVybiB0aGlzLmVudHJ5QXQoMCl9bGFzdCgpe3JldHVybiB0aGlzLmVudHJ5QXQoLTEpfWNsZWFyKCl7cmV0dXJuIHRoaXMuI0o9W10sc3VwZXIuY2xlYXIoKX1kZWxldGUoWil7bGV0IHE9c3VwZXIuZGVsZXRlKFopO2lmKHEpdGhpcy4jSi5zcGxpY2UodGhpcy4jSi5pbmRleE9mKFopLDEpO3JldHVybiBxfWRlbGV0ZUF0KFope2xldCBxPXRoaXMua2V5QXQoWik7aWYocSE9PXZvaWQgMClyZXR1cm4gdGhpcy5kZWxldGUocSk7cmV0dXJuITF9YXQoWil7bGV0IHE9YjgodGhpcy4jSixaKTtpZihxIT09dm9pZCAwKXJldHVybiB0aGlzLmdldChxKX1lbnRyeUF0KFope2xldCBxPWI4KHRoaXMuI0osWik7aWYocSE9PXZvaWQgMClyZXR1cm5bcSx0aGlzLmdldChxKV19aW5kZXhPZihaKXtyZXR1cm4gdGhpcy4jSi5pbmRleE9mKFopfWtleUF0KFope3JldHVybiBiOCh0aGlzLiNKLFopfWZyb20oWixxKXtsZXQgUT10aGlzLmluZGV4T2YoWik7aWYoUT09PS0xKXJldHVybjtsZXQgWD1RK3E7aWYoWDwwKVg9MDtpZihYPj10aGlzLnNpemUpWD10aGlzLnNpemUtMTtyZXR1cm4gdGhpcy5hdChYKX1rZXlGcm9tKFoscSl7bGV0IFE9dGhpcy5pbmRleE9mKFopO2lmKFE9PT0tMSlyZXR1cm47bGV0IFg9UStxO2lmKFg8MClYPTA7aWYoWD49dGhpcy5zaXplKVg9dGhpcy5zaXplLTE7cmV0dXJuIHRoaXMua2V5QXQoWCl9ZmluZChaLHEpe2xldCBRPTA7Zm9yKGxldCBYIG9mIHRoaXMpe2lmKFJlZmxlY3QuYXBwbHkoWixxLFtYLFEsdGhpc10pKXJldHVybiBYO1ErK31yZXR1cm59ZmluZEluZGV4KFoscSl7bGV0IFE9MDtmb3IobGV0IFggb2YgdGhpcyl7aWYoUmVmbGVjdC5hcHBseShaLHEsW1gsUSx0aGlzXSkpcmV0dXJuIFE7USsrfXJldHVybi0xfWZpbHRlcihaLHEpe2xldCBRPVtdLFg9MDtmb3IobGV0IFkgb2YgdGhpcyl7aWYoUmVmbGVjdC5hcHBseShaLHEsW1ksWCx0aGlzXSkpUS5wdXNoKFkpO1grK31yZXR1cm4gbmV3IEooUSl9bWFwKFoscSl7bGV0IFE9W10sWD0wO2ZvcihsZXQgWSBvZiB0aGlzKVEucHVzaChbWVswXSxSZWZsZWN0LmFwcGx5KFoscSxbWSxYLHRoaXNdKV0pLFgrKztyZXR1cm4gbmV3IEooUSl9cmVkdWNlKC4uLlope2xldFtxLFFdPVosWD0wLFk9UT8/dGhpcy5hdCgwKTtmb3IobGV0ICQgb2YgdGhpcyl7aWYoWD09PTAmJloubGVuZ3RoPT09MSlZPSQ7ZWxzZSBZPVJlZmxlY3QuYXBwbHkocSx0aGlzLFtZLCQsWCx0aGlzXSk7WCsrfXJldHVybiBZfXJlZHVjZVJpZ2h0KC4uLlope2xldFtxLFFdPVosWD1RPz90aGlzLmF0KC0xKTtmb3IobGV0IFk9dGhpcy5zaXplLTE7WT49MDtZLS0pe2xldCAkPXRoaXMuYXQoWSk7aWYoWT09PXRoaXMuc2l6ZS0xJiZaLmxlbmd0aD09PTEpWD0kO2Vsc2UgWD1SZWZsZWN0LmFwcGx5KHEsdGhpcyxbWCwkLFksdGhpc10pfXJldHVybiBYfXRvU29ydGVkKFope2xldCBxPVsuLi50aGlzLmVudHJpZXMoKV0uc29ydChaKTtyZXR1cm4gbmV3IEoocSl9dG9SZXZlcnNlZCgpe2xldCBaPW5ldyBKO2ZvcihsZXQgcT10aGlzLnNpemUtMTtxPj0wO3EtLSl7bGV0IFE9dGhpcy5rZXlBdChxKSxYPXRoaXMuZ2V0KFEpO1ouc2V0KFEsWCl9cmV0dXJuIFp9dG9TcGxpY2VkKC4uLlope2xldCBxPVsuLi50aGlzLmVudHJpZXMoKV07cmV0dXJuIHEuc3BsaWNlKC4uLlopLG5ldyBKKHEpfXNsaWNlKFoscSl7bGV0IFE9bmV3IEosWD10aGlzLnNpemUtMTtpZihaPT09dm9pZCAwKXJldHVybiBRO2lmKFo8MClaPVordGhpcy5zaXplO2lmKHEhPT12b2lkIDAmJnE+MClYPXEtMTtmb3IobGV0IFk9WjtZPD1YO1krKyl7bGV0ICQ9dGhpcy5rZXlBdChZKSxLPXRoaXMuZ2V0KCQpO1Euc2V0KCQsSyl9cmV0dXJuIFF9ZXZlcnkoWixxKXtsZXQgUT0wO2ZvcihsZXQgWCBvZiB0aGlzKXtpZighUmVmbGVjdC5hcHBseShaLHEsW1gsUSx0aGlzXSkpcmV0dXJuITE7USsrfXJldHVybiEwfXNvbWUoWixxKXtsZXQgUT0wO2ZvcihsZXQgWCBvZiB0aGlzKXtpZihSZWZsZWN0LmFwcGx5KFoscSxbWCxRLHRoaXNdKSlyZXR1cm4hMDtRKyt9cmV0dXJuITF9fTtmdW5jdGlvbiBiOChKLFope2lmKCJhdCJpbiBBcnJheS5wcm90b3R5cGUpcmV0dXJuIEFycmF5LnByb3RvdHlwZS5hdC5jYWxsKEosWik7bGV0IHE9RXEoSixaKTtyZXR1cm4gcT09PS0xP3ZvaWQgMDpKW3FdfWZ1bmN0aW9uIEVxKEosWil7bGV0IHE9Si5sZW5ndGgsUT1ONyhaKSxYPVE+PTA/UTpxK1E7cmV0dXJuIFg8MHx8WD49cT8tMTpYfWZ1bmN0aW9uIE43KEope3JldHVybiBKIT09Snx8Sj09PTA/MDpNYXRoLnRydW5jKEopfXZhciBfcT1qMCh2b2lkIDApO2Z1bmN0aW9uIFMxKEope2xldCBaPWswKF9xKTtyZXR1cm4gSnx8Wnx8Imx0ciJ9dmFyIEwkPSEhKHR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cuZG9jdW1lbnQmJndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtmdW5jdGlvbiBpKEosWix7Y2hlY2tGb3JEZWZhdWx0UHJldmVudGVkOnE9ITB9PXt9KXtyZXR1cm4gZnVuY3Rpb24oWCl7aWYoSj8uKFgpLHE9PT0hMXx8IVguZGVmYXVsdFByZXZlbnRlZClyZXR1cm4gWj8uKFgpfX12YXIgdzA9Z2xvYmFsVGhpcz8uZG9jdW1lbnQ/TTA6KCk9Pnt9O3ZhciBNcT1uWyIgdXNlSWQgIi50cmltKCkudG9TdHJpbmcoKV18fCgoKT0+e3JldHVybn0pLHdxPTA7ZnVuY3Rpb24gWTEoSil7bGV0W1oscV09XyhNcSgpKTtyZXR1cm4gdzAoKCk9PntpZighSilxKChRKT0+UT8/U3RyaW5nKHdxKyspKX0sW0pdKSxKfHwoWj9gcmFkaXgtJHtafWA6IiIpfXZhciB5cT1bImEiLCJidXR0b24iLCJkaXYiLCJmb3JtIiwiaDIiLCJoMyIsImltZyIsImlucHV0IiwibGFiZWwiLCJsaSIsIm5hdiIsIm9sIiwicCIsInNlbGVjdCIsInNwYW4iLCJzdmciLCJ1bCJdLCQwPXlxLnJlZHVjZSgoSixaKT0+e2xldCBxPVYxKGBQcmltaXRpdmUuJHtafWApLFE9UigoWCxZKT0+e2xldHthc0NoaWxkOiQsLi4uS309WCxCPSQ/cTpaO2lmKHR5cGVvZiB3aW5kb3c8InUiKXdpbmRvd1tTeW1ib2wuZm9yKCJyYWRpeC11aSIpXT0hMDtyZXR1cm4gVyhCLHsuLi5LLHJlZjpZfSl9KTtyZXR1cm4gUS5kaXNwbGF5TmFtZT1gUHJpbWl0aXZlLiR7Wn1gLHsuLi5KLFtaXTpRfX0se30pO2Z1bmN0aW9uIGI2KEosWil7aWYoSil3MSgoKT0+Si5kaXNwYXRjaEV2ZW50KFopKX1mdW5jdGlvbiBOMChKKXtsZXQgWj1FKEopO3JldHVybiB5KCgpPT57Wi5jdXJyZW50PUp9KSxIMCgoKT0+KC4uLnEpPT5aLmN1cnJlbnQ/LiguLi5xKSxbXSl9ZnVuY3Rpb24gVDcoSixaPWdsb2JhbFRoaXM/LmRvY3VtZW50KXtsZXQgcT1OMChKKTt5KCgpPT57bGV0IFE9KFgpPT57aWYoWC5rZXk9PT0iRXNjYXBlIilxKFgpfTtyZXR1cm4gWi5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixRLHtjYXB0dXJlOiEwfSksKCk9PloucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsUSx7Y2FwdHVyZTohMH0pfSxbcSxaXSl9dmFyIENxPSJEaXNtaXNzYWJsZUxheWVyIixSOD0iZGlzbWlzc2FibGVMYXllci51cGRhdGUiLFNxPSJkaXNtaXNzYWJsZUxheWVyLnBvaW50ZXJEb3duT3V0c2lkZSIsYnE9ImRpc21pc3NhYmxlTGF5ZXIuZm9jdXNPdXRzaWRlIixqNyxBNz1qMCh7bGF5ZXJzOm5ldyBTZXQsbGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQ6bmV3IFNldCxicmFuY2hlczpuZXcgU2V0fSksaDg9UigoSixaKT0+e2xldHtkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6cT0hMSxvbkVzY2FwZUtleURvd246USxvblBvaW50ZXJEb3duT3V0c2lkZTpYLG9uRm9jdXNPdXRzaWRlOlksb25JbnRlcmFjdE91dHNpZGU6JCxvbkRpc21pc3M6SywuLi5CfT1KLEc9azAoQTcpLFtILHpdPV8obnVsbCksVT1IPy5vd25lckRvY3VtZW50Pz9nbG9iYWxUaGlzPy5kb2N1bWVudCxbLFZdPV8oe30pLEY9RzAoWiwoUCk9PnooUCkpLEw9QXJyYXkuZnJvbShHLmxheWVycyksW0RdPVsuLi5HLmxheWVyc1dpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkXS5zbGljZSgtMSksTz1MLmluZGV4T2YoRCksTj1IP0wuaW5kZXhPZihIKTotMSxBPUcubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuc2l6ZT4wLGo9Tj49Tyx3PWdxKChQKT0+e2xldCB2PVAudGFyZ2V0LGM9Wy4uLkcuYnJhbmNoZXNdLnNvbWUoKGYpPT5mLmNvbnRhaW5zKHYpKTtpZighanx8YylyZXR1cm47aWYoWD8uKFApLCQ/LihQKSwhUC5kZWZhdWx0UHJldmVudGVkKUs/LigpfSxVKSxiPXZxKChQKT0+e2xldCB2PVAudGFyZ2V0O2lmKFsuLi5HLmJyYW5jaGVzXS5zb21lKChmKT0+Zi5jb250YWlucyh2KSkpcmV0dXJuO2lmKFk/LihQKSwkPy4oUCksIVAuZGVmYXVsdFByZXZlbnRlZClLPy4oKX0sVSk7cmV0dXJuIFQ3KChQKT0+e2lmKE4hPT1HLmxheWVycy5zaXplLTEpcmV0dXJuO2lmKFE/LihQKSwhUC5kZWZhdWx0UHJldmVudGVkJiZLKVAucHJldmVudERlZmF1bHQoKSxLKCl9LFUpLHkoKCk9PntpZighSClyZXR1cm47aWYocSl7aWYoRy5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5zaXplPT09MClqNz1VLmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cyxVLmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSI7Ry5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5hZGQoSCl9cmV0dXJuIEcubGF5ZXJzLmFkZChIKSxrNygpLCgpPT57aWYocSYmRy5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5zaXplPT09MSlVLmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cz1qN319LFtILFUscSxHXSkseSgoKT0+e3JldHVybigpPT57aWYoIUgpcmV0dXJuO0cubGF5ZXJzLmRlbGV0ZShIKSxHLmxheWVyc1dpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkLmRlbGV0ZShIKSxrNygpfX0sW0gsR10pLHkoKCk9PntsZXQgUD0oKT0+Vih7fSk7cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoUjgsUCksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoUjgsUCl9LFtdKSxXKCQwLmRpdix7Li4uQixyZWY6RixzdHlsZTp7cG9pbnRlckV2ZW50czpBP2o/ImF1dG8iOiJub25lIjp2b2lkIDAsLi4uSi5zdHlsZX0sb25Gb2N1c0NhcHR1cmU6aShKLm9uRm9jdXNDYXB0dXJlLGIub25Gb2N1c0NhcHR1cmUpLG9uQmx1ckNhcHR1cmU6aShKLm9uQmx1ckNhcHR1cmUsYi5vbkJsdXJDYXB0dXJlKSxvblBvaW50ZXJEb3duQ2FwdHVyZTppKEoub25Qb2ludGVyRG93bkNhcHR1cmUsdy5vblBvaW50ZXJEb3duQ2FwdHVyZSl9KX0pO2g4LmRpc3BsYXlOYW1lPUNxO3ZhciBScT0iRGlzbWlzc2FibGVMYXllckJyYW5jaCIsaHE9UigoSixaKT0+e2xldCBxPWswKEE3KSxRPUUobnVsbCksWD1HMChaLFEpO3JldHVybiB5KCgpPT57bGV0IFk9US5jdXJyZW50O2lmKFkpcmV0dXJuIHEuYnJhbmNoZXMuYWRkKFkpLCgpPT57cS5icmFuY2hlcy5kZWxldGUoWSl9fSxbcS5icmFuY2hlc10pLFcoJDAuZGl2LHsuLi5KLHJlZjpYfSl9KTtocS5kaXNwbGF5TmFtZT1ScTtmdW5jdGlvbiBncShKLFo9Z2xvYmFsVGhpcz8uZG9jdW1lbnQpe2xldCBxPU4wKEopLFE9RSghMSksWD1FKCgpPT57fSk7cmV0dXJuIHkoKCk9PntsZXQgWT0oSyk9PntpZihLLnRhcmdldCYmIVEuY3VycmVudCl7bGV0IEc9ZnVuY3Rpb24oKXtJNyhTcSxxLEgse2Rpc2NyZXRlOiEwfSl9O3ZhciBCPUc7bGV0IEg9e29yaWdpbmFsRXZlbnQ6S307aWYoSy5wb2ludGVyVHlwZT09PSJ0b3VjaCIpWi5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsWC5jdXJyZW50KSxYLmN1cnJlbnQ9RyxaLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixYLmN1cnJlbnQse29uY2U6ITB9KTtlbHNlIEcoKX1lbHNlIFoucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLFguY3VycmVudCk7US5jdXJyZW50PSExfSwkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57Wi5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsWSl9LDApO3JldHVybigpPT57d2luZG93LmNsZWFyVGltZW91dCgkKSxaLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixZKSxaLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixYLmN1cnJlbnQpfX0sW1oscV0pLHtvblBvaW50ZXJEb3duQ2FwdHVyZTooKT0+US5jdXJyZW50PSEwfX1mdW5jdGlvbiB2cShKLFo9Z2xvYmFsVGhpcz8uZG9jdW1lbnQpe2xldCBxPU4wKEopLFE9RSghMSk7cmV0dXJuIHkoKCk9PntsZXQgWD0oWSk9PntpZihZLnRhcmdldCYmIVEuY3VycmVudClJNyhicSxxLHtvcmlnaW5hbEV2ZW50Oll9LHtkaXNjcmV0ZTohMX0pfTtyZXR1cm4gWi5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIixYKSwoKT0+Wi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c2luIixYKX0sW1oscV0pLHtvbkZvY3VzQ2FwdHVyZTooKT0+US5jdXJyZW50PSEwLG9uQmx1ckNhcHR1cmU6KCk9PlEuY3VycmVudD0hMX19ZnVuY3Rpb24gazcoKXtsZXQgSj1uZXcgQ3VzdG9tRXZlbnQoUjgpO2RvY3VtZW50LmRpc3BhdGNoRXZlbnQoSil9ZnVuY3Rpb24gSTcoSixaLHEse2Rpc2NyZXRlOlF9KXtsZXQgWD1xLm9yaWdpbmFsRXZlbnQudGFyZ2V0LFk9bmV3IEN1c3RvbUV2ZW50KEose2J1YmJsZXM6ITEsY2FuY2VsYWJsZTohMCxkZXRhaWw6cX0pO2lmKFopWC5hZGRFdmVudExpc3RlbmVyKEosWix7b25jZTohMH0pO2lmKFEpYjYoWCxZKTtlbHNlIFguZGlzcGF0Y2hFdmVudChZKX12YXIgZzg9MDtmdW5jdGlvbiBFNygpe3koKCk9PntsZXQgSj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1yYWRpeC1mb2N1cy1ndWFyZF0iKTtyZXR1cm4gZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyYmVnaW4iLEpbMF0/P1A3KCkpLGRvY3VtZW50LmJvZHkuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJiZWZvcmVlbmQiLEpbMV0/P1A3KCkpLGc4KyssKCk9PntpZihnOD09PTEpZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtcmFkaXgtZm9jdXMtZ3VhcmRdIikuZm9yRWFjaCgoWik9PloucmVtb3ZlKCkpO2c4LS19fSxbXSl9ZnVuY3Rpb24gUDcoKXtsZXQgSj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIEouc2V0QXR0cmlidXRlKCJkYXRhLXJhZGl4LWZvY3VzLWd1YXJkIiwiIiksSi50YWJJbmRleD0wLEouc3R5bGUub3V0bGluZT0ibm9uZSIsSi5zdHlsZS5vcGFjaXR5PSIwIixKLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsSi5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixKfXZhciB2OD0iZm9jdXNTY29wZS5hdXRvRm9jdXNPbk1vdW50Iix4OD0iZm9jdXNTY29wZS5hdXRvRm9jdXNPblVubW91bnQiLF83PXtidWJibGVzOiExLGNhbmNlbGFibGU6ITB9LHhxPSJGb2N1c1Njb3BlIixmOD1SKChKLFopPT57bGV0e2xvb3A6cT0hMSx0cmFwcGVkOlE9ITEsb25Nb3VudEF1dG9Gb2N1czpYLG9uVW5tb3VudEF1dG9Gb2N1czpZLC4uLiR9PUosW0ssQl09XyhudWxsKSxHPU4wKFgpLEg9TjAoWSksej1FKG51bGwpLFU9RzAoWiwoTCk9PkIoTCkpLFY9RSh7cGF1c2VkOiExLHBhdXNlKCl7dGhpcy5wYXVzZWQ9ITB9LHJlc3VtZSgpe3RoaXMucGF1c2VkPSExfX0pLmN1cnJlbnQ7eSgoKT0+e2lmKFEpe2xldCBOPWZ1bmN0aW9uKGIpe2lmKFYucGF1c2VkfHwhSylyZXR1cm47bGV0IFA9Yi50YXJnZXQ7aWYoSy5jb250YWlucyhQKSl6LmN1cnJlbnQ9UDtlbHNlIFcxKHouY3VycmVudCx7c2VsZWN0OiEwfSl9LEE9ZnVuY3Rpb24oYil7aWYoVi5wYXVzZWR8fCFLKXJldHVybjtsZXQgUD1iLnJlbGF0ZWRUYXJnZXQ7aWYoUD09PW51bGwpcmV0dXJuO2lmKCFLLmNvbnRhaW5zKFApKVcxKHouY3VycmVudCx7c2VsZWN0OiEwfSl9LGo9ZnVuY3Rpb24oYil7aWYoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmJvZHkpcmV0dXJuO2ZvcihsZXQgdiBvZiBiKWlmKHYucmVtb3ZlZE5vZGVzLmxlbmd0aD4wKVcxKEspfTt2YXIgTD1OLEQ9QSxPPWo7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsTiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLEEpO2xldCB3PW5ldyBNdXRhdGlvbk9ic2VydmVyKGopO2lmKEspdy5vYnNlcnZlKEsse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7cmV0dXJuKCk9Pntkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c2luIixOKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c291dCIsQSksdy5kaXNjb25uZWN0KCl9fX0sW1EsSyxWLnBhdXNlZF0pLHkoKCk9PntpZihLKXt3Ny5hZGQoVik7bGV0IEw9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZighSy5jb250YWlucyhMKSl7bGV0IE89bmV3IEN1c3RvbUV2ZW50KHY4LF83KTtpZihLLmFkZEV2ZW50TGlzdGVuZXIodjgsRyksSy5kaXNwYXRjaEV2ZW50KE8pLCFPLmRlZmF1bHRQcmV2ZW50ZWQpe2lmKGZxKGNxKEM3KEspKSx7c2VsZWN0OiEwfSksZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PUwpVzEoSyl9fXJldHVybigpPT57Sy5yZW1vdmVFdmVudExpc3RlbmVyKHY4LEcpLHNldFRpbWVvdXQoKCk9PntsZXQgTz1uZXcgQ3VzdG9tRXZlbnQoeDgsXzcpO2lmKEsuYWRkRXZlbnRMaXN0ZW5lcih4OCxIKSxLLmRpc3BhdGNoRXZlbnQoTyksIU8uZGVmYXVsdFByZXZlbnRlZClXMShMPz9kb2N1bWVudC5ib2R5LHtzZWxlY3Q6ITB9KTtLLnJlbW92ZUV2ZW50TGlzdGVuZXIoeDgsSCksdzcucmVtb3ZlKFYpfSwwKX19fSxbSyxHLEgsVl0pO2xldCBGPVMoKEwpPT57aWYoIXEmJiFRKXJldHVybjtpZihWLnBhdXNlZClyZXR1cm47bGV0IEQ9TC5rZXk9PT0iVGFiIiYmIUwuYWx0S2V5JiYhTC5jdHJsS2V5JiYhTC5tZXRhS2V5LE89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZihEJiZPKXtsZXQgTj1MLmN1cnJlbnRUYXJnZXQsW0Esal09bXEoTik7aWYoIShBJiZqKSl7aWYoTz09PU4pTC5wcmV2ZW50RGVmYXVsdCgpfWVsc2UgaWYoIUwuc2hpZnRLZXkmJk89PT1qKXtpZihMLnByZXZlbnREZWZhdWx0KCkscSlXMShBLHtzZWxlY3Q6ITB9KX1lbHNlIGlmKEwuc2hpZnRLZXkmJk89PT1BKXtpZihMLnByZXZlbnREZWZhdWx0KCkscSlXMShqLHtzZWxlY3Q6ITB9KX19fSxbcSxRLFYucGF1c2VkXSk7cmV0dXJuIFcoJDAuZGl2LHt0YWJJbmRleDotMSwuLi4kLHJlZjpVLG9uS2V5RG93bjpGfSl9KTtmOC5kaXNwbGF5TmFtZT14cTtmdW5jdGlvbiBmcShKLHtzZWxlY3Q6Wj0hMX09e30pe2xldCBxPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7Zm9yKGxldCBRIG9mIEopaWYoVzEoUSx7c2VsZWN0Olp9KSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09cSlyZXR1cm59ZnVuY3Rpb24gbXEoSil7bGV0IFo9QzcoSikscT1NNyhaLEopLFE9TTcoWi5yZXZlcnNlKCksSik7cmV0dXJuW3EsUV19ZnVuY3Rpb24gQzcoSil7bGV0IFo9W10scT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKEosTm9kZUZpbHRlci5TSE9XX0VMRU1FTlQse2FjY2VwdE5vZGU6KFEpPT57bGV0IFg9US50YWdOYW1lPT09IklOUFVUIiYmUS50eXBlPT09ImhpZGRlbiI7aWYoUS5kaXNhYmxlZHx8US5oaWRkZW58fFgpcmV0dXJuIE5vZGVGaWx0ZXIuRklMVEVSX1NLSVA7cmV0dXJuIFEudGFiSW5kZXg+PTA/Tm9kZUZpbHRlci5GSUxURVJfQUNDRVBUOk5vZGVGaWx0ZXIuRklMVEVSX1NLSVB9fSk7d2hpbGUocS5uZXh0Tm9kZSgpKVoucHVzaChxLmN1cnJlbnROb2RlKTtyZXR1cm4gWn1mdW5jdGlvbiBNNyhKLFope2ZvcihsZXQgcSBvZiBKKWlmKCFwcShxLHt1cFRvOlp9KSlyZXR1cm4gcX1mdW5jdGlvbiBwcShKLHt1cFRvOlp9KXtpZihnZXRDb21wdXRlZFN0eWxlKEopLnZpc2liaWxpdHk9PT0iaGlkZGVuIilyZXR1cm4hMDt3aGlsZShKKXtpZihaIT09dm9pZCAwJiZKPT09WilyZXR1cm4hMTtpZihnZXRDb21wdXRlZFN0eWxlKEopLmRpc3BsYXk9PT0ibm9uZSIpcmV0dXJuITA7Sj1KLnBhcmVudEVsZW1lbnR9cmV0dXJuITF9ZnVuY3Rpb24gdXEoSil7cmV0dXJuIEogaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50JiYic2VsZWN0ImluIEp9ZnVuY3Rpb24gVzEoSix7c2VsZWN0Olo9ITF9PXt9KXtpZihKJiZKLmZvY3VzKXtsZXQgcT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKEouZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KSxKIT09cSYmdXEoSikmJlopSi5zZWxlY3QoKX19dmFyIHc3PWRxKCk7ZnVuY3Rpb24gZHEoKXtsZXQgSj1bXTtyZXR1cm57YWRkKFope2xldCBxPUpbMF07aWYoWiE9PXEpcT8ucGF1c2UoKTtKPXk3KEosWiksSi51bnNoaWZ0KFopfSxyZW1vdmUoWil7Sj15NyhKLFopLEpbMF0/LnJlc3VtZSgpfX19ZnVuY3Rpb24geTcoSixaKXtsZXQgcT1bLi4uSl0sUT1xLmluZGV4T2YoWik7aWYoUSE9PS0xKXEuc3BsaWNlKFEsMSk7cmV0dXJuIHF9ZnVuY3Rpb24gY3EoSil7cmV0dXJuIEouZmlsdGVyKChaKT0+Wi50YWdOYW1lIT09IkEiKX12YXIgUjc9WyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXTt2YXJ7bWluOm8wLG1heDpJMCxyb3VuZDpaNixmbG9vcjpxNn09TWF0aCx1MD0oSik9Pih7eDpKLHk6Sn0pLGxxPXtsZWZ0OiJyaWdodCIscmlnaHQ6ImxlZnQiLGJvdHRvbToidG9wIix0b3A6ImJvdHRvbSJ9O2Z1bmN0aW9uIGg2KEosWixxKXtyZXR1cm4gSTAoSixvMChaLHEpKX1mdW5jdGlvbiBuMChKLFope3JldHVybiB0eXBlb2YgSj09PSJmdW5jdGlvbiI/SihaKTpKfWZ1bmN0aW9uIHQwKEope3JldHVybiBKLnNwbGl0KCItIilbMF19ZnVuY3Rpb24gTDEoSil7cmV0dXJuIEouc3BsaXQoIi0iKVsxXX1mdW5jdGlvbiBnNihKKXtyZXR1cm4gSj09PSJ4Ij8ieSI6IngifWZ1bmN0aW9uIHY2KEope3JldHVybiBKPT09InkiPyJoZWlnaHQiOiJ3aWR0aCJ9ZnVuY3Rpb24gZDAoSil7bGV0IFo9SlswXTtyZXR1cm4gWj09PSJ0Inx8Wj09PSJiIj8ieSI6IngifWZ1bmN0aW9uIHg2KEope3JldHVybiBnNihkMChKKSl9ZnVuY3Rpb24gaDcoSixaLHEpe2lmKHE9PT12b2lkIDApcT0hMTtsZXQgUT1MMShKKSxYPXg2KEopLFk9djYoWCksJD1YPT09IngiP1E9PT0ocT8iZW5kIjoic3RhcnQiKT8icmlnaHQiOiJsZWZ0IjpRPT09InN0YXJ0Ij8iYm90dG9tIjoidG9wIjtpZihaLnJlZmVyZW5jZVtZXT5aLmZsb2F0aW5nW1ldKSQ9SjYoJCk7cmV0dXJuWyQsSjYoJCldfWZ1bmN0aW9uIGc3KEope2xldCBaPUo2KEopO3JldHVybltSNihKKSxaLFI2KFopXX1mdW5jdGlvbiBSNihKKXtyZXR1cm4gSi5pbmNsdWRlcygic3RhcnQiKT9KLnJlcGxhY2UoInN0YXJ0IiwiZW5kIik6Si5yZXBsYWNlKCJlbmQiLCJzdGFydCIpfXZhciBTNz1bImxlZnQiLCJyaWdodCJdLGI3PVsicmlnaHQiLCJsZWZ0Il0saXE9WyJ0b3AiLCJib3R0b20iXSxzcT1bImJvdHRvbSIsInRvcCJdO2Z1bmN0aW9uIGFxKEosWixxKXtzd2l0Y2goSil7Y2FzZSJ0b3AiOmNhc2UiYm90dG9tIjppZihxKXJldHVybiBaP2I3OlM3O3JldHVybiBaP1M3OmI3O2Nhc2UibGVmdCI6Y2FzZSJyaWdodCI6cmV0dXJuIFo/aXE6c3E7ZGVmYXVsdDpyZXR1cm5bXX19ZnVuY3Rpb24gdjcoSixaLHEsUSl7bGV0IFg9TDEoSiksWT1hcSh0MChKKSxxPT09InN0YXJ0IixRKTtpZihYKXtpZihZPVkubWFwKCgkKT0+JCsiLSIrWCksWilZPVkuY29uY2F0KFkubWFwKFI2KSl9cmV0dXJuIFl9ZnVuY3Rpb24gSjYoSil7bGV0IFo9dDAoSik7cmV0dXJuIGxxW1pdK0ouc2xpY2UoWi5sZW5ndGgpfWZ1bmN0aW9uIHJxKEope3JldHVybnt0b3A6MCxyaWdodDowLGJvdHRvbTowLGxlZnQ6MCwuLi5KfX1mdW5jdGlvbiBtOChKKXtyZXR1cm4gdHlwZW9mIEohPT0ibnVtYmVyIj9ycShKKTp7dG9wOkoscmlnaHQ6Sixib3R0b206SixsZWZ0Okp9fWZ1bmN0aW9uIFUxKEope2xldHt4OloseTpxLHdpZHRoOlEsaGVpZ2h0Olh9PUo7cmV0dXJue3dpZHRoOlEsaGVpZ2h0OlgsdG9wOnEsbGVmdDpaLHJpZ2h0OlorUSxib3R0b206cStYLHg6Wix5OnF9fWZ1bmN0aW9uIHg3KEosWixxKXtsZXR7cmVmZXJlbmNlOlEsZmxvYXRpbmc6WH09SixZPWQwKFopLCQ9eDYoWiksSz12NigkKSxCPXQwKFopLEc9WT09PSJ5IixIPVEueCtRLndpZHRoLzItWC53aWR0aC8yLHo9US55K1EuaGVpZ2h0LzItWC5oZWlnaHQvMixVPVFbS10vMi1YW0tdLzIsVjtzd2l0Y2goQil7Y2FzZSJ0b3AiOlY9e3g6SCx5OlEueS1YLmhlaWdodH07YnJlYWs7Y2FzZSJib3R0b20iOlY9e3g6SCx5OlEueStRLmhlaWdodH07YnJlYWs7Y2FzZSJyaWdodCI6Vj17eDpRLngrUS53aWR0aCx5Onp9O2JyZWFrO2Nhc2UibGVmdCI6Vj17eDpRLngtWC53aWR0aCx5Onp9O2JyZWFrO2RlZmF1bHQ6Vj17eDpRLngseTpRLnl9fXN3aXRjaChMMShaKSl7Y2FzZSJzdGFydCI6VlskXS09VSoocSYmRz8tMToxKTticmVhaztjYXNlImVuZCI6VlskXSs9VSoocSYmRz8tMToxKTticmVha31yZXR1cm4gVn1hc3luYyBmdW5jdGlvbiBwNyhKLFope3ZhciBxO2lmKFo9PT12b2lkIDApWj17fTtsZXR7eDpRLHk6WCxwbGF0Zm9ybTpZLHJlY3RzOiQsZWxlbWVudHM6SyxzdHJhdGVneTpCfT1KLHtib3VuZGFyeTpHPSJjbGlwcGluZ0FuY2VzdG9ycyIscm9vdEJvdW5kYXJ5Okg9InZpZXdwb3J0IixlbGVtZW50Q29udGV4dDp6PSJmbG9hdGluZyIsYWx0Qm91bmRhcnk6VT0hMSxwYWRkaW5nOlY9MH09bjAoWixKKSxGPW04KFYpLEQ9S1tVP3o9PT0iZmxvYXRpbmciPyJyZWZlcmVuY2UiOiJmbG9hdGluZyI6el0sTz1VMShhd2FpdCBZLmdldENsaXBwaW5nUmVjdCh7ZWxlbWVudDooKHE9YXdhaXQoWS5pc0VsZW1lbnQ9PW51bGw/dm9pZCAwOlkuaXNFbGVtZW50KEQpKSkhPW51bGw/cTohMCk/RDpELmNvbnRleHRFbGVtZW50fHxhd2FpdChZLmdldERvY3VtZW50RWxlbWVudD09bnVsbD92b2lkIDA6WS5nZXREb2N1bWVudEVsZW1lbnQoSy5mbG9hdGluZykpLGJvdW5kYXJ5Okcscm9vdEJvdW5kYXJ5Okgsc3RyYXRlZ3k6Qn0pKSxOPXo9PT0iZmxvYXRpbmciP3t4OlEseTpYLHdpZHRoOiQuZmxvYXRpbmcud2lkdGgsaGVpZ2h0OiQuZmxvYXRpbmcuaGVpZ2h0fTokLnJlZmVyZW5jZSxBPWF3YWl0KFkuZ2V0T2Zmc2V0UGFyZW50PT1udWxsP3ZvaWQgMDpZLmdldE9mZnNldFBhcmVudChLLmZsb2F0aW5nKSksaj1hd2FpdChZLmlzRWxlbWVudD09bnVsbD92b2lkIDA6WS5pc0VsZW1lbnQoQSkpP2F3YWl0KFkuZ2V0U2NhbGU9PW51bGw/dm9pZCAwOlkuZ2V0U2NhbGUoQSkpfHx7eDoxLHk6MX06e3g6MSx5OjF9LHc9VTEoWS5jb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdD9hd2FpdCBZLmNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0KHtlbGVtZW50czpLLHJlY3Q6TixvZmZzZXRQYXJlbnQ6QSxzdHJhdGVneTpCfSk6Tik7cmV0dXJue3RvcDooTy50b3Atdy50b3ArRi50b3ApL2oueSxib3R0b206KHcuYm90dG9tLU8uYm90dG9tK0YuYm90dG9tKS9qLnksbGVmdDooTy5sZWZ0LXcubGVmdCtGLmxlZnQpL2oueCxyaWdodDoody5yaWdodC1PLnJpZ2h0K0YucmlnaHQpL2oueH19dmFyIG9xPTUwLHU3PWFzeW5jKEosWixxKT0+e2xldHtwbGFjZW1lbnQ6UT0iYm90dG9tIixzdHJhdGVneTpYPSJhYnNvbHV0ZSIsbWlkZGxld2FyZTpZPVtdLHBsYXRmb3JtOiR9PXEsSz0kLmRldGVjdE92ZXJmbG93PyQ6ey4uLiQsZGV0ZWN0T3ZlcmZsb3c6cDd9LEI9YXdhaXQoJC5pc1JUTD09bnVsbD92b2lkIDA6JC5pc1JUTChaKSksRz1hd2FpdCAkLmdldEVsZW1lbnRSZWN0cyh7cmVmZXJlbmNlOkosZmxvYXRpbmc6WixzdHJhdGVneTpYfSkse3g6SCx5Onp9PXg3KEcsUSxCKSxVPVEsVj0wLEY9e307Zm9yKGxldCBMPTA7TDxZLmxlbmd0aDtMKyspe2xldCBEPVlbTF07aWYoIUQpY29udGludWU7bGV0e25hbWU6TyxmbjpOfT1ELHt4OkEseTpqLGRhdGE6dyxyZXNldDpifT1hd2FpdCBOKHt4OkgseTp6LGluaXRpYWxQbGFjZW1lbnQ6USxwbGFjZW1lbnQ6VSxzdHJhdGVneTpYLG1pZGRsZXdhcmVEYXRhOkYscmVjdHM6RyxwbGF0Zm9ybTpLLGVsZW1lbnRzOntyZWZlcmVuY2U6SixmbG9hdGluZzpafX0pO2lmKEg9QSE9bnVsbD9BOkgsej1qIT1udWxsP2o6eixGW09dPXsuLi5GW09dLC4uLnd9LGImJlY8b3Epe2lmKFYrKyx0eXBlb2YgYj09PSJvYmplY3QiKXtpZihiLnBsYWNlbWVudClVPWIucGxhY2VtZW50O2lmKGIucmVjdHMpRz1iLnJlY3RzPT09ITA/YXdhaXQgJC5nZXRFbGVtZW50UmVjdHMoe3JlZmVyZW5jZTpKLGZsb2F0aW5nOlosc3RyYXRlZ3k6WH0pOmIucmVjdHM7KHt4OkgseTp6fT14NyhHLFUsQikpfUw9LTF9fXJldHVybnt4OkgseTp6LHBsYWNlbWVudDpVLHN0cmF0ZWd5OlgsbWlkZGxld2FyZURhdGE6Rn19LGQ3PShKKT0+KHtuYW1lOiJhcnJvdyIsb3B0aW9uczpKLGFzeW5jIGZuKFope2xldHt4OnEseTpRLHBsYWNlbWVudDpYLHJlY3RzOlkscGxhdGZvcm06JCxlbGVtZW50czpLLG1pZGRsZXdhcmVEYXRhOkJ9PVose2VsZW1lbnQ6RyxwYWRkaW5nOkg9MH09bjAoSixaKXx8e307aWYoRz09bnVsbClyZXR1cm57fTtsZXQgej1tOChIKSxVPXt4OnEseTpRfSxWPXg2KFgpLEY9djYoViksTD1hd2FpdCAkLmdldERpbWVuc2lvbnMoRyksRD1WPT09InkiLE89RD8idG9wIjoibGVmdCIsTj1EPyJib3R0b20iOiJyaWdodCIsQT1EPyJjbGllbnRIZWlnaHQiOiJjbGllbnRXaWR0aCIsaj1ZLnJlZmVyZW5jZVtGXStZLnJlZmVyZW5jZVtWXS1VW1ZdLVkuZmxvYXRpbmdbRl0sdz1VW1ZdLVkucmVmZXJlbmNlW1ZdLGI9YXdhaXQoJC5nZXRPZmZzZXRQYXJlbnQ9PW51bGw/dm9pZCAwOiQuZ2V0T2Zmc2V0UGFyZW50KEcpKSxQPWI/YltBXTowO2lmKCFQfHwhYXdhaXQoJC5pc0VsZW1lbnQ9PW51bGw/dm9pZCAwOiQuaXNFbGVtZW50KGIpKSlQPUsuZmxvYXRpbmdbQV18fFkuZmxvYXRpbmdbRl07bGV0IHY9ai8yLXcvMixjPVAvMi1MW0ZdLzItMSxmPW8wKHpbT10sYyksbz1vMCh6W05dLGMpLFowPWYsdD1QLUxbRl0tbyxhPVAvMi1MW0ZdLzIrdixrPWg2KFowLGEsdCkseD0hQi5hcnJvdyYmTDEoWCkhPW51bGwmJmEhPT1rJiZZLnJlZmVyZW5jZVtGXS8yLShhPFowP2Y6byktTFtGXS8yPDAscz14P2E8WjA/YS1aMDphLXQ6MDtyZXR1cm57W1ZdOlVbVl0rcyxkYXRhOntbVl06ayxjZW50ZXJPZmZzZXQ6YS1rLXMsLi4ueCYme2FsaWdubWVudE9mZnNldDpzfX0scmVzZXQ6eH19fSk7dmFyIGM3PWZ1bmN0aW9uKEope2lmKEo9PT12b2lkIDApSj17fTtyZXR1cm57bmFtZToiZmxpcCIsb3B0aW9uczpKLGFzeW5jIGZuKFope3ZhciBxLFE7bGV0e3BsYWNlbWVudDpYLG1pZGRsZXdhcmVEYXRhOlkscmVjdHM6JCxpbml0aWFsUGxhY2VtZW50OksscGxhdGZvcm06QixlbGVtZW50czpHfT1aLHttYWluQXhpczpIPSEwLGNyb3NzQXhpczp6PSEwLGZhbGxiYWNrUGxhY2VtZW50czpVLGZhbGxiYWNrU3RyYXRlZ3k6Vj0iYmVzdEZpdCIsZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbjpGPSJub25lIixmbGlwQWxpZ25tZW50Okw9ITAsLi4uRH09bjAoSixaKTtpZigocT1ZLmFycm93KSE9bnVsbCYmcS5hbGlnbm1lbnRPZmZzZXQpcmV0dXJue307bGV0IE89dDAoWCksTj1kMChLKSxBPXQwKEspPT09SyxqPWF3YWl0KEIuaXNSVEw9PW51bGw/dm9pZCAwOkIuaXNSVEwoRy5mbG9hdGluZykpLHc9VXx8KEF8fCFMP1tKNihLKV06ZzcoSykpLGI9RiE9PSJub25lIjtpZighVSYmYil3LnB1c2goLi4udjcoSyxMLEYsaikpO2xldCBQPVtLLC4uLnddLHY9YXdhaXQgQi5kZXRlY3RPdmVyZmxvdyhaLEQpLGM9W10sZj0oKFE9WS5mbGlwKT09bnVsbD92b2lkIDA6US5vdmVyZmxvd3MpfHxbXTtpZihIKWMucHVzaCh2W09dKTtpZih6KXtsZXQgYT1oNyhYLCQsaik7Yy5wdXNoKHZbYVswXV0sdlthWzFdXSl9aWYoZj1bLi4uZix7cGxhY2VtZW50Olgsb3ZlcmZsb3dzOmN9XSwhYy5ldmVyeSgoYSk9PmE8PTApKXt2YXIgbyxaMDtsZXQgYT0oKChvPVkuZmxpcCk9PW51bGw/dm9pZCAwOm8uaW5kZXgpfHwwKSsxLGs9UFthXTtpZihrKXtpZighKHo9PT0iYWxpZ25tZW50Ij9OIT09ZDAoayk6ITEpfHxmLmV2ZXJ5KChwKT0+ZDAocC5wbGFjZW1lbnQpPT09Tj9wLm92ZXJmbG93c1swXT4wOiEwKSlyZXR1cm57ZGF0YTp7aW5kZXg6YSxvdmVyZmxvd3M6Zn0scmVzZXQ6e3BsYWNlbWVudDprfX19bGV0IHg9KFowPWYuZmlsdGVyKChzKT0+cy5vdmVyZmxvd3NbMF08PTApLnNvcnQoKHMscCk9PnMub3ZlcmZsb3dzWzFdLXAub3ZlcmZsb3dzWzFdKVswXSk9PW51bGw/dm9pZCAwOlowLnBsYWNlbWVudDtpZigheClzd2l0Y2goVil7Y2FzZSJiZXN0Rml0Ijp7dmFyIHQ7bGV0IHM9KHQ9Zi5maWx0ZXIoKHApPT57aWYoYil7bGV0IFQ9ZDAocC5wbGFjZW1lbnQpO3JldHVybiBUPT09Tnx8VD09PSJ5In1yZXR1cm4hMH0pLm1hcCgocCk9PltwLnBsYWNlbWVudCxwLm92ZXJmbG93cy5maWx0ZXIoKFQpPT5UPjApLnJlZHVjZSgoVCxkKT0+VCtkLDApXSkuc29ydCgocCxUKT0+cFsxXS1UWzFdKVswXSk9PW51bGw/dm9pZCAwOnRbMF07aWYocyl4PXM7YnJlYWt9Y2FzZSJpbml0aWFsUGxhY2VtZW50Ijp4PUs7YnJlYWt9aWYoWCE9PXgpcmV0dXJue3Jlc2V0OntwbGFjZW1lbnQ6eH19fXJldHVybnt9fX19O2Z1bmN0aW9uIGY3KEosWil7cmV0dXJue3RvcDpKLnRvcC1aLmhlaWdodCxyaWdodDpKLnJpZ2h0LVoud2lkdGgsYm90dG9tOkouYm90dG9tLVouaGVpZ2h0LGxlZnQ6Si5sZWZ0LVoud2lkdGh9fWZ1bmN0aW9uIG03KEope3JldHVybiBSNy5zb21lKChaKT0+SltaXT49MCl9dmFyIGw3PWZ1bmN0aW9uKEope2lmKEo9PT12b2lkIDApSj17fTtyZXR1cm57bmFtZToiaGlkZSIsb3B0aW9uczpKLGFzeW5jIGZuKFope2xldHtyZWN0czpxLHBsYXRmb3JtOlF9PVose3N0cmF0ZWd5Olg9InJlZmVyZW5jZUhpZGRlbiIsLi4uWX09bjAoSixaKTtzd2l0Y2goWCl7Y2FzZSJyZWZlcmVuY2VIaWRkZW4iOntsZXQgJD1hd2FpdCBRLmRldGVjdE92ZXJmbG93KFosey4uLlksZWxlbWVudENvbnRleHQ6InJlZmVyZW5jZSJ9KSxLPWY3KCQscS5yZWZlcmVuY2UpO3JldHVybntkYXRhOntyZWZlcmVuY2VIaWRkZW5PZmZzZXRzOksscmVmZXJlbmNlSGlkZGVuOm03KEspfX19Y2FzZSJlc2NhcGVkIjp7bGV0ICQ9YXdhaXQgUS5kZXRlY3RPdmVyZmxvdyhaLHsuLi5ZLGFsdEJvdW5kYXJ5OiEwfSksSz1mNygkLHEuZmxvYXRpbmcpO3JldHVybntkYXRhOntlc2NhcGVkT2Zmc2V0czpLLGVzY2FwZWQ6bTcoSyl9fX1kZWZhdWx0OnJldHVybnt9fX19fTt2YXIgaTc9bmV3IFNldChbImxlZnQiLCJ0b3AiXSk7YXN5bmMgZnVuY3Rpb24gbnEoSixaKXtsZXR7cGxhY2VtZW50OnEscGxhdGZvcm06USxlbGVtZW50czpYfT1KLFk9YXdhaXQoUS5pc1JUTD09bnVsbD92b2lkIDA6US5pc1JUTChYLmZsb2F0aW5nKSksJD10MChxKSxLPUwxKHEpLEI9ZDAocSk9PT0ieSIsRz1pNy5oYXMoJCk/LTE6MSxIPVkmJkI/LTE6MSx6PW4wKFosSikse21haW5BeGlzOlUsY3Jvc3NBeGlzOlYsYWxpZ25tZW50QXhpczpGfT10eXBlb2Ygej09PSJudW1iZXIiP3ttYWluQXhpczp6LGNyb3NzQXhpczowLGFsaWdubWVudEF4aXM6bnVsbH06e21haW5BeGlzOnoubWFpbkF4aXN8fDAsY3Jvc3NBeGlzOnouY3Jvc3NBeGlzfHwwLGFsaWdubWVudEF4aXM6ei5hbGlnbm1lbnRBeGlzfTtpZihLJiZ0eXBlb2YgRj09PSJudW1iZXIiKVY9Sz09PSJlbmQiP0YqLTE6RjtyZXR1cm4gQj97eDpWKkgseTpVKkd9Ont4OlUqRyx5OlYqSH19dmFyIHM3PWZ1bmN0aW9uKEope2lmKEo9PT12b2lkIDApSj0wO3JldHVybntuYW1lOiJvZmZzZXQiLG9wdGlvbnM6Sixhc3luYyBmbihaKXt2YXIgcSxRO2xldHt4OlgseTpZLHBsYWNlbWVudDokLG1pZGRsZXdhcmVEYXRhOkt9PVosQj1hd2FpdCBucShaLEopO2lmKCQ9PT0oKHE9Sy5vZmZzZXQpPT1udWxsP3ZvaWQgMDpxLnBsYWNlbWVudCkmJihRPUsuYXJyb3cpIT1udWxsJiZRLmFsaWdubWVudE9mZnNldClyZXR1cm57fTtyZXR1cm57eDpYK0IueCx5OlkrQi55LGRhdGE6ey4uLkIscGxhY2VtZW50OiR9fX19fSxhNz1mdW5jdGlvbihKKXtpZihKPT09dm9pZCAwKUo9e307cmV0dXJue25hbWU6InNoaWZ0IixvcHRpb25zOkosYXN5bmMgZm4oWil7bGV0e3g6cSx5OlEscGxhY2VtZW50OlgscGxhdGZvcm06WX09Wix7bWFpbkF4aXM6JD0hMCxjcm9zc0F4aXM6Sz0hMSxsaW1pdGVyOkI9e2ZuOihPKT0+e2xldHt4Ok4seTpBfT1PO3JldHVybnt4Ok4seTpBfX19LC4uLkd9PW4wKEosWiksSD17eDpxLHk6UX0sej1hd2FpdCBZLmRldGVjdE92ZXJmbG93KFosRyksVT1kMCh0MChYKSksVj1nNihVKSxGPUhbVl0sTD1IW1VdO2lmKCQpe2xldCBPPVY9PT0ieSI/InRvcCI6ImxlZnQiLE49Vj09PSJ5Ij8iYm90dG9tIjoicmlnaHQiLEE9Rit6W09dLGo9Ri16W05dO0Y9aDYoQSxGLGopfWlmKEspe2xldCBPPVU9PT0ieSI/InRvcCI6ImxlZnQiLE49VT09PSJ5Ij8iYm90dG9tIjoicmlnaHQiLEE9TCt6W09dLGo9TC16W05dO0w9aDYoQSxMLGopfWxldCBEPUIuZm4oey4uLlosW1ZdOkYsW1VdOkx9KTtyZXR1cm57Li4uRCxkYXRhOnt4OkQueC1xLHk6RC55LVEsZW5hYmxlZDp7W1ZdOiQsW1VdOkt9fX19fX0scjc9ZnVuY3Rpb24oSil7aWYoSj09PXZvaWQgMClKPXt9O3JldHVybntvcHRpb25zOkosZm4oWil7bGV0e3g6cSx5OlEscGxhY2VtZW50OlgscmVjdHM6WSxtaWRkbGV3YXJlRGF0YTokfT1aLHtvZmZzZXQ6Sz0wLG1haW5BeGlzOkI9ITAsY3Jvc3NBeGlzOkc9ITB9PW4wKEosWiksSD17eDpxLHk6UX0sej1kMChYKSxVPWc2KHopLFY9SFtVXSxGPUhbel0sTD1uMChLLFopLEQ9dHlwZW9mIEw9PT0ibnVtYmVyIj97bWFpbkF4aXM6TCxjcm9zc0F4aXM6MH06e21haW5BeGlzOjAsY3Jvc3NBeGlzOjAsLi4uTH07aWYoQil7bGV0IEE9VT09PSJ5Ij8iaGVpZ2h0Ijoid2lkdGgiLGo9WS5yZWZlcmVuY2VbVV0tWS5mbG9hdGluZ1tBXStELm1haW5BeGlzLHc9WS5yZWZlcmVuY2VbVV0rWS5yZWZlcmVuY2VbQV0tRC5tYWluQXhpcztpZihWPGopVj1qO2Vsc2UgaWYoVj53KVY9d31pZihHKXt2YXIgTyxOO2xldCBBPVU9PT0ieSI/IndpZHRoIjoiaGVpZ2h0IixqPWk3Lmhhcyh0MChYKSksdz1ZLnJlZmVyZW5jZVt6XS1ZLmZsb2F0aW5nW0FdKyhqPygoTz0kLm9mZnNldCk9PW51bGw/dm9pZCAwOk9bel0pfHwwOjApKyhqPzA6RC5jcm9zc0F4aXMpLGI9WS5yZWZlcmVuY2Vbel0rWS5yZWZlcmVuY2VbQV0rKGo/MDooKE49JC5vZmZzZXQpPT1udWxsP3ZvaWQgMDpOW3pdKXx8MCktKGo/RC5jcm9zc0F4aXM6MCk7aWYoRjx3KUY9dztlbHNlIGlmKEY+YilGPWJ9cmV0dXJue1tVXTpWLFt6XTpGfX19fSxvNz1mdW5jdGlvbihKKXtpZihKPT09dm9pZCAwKUo9e307cmV0dXJue25hbWU6InNpemUiLG9wdGlvbnM6Sixhc3luYyBmbihaKXt2YXIgcSxRO2xldHtwbGFjZW1lbnQ6WCxyZWN0czpZLHBsYXRmb3JtOiQsZWxlbWVudHM6S309Wix7YXBwbHk6Qj0oKT0+e30sLi4uR309bjAoSixaKSxIPWF3YWl0ICQuZGV0ZWN0T3ZlcmZsb3coWixHKSx6PXQwKFgpLFU9TDEoWCksVj1kMChYKT09PSJ5Iix7d2lkdGg6RixoZWlnaHQ6TH09WS5mbG9hdGluZyxELE87aWYoej09PSJ0b3AifHx6PT09ImJvdHRvbSIpRD16LE89VT09PShhd2FpdCgkLmlzUlRMPT1udWxsP3ZvaWQgMDokLmlzUlRMKEsuZmxvYXRpbmcpKT8ic3RhcnQiOiJlbmQiKT8ibGVmdCI6InJpZ2h0IjtlbHNlIE89eixEPVU9PT0iZW5kIj8idG9wIjoiYm90dG9tIjtsZXQgTj1MLUgudG9wLUguYm90dG9tLEE9Ri1ILmxlZnQtSC5yaWdodCxqPW8wKEwtSFtEXSxOKSx3PW8wKEYtSFtPXSxBKSxiPSFaLm1pZGRsZXdhcmVEYXRhLnNoaWZ0LFA9aix2PXc7aWYoKHE9Wi5taWRkbGV3YXJlRGF0YS5zaGlmdCkhPW51bGwmJnEuZW5hYmxlZC54KXY9QTtpZigoUT1aLm1pZGRsZXdhcmVEYXRhLnNoaWZ0KSE9bnVsbCYmUS5lbmFibGVkLnkpUD1OO2lmKGImJiFVKXtsZXQgZj1JMChILmxlZnQsMCksbz1JMChILnJpZ2h0LDApLFowPUkwKEgudG9wLDApLHQ9STAoSC5ib3R0b20sMCk7aWYoVil2PUYtMiooZiE9PTB8fG8hPT0wP2YrbzpJMChILmxlZnQsSC5yaWdodCkpO2Vsc2UgUD1MLTIqKFowIT09MHx8dCE9PTA/WjArdDpJMChILnRvcCxILmJvdHRvbSkpfWF3YWl0IEIoey4uLlosYXZhaWxhYmxlV2lkdGg6dixhdmFpbGFibGVIZWlnaHQ6UH0pO2xldCBjPWF3YWl0ICQuZ2V0RGltZW5zaW9ucyhLLmZsb2F0aW5nKTtpZihGIT09Yy53aWR0aHx8TCE9PWMuaGVpZ2h0KXJldHVybntyZXNldDp7cmVjdHM6ITB9fTtyZXR1cm57fX19fTtmdW5jdGlvbiBmNigpe3JldHVybiB0eXBlb2Ygd2luZG93PCJ1In1mdW5jdGlvbiBPMShKKXtpZih0NyhKKSlyZXR1cm4oSi5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIiNkb2N1bWVudCJ9ZnVuY3Rpb24geTAoSil7dmFyIFo7cmV0dXJuKEo9PW51bGx8fChaPUoub3duZXJEb2N1bWVudCk9PW51bGw/dm9pZCAwOlouZGVmYXVsdFZpZXcpfHx3aW5kb3d9ZnVuY3Rpb24gYzAoSil7dmFyIFo7cmV0dXJuKFo9KHQ3KEopP0oub3duZXJEb2N1bWVudDpKLmRvY3VtZW50KXx8d2luZG93LmRvY3VtZW50KT09bnVsbD92b2lkIDA6Wi5kb2N1bWVudEVsZW1lbnR9ZnVuY3Rpb24gdDcoSil7aWYoIWY2KCkpcmV0dXJuITE7cmV0dXJuIEogaW5zdGFuY2VvZiBOb2RlfHxKIGluc3RhbmNlb2YgeTAoSikuTm9kZX1mdW5jdGlvbiB2MChKKXtpZighZjYoKSlyZXR1cm4hMTtyZXR1cm4gSiBpbnN0YW5jZW9mIEVsZW1lbnR8fEogaW5zdGFuY2VvZiB5MChKKS5FbGVtZW50fWZ1bmN0aW9uIGUwKEope2lmKCFmNigpKXJldHVybiExO3JldHVybiBKIGluc3RhbmNlb2YgSFRNTEVsZW1lbnR8fEogaW5zdGFuY2VvZiB5MChKKS5IVE1MRWxlbWVudH1mdW5jdGlvbiBuNyhKKXtpZighZjYoKXx8dHlwZW9mIFNoYWRvd1Jvb3Q+InUiKXJldHVybiExO3JldHVybiBKIGluc3RhbmNlb2YgU2hhZG93Um9vdHx8SiBpbnN0YW5jZW9mIHkwKEopLlNoYWRvd1Jvb3R9ZnVuY3Rpb24gYjEoSil7bGV0e292ZXJmbG93Olosb3ZlcmZsb3dYOnEsb3ZlcmZsb3dZOlEsZGlzcGxheTpYfT14MChKKTtyZXR1cm4vYXV0b3xzY3JvbGx8b3ZlcmxheXxoaWRkZW58Y2xpcC8udGVzdChaK1ErcSkmJlghPT0iaW5saW5lIiYmWCE9PSJjb250ZW50cyJ9ZnVuY3Rpb24gZTcoSil7cmV0dXJuL14odGFibGV8dGR8dGgpJC8udGVzdChPMShKKSl9ZnVuY3Rpb24gUTYoSil7dHJ5e2lmKEoubWF0Y2hlcygiOnBvcG92ZXItb3BlbiIpKXJldHVybiEwfWNhdGNoKFope310cnl7cmV0dXJuIEoubWF0Y2hlcygiOm1vZGFsIil9Y2F0Y2goWil7cmV0dXJuITF9fXZhciB0cT0vdHJhbnNmb3JtfHRyYW5zbGF0ZXxzY2FsZXxyb3RhdGV8cGVyc3BlY3RpdmV8ZmlsdGVyLyxlcT0vcGFpbnR8bGF5b3V0fHN0cmljdHxjb250ZW50LyxGMT0oSik9PiEhSiYmSiE9PSJub25lIixwODtmdW5jdGlvbiBtNihKKXtsZXQgWj12MChKKT94MChKKTpKO3JldHVybiBGMShaLnRyYW5zZm9ybSl8fEYxKFoudHJhbnNsYXRlKXx8RjEoWi5zY2FsZSl8fEYxKFoucm90YXRlKXx8RjEoWi5wZXJzcGVjdGl2ZSl8fCFwNigpJiYoRjEoWi5iYWNrZHJvcEZpbHRlcil8fEYxKFouZmlsdGVyKSl8fHRxLnRlc3QoWi53aWxsQ2hhbmdlfHwiIil8fGVxLnRlc3QoWi5jb250YWlufHwiIil9ZnVuY3Rpb24gSjQoSil7bGV0IFo9JDEoSik7d2hpbGUoZTAoWikmJiFOMShaKSl7aWYobTYoWikpcmV0dXJuIFo7ZWxzZSBpZihRNihaKSlyZXR1cm4gbnVsbDtaPSQxKFopfXJldHVybiBudWxsfWZ1bmN0aW9uIHA2KCl7aWYocDg9PW51bGwpcDg9dHlwZW9mIENTUzwidSImJkNTUy5zdXBwb3J0cyYmQ1NTLnN1cHBvcnRzKCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciIsIm5vbmUiKTtyZXR1cm4gcDh9ZnVuY3Rpb24gTjEoSil7cmV0dXJuL14oaHRtbHxib2R5fCNkb2N1bWVudCkkLy50ZXN0KE8xKEopKX1mdW5jdGlvbiB4MChKKXtyZXR1cm4geTAoSikuZ2V0Q29tcHV0ZWRTdHlsZShKKX1mdW5jdGlvbiBYNihKKXtpZih2MChKKSlyZXR1cm57c2Nyb2xsTGVmdDpKLnNjcm9sbExlZnQsc2Nyb2xsVG9wOkouc2Nyb2xsVG9wfTtyZXR1cm57c2Nyb2xsTGVmdDpKLnNjcm9sbFgsc2Nyb2xsVG9wOkouc2Nyb2xsWX19ZnVuY3Rpb24gJDEoSil7aWYoTzEoSik9PT0iaHRtbCIpcmV0dXJuIEo7bGV0IFo9Si5hc3NpZ25lZFNsb3R8fEoucGFyZW50Tm9kZXx8bjcoSikmJkouaG9zdHx8YzAoSik7cmV0dXJuIG43KFopP1ouaG9zdDpafWZ1bmN0aW9uIFo0KEope2xldCBaPSQxKEopO2lmKE4xKFopKXJldHVybiBKLm93bmVyRG9jdW1lbnQ/Si5vd25lckRvY3VtZW50LmJvZHk6Si5ib2R5O2lmKGUwKFopJiZiMShaKSlyZXR1cm4gWjtyZXR1cm4gWjQoWil9ZnVuY3Rpb24gRDEoSixaLHEpe3ZhciBRO2lmKFo9PT12b2lkIDApWj1bXTtpZihxPT09dm9pZCAwKXE9ITA7bGV0IFg9WjQoSiksWT1YPT09KChRPUoub3duZXJEb2N1bWVudCk9PW51bGw/dm9pZCAwOlEuYm9keSksJD15MChYKTtpZihZKXtsZXQgSz11NigkKTtyZXR1cm4gWi5jb25jYXQoJCwkLnZpc3VhbFZpZXdwb3J0fHxbXSxiMShYKT9YOltdLEsmJnE/RDEoSyk6W10pfWVsc2UgcmV0dXJuIFouY29uY2F0KFgsRDEoWCxbXSxxKSl9ZnVuY3Rpb24gdTYoSil7cmV0dXJuIEoucGFyZW50JiZPYmplY3QuZ2V0UHJvdG90eXBlT2YoSi5wYXJlbnQpP0ouZnJhbWVFbGVtZW50Om51bGx9ZnVuY3Rpb24gWTQoSil7bGV0IFo9eDAoSikscT1wYXJzZUZsb2F0KFoud2lkdGgpfHwwLFE9cGFyc2VGbG9hdChaLmhlaWdodCl8fDAsWD1lMChKKSxZPVg/Si5vZmZzZXRXaWR0aDpxLCQ9WD9KLm9mZnNldEhlaWdodDpRLEs9WjYocSkhPT1ZfHxaNihRKSE9PSQ7aWYoSylxPVksUT0kO3JldHVybnt3aWR0aDpxLGhlaWdodDpRLCQ6S319ZnVuY3Rpb24gZDgoSil7cmV0dXJuIXYwKEopP0ouY29udGV4dEVsZW1lbnQ6Sn1mdW5jdGlvbiBSMShKKXtsZXQgWj1kOChKKTtpZighZTAoWikpcmV0dXJuIHUwKDEpO2xldCBxPVouZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse3dpZHRoOlEsaGVpZ2h0OlgsJDpZfT1ZNChaKSwkPShZP1o2KHEud2lkdGgpOnEud2lkdGgpL1EsSz0oWT9aNihxLmhlaWdodCk6cS5oZWlnaHQpL1g7aWYoISR8fCFOdW1iZXIuaXNGaW5pdGUoJCkpJD0xO2lmKCFLfHwhTnVtYmVyLmlzRmluaXRlKEspKUs9MTtyZXR1cm57eDokLHk6S319dmFyIEpRPXUwKDApO2Z1bmN0aW9uICQ0KEope2xldCBaPXkwKEopO2lmKCFwNigpfHwhWi52aXN1YWxWaWV3cG9ydClyZXR1cm4gSlE7cmV0dXJue3g6Wi52aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0LHk6Wi52aXN1YWxWaWV3cG9ydC5vZmZzZXRUb3B9fWZ1bmN0aW9uIFpRKEosWixxKXtpZihaPT09dm9pZCAwKVo9ITE7aWYoIXF8fFomJnEhPT15MChKKSlyZXR1cm4hMTtyZXR1cm4gWn1mdW5jdGlvbiBUMShKLFoscSxRKXtpZihaPT09dm9pZCAwKVo9ITE7aWYocT09PXZvaWQgMClxPSExO2xldCBYPUouZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksWT1kOChKKSwkPXUwKDEpO2lmKFopaWYoUSl7aWYodjAoUSkpJD1SMShRKX1lbHNlICQ9UjEoSik7bGV0IEs9WlEoWSxxLFEpPyQ0KFkpOnUwKDApLEI9KFgubGVmdCtLLngpLyQueCxHPShYLnRvcCtLLnkpLyQueSxIPVgud2lkdGgvJC54LHo9WC5oZWlnaHQvJC55O2lmKFkpe2xldCBVPXkwKFkpLFY9USYmdjAoUSk/eTAoUSk6USxGPVUsTD11NihGKTt3aGlsZShMJiZRJiZWIT09Ril7bGV0IEQ9UjEoTCksTz1MLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLE49eDAoTCksQT1PLmxlZnQrKEwuY2xpZW50TGVmdCtwYXJzZUZsb2F0KE4ucGFkZGluZ0xlZnQpKSpELngsaj1PLnRvcCsoTC5jbGllbnRUb3ArcGFyc2VGbG9hdChOLnBhZGRpbmdUb3ApKSpELnk7Qio9RC54LEcqPUQueSxIKj1ELngseio9RC55LEIrPUEsRys9aixGPXkwKEwpLEw9dTYoRil9fXJldHVybiBVMSh7d2lkdGg6SCxoZWlnaHQ6eix4OkIseTpHfSl9ZnVuY3Rpb24gZDYoSixaKXtsZXQgcT1YNihKKS5zY3JvbGxMZWZ0O2lmKCFaKXJldHVybiBUMShjMChKKSkubGVmdCtxO3JldHVybiBaLmxlZnQrcX1mdW5jdGlvbiBLNChKLFope2xldCBxPUouZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUT1xLmxlZnQrWi5zY3JvbGxMZWZ0LWQ2KEoscSksWD1xLnRvcCtaLnNjcm9sbFRvcDtyZXR1cm57eDpRLHk6WH19ZnVuY3Rpb24gcVEoSil7bGV0e2VsZW1lbnRzOloscmVjdDpxLG9mZnNldFBhcmVudDpRLHN0cmF0ZWd5Olh9PUosWT1YPT09ImZpeGVkIiwkPWMwKFEpLEs9Wj9RNihaLmZsb2F0aW5nKTohMTtpZihRPT09JHx8SyYmWSlyZXR1cm4gcTtsZXQgQj17c2Nyb2xsTGVmdDowLHNjcm9sbFRvcDowfSxHPXUwKDEpLEg9dTAoMCksej1lMChRKTtpZih6fHwheiYmIVkpe2lmKE8xKFEpIT09ImJvZHkifHxiMSgkKSlCPVg2KFEpO2lmKHope2xldCBWPVQxKFEpO0c9UjEoUSksSC54PVYueCtRLmNsaWVudExlZnQsSC55PVYueStRLmNsaWVudFRvcH19bGV0IFU9JCYmIXomJiFZP0s0KCQsQik6dTAoMCk7cmV0dXJue3dpZHRoOnEud2lkdGgqRy54LGhlaWdodDpxLmhlaWdodCpHLnkseDpxLngqRy54LUIuc2Nyb2xsTGVmdCpHLngrSC54K1UueCx5OnEueSpHLnktQi5zY3JvbGxUb3AqRy55K0gueStVLnl9fWZ1bmN0aW9uIFFRKEope3JldHVybiBBcnJheS5mcm9tKEouZ2V0Q2xpZW50UmVjdHMoKSl9ZnVuY3Rpb24gWFEoSil7bGV0IFo9YzAoSikscT1YNihKKSxRPUoub3duZXJEb2N1bWVudC5ib2R5LFg9STAoWi5zY3JvbGxXaWR0aCxaLmNsaWVudFdpZHRoLFEuc2Nyb2xsV2lkdGgsUS5jbGllbnRXaWR0aCksWT1JMChaLnNjcm9sbEhlaWdodCxaLmNsaWVudEhlaWdodCxRLnNjcm9sbEhlaWdodCxRLmNsaWVudEhlaWdodCksJD0tcS5zY3JvbGxMZWZ0K2Q2KEopLEs9LXEuc2Nyb2xsVG9wO2lmKHgwKFEpLmRpcmVjdGlvbj09PSJydGwiKSQrPUkwKFouY2xpZW50V2lkdGgsUS5jbGllbnRXaWR0aCktWDtyZXR1cm57d2lkdGg6WCxoZWlnaHQ6WSx4OiQseTpLfX12YXIgcTQ9MjU7ZnVuY3Rpb24gWVEoSixaKXtsZXQgcT15MChKKSxRPWMwKEopLFg9cS52aXN1YWxWaWV3cG9ydCxZPVEuY2xpZW50V2lkdGgsJD1RLmNsaWVudEhlaWdodCxLPTAsQj0wO2lmKFgpe1k9WC53aWR0aCwkPVguaGVpZ2h0O2xldCBIPXA2KCk7aWYoIUh8fEgmJlo9PT0iZml4ZWQiKUs9WC5vZmZzZXRMZWZ0LEI9WC5vZmZzZXRUb3B9bGV0IEc9ZDYoUSk7aWYoRzw9MCl7bGV0IEg9US5vd25lckRvY3VtZW50LHo9SC5ib2R5LFU9Z2V0Q29tcHV0ZWRTdHlsZSh6KSxWPUguY29tcGF0TW9kZT09PSJDU1MxQ29tcGF0Ij9wYXJzZUZsb2F0KFUubWFyZ2luTGVmdCkrcGFyc2VGbG9hdChVLm1hcmdpblJpZ2h0KXx8MDowLEY9TWF0aC5hYnMoUS5jbGllbnRXaWR0aC16LmNsaWVudFdpZHRoLVYpO2lmKEY8PXE0KVktPUZ9ZWxzZSBpZihHPD1xNClZKz1HO3JldHVybnt3aWR0aDpZLGhlaWdodDokLHg6Syx5OkJ9fWZ1bmN0aW9uICRRKEosWil7bGV0IHE9VDEoSiwhMCxaPT09ImZpeGVkIiksUT1xLnRvcCtKLmNsaWVudFRvcCxYPXEubGVmdCtKLmNsaWVudExlZnQsWT1lMChKKT9SMShKKTp1MCgxKSwkPUouY2xpZW50V2lkdGgqWS54LEs9Si5jbGllbnRIZWlnaHQqWS55LEI9WCpZLngsRz1RKlkueTtyZXR1cm57d2lkdGg6JCxoZWlnaHQ6Syx4OkIseTpHfX1mdW5jdGlvbiBRNChKLFoscSl7bGV0IFE7aWYoWj09PSJ2aWV3cG9ydCIpUT1ZUShKLHEpO2Vsc2UgaWYoWj09PSJkb2N1bWVudCIpUT1YUShjMChKKSk7ZWxzZSBpZih2MChaKSlRPSRRKFoscSk7ZWxzZXtsZXQgWD0kNChKKTtRPXt4OloueC1YLngseTpaLnktWC55LHdpZHRoOloud2lkdGgsaGVpZ2h0OlouaGVpZ2h0fX1yZXR1cm4gVTEoUSl9ZnVuY3Rpb24gejQoSixaKXtsZXQgcT0kMShKKTtpZihxPT09Wnx8IXYwKHEpfHxOMShxKSlyZXR1cm4hMTtyZXR1cm4geDAocSkucG9zaXRpb249PT0iZml4ZWQifHx6NChxLFopfWZ1bmN0aW9uIEtRKEosWil7bGV0IHE9Wi5nZXQoSik7aWYocSlyZXR1cm4gcTtsZXQgUT1EMShKLFtdLCExKS5maWx0ZXIoKEspPT52MChLKSYmTzEoSykhPT0iYm9keSIpLFg9bnVsbCxZPXgwKEopLnBvc2l0aW9uPT09ImZpeGVkIiwkPVk/JDEoSik6Sjt3aGlsZSh2MCgkKSYmIU4xKCQpKXtsZXQgSz14MCgkKSxCPW02KCQpO2lmKCFCJiZLLnBvc2l0aW9uPT09ImZpeGVkIilYPW51bGw7aWYoWT8hQiYmIVg6IUImJksucG9zaXRpb249PT0ic3RhdGljIiYmISFYJiYoWC5wb3NpdGlvbj09PSJhYnNvbHV0ZSJ8fFgucG9zaXRpb249PT0iZml4ZWQiKXx8YjEoJCkmJiFCJiZ6NChKLCQpKVE9US5maWx0ZXIoKEgpPT5IIT09JCk7ZWxzZSBYPUs7JD0kMSgkKX1yZXR1cm4gWi5zZXQoSixRKSxRfWZ1bmN0aW9uIHpRKEope2xldHtlbGVtZW50OlosYm91bmRhcnk6cSxyb290Qm91bmRhcnk6USxzdHJhdGVneTpYfT1KLCQ9Wy4uLnE9PT0iY2xpcHBpbmdBbmNlc3RvcnMiP1E2KFopP1tdOktRKFosdGhpcy5fYyk6W10uY29uY2F0KHEpLFFdLEs9UTQoWiwkWzBdLFgpLEI9Sy50b3AsRz1LLnJpZ2h0LEg9Sy5ib3R0b20sej1LLmxlZnQ7Zm9yKGxldCBVPTE7VTwkLmxlbmd0aDtVKyspe2xldCBWPVE0KFosJFtVXSxYKTtCPUkwKFYudG9wLEIpLEc9bzAoVi5yaWdodCxHKSxIPW8wKFYuYm90dG9tLEgpLHo9STAoVi5sZWZ0LHopfXJldHVybnt3aWR0aDpHLXosaGVpZ2h0OkgtQix4OnoseTpCfX1mdW5jdGlvbiBXUShKKXtsZXR7d2lkdGg6WixoZWlnaHQ6cX09WTQoSik7cmV0dXJue3dpZHRoOlosaGVpZ2h0OnF9fWZ1bmN0aW9uIEdRKEosWixxKXtsZXQgUT1lMChaKSxYPWMwKFopLFk9cT09PSJmaXhlZCIsJD1UMShKLCEwLFksWiksSz17c2Nyb2xsTGVmdDowLHNjcm9sbFRvcDowfSxCPXUwKDApO2Z1bmN0aW9uIEcoKXtCLng9ZDYoWCl9aWYoUXx8IVEmJiFZKXtpZihPMShaKSE9PSJib2R5Inx8YjEoWCkpSz1YNihaKTtpZihRKXtsZXQgVj1UMShaLCEwLFksWik7Qi54PVYueCtaLmNsaWVudExlZnQsQi55PVYueStaLmNsaWVudFRvcH1lbHNlIGlmKFgpRygpfWlmKFkmJiFRJiZYKUcoKTtsZXQgSD1YJiYhUSYmIVk/SzQoWCxLKTp1MCgwKSx6PSQubGVmdCtLLnNjcm9sbExlZnQtQi54LUgueCxVPSQudG9wK0suc2Nyb2xsVG9wLUIueS1ILnk7cmV0dXJue3g6eix5OlUsd2lkdGg6JC53aWR0aCxoZWlnaHQ6JC5oZWlnaHR9fWZ1bmN0aW9uIHU4KEope3JldHVybiB4MChKKS5wb3NpdGlvbj09PSJzdGF0aWMifWZ1bmN0aW9uIFg0KEosWil7aWYoIWUwKEopfHx4MChKKS5wb3NpdGlvbj09PSJmaXhlZCIpcmV0dXJuIG51bGw7aWYoWilyZXR1cm4gWihKKTtsZXQgcT1KLm9mZnNldFBhcmVudDtpZihjMChKKT09PXEpcT1xLm93bmVyRG9jdW1lbnQuYm9keTtyZXR1cm4gcX1mdW5jdGlvbiBXNChKLFope2xldCBxPXkwKEopO2lmKFE2KEopKXJldHVybiBxO2lmKCFlMChKKSl7bGV0IFg9JDEoSik7d2hpbGUoWCYmIU4xKFgpKXtpZih2MChYKSYmIXU4KFgpKXJldHVybiBYO1g9JDEoWCl9cmV0dXJuIHF9bGV0IFE9WDQoSixaKTt3aGlsZShRJiZlNyhRKSYmdTgoUSkpUT1YNChRLFopO2lmKFEmJk4xKFEpJiZ1OChRKSYmIW02KFEpKXJldHVybiBxO3JldHVybiBRfHxKNChKKXx8cX12YXIgQlE9YXN5bmMgZnVuY3Rpb24oSil7bGV0IFo9dGhpcy5nZXRPZmZzZXRQYXJlbnR8fFc0LHE9dGhpcy5nZXREaW1lbnNpb25zLFE9YXdhaXQgcShKLmZsb2F0aW5nKTtyZXR1cm57cmVmZXJlbmNlOkdRKEoucmVmZXJlbmNlLGF3YWl0IFooSi5mbG9hdGluZyksSi5zdHJhdGVneSksZmxvYXRpbmc6e3g6MCx5OjAsd2lkdGg6US53aWR0aCxoZWlnaHQ6US5oZWlnaHR9fX07ZnVuY3Rpb24gSFEoSil7cmV0dXJuIHgwKEopLmRpcmVjdGlvbj09PSJydGwifXZhciBHND17Y29udmVydE9mZnNldFBhcmVudFJlbGF0aXZlUmVjdFRvVmlld3BvcnRSZWxhdGl2ZVJlY3Q6cVEsZ2V0RG9jdW1lbnRFbGVtZW50OmMwLGdldENsaXBwaW5nUmVjdDp6USxnZXRPZmZzZXRQYXJlbnQ6VzQsZ2V0RWxlbWVudFJlY3RzOkJRLGdldENsaWVudFJlY3RzOlFRLGdldERpbWVuc2lvbnM6V1EsZ2V0U2NhbGU6UjEsaXNFbGVtZW50OnYwLGlzUlRMOkhRfTtmdW5jdGlvbiBCNChKLFope3JldHVybiBKLng9PT1aLngmJkoueT09PVoueSYmSi53aWR0aD09PVoud2lkdGgmJkouaGVpZ2h0PT09Wi5oZWlnaHR9ZnVuY3Rpb24gVlEoSixaKXtsZXQgcT1udWxsLFEsWD1jMChKKTtmdW5jdGlvbiBZKCl7dmFyIEs7Y2xlYXJUaW1lb3V0KFEpLChLPXEpPT1udWxsfHxLLmRpc2Nvbm5lY3QoKSxxPW51bGx9ZnVuY3Rpb24gJChLLEIpe2lmKEs9PT12b2lkIDApSz0hMTtpZihCPT09dm9pZCAwKUI9MTtZKCk7bGV0IEc9Si5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx7bGVmdDpILHRvcDp6LHdpZHRoOlUsaGVpZ2h0OlZ9PUc7aWYoIUspWigpO2lmKCFVfHwhVilyZXR1cm47bGV0IEY9cTYoeiksTD1xNihYLmNsaWVudFdpZHRoLShIK1UpKSxEPXE2KFguY2xpZW50SGVpZ2h0LSh6K1YpKSxPPXE2KEgpLEE9e3Jvb3RNYXJnaW46LUYrInB4ICIrLUwrInB4ICIrLUQrInB4ICIrLU8rInB4Iix0aHJlc2hvbGQ6STAoMCxvMCgxLEIpKXx8MX0saj0hMDtmdW5jdGlvbiB3KGIpe2xldCBQPWJbMF0uaW50ZXJzZWN0aW9uUmF0aW87aWYoUCE9PUIpe2lmKCFqKXJldHVybiAkKCk7aWYoIVApUT1zZXRUaW1lb3V0KCgpPT57JCghMSwwLjAwMDAwMDEpfSwxMDAwKTtlbHNlICQoITEsUCl9aWYoUD09PTEmJiFCNChHLEouZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpKSQoKTtqPSExfXRyeXtxPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih3LHsuLi5BLHJvb3Q6WC5vd25lckRvY3VtZW50fSl9Y2F0Y2goYil7cT1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIodyxBKX1xLm9ic2VydmUoSil9cmV0dXJuICQoITApLFl9ZnVuY3Rpb24gYzgoSixaLHEsUSl7aWYoUT09PXZvaWQgMClRPXt9O2xldHthbmNlc3RvclNjcm9sbDpYPSEwLGFuY2VzdG9yUmVzaXplOlk9ITAsZWxlbWVudFJlc2l6ZTokPXR5cGVvZiBSZXNpemVPYnNlcnZlcj09PSJmdW5jdGlvbiIsbGF5b3V0U2hpZnQ6Sz10eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI9PT0iZnVuY3Rpb24iLGFuaW1hdGlvbkZyYW1lOkI9ITF9PVEsRz1kOChKKSxIPVh8fFk/Wy4uLkc/RDEoRyk6W10sLi4uWj9EMShaKTpbXV06W107SC5mb3JFYWNoKChPKT0+e1gmJk8uYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixxLHtwYXNzaXZlOiEwfSksWSYmTy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHEpfSk7bGV0IHo9RyYmSz9WUShHLHEpOm51bGwsVT0tMSxWPW51bGw7aWYoJCl7aWYoVj1uZXcgUmVzaXplT2JzZXJ2ZXIoKE8pPT57bGV0W05dPU87aWYoTiYmTi50YXJnZXQ9PT1HJiZWJiZaKVYudW5vYnNlcnZlKFopLGNhbmNlbEFuaW1hdGlvbkZyYW1lKFUpLFU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dmFyIEE7KEE9Vik9PW51bGx8fEEub2JzZXJ2ZShaKX0pO3EoKX0pLEcmJiFCKVYub2JzZXJ2ZShHKTtpZihaKVYub2JzZXJ2ZShaKX1sZXQgRixMPUI/VDEoSik6bnVsbDtpZihCKUQoKTtmdW5jdGlvbiBEKCl7bGV0IE89VDEoSik7aWYoTCYmIUI0KEwsTykpcSgpO0w9TyxGPXJlcXVlc3RBbmltYXRpb25GcmFtZShEKX1yZXR1cm4gcSgpLCgpPT57dmFyIE87aWYoSC5mb3JFYWNoKChOKT0+e1gmJk4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixxKSxZJiZOLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscSl9KSx6PT1udWxsfHx6KCksKE89Vik9PW51bGx8fE8uZGlzY29ubmVjdCgpLFY9bnVsbCxCKWNhbmNlbEFuaW1hdGlvbkZyYW1lKEYpfX12YXIgSDQ9czc7dmFyIFY0PWE3LEw0PWM3LFU0PW83LEY0PWw3LGw4PWQ3O3ZhciBEND1yNyxpOD0oSixaLHEpPT57bGV0IFE9bmV3IE1hcCxYPXtwbGF0Zm9ybTpHNCwuLi5xfSxZPXsuLi5YLnBsYXRmb3JtLF9jOlF9O3JldHVybiB1NyhKLFosey4uLlgscGxhdGZvcm06WX0pfTt2YXIgTFE9dHlwZW9mIGRvY3VtZW50PCJ1IixVUT1mdW5jdGlvbigpe30sYzY9TFE/TTA6VVE7ZnVuY3Rpb24gbDYoSixaKXtpZihKPT09WilyZXR1cm4hMDtpZih0eXBlb2YgSiE9PXR5cGVvZiBaKXJldHVybiExO2lmKHR5cGVvZiBKPT09ImZ1bmN0aW9uIiYmSi50b1N0cmluZygpPT09Wi50b1N0cmluZygpKXJldHVybiEwO2xldCBxLFEsWDtpZihKJiZaJiZ0eXBlb2YgSj09PSJvYmplY3QiKXtpZihBcnJheS5pc0FycmF5KEopKXtpZihxPUoubGVuZ3RoLHEhPT1aLmxlbmd0aClyZXR1cm4hMTtmb3IoUT1xO1EtLSE9PTA7KWlmKCFsNihKW1FdLFpbUV0pKXJldHVybiExO3JldHVybiEwfWlmKFg9T2JqZWN0LmtleXMoSikscT1YLmxlbmd0aCxxIT09T2JqZWN0LmtleXMoWikubGVuZ3RoKXJldHVybiExO2ZvcihRPXE7US0tIT09MDspaWYoIXt9Lmhhc093blByb3BlcnR5LmNhbGwoWixYW1FdKSlyZXR1cm4hMTtmb3IoUT1xO1EtLSE9PTA7KXtsZXQgWT1YW1FdO2lmKFk9PT0iX293bmVyIiYmSi4kJHR5cGVvZiljb250aW51ZTtpZighbDYoSltZXSxaW1ldKSlyZXR1cm4hMX1yZXR1cm4hMH1yZXR1cm4gSiE9PUomJlohPT1afWZ1bmN0aW9uIE40KEope2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybiAxO3JldHVybihKLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdykuZGV2aWNlUGl4ZWxSYXRpb3x8MX1mdW5jdGlvbiBPNChKLFope2xldCBxPU40KEopO3JldHVybiBNYXRoLnJvdW5kKFoqcSkvcX1mdW5jdGlvbiBzOChKKXtsZXQgWj1FKEopO3JldHVybiBjNigoKT0+e1ouY3VycmVudD1KfSksWn1mdW5jdGlvbiBUNChKKXtpZihKPT09dm9pZCAwKUo9e307bGV0e3BsYWNlbWVudDpaPSJib3R0b20iLHN0cmF0ZWd5OnE9ImFic29sdXRlIixtaWRkbGV3YXJlOlE9W10scGxhdGZvcm06WCxlbGVtZW50czp7cmVmZXJlbmNlOlksZmxvYXRpbmc6JH09e30sdHJhbnNmb3JtOks9ITAsd2hpbGVFbGVtZW50c01vdW50ZWQ6QixvcGVuOkd9PUosW0gsel09Xyh7eDowLHk6MCxzdHJhdGVneTpxLHBsYWNlbWVudDpaLG1pZGRsZXdhcmVEYXRhOnt9LGlzUG9zaXRpb25lZDohMX0pLFtVLFZdPV8oUSk7aWYoIWw2KFUsUSkpVihRKTtsZXRbRixMXT1fKG51bGwpLFtELE9dPV8obnVsbCksTj1TKChwKT0+e2lmKHAhPT1iLmN1cnJlbnQpYi5jdXJyZW50PXAsTChwKX0sW10pLEE9UygocCk9PntpZihwIT09UC5jdXJyZW50KVAuY3VycmVudD1wLE8ocCl9LFtdKSxqPVl8fEYsdz0kfHxELGI9RShudWxsKSxQPUUobnVsbCksdj1FKEgpLGM9QiE9bnVsbCxmPXM4KEIpLG89czgoWCksWjA9czgoRyksdD1TKCgpPT57aWYoIWIuY3VycmVudHx8IVAuY3VycmVudClyZXR1cm47bGV0IHA9e3BsYWNlbWVudDpaLHN0cmF0ZWd5OnEsbWlkZGxld2FyZTpVfTtpZihvLmN1cnJlbnQpcC5wbGF0Zm9ybT1vLmN1cnJlbnQ7aTgoYi5jdXJyZW50LFAuY3VycmVudCxwKS50aGVuKChUKT0+e2xldCBkPXsuLi5ULGlzUG9zaXRpb25lZDpaMC5jdXJyZW50IT09ITF9O2lmKGEuY3VycmVudCYmIWw2KHYuY3VycmVudCxkKSl2LmN1cnJlbnQ9ZCx3MSgoKT0+e3ooZCl9KX0pfSxbVSxaLHEsbyxaMF0pO2M2KCgpPT57aWYoRz09PSExJiZ2LmN1cnJlbnQuaXNQb3NpdGlvbmVkKXYuY3VycmVudC5pc1Bvc2l0aW9uZWQ9ITEseigocCk9Pih7Li4ucCxpc1Bvc2l0aW9uZWQ6ITF9KSl9LFtHXSk7bGV0IGE9RSghMSk7YzYoKCk9PntyZXR1cm4gYS5jdXJyZW50PSEwLCgpPT57YS5jdXJyZW50PSExfX0sW10pLGM2KCgpPT57aWYoailiLmN1cnJlbnQ9ajtpZih3KVAuY3VycmVudD13O2lmKGomJncpe2lmKGYuY3VycmVudClyZXR1cm4gZi5jdXJyZW50KGosdyx0KTt0KCl9fSxbaix3LHQsZixjXSk7bGV0IGs9SDAoKCk9Pih7cmVmZXJlbmNlOmIsZmxvYXRpbmc6UCxzZXRSZWZlcmVuY2U6TixzZXRGbG9hdGluZzpBfSksW04sQV0pLHg9SDAoKCk9Pih7cmVmZXJlbmNlOmosZmxvYXRpbmc6d30pLFtqLHddKSxzPUgwKCgpPT57bGV0IHA9e3Bvc2l0aW9uOnEsbGVmdDowLHRvcDowfTtpZigheC5mbG9hdGluZylyZXR1cm4gcDtsZXQgVD1PNCh4LmZsb2F0aW5nLEgueCksZD1PNCh4LmZsb2F0aW5nLEgueSk7aWYoSylyZXR1cm57Li4ucCx0cmFuc2Zvcm06InRyYW5zbGF0ZSgiK1QrInB4LCAiK2QrInB4KSIsLi4uTjQoeC5mbG9hdGluZyk+PTEuNSYme3dpbGxDaGFuZ2U6InRyYW5zZm9ybSJ9fTtyZXR1cm57cG9zaXRpb246cSxsZWZ0OlQsdG9wOmR9fSxbcSxLLHguZmxvYXRpbmcsSC54LEgueV0pO3JldHVybiBIMCgoKT0+KHsuLi5ILHVwZGF0ZTp0LHJlZnM6ayxlbGVtZW50czp4LGZsb2F0aW5nU3R5bGVzOnN9KSxbSCx0LGsseCxzXSl9dmFyIEZRPShKKT0+e2Z1bmN0aW9uIFoocSl7cmV0dXJue30uaGFzT3duUHJvcGVydHkuY2FsbChxLCJjdXJyZW50Iil9cmV0dXJue25hbWU6ImFycm93IixvcHRpb25zOkosZm4ocSl7bGV0e2VsZW1lbnQ6USxwYWRkaW5nOlh9PXR5cGVvZiBKPT09ImZ1bmN0aW9uIj9KKHEpOko7aWYoUSYmWihRKSl7aWYoUS5jdXJyZW50IT1udWxsKXJldHVybiBsOCh7ZWxlbWVudDpRLmN1cnJlbnQscGFkZGluZzpYfSkuZm4ocSk7cmV0dXJue319aWYoUSlyZXR1cm4gbDgoe2VsZW1lbnQ6USxwYWRkaW5nOlh9KS5mbihxKTtyZXR1cm57fX19fSxqND0oSixaKT0+e2xldCBxPUg0KEopO3JldHVybntuYW1lOnEubmFtZSxmbjpxLmZuLG9wdGlvbnM6W0osWl19fSxrND0oSixaKT0+e2xldCBxPVY0KEopO3JldHVybntuYW1lOnEubmFtZSxmbjpxLmZuLG9wdGlvbnM6W0osWl19fSxBND0oSixaKT0+e3JldHVybntmbjpENChKKS5mbixvcHRpb25zOltKLFpdfX0sSTQ9KEosWik9PntsZXQgcT1MNChKKTtyZXR1cm57bmFtZTpxLm5hbWUsZm46cS5mbixvcHRpb25zOltKLFpdfX0sUDQ9KEosWik9PntsZXQgcT1VNChKKTtyZXR1cm57bmFtZTpxLm5hbWUsZm46cS5mbixvcHRpb25zOltKLFpdfX07dmFyIEU0PShKLFopPT57bGV0IHE9RjQoSik7cmV0dXJue25hbWU6cS5uYW1lLGZuOnEuZm4sb3B0aW9uczpbSixaXX19O3ZhciBfND0oSixaKT0+e2xldCBxPUZRKEopO3JldHVybntuYW1lOnEubmFtZSxmbjpxLmZuLG9wdGlvbnM6W0osWl19fTt2YXIgRFE9IkFycm93IixNND1SKChKLFopPT57bGV0e2NoaWxkcmVuOnEsd2lkdGg6UT0xMCxoZWlnaHQ6WD01LC4uLll9PUo7cmV0dXJuIFcoJDAuc3ZnLHsuLi5ZLHJlZjpaLHdpZHRoOlEsaGVpZ2h0Olgsdmlld0JveDoiMCAwIDMwIDEwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIixjaGlsZHJlbjpKLmFzQ2hpbGQ/cTpXKCJwb2x5Z29uIix7cG9pbnRzOiIwLDAgMzAsMCAxNSwxMCJ9KX0pfSk7TTQuZGlzcGxheU5hbWU9RFE7dmFyIHc0PU00O2Z1bmN0aW9uIHk0KEope2xldFtaLHFdPV8odm9pZCAwKTtyZXR1cm4gdzAoKCk9PntpZihKKXtxKHt3aWR0aDpKLm9mZnNldFdpZHRoLGhlaWdodDpKLm9mZnNldEhlaWdodH0pO2xldCBRPW5ldyBSZXNpemVPYnNlcnZlcigoWCk9PntpZighQXJyYXkuaXNBcnJheShYKSlyZXR1cm47aWYoIVgubGVuZ3RoKXJldHVybjtsZXQgWT1YWzBdLCQsSztpZigiYm9yZGVyQm94U2l6ZSJpbiBZKXtsZXQgQj1ZLmJvcmRlckJveFNpemUsRz1BcnJheS5pc0FycmF5KEIpP0JbMF06QjskPUcuaW5saW5lU2l6ZSxLPUcuYmxvY2tTaXplfWVsc2UgJD1KLm9mZnNldFdpZHRoLEs9Si5vZmZzZXRIZWlnaHQ7cSh7d2lkdGg6JCxoZWlnaHQ6S30pfSk7cmV0dXJuIFEub2JzZXJ2ZShKLHtib3g6ImJvcmRlci1ib3gifSksKCk9PlEudW5vYnNlcnZlKEopfWVsc2UgcSh2b2lkIDApfSxbSl0pLFp9dmFyIGE4PSJQb3BwZXIiLFtDNCxyOF09cjAoYTgpLFtOUSxTNF09QzQoYTgpLGI0PShKKT0+e2xldHtfX3Njb3BlUG9wcGVyOlosY2hpbGRyZW46cX09SixbUSxYXT1fKG51bGwpO3JldHVybiBXKE5RLHtzY29wZTpaLGFuY2hvcjpRLG9uQW5jaG9yQ2hhbmdlOlgsY2hpbGRyZW46cX0pfTtiNC5kaXNwbGF5TmFtZT1hODt2YXIgUjQ9IlBvcHBlckFuY2hvciIsaDQ9UigoSixaKT0+e2xldHtfX3Njb3BlUG9wcGVyOnEsdmlydHVhbFJlZjpRLC4uLlh9PUosWT1TNChSNCxxKSwkPUUobnVsbCksSz1HMChaLCQpLEI9RShudWxsKTtyZXR1cm4geSgoKT0+e2xldCBHPUIuY3VycmVudDtpZihCLmN1cnJlbnQ9UT8uY3VycmVudHx8JC5jdXJyZW50LEchPT1CLmN1cnJlbnQpWS5vbkFuY2hvckNoYW5nZShCLmN1cnJlbnQpfSksUT9udWxsOlcoJDAuZGl2LHsuLi5YLHJlZjpLfSl9KTtoNC5kaXNwbGF5TmFtZT1SNDt2YXIgbzg9IlBvcHBlckNvbnRlbnQiLFtUUSxqUV09QzQobzgpLGc0PVIoKEosWik9PntsZXR7X19zY29wZVBvcHBlcjpxLHNpZGU6UT0iYm90dG9tIixzaWRlT2Zmc2V0Olg9MCxhbGlnbjpZPSJjZW50ZXIiLGFsaWduT2Zmc2V0OiQ9MCxhcnJvd1BhZGRpbmc6Sz0wLGF2b2lkQ29sbGlzaW9uczpCPSEwLGNvbGxpc2lvbkJvdW5kYXJ5Okc9W10sY29sbGlzaW9uUGFkZGluZzpIPTAsc3RpY2t5Ono9InBhcnRpYWwiLGhpZGVXaGVuRGV0YWNoZWQ6VT0hMSx1cGRhdGVQb3NpdGlvblN0cmF0ZWd5OlY9Im9wdGltaXplZCIsb25QbGFjZWQ6RiwuLi5MfT1KLEQ9UzQobzgscSksW08sTl09XyhudWxsKSxBPUcwKFosKGUpPT5OKGUpKSxbaix3XT1fKG51bGwpLGI9eTQoaiksUD1iPy53aWR0aD8/MCx2PWI/LmhlaWdodD8/MCxjPVErKFkhPT0iY2VudGVyIj8iLSIrWToiIiksZj10eXBlb2YgSD09PSJudW1iZXIiP0g6e3RvcDowLHJpZ2h0OjAsYm90dG9tOjAsbGVmdDowLC4uLkh9LG89QXJyYXkuaXNBcnJheShHKT9HOltHXSxaMD1vLmxlbmd0aD4wLHQ9e3BhZGRpbmc6Zixib3VuZGFyeTpvLmZpbHRlcihBUSksYWx0Qm91bmRhcnk6WjB9LHtyZWZzOmEsZmxvYXRpbmdTdHlsZXM6ayxwbGFjZW1lbnQ6eCxpc1Bvc2l0aW9uZWQ6cyxtaWRkbGV3YXJlRGF0YTpwfT1UNCh7c3RyYXRlZ3k6ImZpeGVkIixwbGFjZW1lbnQ6Yyx3aGlsZUVsZW1lbnRzTW91bnRlZDooLi4uZSk9PntyZXR1cm4gYzgoLi4uZSx7YW5pbWF0aW9uRnJhbWU6Vj09PSJhbHdheXMifSl9LGVsZW1lbnRzOntyZWZlcmVuY2U6RC5hbmNob3J9LG1pZGRsZXdhcmU6W2o0KHttYWluQXhpczpYK3YsYWxpZ25tZW50QXhpczokfSksQiYmazQoe21haW5BeGlzOiEwLGNyb3NzQXhpczohMSxsaW1pdGVyOno9PT0icGFydGlhbCI/QTQoKTp2b2lkIDAsLi4udH0pLEImJkk0KHsuLi50fSksUDQoey4uLnQsYXBwbHk6KHtlbGVtZW50czplLHJlY3RzOnowLGF2YWlsYWJsZVdpZHRoOlYwLGF2YWlsYWJsZUhlaWdodDpEMH0pPT57bGV0e3dpZHRoOkoxLGhlaWdodDpsMH09ejAucmVmZXJlbmNlLFAwPWUuZmxvYXRpbmcuc3R5bGU7UDAuc2V0UHJvcGVydHkoIi0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS13aWR0aCIsYCR7VjB9cHhgKSxQMC5zZXRQcm9wZXJ0eSgiLS1yYWRpeC1wb3BwZXItYXZhaWxhYmxlLWhlaWdodCIsYCR7RDB9cHhgKSxQMC5zZXRQcm9wZXJ0eSgiLS1yYWRpeC1wb3BwZXItYW5jaG9yLXdpZHRoIixgJHtKMX1weGApLFAwLnNldFByb3BlcnR5KCItLXJhZGl4LXBvcHBlci1hbmNob3ItaGVpZ2h0IixgJHtsMH1weGApfX0pLGomJl80KHtlbGVtZW50OmoscGFkZGluZzpLfSksSVEoe2Fycm93V2lkdGg6UCxhcnJvd0hlaWdodDp2fSksVSYmRTQoe3N0cmF0ZWd5OiJyZWZlcmVuY2VIaWRkZW4iLC4uLnR9KV19KSxbVCxkXT1mNCh4KSxyPU4wKEYpO3cwKCgpPT57aWYocylyPy4oKX0sW3Mscl0pO2xldCBsPXAuYXJyb3c/LngsSzA9cC5hcnJvdz8ueSxCMD1wLmFycm93Py5jZW50ZXJPZmZzZXQhPT0wLFtPMCxxMF09XygpO3JldHVybiB3MCgoKT0+e2lmKE8pcTAod2luZG93LmdldENvbXB1dGVkU3R5bGUoTykuekluZGV4KX0sW09dKSxXKCJkaXYiLHtyZWY6YS5zZXRGbG9hdGluZywiZGF0YS1yYWRpeC1wb3BwZXItY29udGVudC13cmFwcGVyIjoiIixzdHlsZTp7Li4uayx0cmFuc2Zvcm06cz9rLnRyYW5zZm9ybToidHJhbnNsYXRlKDAsIC0yMDAlKSIsbWluV2lkdGg6Im1heC1jb250ZW50Iix6SW5kZXg6TzAsWyItLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luIl06W3AudHJhbnNmb3JtT3JpZ2luPy54LHAudHJhbnNmb3JtT3JpZ2luPy55XS5qb2luKCIgIiksLi4ucC5oaWRlPy5yZWZlcmVuY2VIaWRkZW4mJnt2aXNpYmlsaXR5OiJoaWRkZW4iLHBvaW50ZXJFdmVudHM6Im5vbmUifX0sZGlyOkouZGlyLGNoaWxkcmVuOlcoVFEse3Njb3BlOnEscGxhY2VkU2lkZTpULG9uQXJyb3dDaGFuZ2U6dyxhcnJvd1g6bCxhcnJvd1k6SzAsc2hvdWxkSGlkZUFycm93OkIwLGNoaWxkcmVuOlcoJDAuZGl2LHsiZGF0YS1zaWRlIjpULCJkYXRhLWFsaWduIjpkLC4uLkwscmVmOkEsc3R5bGU6ey4uLkwuc3R5bGUsYW5pbWF0aW9uOiFzPyJub25lIjp2b2lkIDB9fSl9KX0pfSk7ZzQuZGlzcGxheU5hbWU9bzg7dmFyIHY0PSJQb3BwZXJBcnJvdyIsa1E9e3RvcDoiYm90dG9tIixyaWdodDoibGVmdCIsYm90dG9tOiJ0b3AiLGxlZnQ6InJpZ2h0In0seDQ9UihmdW5jdGlvbihaLHEpe2xldHtfX3Njb3BlUG9wcGVyOlEsLi4uWH09WixZPWpRKHY0LFEpLCQ9a1FbWS5wbGFjZWRTaWRlXTtyZXR1cm4gVygic3BhbiIse3JlZjpZLm9uQXJyb3dDaGFuZ2Usc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpZLmFycm93WCx0b3A6WS5hcnJvd1ksWyRdOjAsdHJhbnNmb3JtT3JpZ2luOnt0b3A6IiIscmlnaHQ6IjAgMCIsYm90dG9tOiJjZW50ZXIgMCIsbGVmdDoiMTAwJSAwIn1bWS5wbGFjZWRTaWRlXSx0cmFuc2Zvcm06e3RvcDoidHJhbnNsYXRlWSgxMDAlKSIscmlnaHQ6InRyYW5zbGF0ZVkoNTAlKSByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVgoLTUwJSkiLGJvdHRvbToicm90YXRlKDE4MGRlZykiLGxlZnQ6InRyYW5zbGF0ZVkoNTAlKSByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKDUwJSkifVtZLnBsYWNlZFNpZGVdLHZpc2liaWxpdHk6WS5zaG91bGRIaWRlQXJyb3c/ImhpZGRlbiI6dm9pZCAwfSxjaGlsZHJlbjpXKHc0LHsuLi5YLHJlZjpxLHN0eWxlOnsuLi5YLnN0eWxlLGRpc3BsYXk6ImJsb2NrIn19KX0pfSk7eDQuZGlzcGxheU5hbWU9djQ7ZnVuY3Rpb24gQVEoSil7cmV0dXJuIEohPT1udWxsfXZhciBJUT0oSik9Pih7bmFtZToidHJhbnNmb3JtT3JpZ2luIixvcHRpb25zOkosZm4oWil7bGV0e3BsYWNlbWVudDpxLHJlY3RzOlEsbWlkZGxld2FyZURhdGE6WH09WiwkPVguYXJyb3c/LmNlbnRlck9mZnNldCE9PTAsSz0kPzA6Si5hcnJvd1dpZHRoLEI9JD8wOkouYXJyb3dIZWlnaHQsW0csSF09ZjQocSksej17c3RhcnQ6IjAlIixjZW50ZXI6IjUwJSIsZW5kOiIxMDAlIn1bSF0sVT0oWC5hcnJvdz8ueD8/MCkrSy8yLFY9KFguYXJyb3c/Lnk/PzApK0IvMixGPSIiLEw9IiI7aWYoRz09PSJib3R0b20iKUY9JD96OmAke1V9cHhgLEw9YCR7LUJ9cHhgO2Vsc2UgaWYoRz09PSJ0b3AiKUY9JD96OmAke1V9cHhgLEw9YCR7US5mbG9hdGluZy5oZWlnaHQrQn1weGA7ZWxzZSBpZihHPT09InJpZ2h0IilGPWAkey1CfXB4YCxMPSQ/ejpgJHtWfXB4YDtlbHNlIGlmKEc9PT0ibGVmdCIpRj1gJHtRLmZsb2F0aW5nLndpZHRoK0J9cHhgLEw9JD96OmAke1Z9cHhgO3JldHVybntkYXRhOnt4OkYseTpMfX19fSk7ZnVuY3Rpb24gZjQoSil7bGV0W1oscT0iY2VudGVyIl09Si5zcGxpdCgiLSIpO3JldHVybltaLHFdfXZhciBuOD1iNCxtND1oNCxwND1nNCx1ND14NDt2YXIgRVE9IlBvcnRhbCIsdDg9UigoSixaKT0+e2xldHtjb250YWluZXI6cSwuLi5RfT1KLFtYLFldPV8oITEpO3cwKCgpPT5ZKCEwKSxbXSk7bGV0ICQ9cXx8WCYmZ2xvYmFsVGhpcz8uZG9jdW1lbnQ/LmJvZHk7cmV0dXJuICQ/ZzAuY3JlYXRlUG9ydGFsKFcoJDAuZGl2LHsuLi5RLHJlZjpafSksJCk6bnVsbH0pO3Q4LmRpc3BsYXlOYW1lPUVRO2Z1bmN0aW9uIF9RKEosWil7cmV0dXJuIFExKChxLFEpPT57cmV0dXJuIFpbcV1bUV0/P3F9LEopfXZhciBoMT0oSik9PntsZXR7cHJlc2VudDpaLGNoaWxkcmVuOnF9PUosUT1NUShaKSxYPXR5cGVvZiBxPT09ImZ1bmN0aW9uIj9xKHtwcmVzZW50OlEuaXNQcmVzZW50fSk6aDAub25seShxKSxZPUcwKFEucmVmLHdRKFgpKTtyZXR1cm4gdHlwZW9mIHE9PT0iZnVuY3Rpb24ifHxRLmlzUHJlc2VudD9YMShYLHtyZWY6WX0pOm51bGx9O2gxLmRpc3BsYXlOYW1lPSJQcmVzZW5jZSI7ZnVuY3Rpb24gTVEoSil7bGV0W1oscV09XygpLFE9RShudWxsKSxYPUUoSiksWT1FKCJub25lIiksJD1KPyJtb3VudGVkIjoidW5tb3VudGVkIixbSyxCXT1fUSgkLHttb3VudGVkOntVTk1PVU5UOiJ1bm1vdW50ZWQiLEFOSU1BVElPTl9PVVQ6InVubW91bnRTdXNwZW5kZWQifSx1bm1vdW50U3VzcGVuZGVkOntNT1VOVDoibW91bnRlZCIsQU5JTUFUSU9OX0VORDoidW5tb3VudGVkIn0sdW5tb3VudGVkOntNT1VOVDoibW91bnRlZCJ9fSk7cmV0dXJuIHkoKCk9PntsZXQgRz1pNihRLmN1cnJlbnQpO1kuY3VycmVudD1LPT09Im1vdW50ZWQiP0c6Im5vbmUifSxbS10pLHcwKCgpPT57bGV0IEc9US5jdXJyZW50LEg9WC5jdXJyZW50O2lmKEghPT1KKXtsZXQgVT1ZLmN1cnJlbnQsVj1pNihHKTtpZihKKUIoIk1PVU5UIik7ZWxzZSBpZihWPT09Im5vbmUifHxHPy5kaXNwbGF5PT09Im5vbmUiKUIoIlVOTU9VTlQiKTtlbHNlIGlmKEgmJlUhPT1WKUIoIkFOSU1BVElPTl9PVVQiKTtlbHNlIEIoIlVOTU9VTlQiKTtYLmN1cnJlbnQ9Sn19LFtKLEJdKSx3MCgoKT0+e2lmKFope2xldCBHLEg9Wi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Pz93aW5kb3csej0oVik9PntsZXQgTD1pNihRLmN1cnJlbnQpLmluY2x1ZGVzKENTUy5lc2NhcGUoVi5hbmltYXRpb25OYW1lKSk7aWYoVi50YXJnZXQ9PT1aJiZMKXtpZihCKCJBTklNQVRJT05fRU5EIiksIVguY3VycmVudCl7bGV0IEQ9Wi5zdHlsZS5hbmltYXRpb25GaWxsTW9kZTtaLnN0eWxlLmFuaW1hdGlvbkZpbGxNb2RlPSJmb3J3YXJkcyIsRz1ILnNldFRpbWVvdXQoKCk9PntpZihaLnN0eWxlLmFuaW1hdGlvbkZpbGxNb2RlPT09ImZvcndhcmRzIilaLnN0eWxlLmFuaW1hdGlvbkZpbGxNb2RlPUR9KX19fSxVPShWKT0+e2lmKFYudGFyZ2V0PT09WilZLmN1cnJlbnQ9aTYoUS5jdXJyZW50KX07cmV0dXJuIFouYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uc3RhcnQiLFUpLFouYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uY2FuY2VsIix6KSxaLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIseiksKCk9PntILmNsZWFyVGltZW91dChHKSxaLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbnN0YXJ0IixVKSxaLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmNhbmNlbCIseiksWi5yZW1vdmVFdmVudExpc3RlbmVyKCJhbmltYXRpb25lbmQiLHopfX1lbHNlIEIoIkFOSU1BVElPTl9FTkQiKX0sW1osQl0pLHtpc1ByZXNlbnQ6WyJtb3VudGVkIiwidW5tb3VudFN1c3BlbmRlZCJdLmluY2x1ZGVzKEspLHJlZjpTKChHKT0+e1EuY3VycmVudD1HP2dldENvbXB1dGVkU3R5bGUoRyk6bnVsbCxxKEcpfSxbXSl9fWZ1bmN0aW9uIGk2KEope3JldHVybiBKPy5hbmltYXRpb25OYW1lfHwibm9uZSJ9ZnVuY3Rpb24gd1EoSil7bGV0IFo9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihKLnByb3BzLCJyZWYiKT8uZ2V0LHE9WiYmImlzUmVhY3RXYXJuaW5nImluIFomJlouaXNSZWFjdFdhcm5pbmc7aWYocSlyZXR1cm4gSi5yZWY7aWYoWj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEosInJlZiIpPy5nZXQscT1aJiYiaXNSZWFjdFdhcm5pbmciaW4gWiYmWi5pc1JlYWN0V2FybmluZyxxKXJldHVybiBKLnByb3BzLnJlZjtyZXR1cm4gSi5wcm9wcy5yZWZ8fEoucmVmfXZhciB5UT1uWyIgdXNlSW5zZXJ0aW9uRWZmZWN0ICIudHJpbSgpLnRvU3RyaW5nKCldfHx3MDtmdW5jdGlvbiBZNih7cHJvcDpKLGRlZmF1bHRQcm9wOlosb25DaGFuZ2U6cT0oKT0+e30sY2FsbGVyOlF9KXtsZXRbWCxZLCRdPUNRKHtkZWZhdWx0UHJvcDpaLG9uQ2hhbmdlOnF9KSxLPUohPT12b2lkIDAsQj1LP0o6WDt7bGV0IEg9RShKIT09dm9pZCAwKTt5KCgpPT57bGV0IHo9SC5jdXJyZW50O2lmKHohPT1LKWNvbnNvbGUud2FybihgJHtRfSBpcyBjaGFuZ2luZyBmcm9tICR7ej8iY29udHJvbGxlZCI6InVuY29udHJvbGxlZCJ9IHRvICR7Sz8iY29udHJvbGxlZCI6InVuY29udHJvbGxlZCJ9LiBDb21wb25lbnRzIHNob3VsZCBub3Qgc3dpdGNoIGZyb20gY29udHJvbGxlZCB0byB1bmNvbnRyb2xsZWQgKG9yIHZpY2UgdmVyc2EpLiBEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIHZhbHVlIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbXBvbmVudC5gKTtILmN1cnJlbnQ9S30sW0ssUV0pfWxldCBHPVMoKEgpPT57aWYoSyl7bGV0IHo9U1EoSCk/SChKKTpIO2lmKHohPT1KKSQuY3VycmVudD8uKHopfWVsc2UgWShIKX0sW0ssSixZLCRdKTtyZXR1cm5bQixHXX1mdW5jdGlvbiBDUSh7ZGVmYXVsdFByb3A6SixvbkNoYW5nZTpafSl7bGV0W3EsUV09XyhKKSxYPUUocSksWT1FKFopO3JldHVybiB5USgoKT0+e1kuY3VycmVudD1afSxbWl0pLHkoKCk9PntpZihYLmN1cnJlbnQhPT1xKVkuY3VycmVudD8uKHEpLFguY3VycmVudD1xfSxbcSxYXSksW3EsUSxZXX1mdW5jdGlvbiBTUShKKXtyZXR1cm4gdHlwZW9mIEo9PT0iZnVuY3Rpb24ifXZhciBJSz1TeW1ib2woIlJBRElYOlNZTkNfU1RBVEUiKTt2YXIgZTg9InJvdmluZ0ZvY3VzR3JvdXAub25FbnRyeUZvY3VzIixiUT17YnViYmxlczohMSxjYW5jZWxhYmxlOiEwfSwkNj0iUm92aW5nRm9jdXNHcm91cCIsW0o5LGQ0LFJRXT1DMSgkNiksW2hRLGcxXT1yMCgkNixbUlFdKSxbZ1EsdlFdPWhRKCQ2KSxjND1SKChKLFopPT57cmV0dXJuIFcoSjkuUHJvdmlkZXIse3Njb3BlOkouX19zY29wZVJvdmluZ0ZvY3VzR3JvdXAsY2hpbGRyZW46VyhKOS5TbG90LHtzY29wZTpKLl9fc2NvcGVSb3ZpbmdGb2N1c0dyb3VwLGNoaWxkcmVuOlcoeFEsey4uLkoscmVmOlp9KX0pfSl9KTtjNC5kaXNwbGF5TmFtZT0kNjt2YXIgeFE9UigoSixaKT0+e2xldHtfX3Njb3BlUm92aW5nRm9jdXNHcm91cDpxLG9yaWVudGF0aW9uOlEsbG9vcDpYPSExLGRpcjpZLGN1cnJlbnRUYWJTdG9wSWQ6JCxkZWZhdWx0Q3VycmVudFRhYlN0b3BJZDpLLG9uQ3VycmVudFRhYlN0b3BJZENoYW5nZTpCLG9uRW50cnlGb2N1czpHLHByZXZlbnRTY3JvbGxPbkVudHJ5Rm9jdXM6SD0hMSwuLi56fT1KLFU9RShudWxsKSxWPUcwKFosVSksRj1TMShZKSxbTCxEXT1ZNih7cHJvcDokLGRlZmF1bHRQcm9wOks/P251bGwsb25DaGFuZ2U6QixjYWxsZXI6JDZ9KSxbTyxOXT1fKCExKSxBPU4wKEcpLGo9ZDQocSksdz1FKCExKSxbYixQXT1fKDApO3JldHVybiB5KCgpPT57bGV0IHY9VS5jdXJyZW50O2lmKHYpcmV0dXJuIHYuYWRkRXZlbnRMaXN0ZW5lcihlOCxBKSwoKT0+di5yZW1vdmVFdmVudExpc3RlbmVyKGU4LEEpfSxbQV0pLFcoZ1Ese3Njb3BlOnEsb3JpZW50YXRpb246USxkaXI6Rixsb29wOlgsY3VycmVudFRhYlN0b3BJZDpMLG9uSXRlbUZvY3VzOlMoKHYpPT5EKHYpLFtEXSksb25JdGVtU2hpZnRUYWI6UygoKT0+TighMCksW10pLG9uRm9jdXNhYmxlSXRlbUFkZDpTKCgpPT5QKCh2KT0+disxKSxbXSksb25Gb2N1c2FibGVJdGVtUmVtb3ZlOlMoKCk9PlAoKHYpPT52LTEpLFtdKSxjaGlsZHJlbjpXKCQwLmRpdix7dGFiSW5kZXg6T3x8Yj09PTA/LTE6MCwiZGF0YS1vcmllbnRhdGlvbiI6USwuLi56LHJlZjpWLHN0eWxlOntvdXRsaW5lOiJub25lIiwuLi5KLnN0eWxlfSxvbk1vdXNlRG93bjppKEoub25Nb3VzZURvd24sKCk9Pnt3LmN1cnJlbnQ9ITB9KSxvbkZvY3VzOmkoSi5vbkZvY3VzLCh2KT0+e2xldCBjPSF3LmN1cnJlbnQ7aWYodi50YXJnZXQ9PT12LmN1cnJlbnRUYXJnZXQmJmMmJiFPKXtsZXQgZj1uZXcgQ3VzdG9tRXZlbnQoZTgsYlEpO2lmKHYuY3VycmVudFRhcmdldC5kaXNwYXRjaEV2ZW50KGYpLCFmLmRlZmF1bHRQcmV2ZW50ZWQpe2xldCBvPWooKS5maWx0ZXIoKHgpPT54LmZvY3VzYWJsZSksWjA9by5maW5kKCh4KT0+eC5hY3RpdmUpLHQ9by5maW5kKCh4KT0+eC5pZD09PUwpLGs9W1owLHQsLi4ub10uZmlsdGVyKEJvb2xlYW4pLm1hcCgoeCk9PngucmVmLmN1cnJlbnQpO3M0KGssSCl9fXcuY3VycmVudD0hMX0pLG9uQmx1cjppKEoub25CbHVyLCgpPT5OKCExKSl9KX0pfSksbDQ9IlJvdmluZ0ZvY3VzR3JvdXBJdGVtIixpND1SKChKLFopPT57bGV0e19fc2NvcGVSb3ZpbmdGb2N1c0dyb3VwOnEsZm9jdXNhYmxlOlE9ITAsYWN0aXZlOlg9ITEsdGFiU3RvcElkOlksY2hpbGRyZW46JCwuLi5LfT1KLEI9WTEoKSxHPVl8fEIsSD12UShsNCxxKSx6PUguY3VycmVudFRhYlN0b3BJZD09PUcsVT1kNChxKSx7b25Gb2N1c2FibGVJdGVtQWRkOlYsb25Gb2N1c2FibGVJdGVtUmVtb3ZlOkYsY3VycmVudFRhYlN0b3BJZDpMfT1IO3JldHVybiB5KCgpPT57aWYoUSlyZXR1cm4gVigpLCgpPT5GKCl9LFtRLFYsRl0pLFcoSjkuSXRlbVNsb3Qse3Njb3BlOnEsaWQ6Ryxmb2N1c2FibGU6USxhY3RpdmU6WCxjaGlsZHJlbjpXKCQwLnNwYW4se3RhYkluZGV4Ono/MDotMSwiZGF0YS1vcmllbnRhdGlvbiI6SC5vcmllbnRhdGlvbiwuLi5LLHJlZjpaLG9uTW91c2VEb3duOmkoSi5vbk1vdXNlRG93biwoRCk9PntpZighUSlELnByZXZlbnREZWZhdWx0KCk7ZWxzZSBILm9uSXRlbUZvY3VzKEcpfSksb25Gb2N1czppKEoub25Gb2N1cywoKT0+SC5vbkl0ZW1Gb2N1cyhHKSksb25LZXlEb3duOmkoSi5vbktleURvd24sKEQpPT57aWYoRC5rZXk9PT0iVGFiIiYmRC5zaGlmdEtleSl7SC5vbkl0ZW1TaGlmdFRhYigpO3JldHVybn1pZihELnRhcmdldCE9PUQuY3VycmVudFRhcmdldClyZXR1cm47bGV0IE89cFEoRCxILm9yaWVudGF0aW9uLEguZGlyKTtpZihPIT09dm9pZCAwKXtpZihELm1ldGFLZXl8fEQuY3RybEtleXx8RC5hbHRLZXl8fEQuc2hpZnRLZXkpcmV0dXJuO0QucHJldmVudERlZmF1bHQoKTtsZXQgQT1VKCkuZmlsdGVyKChqKT0+ai5mb2N1c2FibGUpLm1hcCgoaik9PmoucmVmLmN1cnJlbnQpO2lmKE89PT0ibGFzdCIpQS5yZXZlcnNlKCk7ZWxzZSBpZihPPT09InByZXYifHxPPT09Im5leHQiKXtpZihPPT09InByZXYiKUEucmV2ZXJzZSgpO2xldCBqPUEuaW5kZXhPZihELmN1cnJlbnRUYXJnZXQpO0E9SC5sb29wP3VRKEEsaisxKTpBLnNsaWNlKGorMSl9c2V0VGltZW91dCgoKT0+czQoQSkpfX0pLGNoaWxkcmVuOnR5cGVvZiAkPT09ImZ1bmN0aW9uIj8kKHtpc0N1cnJlbnRUYWJTdG9wOnosaGFzVGFiU3RvcDpMIT1udWxsfSk6JH0pfSl9KTtpNC5kaXNwbGF5TmFtZT1sNDt2YXIgZlE9e0Fycm93TGVmdDoicHJldiIsQXJyb3dVcDoicHJldiIsQXJyb3dSaWdodDoibmV4dCIsQXJyb3dEb3duOiJuZXh0IixQYWdlVXA6ImZpcnN0IixIb21lOiJmaXJzdCIsUGFnZURvd246Imxhc3QiLEVuZDoibGFzdCJ9O2Z1bmN0aW9uIG1RKEosWil7aWYoWiE9PSJydGwiKXJldHVybiBKO3JldHVybiBKPT09IkFycm93TGVmdCI/IkFycm93UmlnaHQiOko9PT0iQXJyb3dSaWdodCI/IkFycm93TGVmdCI6Sn1mdW5jdGlvbiBwUShKLFoscSl7bGV0IFE9bVEoSi5rZXkscSk7aWYoWj09PSJ2ZXJ0aWNhbCImJlsiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCJdLmluY2x1ZGVzKFEpKXJldHVybjtpZihaPT09Imhvcml6b250YWwiJiZbIkFycm93VXAiLCJBcnJvd0Rvd24iXS5pbmNsdWRlcyhRKSlyZXR1cm47cmV0dXJuIGZRW1FdfWZ1bmN0aW9uIHM0KEosWj0hMSl7bGV0IHE9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtmb3IobGV0IFEgb2YgSil7aWYoUT09PXEpcmV0dXJuO2lmKFEuZm9jdXMoe3ByZXZlbnRTY3JvbGw6Wn0pLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1xKXJldHVybn19ZnVuY3Rpb24gdVEoSixaKXtyZXR1cm4gSi5tYXAoKHEsUSk9PkpbKForUSklSi5sZW5ndGhdKX12YXIgczY9YzQsYTY9aTQ7dmFyIGRRPWZ1bmN0aW9uKEope2lmKHR5cGVvZiBkb2N1bWVudD4idSIpcmV0dXJuIG51bGw7dmFyIFo9QXJyYXkuaXNBcnJheShKKT9KWzBdOko7cmV0dXJuIFoub3duZXJEb2N1bWVudC5ib2R5fSx2MT1uZXcgV2Vha01hcCxyNj1uZXcgV2Vha01hcCxvNj17fSxaOT0wLHI0PWZ1bmN0aW9uKEope3JldHVybiBKJiYoSi5ob3N0fHxyNChKLnBhcmVudE5vZGUpKX0sY1E9ZnVuY3Rpb24oSixaKXtyZXR1cm4gWi5tYXAoZnVuY3Rpb24ocSl7aWYoSi5jb250YWlucyhxKSlyZXR1cm4gcTt2YXIgUT1yNChxKTtpZihRJiZKLmNvbnRhaW5zKFEpKXJldHVybiBRO3JldHVybiBjb25zb2xlLmVycm9yKCJhcmlhLWhpZGRlbiIscSwiaW4gbm90IGNvbnRhaW5lZCBpbnNpZGUiLEosIi4gRG9pbmcgbm90aGluZyIpLG51bGx9KS5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIEJvb2xlYW4ocSl9KX0sbFE9ZnVuY3Rpb24oSixaLHEsUSl7dmFyIFg9Y1EoWixBcnJheS5pc0FycmF5KEopP0o6W0pdKTtpZighbzZbcV0pbzZbcV09bmV3IFdlYWtNYXA7dmFyIFk9bzZbcV0sJD1bXSxLPW5ldyBTZXQsQj1uZXcgU2V0KFgpLEc9ZnVuY3Rpb24oeil7aWYoIXp8fEsuaGFzKHopKXJldHVybjtLLmFkZCh6KSxHKHoucGFyZW50Tm9kZSl9O1guZm9yRWFjaChHKTt2YXIgSD1mdW5jdGlvbih6KXtpZighenx8Qi5oYXMoeikpcmV0dXJuO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoei5jaGlsZHJlbixmdW5jdGlvbihVKXtpZihLLmhhcyhVKSlIKFUpO2Vsc2UgdHJ5e3ZhciBWPVUuZ2V0QXR0cmlidXRlKFEpLEY9ViE9PW51bGwmJlYhPT0iZmFsc2UiLEw9KHYxLmdldChVKXx8MCkrMSxEPShZLmdldChVKXx8MCkrMTtpZih2MS5zZXQoVSxMKSxZLnNldChVLEQpLCQucHVzaChVKSxMPT09MSYmRilyNi5zZXQoVSwhMCk7aWYoRD09PTEpVS5zZXRBdHRyaWJ1dGUocSwidHJ1ZSIpO2lmKCFGKVUuc2V0QXR0cmlidXRlKFEsInRydWUiKX1jYXRjaChPKXtjb25zb2xlLmVycm9yKCJhcmlhLWhpZGRlbjogY2Fubm90IG9wZXJhdGUgb24gIixVLE8pfX0pfTtyZXR1cm4gSChaKSxLLmNsZWFyKCksWjkrKyxmdW5jdGlvbigpe2lmKCQuZm9yRWFjaChmdW5jdGlvbih6KXt2YXIgVT12MS5nZXQoeiktMSxWPVkuZ2V0KHopLTE7aWYodjEuc2V0KHosVSksWS5zZXQoeixWKSwhVSl7aWYoIXI2Lmhhcyh6KSl6LnJlbW92ZUF0dHJpYnV0ZShRKTtyNi5kZWxldGUoeil9aWYoIVYpei5yZW1vdmVBdHRyaWJ1dGUocSl9KSxaOS0tLCFaOSl2MT1uZXcgV2Vha01hcCx2MT1uZXcgV2Vha01hcCxyNj1uZXcgV2Vha01hcCxvNj17fX19LG80PWZ1bmN0aW9uKEosWixxKXtpZihxPT09dm9pZCAwKXE9ImRhdGEtYXJpYS1oaWRkZW4iO3ZhciBRPUFycmF5LmZyb20oQXJyYXkuaXNBcnJheShKKT9KOltKXSksWD1afHxkUShKKTtpZighWClyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07cmV0dXJuIFEucHVzaC5hcHBseShRLEFycmF5LmZyb20oWC5xdWVyeVNlbGVjdG9yQWxsKCJbYXJpYS1saXZlXSwgc2NyaXB0IikpKSxsUShRLFgscSwiYXJpYS1oaWRkZW4iKX07dmFyIEMwPWZ1bmN0aW9uKCl7cmV0dXJuIEMwPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKFope2Zvcih2YXIgcSxRPTEsWD1hcmd1bWVudHMubGVuZ3RoO1E8WDtRKyspe3E9YXJndW1lbnRzW1FdO2Zvcih2YXIgWSBpbiBxKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChxLFkpKVpbWV09cVtZXX1yZXR1cm4gWn0sQzAuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiBuNihKLFope3ZhciBxPXt9O2Zvcih2YXIgUSBpbiBKKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChKLFEpJiZaLmluZGV4T2YoUSk8MClxW1FdPUpbUV07aWYoSiE9bnVsbCYmdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM9PT0iZnVuY3Rpb24iKXtmb3IodmFyIFg9MCxRPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoSik7WDxRLmxlbmd0aDtYKyspaWYoWi5pbmRleE9mKFFbWF0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChKLFFbWF0pKXFbUVtYXV09SltRW1hdXX1yZXR1cm4gcX1mdW5jdGlvbiBuNChKLFoscSl7aWYocXx8YXJndW1lbnRzLmxlbmd0aD09PTIpe2Zvcih2YXIgUT0wLFg9Wi5sZW5ndGgsWTtRPFg7USsrKWlmKFl8fCEoUSBpbiBaKSl7aWYoIVkpWT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChaLDAsUSk7WVtRXT1aW1FdfX1yZXR1cm4gSi5jb25jYXQoWXx8QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoWikpfXZhciBqMT0icmlnaHQtc2Nyb2xsLWJhci1wb3NpdGlvbiIsazE9IndpZHRoLWJlZm9yZS1zY3JvbGwtYmFyIixxOT0id2l0aC1zY3JvbGwtYmFycy1oaWRkZW4iLFE5PSItLXJlbW92ZWQtYm9keS1zY3JvbGwtYmFyLXNpemUiO2Z1bmN0aW9uIHQ2KEosWil7aWYodHlwZW9mIEo9PT0iZnVuY3Rpb24iKUooWik7ZWxzZSBpZihKKUouY3VycmVudD1aO3JldHVybiBKfWZ1bmN0aW9uIHQ0KEosWil7dmFyIHE9XyhmdW5jdGlvbigpe3JldHVybnt2YWx1ZTpKLGNhbGxiYWNrOlosZmFjYWRlOntnZXQgY3VycmVudCgpe3JldHVybiBxLnZhbHVlfSxzZXQgY3VycmVudChRKXt2YXIgWD1xLnZhbHVlO2lmKFghPT1RKXEudmFsdWU9USxxLmNhbGxiYWNrKFEsWCl9fX19KVswXTtyZXR1cm4gcS5jYWxsYmFjaz1aLHEuZmFjYWRlfXZhciBpUT10eXBlb2Ygd2luZG93PCJ1Ij9NMDp5LGU0PW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFg5KEosWil7dmFyIHE9dDQoWnx8bnVsbCxmdW5jdGlvbihRKXtyZXR1cm4gSi5mb3JFYWNoKGZ1bmN0aW9uKFgpe3JldHVybiB0NihYLFEpfSl9KTtyZXR1cm4gaVEoZnVuY3Rpb24oKXt2YXIgUT1lNC5nZXQocSk7aWYoUSl7dmFyIFg9bmV3IFNldChRKSxZPW5ldyBTZXQoSiksJD1xLmN1cnJlbnQ7WC5mb3JFYWNoKGZ1bmN0aW9uKEspe2lmKCFZLmhhcyhLKSl0NihLLG51bGwpfSksWS5mb3JFYWNoKGZ1bmN0aW9uKEspe2lmKCFYLmhhcyhLKSl0NihLLCQpfSl9ZTQuc2V0KHEsSil9LFtKXSkscX1mdW5jdGlvbiBzUShKKXtyZXR1cm4gSn1mdW5jdGlvbiBhUShKLFope2lmKFo9PT12b2lkIDApWj1zUTt2YXIgcT1bXSxRPSExLFg9e3JlYWQ6ZnVuY3Rpb24oKXtpZihRKXRocm93IEVycm9yKCJTaWRlY2FyOiBjb3VsZCBub3QgYHJlYWRgIGZyb20gYW4gYGFzc2lnbmVkYCBtZWRpdW0uIGByZWFkYCBjb3VsZCBiZSB1c2VkIG9ubHkgd2l0aCBgdXNlTWVkaXVtYC4iKTtpZihxLmxlbmd0aClyZXR1cm4gcVtxLmxlbmd0aC0xXTtyZXR1cm4gSn0sdXNlTWVkaXVtOmZ1bmN0aW9uKFkpe3ZhciAkPVooWSxRKTtyZXR1cm4gcS5wdXNoKCQpLGZ1bmN0aW9uKCl7cT1xLmZpbHRlcihmdW5jdGlvbihLKXtyZXR1cm4gSyE9PSR9KX19LGFzc2lnblN5bmNNZWRpdW06ZnVuY3Rpb24oWSl7UT0hMDt3aGlsZShxLmxlbmd0aCl7dmFyICQ9cTtxPVtdLCQuZm9yRWFjaChZKX1xPXtwdXNoOmZ1bmN0aW9uKEspe3JldHVybiBZKEspfSxmaWx0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcX19fSxhc3NpZ25NZWRpdW06ZnVuY3Rpb24oWSl7UT0hMDt2YXIgJD1bXTtpZihxLmxlbmd0aCl7dmFyIEs9cTtxPVtdLEsuZm9yRWFjaChZKSwkPXF9dmFyIEI9ZnVuY3Rpb24oKXt2YXIgSD0kOyQ9W10sSC5mb3JFYWNoKFkpfSxHPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oQil9O0coKSxxPXtwdXNoOmZ1bmN0aW9uKEgpeyQucHVzaChIKSxHKCl9LGZpbHRlcjpmdW5jdGlvbihIKXtyZXR1cm4gJD0kLmZpbHRlcihIKSxxfX19fTtyZXR1cm4gWH1mdW5jdGlvbiBZOShKKXtpZihKPT09dm9pZCAwKUo9e307dmFyIFo9YVEobnVsbCk7cmV0dXJuIFoub3B0aW9ucz1DMCh7YXN5bmM6ITAsc3NyOiExfSxKKSxafXZhciBKSj1mdW5jdGlvbihKKXt2YXIgWj1KLnNpZGVDYXIscT1uNihKLFsic2lkZUNhciJdKTtpZighWil0aHJvdyBFcnJvcigiU2lkZWNhcjogcGxlYXNlIHByb3ZpZGUgYHNpZGVDYXJgIHByb3BlcnR5IHRvIGltcG9ydCB0aGUgcmlnaHQgY2FyIik7dmFyIFE9Wi5yZWFkKCk7aWYoIVEpdGhyb3cgRXJyb3IoIlNpZGVjYXIgbWVkaXVtIG5vdCBmb3VuZCIpO3JldHVybiBRMChRLEMwKHt9LHEpKX07SkouaXNTaWRlQ2FyRXhwb3J0PSEwO2Z1bmN0aW9uICQ5KEosWil7cmV0dXJuIEoudXNlTWVkaXVtKFopLEpKfXZhciBlNj1ZOSgpO3ZhciBLOT1mdW5jdGlvbigpe3JldHVybn0sSzY9UihmdW5jdGlvbihKLFope3ZhciBxPUUobnVsbCksUT1fKHtvblNjcm9sbENhcHR1cmU6Szksb25XaGVlbENhcHR1cmU6Szksb25Ub3VjaE1vdmVDYXB0dXJlOks5fSksWD1RWzBdLFk9UVsxXSwkPUouZm9yd2FyZFByb3BzLEs9Si5jaGlsZHJlbixCPUouY2xhc3NOYW1lLEc9Si5yZW1vdmVTY3JvbGxCYXIsSD1KLmVuYWJsZWQsej1KLnNoYXJkcyxVPUouc2lkZUNhcixWPUoubm9SZWxhdGl2ZSxGPUoubm9Jc29sYXRpb24sTD1KLmluZXJ0LEQ9Si5hbGxvd1BpbmNoWm9vbSxPPUouYXMsTj1PPT09dm9pZCAwPyJkaXYiOk8sQT1KLmdhcE1vZGUsaj1uNihKLFsiZm9yd2FyZFByb3BzIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJyZW1vdmVTY3JvbGxCYXIiLCJlbmFibGVkIiwic2hhcmRzIiwic2lkZUNhciIsIm5vUmVsYXRpdmUiLCJub0lzb2xhdGlvbiIsImluZXJ0IiwiYWxsb3dQaW5jaFpvb20iLCJhcyIsImdhcE1vZGUiXSksdz1VLGI9WDkoW3EsWl0pLFA9QzAoQzAoe30saiksWCk7cmV0dXJuIFEwKEowLG51bGwsSCYmUTAodyx7c2lkZUNhcjplNixyZW1vdmVTY3JvbGxCYXI6RyxzaGFyZHM6eixub1JlbGF0aXZlOlYsbm9Jc29sYXRpb246RixpbmVydDpMLHNldENhbGxiYWNrczpZLGFsbG93UGluY2hab29tOiEhRCxsb2NrUmVmOnEsZ2FwTW9kZTpBfSksJD9YMShoMC5vbmx5KEspLEMwKEMwKHt9LFApLHtyZWY6Yn0pKTpRMChOLEMwKHt9LFAse2NsYXNzTmFtZTpCLHJlZjpifSksSykpfSk7SzYuZGVmYXVsdFByb3BzPXtlbmFibGVkOiEwLHJlbW92ZVNjcm9sbEJhcjohMCxpbmVydDohMX07SzYuY2xhc3NOYW1lcz17ZnVsbFdpZHRoOmsxLHplcm9SaWdodDpqMX07dmFyIFpKO3ZhciBxSj1mdW5jdGlvbigpe2lmKFpKKXJldHVybiBaSjtpZih0eXBlb2YgX193ZWJwYWNrX25vbmNlX188InUiKXJldHVybiBfX3dlYnBhY2tfbm9uY2VfXztyZXR1cm59O2Z1bmN0aW9uIHJRKCl7aWYoIWRvY3VtZW50KXJldHVybiBudWxsO3ZhciBKPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7Si50eXBlPSJ0ZXh0L2NzcyI7dmFyIFo9cUooKTtpZihaKUouc2V0QXR0cmlidXRlKCJub25jZSIsWik7cmV0dXJuIEp9ZnVuY3Rpb24gb1EoSixaKXtpZihKLnN0eWxlU2hlZXQpSi5zdHlsZVNoZWV0LmNzc1RleHQ9WjtlbHNlIEouYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoWikpfWZ1bmN0aW9uIG5RKEope3ZhciBaPWRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07Wi5hcHBlbmRDaGlsZChKKX12YXIgejk9ZnVuY3Rpb24oKXt2YXIgSj0wLFo9bnVsbDtyZXR1cm57YWRkOmZ1bmN0aW9uKHEpe2lmKEo9PTApe2lmKFo9clEoKSlvUShaLHEpLG5RKFopfUorK30scmVtb3ZlOmZ1bmN0aW9uKCl7aWYoSi0tLCFKJiZaKVoucGFyZW50Tm9kZSYmWi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKFopLFo9bnVsbH19fTt2YXIgVzk9ZnVuY3Rpb24oKXt2YXIgSj16OSgpO3JldHVybiBmdW5jdGlvbihaLHEpe3koZnVuY3Rpb24oKXtyZXR1cm4gSi5hZGQoWiksZnVuY3Rpb24oKXtKLnJlbW92ZSgpfX0sW1omJnFdKX19O3ZhciB6Nj1mdW5jdGlvbigpe3ZhciBKPVc5KCksWj1mdW5jdGlvbihxKXt2YXJ7c3R5bGVzOlEsZHluYW1pYzpYfT1xO3JldHVybiBKKFEsWCksbnVsbH07cmV0dXJuIFp9O3ZhciB0UT17bGVmdDowLHRvcDowLHJpZ2h0OjAsZ2FwOjB9LEc5PWZ1bmN0aW9uKEope3JldHVybiBwYXJzZUludChKfHwiIiwxMCl8fDB9LGVRPWZ1bmN0aW9uKEope3ZhciBaPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLHE9WltKPT09InBhZGRpbmciPyJwYWRkaW5nTGVmdCI6Im1hcmdpbkxlZnQiXSxRPVpbSj09PSJwYWRkaW5nIj8icGFkZGluZ1RvcCI6Im1hcmdpblRvcCJdLFg9WltKPT09InBhZGRpbmciPyJwYWRkaW5nUmlnaHQiOiJtYXJnaW5SaWdodCJdO3JldHVybltHOShxKSxHOShRKSxHOShYKV19LEI5PWZ1bmN0aW9uKEope2lmKEo9PT12b2lkIDApSj0ibWFyZ2luIjtpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gdFE7dmFyIFo9ZVEoSikscT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsUT13aW5kb3cuaW5uZXJXaWR0aDtyZXR1cm57bGVmdDpaWzBdLHRvcDpaWzFdLHJpZ2h0OlpbMl0sZ2FwOk1hdGgubWF4KDAsUS1xK1pbMl0tWlswXSl9fTt2YXIgSlg9ejYoKSx4MT0iZGF0YS1zY3JvbGwtbG9ja2VkIixaWD1mdW5jdGlvbihKLFoscSxRKXt2YXJ7bGVmdDpYLHRvcDpZLHJpZ2h0OiQsZ2FwOkt9PUo7aWYocT09PXZvaWQgMClxPSJtYXJnaW4iO3JldHVybmAKICAuYC5jb25jYXQocTksYCB7CiAgIG92ZXJmbG93OiBoaWRkZW4gYCkuY29uY2F0KFEsYDsKICAgcGFkZGluZy1yaWdodDogYCkuY29uY2F0KEssInB4ICIpLmNvbmNhdChRLGA7CiAgfQogIGJvZHlbYCkuY29uY2F0KHgxLGBdIHsKICAgIG92ZXJmbG93OiBoaWRkZW4gYCkuY29uY2F0KFEsYDsKICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICBgKS5jb25jYXQoW1omJiJwb3NpdGlvbjogcmVsYXRpdmUgIi5jb25jYXQoUSwiOyIpLHE9PT0ibWFyZ2luIiYmYAogICAgcGFkZGluZy1sZWZ0OiBgLmNvbmNhdChYLGBweDsKICAgIHBhZGRpbmctdG9wOiBgKS5jb25jYXQoWSxgcHg7CiAgICBwYWRkaW5nLXJpZ2h0OiBgKS5jb25jYXQoJCxgcHg7CiAgICBtYXJnaW4tbGVmdDowOwogICAgbWFyZ2luLXRvcDowOwogICAgbWFyZ2luLXJpZ2h0OiBgKS5jb25jYXQoSywicHggIikuY29uY2F0KFEsYDsKICAgIGApLHE9PT0icGFkZGluZyImJiJwYWRkaW5nLXJpZ2h0OiAiLmNvbmNhdChLLCJweCAiKS5jb25jYXQoUSwiOyIpXS5maWx0ZXIoQm9vbGVhbikuam9pbigiIiksYAogIH0KICAKICAuYCkuY29uY2F0KGoxLGAgewogICAgcmlnaHQ6IGApLmNvbmNhdChLLCJweCAiKS5jb25jYXQoUSxgOwogIH0KICAKICAuYCkuY29uY2F0KGsxLGAgewogICAgbWFyZ2luLXJpZ2h0OiBgKS5jb25jYXQoSywicHggIikuY29uY2F0KFEsYDsKICB9CiAgCiAgLmApLmNvbmNhdChqMSwiIC4iKS5jb25jYXQoajEsYCB7CiAgICByaWdodDogMCBgKS5jb25jYXQoUSxgOwogIH0KICAKICAuYCkuY29uY2F0KGsxLCIgLiIpLmNvbmNhdChrMSxgIHsKICAgIG1hcmdpbi1yaWdodDogMCBgKS5jb25jYXQoUSxgOwogIH0KICAKICBib2R5W2ApLmNvbmNhdCh4MSxgXSB7CiAgICBgKS5jb25jYXQoUTksIjogIikuY29uY2F0KEssYHB4OwogIH0KYCl9LFFKPWZ1bmN0aW9uKCl7dmFyIEo9cGFyc2VJbnQoZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoeDEpfHwiMCIsMTApO3JldHVybiBpc0Zpbml0ZShKKT9KOjB9LHFYPWZ1bmN0aW9uKCl7eShmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSh4MSwoUUooKSsxKS50b1N0cmluZygpKSxmdW5jdGlvbigpe3ZhciBKPVFKKCktMTtpZihKPD0wKWRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKHgxKTtlbHNlIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKHgxLEoudG9TdHJpbmcoKSl9fSxbXSl9LEg5PWZ1bmN0aW9uKEope3Zhcntub1JlbGF0aXZlOlosbm9JbXBvcnRhbnQ6cSxnYXBNb2RlOlF9PUosWD1RPT09dm9pZCAwPyJtYXJnaW4iOlE7cVgoKTt2YXIgWT1IMChmdW5jdGlvbigpe3JldHVybiBCOShYKX0sW1hdKTtyZXR1cm4gUTAoSlgse3N0eWxlczpaWChZLCFaLFgsIXE/IiFpbXBvcnRhbnQiOiIiKX0pfTt2YXIgVjk9ITE7aWYodHlwZW9mIHdpbmRvdzwidSIpdHJ5e2YxPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiBWOT0hMCwhMH19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsZjEsZjEpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixmMSxmMSl9Y2F0Y2goSil7Vjk9ITF9dmFyIGYxLEExPVY5P3twYXNzaXZlOiExfTohMTt2YXIgUVg9ZnVuY3Rpb24oSil7cmV0dXJuIEoudGFnTmFtZT09PSJURVhUQVJFQSJ9LFhKPWZ1bmN0aW9uKEosWil7aWYoIShKIGluc3RhbmNlb2YgRWxlbWVudCkpcmV0dXJuITE7dmFyIHE9d2luZG93LmdldENvbXB1dGVkU3R5bGUoSik7cmV0dXJuIHFbWl0hPT0iaGlkZGVuIiYmIShxLm92ZXJmbG93WT09PXEub3ZlcmZsb3dYJiYhUVgoSikmJnFbWl09PT0idmlzaWJsZSIpfSxYWD1mdW5jdGlvbihKKXtyZXR1cm4gWEooSiwib3ZlcmZsb3dZIil9LFlYPWZ1bmN0aW9uKEope3JldHVybiBYSihKLCJvdmVyZmxvd1giKX0sTDk9ZnVuY3Rpb24oSixaKXt2YXIgcT1aLm93bmVyRG9jdW1lbnQsUT1aO2Rve2lmKHR5cGVvZiBTaGFkb3dSb290PCJ1IiYmUSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpUT1RLmhvc3Q7dmFyIFg9WUooSixRKTtpZihYKXt2YXIgWT0kSihKLFEpLCQ9WVsxXSxLPVlbMl07aWYoJD5LKXJldHVybiEwfVE9US5wYXJlbnROb2RlfXdoaWxlKFEmJlEhPT1xLmJvZHkpO3JldHVybiExfSwkWD1mdW5jdGlvbihKKXt2YXJ7c2Nyb2xsVG9wOlosc2Nyb2xsSGVpZ2h0OnEsY2xpZW50SGVpZ2h0OlF9PUo7cmV0dXJuW1oscSxRXX0sS1g9ZnVuY3Rpb24oSil7dmFye3Njcm9sbExlZnQ6WixzY3JvbGxXaWR0aDpxLGNsaWVudFdpZHRoOlF9PUo7cmV0dXJuW1oscSxRXX0sWUo9ZnVuY3Rpb24oSixaKXtyZXR1cm4gSj09PSJ2Ij9YWChaKTpZWChaKX0sJEo9ZnVuY3Rpb24oSixaKXtyZXR1cm4gSj09PSJ2Ij8kWChaKTpLWChaKX0selg9ZnVuY3Rpb24oSixaKXtyZXR1cm4gSj09PSJoIiYmWj09PSJydGwiPy0xOjF9LEtKPWZ1bmN0aW9uKEosWixxLFEsWCl7dmFyIFk9elgoSix3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShaKS5kaXJlY3Rpb24pLCQ9WSpRLEs9cS50YXJnZXQsQj1aLmNvbnRhaW5zKEspLEc9ITEsSD0kPjAsej0wLFU9MDtkb3tpZighSylicmVhazt2YXIgVj0kSihKLEspLEY9VlswXSxMPVZbMV0sRD1WWzJdLE89TC1ELVkqRjtpZihGfHxPKXtpZihZSihKLEspKXorPU8sVSs9Rn12YXIgTj1LLnBhcmVudE5vZGU7Sz1OJiZOLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFP04uaG9zdDpOfXdoaWxlKCFCJiZLIT09ZG9jdW1lbnQuYm9keXx8QiYmKFouY29udGFpbnMoSyl8fFo9PT1LKSk7aWYoSCYmKFgmJk1hdGguYWJzKHopPDF8fCFYJiYkPnopKUc9ITA7ZWxzZSBpZighSCYmKFgmJk1hdGguYWJzKFUpPDF8fCFYJiYtJD5VKSlHPSEwO3JldHVybiBHfTt2YXIgSjg9ZnVuY3Rpb24oSil7cmV0dXJuImNoYW5nZWRUb3VjaGVzImluIEo/W0ouY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCxKLmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFldOlswLDBdfSx6Sj1mdW5jdGlvbihKKXtyZXR1cm5bSi5kZWx0YVgsSi5kZWx0YVldfSxXSj1mdW5jdGlvbihKKXtyZXR1cm4gSiYmImN1cnJlbnQiaW4gSj9KLmN1cnJlbnQ6Sn0sV1g9ZnVuY3Rpb24oSixaKXtyZXR1cm4gSlswXT09PVpbMF0mJkpbMV09PT1aWzFdfSxHWD1mdW5jdGlvbihKKXtyZXR1cm5gCiAgLmJsb2NrLWludGVyYWN0aXZpdHktYC5jb25jYXQoSixgIHtwb2ludGVyLWV2ZW50czogbm9uZTt9CiAgLmFsbG93LWludGVyYWN0aXZpdHktYCkuY29uY2F0KEosYCB7cG9pbnRlci1ldmVudHM6IGFsbDt9CmApfSxCWD0wLG0xPVtdO2Z1bmN0aW9uIEdKKEope3ZhciBaPUUoW10pLHE9RShbMCwwXSksUT1FKCksWD1fKEJYKyspWzBdLFk9Xyh6NilbMF0sJD1FKEopO3koZnVuY3Rpb24oKXskLmN1cnJlbnQ9Sn0sW0pdKSx5KGZ1bmN0aW9uKCl7aWYoSi5pbmVydCl7ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJibG9jay1pbnRlcmFjdGl2aXR5LSIuY29uY2F0KFgpKTt2YXIgTD1uNChbSi5sb2NrUmVmLmN1cnJlbnRdLChKLnNoYXJkc3x8W10pLm1hcChXSiksITApLmZpbHRlcihCb29sZWFuKTtyZXR1cm4gTC5mb3JFYWNoKGZ1bmN0aW9uKEQpe3JldHVybiBELmNsYXNzTGlzdC5hZGQoImFsbG93LWludGVyYWN0aXZpdHktIi5jb25jYXQoWCkpfSksZnVuY3Rpb24oKXtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoImJsb2NrLWludGVyYWN0aXZpdHktIi5jb25jYXQoWCkpLEwuZm9yRWFjaChmdW5jdGlvbihEKXtyZXR1cm4gRC5jbGFzc0xpc3QucmVtb3ZlKCJhbGxvdy1pbnRlcmFjdGl2aXR5LSIuY29uY2F0KFgpKX0pfX1yZXR1cm59LFtKLmluZXJ0LEoubG9ja1JlZi5jdXJyZW50LEouc2hhcmRzXSk7dmFyIEs9UyhmdW5jdGlvbihMLEQpe2lmKCJ0b3VjaGVzImluIEwmJkwudG91Y2hlcy5sZW5ndGg9PT0yfHxMLnR5cGU9PT0id2hlZWwiJiZMLmN0cmxLZXkpcmV0dXJuISQuY3VycmVudC5hbGxvd1BpbmNoWm9vbTt2YXIgTz1KOChMKSxOPXEuY3VycmVudCxBPSJkZWx0YVgiaW4gTD9MLmRlbHRhWDpOWzBdLU9bMF0saj0iZGVsdGFZImluIEw/TC5kZWx0YVk6TlsxXS1PWzFdLHcsYj1MLnRhcmdldCxQPU1hdGguYWJzKEEpPk1hdGguYWJzKGopPyJoIjoidiI7aWYoInRvdWNoZXMiaW4gTCYmUD09PSJoIiYmYi50eXBlPT09InJhbmdlIilyZXR1cm4hMTt2YXIgdj13aW5kb3cuZ2V0U2VsZWN0aW9uKCksYz12JiZ2LmFuY2hvck5vZGUsZj1jP2M9PT1ifHxjLmNvbnRhaW5zKGIpOiExO2lmKGYpcmV0dXJuITE7dmFyIG89TDkoUCxiKTtpZighbylyZXR1cm4hMDtpZihvKXc9UDtlbHNlIHc9UD09PSJ2Ij8iaCI6InYiLG89TDkoUCxiKTtpZighbylyZXR1cm4hMTtpZighUS5jdXJyZW50JiYiY2hhbmdlZFRvdWNoZXMiaW4gTCYmKEF8fGopKVEuY3VycmVudD13O2lmKCF3KXJldHVybiEwO3ZhciBaMD1RLmN1cnJlbnR8fHc7cmV0dXJuIEtKKFowLEQsTCxaMD09PSJoIj9BOmosITApfSxbXSksQj1TKGZ1bmN0aW9uKEwpe3ZhciBEPUw7aWYoIW0xLmxlbmd0aHx8bTFbbTEubGVuZ3RoLTFdIT09WSlyZXR1cm47dmFyIE89ImRlbHRhWSJpbiBEP3pKKEQpOko4KEQpLE49Wi5jdXJyZW50LmZpbHRlcihmdW5jdGlvbih3KXtyZXR1cm4gdy5uYW1lPT09RC50eXBlJiYody50YXJnZXQ9PT1ELnRhcmdldHx8RC50YXJnZXQ9PT13LnNoYWRvd1BhcmVudCkmJldYKHcuZGVsdGEsTyl9KVswXTtpZihOJiZOLnNob3VsZCl7aWYoRC5jYW5jZWxhYmxlKUQucHJldmVudERlZmF1bHQoKTtyZXR1cm59aWYoIU4pe3ZhciBBPSgkLmN1cnJlbnQuc2hhcmRzfHxbXSkubWFwKFdKKS5maWx0ZXIoQm9vbGVhbikuZmlsdGVyKGZ1bmN0aW9uKHcpe3JldHVybiB3LmNvbnRhaW5zKEQudGFyZ2V0KX0pLGo9QS5sZW5ndGg+MD9LKEQsQVswXSk6ISQuY3VycmVudC5ub0lzb2xhdGlvbjtpZihqKXtpZihELmNhbmNlbGFibGUpRC5wcmV2ZW50RGVmYXVsdCgpfX19LFtdKSxHPVMoZnVuY3Rpb24oTCxELE8sTil7dmFyIEE9e25hbWU6TCxkZWx0YTpELHRhcmdldDpPLHNob3VsZDpOLHNoYWRvd1BhcmVudDpIWChPKX07Wi5jdXJyZW50LnB1c2goQSksc2V0VGltZW91dChmdW5jdGlvbigpe1ouY3VycmVudD1aLmN1cnJlbnQuZmlsdGVyKGZ1bmN0aW9uKGope3JldHVybiBqIT09QX0pfSwxKX0sW10pLEg9UyhmdW5jdGlvbihMKXtxLmN1cnJlbnQ9SjgoTCksUS5jdXJyZW50PXZvaWQgMH0sW10pLHo9UyhmdW5jdGlvbihMKXtHKEwudHlwZSx6SihMKSxMLnRhcmdldCxLKEwsSi5sb2NrUmVmLmN1cnJlbnQpKX0sW10pLFU9UyhmdW5jdGlvbihMKXtHKEwudHlwZSxKOChMKSxMLnRhcmdldCxLKEwsSi5sb2NrUmVmLmN1cnJlbnQpKX0sW10pO3koZnVuY3Rpb24oKXtyZXR1cm4gbTEucHVzaChZKSxKLnNldENhbGxiYWNrcyh7b25TY3JvbGxDYXB0dXJlOnosb25XaGVlbENhcHR1cmU6eixvblRvdWNoTW92ZUNhcHR1cmU6VX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixCLEExKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLEIsQTEpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLEgsQTEpLGZ1bmN0aW9uKCl7bTE9bTEuZmlsdGVyKGZ1bmN0aW9uKEwpe3JldHVybiBMIT09WX0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIixCLEExKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLEIsQTEpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLEgsQTEpfX0sW10pO3ZhcntyZW1vdmVTY3JvbGxCYXI6VixpbmVydDpGfT1KO3JldHVybiBRMChKMCxudWxsLEY/UTAoWSx7c3R5bGVzOkdYKFgpfSk6bnVsbCxWP1EwKEg5LHtub1JlbGF0aXZlOkoubm9SZWxhdGl2ZSxnYXBNb2RlOkouZ2FwTW9kZX0pOm51bGwpfWZ1bmN0aW9uIEhYKEope3ZhciBaPW51bGw7d2hpbGUoSiE9PW51bGwpe2lmKEogaW5zdGFuY2VvZiBTaGFkb3dSb290KVo9Si5ob3N0LEo9Si5ob3N0O0o9Si5wYXJlbnROb2RlfXJldHVybiBafXZhciBCSj0kOShlNixHSik7dmFyIEhKPVIoZnVuY3Rpb24oSixaKXtyZXR1cm4gUTAoSzYsQzAoe30sSix7cmVmOlosc2lkZUNhcjpCSn0pKX0pO0hKLmNsYXNzTmFtZXM9SzYuY2xhc3NOYW1lczt2YXIgVTk9SEo7dmFyIEY5PVsiRW50ZXIiLCIgIl0sVlg9WyJBcnJvd0Rvd24iLCJQYWdlVXAiLCJIb21lIl0sTEo9WyJBcnJvd1VwIiwiUGFnZURvd24iLCJFbmQiXSxMWD1bLi4uVlgsLi4uTEpdLFVYPXtsdHI6Wy4uLkY5LCJBcnJvd1JpZ2h0Il0scnRsOlsuLi5GOSwiQXJyb3dMZWZ0Il19LEZYPXtsdHI6WyJBcnJvd0xlZnQiXSxydGw6WyJBcnJvd1JpZ2h0Il19LEg2PSJNZW51IixbRzYsRFgsT1hdPUMxKEg2KSxbSTEsVUpdPXIwKEg2LFtPWCxyOCxnMV0pLFY2PXI4KCksRko9ZzEoKSxbREosRzFdPUkxKEg2KSxbTlgsTDZdPUkxKEg2KSxPSj0oSik9PntsZXR7X19zY29wZU1lbnU6WixvcGVuOnE9ITEsY2hpbGRyZW46USxkaXI6WCxvbk9wZW5DaGFuZ2U6WSxtb2RhbDokPSEwfT1KLEs9VjYoWiksW0IsR109XyhudWxsKSxIPUUoITEpLHo9TjAoWSksVT1TMShYKTtyZXR1cm4geSgoKT0+e2xldCBWPSgpPT57SC5jdXJyZW50PSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixGLHtjYXB0dXJlOiEwLG9uY2U6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsRix7Y2FwdHVyZTohMCxvbmNlOiEwfSl9LEY9KCk9PkguY3VycmVudD0hMTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsVix7Y2FwdHVyZTohMH0pLCgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsVix7Y2FwdHVyZTohMH0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixGLHtjYXB0dXJlOiEwfSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEYse2NhcHR1cmU6ITB9KX19LFtdKSxXKG44LHsuLi5LLGNoaWxkcmVuOlcoREose3Njb3BlOlosb3BlbjpxLG9uT3BlbkNoYW5nZTp6LGNvbnRlbnQ6QixvbkNvbnRlbnRDaGFuZ2U6RyxjaGlsZHJlbjpXKE5YLHtzY29wZTpaLG9uQ2xvc2U6UygoKT0+eighMSksW3pdKSxpc1VzaW5nS2V5Ym9hcmRSZWY6SCxkaXI6VSxtb2RhbDokLGNoaWxkcmVuOlF9KX0pfSl9O09KLmRpc3BsYXlOYW1lPUg2O3ZhciBUWD0iTWVudUFuY2hvciIsRDk9UigoSixaKT0+e2xldHtfX3Njb3BlTWVudTpxLC4uLlF9PUosWD1WNihxKTtyZXR1cm4gVyhtNCx7Li4uWCwuLi5RLHJlZjpafSl9KTtEOS5kaXNwbGF5TmFtZT1UWDt2YXIgTzk9Ik1lbnVQb3J0YWwiLFtqWCxOSl09STEoTzkse2ZvcmNlTW91bnQ6dm9pZCAwfSksVEo9KEopPT57bGV0e19fc2NvcGVNZW51OlosZm9yY2VNb3VudDpxLGNoaWxkcmVuOlEsY29udGFpbmVyOlh9PUosWT1HMShPOSxaKTtyZXR1cm4gVyhqWCx7c2NvcGU6Wixmb3JjZU1vdW50OnEsY2hpbGRyZW46VyhoMSx7cHJlc2VudDpxfHxZLm9wZW4sY2hpbGRyZW46Vyh0OCx7YXNDaGlsZDohMCxjb250YWluZXI6WCxjaGlsZHJlbjpRfSl9KX0pfTtUSi5kaXNwbGF5TmFtZT1POTt2YXIgZjA9Ik1lbnVDb250ZW50Iixba1gsTjldPUkxKGYwKSxqSj1SKChKLFopPT57bGV0IHE9TkooZjAsSi5fX3Njb3BlTWVudSkse2ZvcmNlTW91bnQ6UT1xLmZvcmNlTW91bnQsLi4uWH09SixZPUcxKGYwLEouX19zY29wZU1lbnUpLCQ9TDYoZjAsSi5fX3Njb3BlTWVudSk7cmV0dXJuIFcoRzYuUHJvdmlkZXIse3Njb3BlOkouX19zY29wZU1lbnUsY2hpbGRyZW46VyhoMSx7cHJlc2VudDpRfHxZLm9wZW4sY2hpbGRyZW46VyhHNi5TbG90LHtzY29wZTpKLl9fc2NvcGVNZW51LGNoaWxkcmVuOiQubW9kYWw/VyhBWCx7Li4uWCxyZWY6Wn0pOlcoSVgsey4uLlgscmVmOlp9KX0pfSl9KX0pLEFYPVIoKEosWik9PntsZXQgcT1HMShmMCxKLl9fc2NvcGVNZW51KSxRPUUobnVsbCksWD1HMChaLFEpO3JldHVybiB5KCgpPT57bGV0IFk9US5jdXJyZW50O2lmKFkpcmV0dXJuIG80KFkpfSxbXSksVyhUOSx7Li4uSixyZWY6WCx0cmFwRm9jdXM6cS5vcGVuLGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50czpxLm9wZW4sZGlzYWJsZU91dHNpZGVTY3JvbGw6ITAsb25Gb2N1c091dHNpZGU6aShKLm9uRm9jdXNPdXRzaWRlLChZKT0+WS5wcmV2ZW50RGVmYXVsdCgpLHtjaGVja0ZvckRlZmF1bHRQcmV2ZW50ZWQ6ITF9KSxvbkRpc21pc3M6KCk9PnEub25PcGVuQ2hhbmdlKCExKX0pfSksSVg9UigoSixaKT0+e2xldCBxPUcxKGYwLEouX19zY29wZU1lbnUpO3JldHVybiBXKFQ5LHsuLi5KLHJlZjpaLHRyYXBGb2N1czohMSxkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6ITEsZGlzYWJsZU91dHNpZGVTY3JvbGw6ITEsb25EaXNtaXNzOigpPT5xLm9uT3BlbkNoYW5nZSghMSl9KX0pLFBYPVYxKCJNZW51Q29udGVudC5TY3JvbGxMb2NrIiksVDk9UigoSixaKT0+e2xldHtfX3Njb3BlTWVudTpxLGxvb3A6UT0hMSx0cmFwRm9jdXM6WCxvbk9wZW5BdXRvRm9jdXM6WSxvbkNsb3NlQXV0b0ZvY3VzOiQsZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOkssb25FbnRyeUZvY3VzOkIsb25Fc2NhcGVLZXlEb3duOkcsb25Qb2ludGVyRG93bk91dHNpZGU6SCxvbkZvY3VzT3V0c2lkZTp6LG9uSW50ZXJhY3RPdXRzaWRlOlUsb25EaXNtaXNzOlYsZGlzYWJsZU91dHNpZGVTY3JvbGw6RiwuLi5MfT1KLEQ9RzEoZjAscSksTz1MNihmMCxxKSxOPVY2KHEpLEE9RkoocSksaj1EWChxKSxbdyxiXT1fKG51bGwpLFA9RShudWxsKSx2PUcwKFosUCxELm9uQ29udGVudENoYW5nZSksYz1FKDApLGY9RSgiIiksbz1FKDApLFowPUUobnVsbCksdD1FKCJyaWdodCIpLGE9RSgwKSxrPUY/VTk6SjAseD1GP3thczpQWCxhbGxvd1BpbmNoWm9vbTohMH06dm9pZCAwLHM9KFQpPT57bGV0IGQ9Zi5jdXJyZW50K1Qscj1qKCkuZmlsdGVyKChlKT0+IWUuZGlzYWJsZWQpLGw9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxLMD1yLmZpbmQoKGUpPT5lLnJlZi5jdXJyZW50PT09bCk/LnRleHRWYWx1ZSxCMD1yLm1hcCgoZSk9PmUudGV4dFZhbHVlKSxPMD12WChCMCxkLEswKSxxMD1yLmZpbmQoKGUpPT5lLnRleHRWYWx1ZT09PU8wKT8ucmVmLmN1cnJlbnQ7aWYoZnVuY3Rpb24gZSh6MCl7aWYoZi5jdXJyZW50PXowLHdpbmRvdy5jbGVhclRpbWVvdXQoYy5jdXJyZW50KSx6MCE9PSIiKWMuY3VycmVudD13aW5kb3cuc2V0VGltZW91dCgoKT0+ZSgiIiksMTAwMCl9KGQpLHEwKXNldFRpbWVvdXQoKCk9PnEwLmZvY3VzKCkpfTt5KCgpPT57cmV0dXJuKCk9PndpbmRvdy5jbGVhclRpbWVvdXQoYy5jdXJyZW50KX0sW10pLEU3KCk7bGV0IHA9UygoVCk9PntyZXR1cm4gdC5jdXJyZW50PT09WjAuY3VycmVudD8uc2lkZSYmZlgoVCxaMC5jdXJyZW50Py5hcmVhKX0sW10pO3JldHVybiBXKGtYLHtzY29wZTpxLHNlYXJjaFJlZjpmLG9uSXRlbUVudGVyOlMoKFQpPT57aWYocChUKSlULnByZXZlbnREZWZhdWx0KCl9LFtwXSksb25JdGVtTGVhdmU6UygoVCk9PntpZihwKFQpKXJldHVybjtQLmN1cnJlbnQ/LmZvY3VzKCksYihudWxsKX0sW3BdKSxvblRyaWdnZXJMZWF2ZTpTKChUKT0+e2lmKHAoVCkpVC5wcmV2ZW50RGVmYXVsdCgpfSxbcF0pLHBvaW50ZXJHcmFjZVRpbWVyUmVmOm8sb25Qb2ludGVyR3JhY2VJbnRlbnRDaGFuZ2U6UygoVCk9PntaMC5jdXJyZW50PVR9LFtdKSxjaGlsZHJlbjpXKGssey4uLngsY2hpbGRyZW46VyhmOCx7YXNDaGlsZDohMCx0cmFwcGVkOlgsb25Nb3VudEF1dG9Gb2N1czppKFksKFQpPT57VC5wcmV2ZW50RGVmYXVsdCgpLFAuY3VycmVudD8uZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX0pLG9uVW5tb3VudEF1dG9Gb2N1czokLGNoaWxkcmVuOlcoaDgse2FzQ2hpbGQ6ITAsZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOkssb25Fc2NhcGVLZXlEb3duOkcsb25Qb2ludGVyRG93bk91dHNpZGU6SCxvbkZvY3VzT3V0c2lkZTp6LG9uSW50ZXJhY3RPdXRzaWRlOlUsb25EaXNtaXNzOlYsY2hpbGRyZW46VyhzNix7YXNDaGlsZDohMCwuLi5BLGRpcjpPLmRpcixvcmllbnRhdGlvbjoidmVydGljYWwiLGxvb3A6USxjdXJyZW50VGFiU3RvcElkOncsb25DdXJyZW50VGFiU3RvcElkQ2hhbmdlOmIsb25FbnRyeUZvY3VzOmkoQiwoVCk9PntpZighTy5pc1VzaW5nS2V5Ym9hcmRSZWYuY3VycmVudClULnByZXZlbnREZWZhdWx0KCl9KSxwcmV2ZW50U2Nyb2xsT25FbnRyeUZvY3VzOiEwLGNoaWxkcmVuOlcocDQse3JvbGU6Im1lbnUiLCJhcmlhLW9yaWVudGF0aW9uIjoidmVydGljYWwiLCJkYXRhLXN0YXRlIjp4SihELm9wZW4pLCJkYXRhLXJhZGl4LW1lbnUtY29udGVudCI6IiIsZGlyOk8uZGlyLC4uLk4sLi4uTCxyZWY6dixzdHlsZTp7b3V0bGluZToibm9uZSIsLi4uTC5zdHlsZX0sb25LZXlEb3duOmkoTC5vbktleURvd24sKFQpPT57bGV0IHI9VC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtcmFkaXgtbWVudS1jb250ZW50XSIpPT09VC5jdXJyZW50VGFyZ2V0LGw9VC5jdHJsS2V5fHxULmFsdEtleXx8VC5tZXRhS2V5LEswPVQua2V5Lmxlbmd0aD09PTE7aWYocil7aWYoVC5rZXk9PT0iVGFiIilULnByZXZlbnREZWZhdWx0KCk7aWYoIWwmJkswKXMoVC5rZXkpfWxldCBCMD1QLmN1cnJlbnQ7aWYoVC50YXJnZXQhPT1CMClyZXR1cm47aWYoIUxYLmluY2x1ZGVzKFQua2V5KSlyZXR1cm47VC5wcmV2ZW50RGVmYXVsdCgpO2xldCBxMD1qKCkuZmlsdGVyKChlKT0+IWUuZGlzYWJsZWQpLm1hcCgoZSk9PmUucmVmLmN1cnJlbnQpO2lmKExKLmluY2x1ZGVzKFQua2V5KSlxMC5yZXZlcnNlKCk7aFgocTApfSksb25CbHVyOmkoSi5vbkJsdXIsKFQpPT57aWYoIVQuY3VycmVudFRhcmdldC5jb250YWlucyhULnRhcmdldCkpd2luZG93LmNsZWFyVGltZW91dChjLmN1cnJlbnQpLGYuY3VycmVudD0iIn0pLG9uUG9pbnRlck1vdmU6aShKLm9uUG9pbnRlck1vdmUsQjYoKFQpPT57bGV0IGQ9VC50YXJnZXQscj1hLmN1cnJlbnQhPT1ULmNsaWVudFg7aWYoVC5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGQpJiZyKXtsZXQgbD1ULmNsaWVudFg+YS5jdXJyZW50PyJyaWdodCI6ImxlZnQiO3QuY3VycmVudD1sLGEuY3VycmVudD1ULmNsaWVudFh9fSkpfSl9KX0pfSl9KX0pfSk7akouZGlzcGxheU5hbWU9ZjA7dmFyIEVYPSJNZW51R3JvdXAiLGo5PVIoKEosWik9PntsZXR7X19zY29wZU1lbnU6cSwuLi5RfT1KO3JldHVybiBXKCQwLmRpdix7cm9sZToiZ3JvdXAiLC4uLlEscmVmOlp9KX0pO2o5LmRpc3BsYXlOYW1lPUVYO3ZhciBfWD0iTWVudUxhYmVsIixrSj1SKChKLFopPT57bGV0e19fc2NvcGVNZW51OnEsLi4uUX09SjtyZXR1cm4gVygkMC5kaXYsey4uLlEscmVmOlp9KX0pO2tKLmRpc3BsYXlOYW1lPV9YO3ZhciBaOD0iTWVudUl0ZW0iLFZKPSJtZW51Lml0ZW1TZWxlY3QiLFE4PVIoKEosWik9PntsZXR7ZGlzYWJsZWQ6cT0hMSxvblNlbGVjdDpRLC4uLlh9PUosWT1FKG51bGwpLCQ9TDYoWjgsSi5fX3Njb3BlTWVudSksSz1OOShaOCxKLl9fc2NvcGVNZW51KSxCPUcwKFosWSksRz1FKCExKSxIPSgpPT57bGV0IHo9WS5jdXJyZW50O2lmKCFxJiZ6KXtsZXQgVT1uZXcgQ3VzdG9tRXZlbnQoVkose2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMH0pO2lmKHouYWRkRXZlbnRMaXN0ZW5lcihWSiwoVik9PlE/LihWKSx7b25jZTohMH0pLGI2KHosVSksVS5kZWZhdWx0UHJldmVudGVkKUcuY3VycmVudD0hMTtlbHNlICQub25DbG9zZSgpfX07cmV0dXJuIFcoQUosey4uLlgscmVmOkIsZGlzYWJsZWQ6cSxvbkNsaWNrOmkoSi5vbkNsaWNrLEgpLG9uUG9pbnRlckRvd246KHopPT57Si5vblBvaW50ZXJEb3duPy4oeiksRy5jdXJyZW50PSEwfSxvblBvaW50ZXJVcDppKEoub25Qb2ludGVyVXAsKHopPT57aWYoIUcuY3VycmVudCl6LmN1cnJlbnRUYXJnZXQ/LmNsaWNrKCl9KSxvbktleURvd246aShKLm9uS2V5RG93biwoeik9PntsZXQgVT1LLnNlYXJjaFJlZi5jdXJyZW50IT09IiI7aWYocXx8VSYmei5rZXk9PT0iICIpcmV0dXJuO2lmKEY5LmluY2x1ZGVzKHoua2V5KSl6LmN1cnJlbnRUYXJnZXQuY2xpY2soKSx6LnByZXZlbnREZWZhdWx0KCl9KX0pfSk7UTguZGlzcGxheU5hbWU9Wjg7dmFyIEFKPVIoKEosWik9PntsZXR7X19zY29wZU1lbnU6cSxkaXNhYmxlZDpRPSExLHRleHRWYWx1ZTpYLC4uLll9PUosJD1OOShaOCxxKSxLPUZKKHEpLEI9RShudWxsKSxHPUcwKFosQiksW0gsel09XyghMSksW1UsVl09XygiIik7cmV0dXJuIHkoKCk9PntsZXQgRj1CLmN1cnJlbnQ7aWYoRilWKChGLnRleHRDb250ZW50Pz8iIikudHJpbSgpKX0sW1kuY2hpbGRyZW5dKSxXKEc2Lkl0ZW1TbG90LHtzY29wZTpxLGRpc2FibGVkOlEsdGV4dFZhbHVlOlg/P1UsY2hpbGRyZW46VyhhNix7YXNDaGlsZDohMCwuLi5LLGZvY3VzYWJsZTohUSxjaGlsZHJlbjpXKCQwLmRpdix7cm9sZToibWVudWl0ZW0iLCJkYXRhLWhpZ2hsaWdodGVkIjpIPyIiOnZvaWQgMCwiYXJpYS1kaXNhYmxlZCI6UXx8dm9pZCAwLCJkYXRhLWRpc2FibGVkIjpRPyIiOnZvaWQgMCwuLi5ZLHJlZjpHLG9uUG9pbnRlck1vdmU6aShKLm9uUG9pbnRlck1vdmUsQjYoKEYpPT57aWYoUSkkLm9uSXRlbUxlYXZlKEYpO2Vsc2UgaWYoJC5vbkl0ZW1FbnRlcihGKSwhRi5kZWZhdWx0UHJldmVudGVkKUYuY3VycmVudFRhcmdldC5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pfSkpLG9uUG9pbnRlckxlYXZlOmkoSi5vblBvaW50ZXJMZWF2ZSxCNigoRik9PiQub25JdGVtTGVhdmUoRikpKSxvbkZvY3VzOmkoSi5vbkZvY3VzLCgpPT56KCEwKSksb25CbHVyOmkoSi5vbkJsdXIsKCk9PnooITEpKX0pfSl9KX0pLE1YPSJNZW51Q2hlY2tib3hJdGVtIixJSj1SKChKLFopPT57bGV0e2NoZWNrZWQ6cT0hMSxvbkNoZWNrZWRDaGFuZ2U6USwuLi5YfT1KO3JldHVybiBXKHdKLHtzY29wZTpKLl9fc2NvcGVNZW51LGNoZWNrZWQ6cSxjaGlsZHJlbjpXKFE4LHtyb2xlOiJtZW51aXRlbWNoZWNrYm94IiwiYXJpYS1jaGVja2VkIjpxOChxKT8ibWl4ZWQiOnEsLi4uWCxyZWY6WiwiZGF0YS1zdGF0ZSI6STkocSksb25TZWxlY3Q6aShYLm9uU2VsZWN0LCgpPT5RPy4ocTgocSk/ITA6IXEpLHtjaGVja0ZvckRlZmF1bHRQcmV2ZW50ZWQ6ITF9KX0pfSl9KTtJSi5kaXNwbGF5TmFtZT1NWDt2YXIgUEo9Ik1lbnVSYWRpb0dyb3VwIixbd1gseVhdPUkxKFBKLHt2YWx1ZTp2b2lkIDAsb25WYWx1ZUNoYW5nZTooKT0+e319KSxFSj1SKChKLFopPT57bGV0e3ZhbHVlOnEsb25WYWx1ZUNoYW5nZTpRLC4uLlh9PUosWT1OMChRKTtyZXR1cm4gVyh3WCx7c2NvcGU6Si5fX3Njb3BlTWVudSx2YWx1ZTpxLG9uVmFsdWVDaGFuZ2U6WSxjaGlsZHJlbjpXKGo5LHsuLi5YLHJlZjpafSl9KX0pO0VKLmRpc3BsYXlOYW1lPVBKO3ZhciBfSj0iTWVudVJhZGlvSXRlbSIsTUo9UigoSixaKT0+e2xldHt2YWx1ZTpxLC4uLlF9PUosWD15WChfSixKLl9fc2NvcGVNZW51KSxZPXE9PT1YLnZhbHVlO3JldHVybiBXKHdKLHtzY29wZTpKLl9fc2NvcGVNZW51LGNoZWNrZWQ6WSxjaGlsZHJlbjpXKFE4LHtyb2xlOiJtZW51aXRlbXJhZGlvIiwiYXJpYS1jaGVja2VkIjpZLC4uLlEscmVmOlosImRhdGEtc3RhdGUiOkk5KFkpLG9uU2VsZWN0OmkoUS5vblNlbGVjdCwoKT0+WC5vblZhbHVlQ2hhbmdlPy4ocSkse2NoZWNrRm9yRGVmYXVsdFByZXZlbnRlZDohMX0pfSl9KX0pO01KLmRpc3BsYXlOYW1lPV9KO3ZhciBrOT0iTWVudUl0ZW1JbmRpY2F0b3IiLFt3SixDWF09STEoazkse2NoZWNrZWQ6ITF9KSx5Sj1SKChKLFopPT57bGV0e19fc2NvcGVNZW51OnEsZm9yY2VNb3VudDpRLC4uLlh9PUosWT1DWChrOSxxKTtyZXR1cm4gVyhoMSx7cHJlc2VudDpRfHxxOChZLmNoZWNrZWQpfHxZLmNoZWNrZWQ9PT0hMCxjaGlsZHJlbjpXKCQwLnNwYW4sey4uLlgscmVmOlosImRhdGEtc3RhdGUiOkk5KFkuY2hlY2tlZCl9KX0pfSk7eUouZGlzcGxheU5hbWU9azk7dmFyIFNYPSJNZW51U2VwYXJhdG9yIixDSj1SKChKLFopPT57bGV0e19fc2NvcGVNZW51OnEsLi4uUX09SjtyZXR1cm4gVygkMC5kaXYse3JvbGU6InNlcGFyYXRvciIsImFyaWEtb3JpZW50YXRpb24iOiJob3Jpem9udGFsIiwuLi5RLHJlZjpafSl9KTtDSi5kaXNwbGF5TmFtZT1TWDt2YXIgYlg9Ik1lbnVBcnJvdyIsU0o9UigoSixaKT0+e2xldHtfX3Njb3BlTWVudTpxLC4uLlF9PUosWD1WNihxKTtyZXR1cm4gVyh1NCx7Li4uWCwuLi5RLHJlZjpafSl9KTtTSi5kaXNwbGF5TmFtZT1iWDt2YXIgQTk9Ik1lbnVTdWIiLFtSWCxiSl09STEoQTkpLFJKPShKKT0+e2xldHtfX3Njb3BlTWVudTpaLGNoaWxkcmVuOnEsb3BlbjpRPSExLG9uT3BlbkNoYW5nZTpYfT1KLFk9RzEoQTksWiksJD1WNihaKSxbSyxCXT1fKG51bGwpLFtHLEhdPV8obnVsbCksej1OMChYKTtyZXR1cm4geSgoKT0+e2lmKFkub3Blbj09PSExKXooITEpO3JldHVybigpPT56KCExKX0sW1kub3Blbix6XSksVyhuOCx7Li4uJCxjaGlsZHJlbjpXKERKLHtzY29wZTpaLG9wZW46USxvbk9wZW5DaGFuZ2U6eixjb250ZW50Okcsb25Db250ZW50Q2hhbmdlOkgsY2hpbGRyZW46VyhSWCx7c2NvcGU6Wixjb250ZW50SWQ6WTEoKSx0cmlnZ2VySWQ6WTEoKSx0cmlnZ2VyOkssb25UcmlnZ2VyQ2hhbmdlOkIsY2hpbGRyZW46cX0pfSl9KX07UkouZGlzcGxheU5hbWU9QTk7dmFyIFc2PSJNZW51U3ViVHJpZ2dlciIsaEo9UigoSixaKT0+e2xldCBxPUcxKFc2LEouX19zY29wZU1lbnUpLFE9TDYoVzYsSi5fX3Njb3BlTWVudSksWD1iSihXNixKLl9fc2NvcGVNZW51KSxZPU45KFc2LEouX19zY29wZU1lbnUpLCQ9RShudWxsKSx7cG9pbnRlckdyYWNlVGltZXJSZWY6SyxvblBvaW50ZXJHcmFjZUludGVudENoYW5nZTpCfT1ZLEc9e19fc2NvcGVNZW51OkouX19zY29wZU1lbnV9LEg9UygoKT0+e2lmKCQuY3VycmVudCl3aW5kb3cuY2xlYXJUaW1lb3V0KCQuY3VycmVudCk7JC5jdXJyZW50PW51bGx9LFtdKTtyZXR1cm4geSgoKT0+SCxbSF0pLHkoKCk9PntsZXQgej1LLmN1cnJlbnQ7cmV0dXJuKCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KHopLEIobnVsbCl9fSxbSyxCXSksVyhEOSx7YXNDaGlsZDohMCwuLi5HLGNoaWxkcmVuOlcoQUose2lkOlgudHJpZ2dlcklkLCJhcmlhLWhhc3BvcHVwIjoibWVudSIsImFyaWEtZXhwYW5kZWQiOnEub3BlbiwiYXJpYS1jb250cm9scyI6WC5jb250ZW50SWQsImRhdGEtc3RhdGUiOnhKKHEub3BlbiksLi4uSixyZWY6ZTEoWixYLm9uVHJpZ2dlckNoYW5nZSksb25DbGljazooeik9PntpZihKLm9uQ2xpY2s/Lih6KSxKLmRpc2FibGVkfHx6LmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKHouY3VycmVudFRhcmdldC5mb2N1cygpLCFxLm9wZW4pcS5vbk9wZW5DaGFuZ2UoITApfSxvblBvaW50ZXJNb3ZlOmkoSi5vblBvaW50ZXJNb3ZlLEI2KCh6KT0+e2lmKFkub25JdGVtRW50ZXIoeiksei5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighSi5kaXNhYmxlZCYmIXEub3BlbiYmISQuY3VycmVudClZLm9uUG9pbnRlckdyYWNlSW50ZW50Q2hhbmdlKG51bGwpLCQuY3VycmVudD13aW5kb3cuc2V0VGltZW91dCgoKT0+e3Eub25PcGVuQ2hhbmdlKCEwKSxIKCl9LDEwMCl9KSksb25Qb2ludGVyTGVhdmU6aShKLm9uUG9pbnRlckxlYXZlLEI2KCh6KT0+e0goKTtsZXQgVT1xLmNvbnRlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKFUpe2xldCBWPXEuY29udGVudD8uZGF0YXNldC5zaWRlLEY9Vj09PSJyaWdodCIsTD1GPy01OjUsRD1VW0Y/ImxlZnQiOiJyaWdodCJdLE89VVtGPyJyaWdodCI6ImxlZnQiXTtZLm9uUG9pbnRlckdyYWNlSW50ZW50Q2hhbmdlKHthcmVhOlt7eDp6LmNsaWVudFgrTCx5OnouY2xpZW50WX0se3g6RCx5OlUudG9wfSx7eDpPLHk6VS50b3B9LHt4Ok8seTpVLmJvdHRvbX0se3g6RCx5OlUuYm90dG9tfV0sc2lkZTpWfSksd2luZG93LmNsZWFyVGltZW91dChLLmN1cnJlbnQpLEsuY3VycmVudD13aW5kb3cuc2V0VGltZW91dCgoKT0+WS5vblBvaW50ZXJHcmFjZUludGVudENoYW5nZShudWxsKSwzMDApfWVsc2V7aWYoWS5vblRyaWdnZXJMZWF2ZSh6KSx6LmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO1kub25Qb2ludGVyR3JhY2VJbnRlbnRDaGFuZ2UobnVsbCl9fSkpLG9uS2V5RG93bjppKEoub25LZXlEb3duLCh6KT0+e2xldCBVPVkuc2VhcmNoUmVmLmN1cnJlbnQhPT0iIjtpZihKLmRpc2FibGVkfHxVJiZ6LmtleT09PSIgIilyZXR1cm47aWYoVVhbUS5kaXJdLmluY2x1ZGVzKHoua2V5KSlxLm9uT3BlbkNoYW5nZSghMCkscS5jb250ZW50Py5mb2N1cygpLHoucHJldmVudERlZmF1bHQoKX0pfSl9KX0pO2hKLmRpc3BsYXlOYW1lPVc2O3ZhciBnSj0iTWVudVN1YkNvbnRlbnQiLHZKPVIoKEosWik9PntsZXQgcT1OSihmMCxKLl9fc2NvcGVNZW51KSx7Zm9yY2VNb3VudDpRPXEuZm9yY2VNb3VudCwuLi5YfT1KLFk9RzEoZjAsSi5fX3Njb3BlTWVudSksJD1MNihmMCxKLl9fc2NvcGVNZW51KSxLPWJKKGdKLEouX19zY29wZU1lbnUpLEI9RShudWxsKSxHPUcwKFosQik7cmV0dXJuIFcoRzYuUHJvdmlkZXIse3Njb3BlOkouX19zY29wZU1lbnUsY2hpbGRyZW46VyhoMSx7cHJlc2VudDpRfHxZLm9wZW4sY2hpbGRyZW46VyhHNi5TbG90LHtzY29wZTpKLl9fc2NvcGVNZW51LGNoaWxkcmVuOlcoVDkse2lkOksuY29udGVudElkLCJhcmlhLWxhYmVsbGVkYnkiOksudHJpZ2dlcklkLC4uLlgscmVmOkcsYWxpZ246InN0YXJ0IixzaWRlOiQuZGlyPT09InJ0bCI/ImxlZnQiOiJyaWdodCIsZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOiExLGRpc2FibGVPdXRzaWRlU2Nyb2xsOiExLHRyYXBGb2N1czohMSxvbk9wZW5BdXRvRm9jdXM6KEgpPT57aWYoJC5pc1VzaW5nS2V5Ym9hcmRSZWYuY3VycmVudClCLmN1cnJlbnQ/LmZvY3VzKCk7SC5wcmV2ZW50RGVmYXVsdCgpfSxvbkNsb3NlQXV0b0ZvY3VzOihIKT0+SC5wcmV2ZW50RGVmYXVsdCgpLG9uRm9jdXNPdXRzaWRlOmkoSi5vbkZvY3VzT3V0c2lkZSwoSCk9PntpZihILnRhcmdldCE9PUsudHJpZ2dlcilZLm9uT3BlbkNoYW5nZSghMSl9KSxvbkVzY2FwZUtleURvd246aShKLm9uRXNjYXBlS2V5RG93biwoSCk9PnskLm9uQ2xvc2UoKSxILnByZXZlbnREZWZhdWx0KCl9KSxvbktleURvd246aShKLm9uS2V5RG93biwoSCk9PntsZXQgej1ILmN1cnJlbnRUYXJnZXQuY29udGFpbnMoSC50YXJnZXQpLFU9RlhbJC5kaXJdLmluY2x1ZGVzKEgua2V5KTtpZih6JiZVKVkub25PcGVuQ2hhbmdlKCExKSxLLnRyaWdnZXI/LmZvY3VzKCksSC5wcmV2ZW50RGVmYXVsdCgpfSl9KX0pfSl9KX0pO3ZKLmRpc3BsYXlOYW1lPWdKO2Z1bmN0aW9uIHhKKEope3JldHVybiBKPyJvcGVuIjoiY2xvc2VkIn1mdW5jdGlvbiBxOChKKXtyZXR1cm4gSj09PSJpbmRldGVybWluYXRlIn1mdW5jdGlvbiBJOShKKXtyZXR1cm4gcTgoSik/ImluZGV0ZXJtaW5hdGUiOko/ImNoZWNrZWQiOiJ1bmNoZWNrZWQifWZ1bmN0aW9uIGhYKEope2xldCBaPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7Zm9yKGxldCBxIG9mIEope2lmKHE9PT1aKXJldHVybjtpZihxLmZvY3VzKCksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PVopcmV0dXJufX1mdW5jdGlvbiBnWChKLFope3JldHVybiBKLm1hcCgocSxRKT0+SlsoWitRKSVKLmxlbmd0aF0pfWZ1bmN0aW9uIHZYKEosWixxKXtsZXQgWD1aLmxlbmd0aD4xJiZBcnJheS5mcm9tKFopLmV2ZXJ5KChHKT0+Rz09PVpbMF0pP1pbMF06WixZPXE/Si5pbmRleE9mKHEpOi0xLCQ9Z1goSixNYXRoLm1heChZLDApKTtpZihYLmxlbmd0aD09PTEpJD0kLmZpbHRlcigoRyk9PkchPT1xKTtsZXQgQj0kLmZpbmQoKEcpPT5HLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChYLnRvTG93ZXJDYXNlKCkpKTtyZXR1cm4gQiE9PXE/Qjp2b2lkIDB9ZnVuY3Rpb24geFgoSixaKXtsZXR7eDpxLHk6UX09SixYPSExO2ZvcihsZXQgWT0wLCQ9Wi5sZW5ndGgtMTtZPFoubGVuZ3RoOyQ9WSsrKXtsZXQgSz1aW1ldLEI9WlskXSxHPUsueCxIPUsueSx6PUIueCxVPUIueTtpZihIPlEhPT1VPlEmJnE8KHotRykqKFEtSCkvKFUtSCkrRylYPSFYfXJldHVybiBYfWZ1bmN0aW9uIGZYKEosWil7aWYoIVopcmV0dXJuITE7bGV0IHE9e3g6Si5jbGllbnRYLHk6Si5jbGllbnRZfTtyZXR1cm4geFgocSxaKX1mdW5jdGlvbiBCNihKKXtyZXR1cm4oWik9PloucG9pbnRlclR5cGU9PT0ibW91c2UiP0ooWik6dm9pZCAwfXZhciBmSj1PSixtSj1EOSxwSj1USix1Sj1qSixkSj1qOSxjSj1rSixsSj1ROCxpSj1JSixzSj1FSixhSj1NSixySj15SixvSj1DSixuSj1TSix0Sj1SSixlSj1oSixKWj12Sjt2YXIgVTY9Ik1lbnViYXIiLFtQOSxwWCx1WF09QzEoVTYpLFtaWixkWF09cjAoVTYsW3VYLGcxXSksVDA9VUooKSxxWj1nMSgpLFtjWCxNOV09WlooVTYpLHc5PVIoKEosWik9PntsZXR7X19zY29wZU1lbnViYXI6cSx2YWx1ZTpRLG9uVmFsdWVDaGFuZ2U6WCxkZWZhdWx0VmFsdWU6WSxsb29wOiQ9ITAsZGlyOkssLi4uQn09SixHPVMxKEspLEg9cVoocSksW3osVV09WTYoe3Byb3A6USxvbkNoYW5nZTpYLGRlZmF1bHRQcm9wOlk/PyIiLGNhbGxlcjpVNn0pLFtWLEZdPV8obnVsbCk7cmV0dXJuIFcoY1gse3Njb3BlOnEsdmFsdWU6eixvbk1lbnVPcGVuOlMoKEwpPT57VShMKSxGKEwpfSxbVV0pLG9uTWVudUNsb3NlOlMoKCk9PlUoIiIpLFtVXSksb25NZW51VG9nZ2xlOlMoKEwpPT57VSgoRCk9PkQ/IiI6TCksRihMKX0sW1VdKSxkaXI6Ryxsb29wOiQsY2hpbGRyZW46VyhQOS5Qcm92aWRlcix7c2NvcGU6cSxjaGlsZHJlbjpXKFA5LlNsb3Qse3Njb3BlOnEsY2hpbGRyZW46VyhzNix7YXNDaGlsZDohMCwuLi5ILG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixsb29wOiQsZGlyOkcsY3VycmVudFRhYlN0b3BJZDpWLG9uQ3VycmVudFRhYlN0b3BJZENoYW5nZTpGLGNoaWxkcmVuOlcoJDAuZGl2LHtyb2xlOiJtZW51YmFyIiwuLi5CLHJlZjpafSl9KX0pfSl9KX0pO3c5LmRpc3BsYXlOYW1lPVU2O3ZhciB5OT0iTWVudWJhck1lbnUiLFtsWCxRWl09WlooeTkpLEM5PShKKT0+e2xldHtfX3Njb3BlTWVudWJhcjpaLHZhbHVlOnEsLi4uUX09SixYPVkxKCksWT1xfHxYfHwiTEVHQUNZX1JFQUNUX0FVVE9fVkFMVUUiLCQ9TTkoeTksWiksSz1UMChaKSxCPUUobnVsbCksRz1FKCExKSxIPSQudmFsdWU9PT1ZO3JldHVybiB5KCgpPT57aWYoIUgpRy5jdXJyZW50PSExfSxbSF0pLFcobFgse3Njb3BlOlosdmFsdWU6WSx0cmlnZ2VySWQ6WTEoKSx0cmlnZ2VyUmVmOkIsY29udGVudElkOlkxKCksd2FzS2V5Ym9hcmRUcmlnZ2VyT3BlblJlZjpHLGNoaWxkcmVuOlcoZkosey4uLkssb3BlbjpILG9uT3BlbkNoYW5nZTooeik9PntpZigheikkLm9uTWVudUNsb3NlKCl9LG1vZGFsOiExLGRpcjokLmRpciwuLi5RfSl9KX07QzkuZGlzcGxheU5hbWU9eTk7dmFyIEU5PSJNZW51YmFyVHJpZ2dlciIsUzk9UigoSixaKT0+e2xldHtfX3Njb3BlTWVudWJhcjpxLGRpc2FibGVkOlE9ITEsLi4uWH09SixZPXFaKHEpLCQ9VDAocSksSz1NOShFOSxxKSxCPVFaKEU5LHEpLEc9RShudWxsKSxIPUcwKFosRyxCLnRyaWdnZXJSZWYpLFt6LFVdPV8oITEpLFY9Sy52YWx1ZT09PUIudmFsdWU7cmV0dXJuIFcoUDkuSXRlbVNsb3Qse3Njb3BlOnEsdmFsdWU6Qi52YWx1ZSxkaXNhYmxlZDpRLGNoaWxkcmVuOlcoYTYse2FzQ2hpbGQ6ITAsLi4uWSxmb2N1c2FibGU6IVEsdGFiU3RvcElkOkIudmFsdWUsY2hpbGRyZW46VyhtSix7YXNDaGlsZDohMCwuLi4kLGNoaWxkcmVuOlcoJDAuYnV0dG9uLHt0eXBlOiJidXR0b24iLHJvbGU6Im1lbnVpdGVtIixpZDpCLnRyaWdnZXJJZCwiYXJpYS1oYXNwb3B1cCI6Im1lbnUiLCJhcmlhLWV4cGFuZGVkIjpWLCJhcmlhLWNvbnRyb2xzIjpWP0IuY29udGVudElkOnZvaWQgMCwiZGF0YS1oaWdobGlnaHRlZCI6ej8iIjp2b2lkIDAsImRhdGEtc3RhdGUiOlY/Im9wZW4iOiJjbG9zZWQiLCJkYXRhLWRpc2FibGVkIjpRPyIiOnZvaWQgMCxkaXNhYmxlZDpRLC4uLlgscmVmOkgsb25Qb2ludGVyRG93bjppKEoub25Qb2ludGVyRG93biwoRik9PntpZighUSYmRi5idXR0b249PT0wJiZGLmN0cmxLZXk9PT0hMSl7aWYoSy5vbk1lbnVPcGVuKEIudmFsdWUpLCFWKUYucHJldmVudERlZmF1bHQoKX19KSxvblBvaW50ZXJFbnRlcjppKEoub25Qb2ludGVyRW50ZXIsKCk9PntpZihCb29sZWFuKEsudmFsdWUpJiYhVilLLm9uTWVudU9wZW4oQi52YWx1ZSksRy5jdXJyZW50Py5mb2N1cygpfSksb25LZXlEb3duOmkoSi5vbktleURvd24sKEYpPT57aWYoUSlyZXR1cm47aWYoWyJFbnRlciIsIiAiXS5pbmNsdWRlcyhGLmtleSkpSy5vbk1lbnVUb2dnbGUoQi52YWx1ZSk7aWYoRi5rZXk9PT0iQXJyb3dEb3duIilLLm9uTWVudU9wZW4oQi52YWx1ZSk7aWYoWyJFbnRlciIsIiAiLCJBcnJvd0Rvd24iXS5pbmNsdWRlcyhGLmtleSkpQi53YXNLZXlib2FyZFRyaWdnZXJPcGVuUmVmLmN1cnJlbnQ9ITAsRi5wcmV2ZW50RGVmYXVsdCgpfSksb25Gb2N1czppKEoub25Gb2N1cywoKT0+VSghMCkpLG9uQmx1cjppKEoub25CbHVyLCgpPT5VKCExKSl9KX0pfSl9KX0pO1M5LmRpc3BsYXlOYW1lPUU5O3ZhciBpWD0iTWVudWJhclBvcnRhbCIsYjk9KEopPT57bGV0e19fc2NvcGVNZW51YmFyOlosLi4ucX09SixRPVQwKFopO3JldHVybiBXKHBKLHsuLi5RLC4uLnF9KX07YjkuZGlzcGxheU5hbWU9aVg7dmFyIF85PSJNZW51YmFyQ29udGVudCIsUjk9UigoSixaKT0+e2xldHtfX3Njb3BlTWVudWJhcjpxLGFsaWduOlE9InN0YXJ0IiwuLi5YfT1KLFk9VDAocSksJD1NOShfOSxxKSxLPVFaKF85LHEpLEI9cFgocSksRz1FKCExKTtyZXR1cm4gVyh1Six7aWQ6Sy5jb250ZW50SWQsImFyaWEtbGFiZWxsZWRieSI6Sy50cmlnZ2VySWQsImRhdGEtcmFkaXgtbWVudWJhci1jb250ZW50IjoiIiwuLi5ZLC4uLlgscmVmOlosYWxpZ246USxvbkNsb3NlQXV0b0ZvY3VzOmkoSi5vbkNsb3NlQXV0b0ZvY3VzLChIKT0+e2lmKCFCb29sZWFuKCQudmFsdWUpJiYhRy5jdXJyZW50KUsudHJpZ2dlclJlZi5jdXJyZW50Py5mb2N1cygpO0cuY3VycmVudD0hMSxILnByZXZlbnREZWZhdWx0KCl9KSxvbkZvY3VzT3V0c2lkZTppKEoub25Gb2N1c091dHNpZGUsKEgpPT57bGV0IHo9SC50YXJnZXQ7aWYoQigpLnNvbWUoKFYpPT5WLnJlZi5jdXJyZW50Py5jb250YWlucyh6KSkpSC5wcmV2ZW50RGVmYXVsdCgpfSksb25JbnRlcmFjdE91dHNpZGU6aShKLm9uSW50ZXJhY3RPdXRzaWRlLCgpPT57Ry5jdXJyZW50PSEwfSksb25FbnRyeUZvY3VzOihIKT0+e2lmKCFLLndhc0tleWJvYXJkVHJpZ2dlck9wZW5SZWYuY3VycmVudClILnByZXZlbnREZWZhdWx0KCl9LG9uS2V5RG93bjppKEoub25LZXlEb3duLChIKT0+e2lmKFsiQXJyb3dSaWdodCIsIkFycm93TGVmdCJdLmluY2x1ZGVzKEgua2V5KSl7bGV0IHo9SC50YXJnZXQsVT16Lmhhc0F0dHJpYnV0ZSgiZGF0YS1yYWRpeC1tZW51YmFyLXN1YnRyaWdnZXIiKSxWPXouY2xvc2VzdCgiW2RhdGEtcmFkaXgtbWVudWJhci1jb250ZW50XSIpIT09SC5jdXJyZW50VGFyZ2V0LEw9KCQuZGlyPT09InJ0bCI/IkFycm93UmlnaHQiOiJBcnJvd0xlZnQiKT09PUgua2V5O2lmKCFMJiZVKXJldHVybjtpZihWJiZMKXJldHVybjtsZXQgTj1CKCkuZmlsdGVyKCh3KT0+IXcuZGlzYWJsZWQpLm1hcCgodyk9PncudmFsdWUpO2lmKEwpTi5yZXZlcnNlKCk7bGV0IEE9Ti5pbmRleE9mKEsudmFsdWUpO049JC5sb29wP1gyKE4sQSsxKTpOLnNsaWNlKEErMSk7bGV0W2pdPU47aWYoaikkLm9uTWVudU9wZW4oail9fSx7Y2hlY2tGb3JEZWZhdWx0UHJldmVudGVkOiExfSksc3R5bGU6ey4uLkouc3R5bGUsLi4ueyItLXJhZGl4LW1lbnViYXItY29udGVudC10cmFuc2Zvcm0tb3JpZ2luIjoidmFyKC0tcmFkaXgtcG9wcGVyLXRyYW5zZm9ybS1vcmlnaW4pIiwiLS1yYWRpeC1tZW51YmFyLWNvbnRlbnQtYXZhaWxhYmxlLXdpZHRoIjoidmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS13aWR0aCkiLCItLXJhZGl4LW1lbnViYXItY29udGVudC1hdmFpbGFibGUtaGVpZ2h0IjoidmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS1oZWlnaHQpIiwiLS1yYWRpeC1tZW51YmFyLXRyaWdnZXItd2lkdGgiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLXdpZHRoKSIsIi0tcmFkaXgtbWVudWJhci10cmlnZ2VyLWhlaWdodCI6InZhcigtLXJhZGl4LXBvcHBlci1hbmNob3ItaGVpZ2h0KSJ9fX0pfSk7UjkuZGlzcGxheU5hbWU9Xzk7dmFyIHNYPSJNZW51YmFyR3JvdXAiLGg5PVIoKEosWik9PntsZXR7X19zY29wZU1lbnViYXI6cSwuLi5RfT1KLFg9VDAocSk7cmV0dXJuIFcoZEosey4uLlgsLi4uUSxyZWY6Wn0pfSk7aDkuZGlzcGxheU5hbWU9c1g7dmFyIGFYPSJNZW51YmFyTGFiZWwiLGc5PVIoKEosWik9PntsZXR7X19zY29wZU1lbnViYXI6cSwuLi5RfT1KLFg9VDAocSk7cmV0dXJuIFcoY0osey4uLlgsLi4uUSxyZWY6Wn0pfSk7ZzkuZGlzcGxheU5hbWU9YVg7dmFyIHJYPSJNZW51YmFySXRlbSIsdjk9UigoSixaKT0+e2xldHtfX3Njb3BlTWVudWJhcjpxLC4uLlF9PUosWD1UMChxKTtyZXR1cm4gVyhsSix7Li4uWCwuLi5RLHJlZjpafSl9KTt2OS5kaXNwbGF5TmFtZT1yWDt2YXIgb1g9Ik1lbnViYXJDaGVja2JveEl0ZW0iLHg5PVIoKEosWik9PntsZXR7X19zY29wZU1lbnViYXI6cSwuLi5RfT1KLFg9VDAocSk7cmV0dXJuIFcoaUosey4uLlgsLi4uUSxyZWY6Wn0pfSk7eDkuZGlzcGxheU5hbWU9b1g7dmFyIG5YPSJNZW51YmFyUmFkaW9Hcm91cCIsZjk9UigoSixaKT0+e2xldHtfX3Njb3BlTWVudWJhcjpxLC4uLlF9PUosWD1UMChxKTtyZXR1cm4gVyhzSix7Li4uWCwuLi5RLHJlZjpafSl9KTtmOS5kaXNwbGF5TmFtZT1uWDt2YXIgdFg9Ik1lbnViYXJSYWRpb0l0ZW0iLG05PVIoKEosWik9PntsZXR7X19zY29wZU1lbnViYXI6cSwuLi5RfT1KLFg9VDAocSk7cmV0dXJuIFcoYUosey4uLlgsLi4uUSxyZWY6Wn0pfSk7bTkuZGlzcGxheU5hbWU9dFg7dmFyIGVYPSJNZW51YmFySXRlbUluZGljYXRvciIscDk9UigoSixaKT0+e2xldHtfX3Njb3BlTWVudWJhcjpxLC4uLlF9PUosWD1UMChxKTtyZXR1cm4gVyhySix7Li4uWCwuLi5RLHJlZjpafSl9KTtwOS5kaXNwbGF5TmFtZT1lWDt2YXIgSjI9Ik1lbnViYXJTZXBhcmF0b3IiLHU5PVIoKEosWik9PntsZXR7X19zY29wZU1lbnViYXI6cSwuLi5RfT1KLFg9VDAocSk7cmV0dXJuIFcob0osey4uLlgsLi4uUSxyZWY6Wn0pfSk7dTkuZGlzcGxheU5hbWU9SjI7dmFyIFoyPSJNZW51YmFyQXJyb3ciLGQ5PVIoKEosWik9PntsZXR7X19zY29wZU1lbnViYXI6cSwuLi5RfT1KLFg9VDAocSk7cmV0dXJuIFcobkosey4uLlgsLi4uUSxyZWY6Wn0pfSk7ZDkuZGlzcGxheU5hbWU9WjI7dmFyIFhaPSJNZW51YmFyU3ViIixjOT0oSik9PntsZXR7X19zY29wZU1lbnViYXI6WixjaGlsZHJlbjpxLG9wZW46USxvbk9wZW5DaGFuZ2U6WCxkZWZhdWx0T3BlbjpZfT1KLCQ9VDAoWiksW0ssQl09WTYoe3Byb3A6USxkZWZhdWx0UHJvcDpZPz8hMSxvbkNoYW5nZTpYLGNhbGxlcjpYWn0pO3JldHVybiBXKHRKLHsuLi4kLG9wZW46Syxvbk9wZW5DaGFuZ2U6QixjaGlsZHJlbjpxfSl9O2M5LmRpc3BsYXlOYW1lPVhaO3ZhciBxMj0iTWVudWJhclN1YlRyaWdnZXIiLGw5PVIoKEosWik9PntsZXR7X19zY29wZU1lbnViYXI6cSwuLi5RfT1KLFg9VDAocSk7cmV0dXJuIFcoZUoseyJkYXRhLXJhZGl4LW1lbnViYXItc3VidHJpZ2dlciI6IiIsLi4uWCwuLi5RLHJlZjpafSl9KTtsOS5kaXNwbGF5TmFtZT1xMjt2YXIgUTI9Ik1lbnViYXJTdWJDb250ZW50IixpOT1SKChKLFopPT57bGV0e19fc2NvcGVNZW51YmFyOnEsLi4uUX09SixYPVQwKHEpO3JldHVybiBXKEpaLHsuLi5YLCJkYXRhLXJhZGl4LW1lbnViYXItY29udGVudCI6IiIsLi4uUSxyZWY6WixzdHlsZTp7Li4uSi5zdHlsZSwuLi57Ii0tcmFkaXgtbWVudWJhci1jb250ZW50LXRyYW5zZm9ybS1vcmlnaW4iOiJ2YXIoLS1yYWRpeC1wb3BwZXItdHJhbnNmb3JtLW9yaWdpbikiLCItLXJhZGl4LW1lbnViYXItY29udGVudC1hdmFpbGFibGUtd2lkdGgiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYXZhaWxhYmxlLXdpZHRoKSIsIi0tcmFkaXgtbWVudWJhci1jb250ZW50LWF2YWlsYWJsZS1oZWlnaHQiOiJ2YXIoLS1yYWRpeC1wb3BwZXItYXZhaWxhYmxlLWhlaWdodCkiLCItLXJhZGl4LW1lbnViYXItdHJpZ2dlci13aWR0aCI6InZhcigtLXJhZGl4LXBvcHBlci1hbmNob3Itd2lkdGgpIiwiLS1yYWRpeC1tZW51YmFyLXRyaWdnZXItaGVpZ2h0IjoidmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci1oZWlnaHQpIn19fSl9KTtpOS5kaXNwbGF5TmFtZT1RMjtmdW5jdGlvbiBYMihKLFope3JldHVybiBKLm1hcCgocSxRKT0+SlsoWitRKSVKLmxlbmd0aF0pfXZhciBZMj13OSwkMj1DOSxLMj1TOSx6Mj1iOSxXMj1SOSxHMj1oOSxCMj1nOSxIMj12OSxWMj14OSxMMj1mOSxVMj1tOSxGMj1wOSxEMj11OSxPMj1kOSxOMj1jOSxUMj1sOSxqMj1pOTt2YXIgazI9YAouc2VydmUtc2ltLW1lbnViYXItdHJpZ2dlcltkYXRhLXN0YXRlPSJvcGVuIl0sCi5zZXJ2ZS1zaW0tbWVudWJhci10cmlnZ2VyOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Cn0KLnNlcnZlLXNpbS1tZW51YmFyLWl0ZW1bZGF0YS1oaWdobGlnaHRlZF0sCi5zZXJ2ZS1zaW0tbWVudWJhci1pdGVtW2RhdGEtc3RhdGU9Im9wZW4iXSB7CiAgYmFja2dyb3VuZDogcmdiYSg5OSwxMDIsMjQxLDAuNDUpOwogIGNvbG9yOiAjZmZmOwp9Ci5zZXJ2ZS1zaW0tbWVudWJhci1pdGVtW2RhdGEtZGlzYWJsZWRdIHsKICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjM1KTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQpgLFlaPSExO2Z1bmN0aW9uIEEyKCl7eSgoKT0+e2lmKFlaKXJldHVybjtZWj0hMDtsZXQgSj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO0oudGV4dENvbnRlbnQ9azIsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChKKX0sW10pfWZ1bmN0aW9uIEtaKHtleGVjOkosdWRpZDpaLG9uU2NyZWVuc2hvdDpxLG9uSG9tZTpRLG9uUm90YXRlOlgsc3R5bGU6WX0pe0EyKCk7bGV0ICQ9Uygoayk9PntpZighWilyZXR1cm47SihrKS5jYXRjaCgoKT0+e30pfSxbSixaXSksSz1TKChrKT0+e2lmKCFaKXJldHVybjtKKGsoWikpLmNhdGNoKCgpPT57fSl9LFtKLFpdKSxCPVMoKGspPT57aWYoIVopcmV0dXJuO0ooYHhjcnVuIHNpbWN0bCBzcGF3biAke1p9IG5vdGlmeXV0aWwgLXAgJHtrfWApLmNhdGNoKCgpPT57fSl9LFtKLFpdKSxHPVMoKGsseCk9PntKKGBzZXJ2ZS1zaW0gY2EtZGVidWcgJHtrfSAke3g/Im9uIjoib2ZmIn1gKS5jYXRjaCgoKT0+e30pfSxbSl0pLFtILHpdPV8oImxpZ2h0IiksW1UsVl09XyghMSksW0YsTF09XyghMSksW0QsT109XyghMCksW04sQV09XyghMSksW2osd109XyghMSksW2IsUF09XyghMSksW3YsY109XyghMSksW2Ysb109XyghMSksWjA9UygoKT0+e2xldCBrPXdpbmRvdy5wcm9tcHQoIk9wZW4gVVJMIG9uIHNpbXVsYXRvcjoiLCJodHRwczovLyIpO2lmKCFrKXJldHVybjtsZXQgeD1rLnJlcGxhY2UoLyIvZywiXFxcIiIpO0soKHMpPT5geGNydW4gc2ltY3RsIG9wZW51cmwgJHtzfSAiJHt4fSJgKX0sW0tdKSx0PVMoKGsseCk9PntLKChzKT0+YHhjcnVuIHNpbWN0bCBsb2NhdGlvbiAke3N9IHNldCAke2t9LCR7eH1gKX0sW0tdKSxhPShrKT0+e3ooayksSygoeCk9PmB4Y3J1biBzaW1jdGwgdWkgJHt4fSBhcHBlYXJhbmNlICR7a31gKX07cmV0dXJuIFcoVTAuUm9vdCx7c3R5bGU6ey4uLl8yLC4uLll9LGNoaWxkcmVuOltXKFg4LHt0cmlnZ2VyOiJEZXZpY2UiLGNoaWxkcmVuOltXKG0se29uU2VsZWN0OigpPT5LKChrKT0+YHhjcnVuIHNpbWN0bCBzaHV0ZG93biAke2t9ICYmIHhjcnVuIHNpbWN0bCBib290ICR7a31gKSxjaGlsZHJlbjoiUmVzdGFydCJ9KSxXKG0se29uU2VsZWN0OigpPT57aWYoIXdpbmRvdy5jb25maXJtKCJFcmFzZSBhbGwgY29udGVudCBhbmQgc2V0dGluZ3Mgb24gdGhpcyBzaW11bGF0b3I/IikpcmV0dXJuO0soKGspPT5geGNydW4gc2ltY3RsIHNodXRkb3duICR7a307IHhjcnVuIHNpbWN0bCBlcmFzZSAke2t9OyB4Y3J1biBzaW1jdGwgYm9vdCAke2t9YCl9LGNoaWxkcmVuOiJFcmFzZSBBbGwgQ29udGVudCBhbmQgU2V0dGluZ3PigKYifSksVyhTMCx7fSksVyhtLHtzaG9ydGN1dDoi4oyY4oaQIixvblNlbGVjdDooKT0+WCgibGFuZHNjYXBlX2xlZnQiKSxjaGlsZHJlbjoiUm90YXRlIExlZnQifSksVyhtLHtzaG9ydGN1dDoi4oyY4oaSIixvblNlbGVjdDooKT0+WCgibGFuZHNjYXBlX3JpZ2h0IiksY2hpbGRyZW46IlJvdGF0ZSBSaWdodCJ9KSxXKHAxLHt0cmlnZ2VyOiJPcmllbnRhdGlvbiIsY2hpbGRyZW46W1cobSx7b25TZWxlY3Q6KCk9PlgoInBvcnRyYWl0IiksY2hpbGRyZW46IlBvcnRyYWl0In0pLFcobSx7b25TZWxlY3Q6KCk9PlgoImxhbmRzY2FwZV9sZWZ0IiksY2hpbGRyZW46IkxhbmRzY2FwZSBMZWZ0In0pLFcobSx7b25TZWxlY3Q6KCk9PlgoInBvcnRyYWl0X3Vwc2lkZV9kb3duIiksY2hpbGRyZW46IlBvcnRyYWl0IFVwc2lkZSBEb3duIn0pLFcobSx7b25TZWxlY3Q6KCk9PlgoImxhbmRzY2FwZV9yaWdodCIpLGNoaWxkcmVuOiJMYW5kc2NhcGUgUmlnaHQifSldfSksVyhTMCx7fSksVyhtLHtzaG9ydGN1dDoi4oen4oyYSCIsb25TZWxlY3Q6USxjaGlsZHJlbjoiSG9tZSJ9KSxXKG0se3Nob3J0Y3V0OiLijJhMIixvblNlbGVjdDooKT0+JCgic2VydmUtc2ltIGJ1dHRvbiBsb2NrIiksY2hpbGRyZW46IkxvY2sifSksVyhtLHtzaG9ydGN1dDoi4oyl4oen4oyYSCIsb25TZWxlY3Q6KCk9PiQoInNlcnZlLXNpbSBidXR0b24gc2lyaSIpLGNoaWxkcmVuOiJTaXJpIn0pLFcobSx7c2hvcnRjdXQ6IuKMg+KMmFoiLG9uU2VsZWN0OigpPT5CKCJjb20uYXBwbGUuVUlLaXQuU2ltdWxhdG9yU2hha2UiKSxjaGlsZHJlbjoiU2hha2UifSksVyhtLHtzaG9ydGN1dDoi4oyD4oen4oyYSCIsb25TZWxlY3Q6KCk9PiQoInNlcnZlLXNpbSBidXR0b24gYXBwX3N3aXRjaGVyIiksY2hpbGRyZW46IkFwcCBTd2l0Y2hlciJ9KSxXKFMwLHt9KSxXKG0se29uU2VsZWN0OnEsY2hpbGRyZW46IlRyaWdnZXIgU2NyZWVuc2hvdCJ9KSxXKG0se29uU2VsZWN0OlowLGNoaWxkcmVuOiJPcGVuIERlZXAgTGlua+KApiJ9KV19KSxXKFg4LHt0cmlnZ2VyOiJGZWF0dXJlcyIsY2hpbGRyZW46W1coSTIse2NoaWxkcmVuOiJEZXZpY2UgQXBwZWFyYW5jZSJ9KSxXKFUwLlJhZGlvR3JvdXAse3ZhbHVlOkgsb25WYWx1ZUNoYW5nZTooayk9PmEoayksY2hpbGRyZW46W1coJFose3ZhbHVlOiJsaWdodCIsY2hpbGRyZW46IkxpZ2h0In0pLFcoJFose3ZhbHVlOiJkYXJrIixjaGlsZHJlbjoiRGFyayJ9KV19KSxXKFMwLHt9KSxXKHAxLHt0cmlnZ2VyOiJCaW9tZXRyaWNzIixjaGlsZHJlbjpbVyhtLHtvblNlbGVjdDooKT0+Sygoayk9PmB4Y3J1biBzaW1jdGwgc3Bhd24gJHtrfSBub3RpZnl1dGlsIC1wIGNvbS5hcHBsZS5CaW9tZXRyaWNLaXRfU2ltLmVucm9sbG1lbnQuZGlkQ2hhbmdlYCksY2hpbGRyZW46IlRvZ2dsZSBFbnJvbGxlZCBTdGF0ZSJ9KSxXKFMwLHt9KSxXKG0se29uU2VsZWN0OigpPT5LKChrKT0+YHhjcnVuIHNpbWN0bCBzcGF3biAke2t9IG5vdGlmeXV0aWwgLXAgY29tLmFwcGxlLkJpb21ldHJpY0tpdF9TaW0uZmluZ2VyVG91Y2gubWF0Y2hgKSxjaGlsZHJlbjoiTWF0Y2hpbmcgVG91Y2ggSUQifSksVyhtLHtvblNlbGVjdDooKT0+Sygoayk9PmB4Y3J1biBzaW1jdGwgc3Bhd24gJHtrfSBub3RpZnl1dGlsIC1wIGNvbS5hcHBsZS5CaW9tZXRyaWNLaXRfU2ltLmZpbmdlclRvdWNoLm5vbWF0Y2hgKSxjaGlsZHJlbjoiTm9uLU1hdGNoaW5nIFRvdWNoIElEIn0pLFcoUzAse30pLFcobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHNwYXduICR7a30gbm90aWZ5dXRpbCAtcCBjb20uYXBwbGUuQmlvbWV0cmljS2l0X1NpbS5wZWFybC5tYXRjaGApLGNoaWxkcmVuOiJNYXRjaGluZyBGYWNlIElEIn0pLFcobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHNwYXduICR7a30gbm90aWZ5dXRpbCAtcCBjb20uYXBwbGUuQmlvbWV0cmljS2l0X1NpbS5wZWFybC5ub21hdGNoYCksY2hpbGRyZW46Ik5vbi1NYXRjaGluZyBGYWNlIElEIn0pXX0pLFcocDEse3RyaWdnZXI6IkxvY2F0aW9uIixjaGlsZHJlbjpbVyhtLHtvblNlbGVjdDooKT0+Sygoayk9PmB4Y3J1biBzaW1jdGwgbG9jYXRpb24gJHtrfSBjbGVhcmApLGNoaWxkcmVuOiJOb25lIn0pLFcoUzAse30pLFcobSx7b25TZWxlY3Q6KCk9PnQoMzcuMzM0NjA2LC0xMjIuMDA5MTAyKSxjaGlsZHJlbjoiQXBwbGUifSksVyhtLHtvblNlbGVjdDooKT0+dCgzNy43ODczNTksLTEyMi40MDgyMjcpLGNoaWxkcmVuOiJDaXR5IFJ1biJ9KSxXKG0se29uU2VsZWN0OigpPT50KDM3LjMzMTc4OCwtMTIxLjg5MTQ5NyksY2hpbGRyZW46IkNpdHkgQmljeWNsZSBSaWRlIn0pLFcobSx7b25TZWxlY3Q6KCk9PnQoMzcuNDg0NjkzLC0xMjIuMTQ4Mjk2KSxjaGlsZHJlbjoiRnJlZXdheSBEcml2ZSJ9KSxXKFMwLHt9KSxXKG0se29uU2VsZWN0OigpPT57bGV0IGs9d2luZG93LnByb21wdCgiTGF0aXR1ZGUsTG9uZ2l0dWRlIiwiMzcuMzM0NjA2LC0xMjIuMDA5MTAyIik7aWYoIWspcmV0dXJuO2xldFt4LHNdPWsuc3BsaXQoIiwiKS5tYXAoKHApPT5wYXJzZUZsb2F0KHAudHJpbSgpKSk7aWYoTnVtYmVyLmlzRmluaXRlKHgpJiZOdW1iZXIuaXNGaW5pdGUocykpdCh4LHMpfSxjaGlsZHJlbjoiQ3VzdG9tIExvY2F0aW9u4oCmIn0pXX0pLFcocDEse3RyaWdnZXI6IkxvY2FsaXphdGlvbiIsY2hpbGRyZW46W1cobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHNwYXduICR7a30gZGVmYXVsdHMgd3JpdGUgLWcgQXBwbGVMYW5ndWFnZXMgLWFycmF5IGVuYCksY2hpbGRyZW46IkVuZ2xpc2gifSksVyhtLHtvblNlbGVjdDooKT0+Sygoayk9PmB4Y3J1biBzaW1jdGwgc3Bhd24gJHtrfSBkZWZhdWx0cyB3cml0ZSAtZyBBcHBsZUxhbmd1YWdlcyAtYXJyYXkgZXNgKSxjaGlsZHJlbjoiU3BhbmlzaCJ9KSxXKG0se29uU2VsZWN0OigpPT5LKChrKT0+YHhjcnVuIHNpbWN0bCBzcGF3biAke2t9IGRlZmF1bHRzIHdyaXRlIC1nIEFwcGxlTGFuZ3VhZ2VzIC1hcnJheSBmcmApLGNoaWxkcmVuOiJGcmVuY2gifSksVyhtLHtvblNlbGVjdDooKT0+Sygoayk9PmB4Y3J1biBzaW1jdGwgc3Bhd24gJHtrfSBkZWZhdWx0cyB3cml0ZSAtZyBBcHBsZUxhbmd1YWdlcyAtYXJyYXkgamFgKSxjaGlsZHJlbjoiSmFwYW5lc2UifSldfSksVyhwMSx7dHJpZ2dlcjoiUmVzZXQgUGVybWlzc2lvbnMiLGNoaWxkcmVuOltXKG0se29uU2VsZWN0OigpPT5LKChrKT0+YHhjcnVuIHNpbWN0bCBwcml2YWN5ICR7a30gcmVzZXQgYWxsYCksY2hpbGRyZW46IkFsbCJ9KSxXKFMwLHt9KSxXKG0se29uU2VsZWN0OigpPT5LKChrKT0+YHhjcnVuIHNpbWN0bCBwcml2YWN5ICR7a30gcmVzZXQgbG9jYXRpb25gKSxjaGlsZHJlbjoiTG9jYXRpb24ifSksVyhtLHtvblNlbGVjdDooKT0+Sygoayk9PmB4Y3J1biBzaW1jdGwgcHJpdmFjeSAke2t9IHJlc2V0IGNvbnRhY3RzYCksY2hpbGRyZW46IkNvbnRhY3RzIn0pLFcobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHByaXZhY3kgJHtrfSByZXNldCBwaG90b3NgKSxjaGlsZHJlbjoiUGhvdG9zIn0pLFcobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHByaXZhY3kgJHtrfSByZXNldCBjYWxlbmRhcmApLGNoaWxkcmVuOiJDYWxlbmRhciJ9KSxXKG0se29uU2VsZWN0OigpPT5LKChrKT0+YHhjcnVuIHNpbWN0bCBwcml2YWN5ICR7a30gcmVzZXQgbWljcm9waG9uZWApLGNoaWxkcmVuOiJNaWNyb3Bob25lIn0pLFcobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHByaXZhY3kgJHtrfSByZXNldCBjYW1lcmFgKSxjaGlsZHJlbjoiQ2FtZXJhIn0pXX0pLFcobSx7b25TZWxlY3Q6WjAsY2hpbGRyZW46Ik9wZW4gRGVlcCBMaW5r4oCmIn0pLFcoUzAse30pLFcoQjEse2NoZWNrZWQ6VSxvbkNoZWNrZWRDaGFuZ2U6VixjaGlsZHJlbjoiRW5hYmxlIFJlcGxheXMifSksVyhCMSx7Y2hlY2tlZDpGLG9uQ2hlY2tlZENoYW5nZTpMLGNoaWxkcmVuOiJTaG93IFRvdWNoZXMifSksVyhCMSx7Y2hlY2tlZDpELG9uQ2hlY2tlZENoYW5nZTpPLGNoaWxkcmVuOiJTaG93IERldmljZSBGcmFtZSJ9KV19KSxXKFg4LHt0cmlnZ2VyOiJEZWJ1ZyIsY2hpbGRyZW46W1coQjEse2NoZWNrZWQ6TixvbkNoZWNrZWRDaGFuZ2U6KGspPT57QShrKSxHKCJzbG93LWFuaW1hdGlvbnMiLGspfSxjaGlsZHJlbjoiU2xvdyBBbmltYXRpb25zIn0pLFcoUzAse30pLFcoQjEse2NoZWNrZWQ6aixvbkNoZWNrZWRDaGFuZ2U6KGspPT57dyhrKSxHKCJibGVuZGVkIixrKX0sY2hpbGRyZW46IkNvbG9yIEJsZW5kZWQgTGF5ZXJzIn0pLFcoQjEse2NoZWNrZWQ6YixvbkNoZWNrZWRDaGFuZ2U6KGspPT57UChrKSxHKCJjb3BpZXMiLGspfSxjaGlsZHJlbjoiQ29sb3IgQ29waWVkIEltYWdlcyJ9KSxXKEIxLHtjaGVja2VkOnYsb25DaGVja2VkQ2hhbmdlOihrKT0+e2MoayksRygibWlzYWxpZ25lZCIsayl9LGNoaWxkcmVuOiJDb2xvciBNaXNhbGlnbmVkIEltYWdlcyJ9KSxXKEIxLHtjaGVja2VkOmYsb25DaGVja2VkQ2hhbmdlOihrKT0+e28oayksRygib2Zmc2NyZWVuIixrKX0sY2hpbGRyZW46IkNvbG9yIE9mZi1zY3JlZW4gUmVuZGVyZWQifSksVyhTMCx7fSksVyhtLHtzaG9ydGN1dDoi4oyYLyIsb25TZWxlY3Q6KCk9PnZvaWQgSigib3BlbiAtYSBDb25zb2xlIiksY2hpbGRyZW46Ik9wZW4gU3lzdGVtIExvZ+KApiJ9KSxXKG0se3Nob3J0Y3V0OiLih6fijJhNIixvblNlbGVjdDooKT0+dm9pZCBKKCJzZXJ2ZS1zaW0gbWVtb3J5LXdhcm5pbmciKSxjaGlsZHJlbjoiU2ltdWxhdGUgTWVtb3J5IFdhcm5pbmcifSldfSksVyhYOCx7dHJpZ2dlcjoiQnVpbGQiLGNoaWxkcmVuOltXKHAxLHt0cmlnZ2VyOiJHcmFudCBQZXJtaXNzaW9ucyIsY2hpbGRyZW46W1cobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHByaXZhY3kgJHtrfSBncmFudCBsb2NhdGlvbmApLGNoaWxkcmVuOiJMb2NhdGlvbiJ9KSxXKG0se29uU2VsZWN0OigpPT5LKChrKT0+YHhjcnVuIHNpbWN0bCBwcml2YWN5ICR7a30gZ3JhbnQgY2FtZXJhYCksY2hpbGRyZW46IkNhbWVyYSJ9KSxXKG0se29uU2VsZWN0OigpPT5LKChrKT0+YHhjcnVuIHNpbWN0bCBwcml2YWN5ICR7a30gZ3JhbnQgbWljcm9waG9uZWApLGNoaWxkcmVuOiJNaWNyb3Bob25lIn0pLFcobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHByaXZhY3kgJHtrfSBncmFudCBwaG90b3NgKSxjaGlsZHJlbjoiUGhvdG9zIn0pLFcobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHByaXZhY3kgJHtrfSBncmFudCBjb250YWN0c2ApLGNoaWxkcmVuOiJDb250YWN0cyJ9KSxXKG0se29uU2VsZWN0OigpPT5LKChrKT0+YHhjcnVuIHNpbWN0bCBwcml2YWN5ICR7a30gZ3JhbnQgY2FsZW5kYXJgKSxjaGlsZHJlbjoiQ2FsZW5kYXIifSldfSksVyhtLHtkaXNhYmxlZDohMCxjaGlsZHJlbjoiUmV2b2tlIFBlcm1pc3Npb25zIChQUk8pIn0pLFcobSx7b25TZWxlY3Q6KCk9PksoKGspPT5geGNydW4gc2ltY3RsIHByaXZhY3kgJHtrfSByZXNldCBhbGxgKSxjaGlsZHJlbjoiUmVzZXQgUGVybWlzc2lvbnMifSksVyhTMCx7fSksVyhtLHtvblNlbGVjdDooKT0+e2xldCBrPXdpbmRvdy5wcm9tcHQoIkJ1bmRsZSBpZGVudGlmaWVyOiIsIiIpO2lmKCFrKXJldHVybjtLKCh4KT0+YG9wZW4gIiQoeGNydW4gc2ltY3RsIGdldF9hcHBfY29udGFpbmVyICR7eH0gJHtrfSBhcHApImApfSxjaGlsZHJlbjoiQXBwbGljYXRpb24gQnVuZGxlICguYXBwKSJ9KSxXKG0se29uU2VsZWN0OigpPT57bGV0IGs9d2luZG93LnByb21wdCgiQnVuZGxlIGlkZW50aWZpZXI6IiwiIik7aWYoIWspcmV0dXJuO0soKHgpPT5gb3BlbiAiJCh4Y3J1biBzaW1jdGwgZ2V0X2FwcF9jb250YWluZXIgJHt4fSAke2t9IGRhdGEpImApfSxjaGlsZHJlbjoiU2FuZGJveCBVc2VyIERhdGEifSldfSldfSl9ZnVuY3Rpb24gWDgoe3RyaWdnZXI6SixjaGlsZHJlbjpafSl7cmV0dXJuIFcoVTAuTWVudSx7Y2hpbGRyZW46W1coVTAuVHJpZ2dlcix7c3R5bGU6TTIsY2xhc3NOYW1lOiJzZXJ2ZS1zaW0tbWVudWJhci10cmlnZ2VyIixjaGlsZHJlbjpKfSksVyhVMC5Qb3J0YWwse2NoaWxkcmVuOlcoVTAuQ29udGVudCx7c3R5bGU6elosYWxpZ246InN0YXJ0IixzaWRlT2Zmc2V0OjQsYWxpZ25PZmZzZXQ6LTIsY2hpbGRyZW46Wn0pfSldfSl9ZnVuY3Rpb24gbSh7Y2hpbGRyZW46SixvblNlbGVjdDpaLGRpc2FibGVkOnEsc2hvcnRjdXQ6UX0pe3JldHVybiBXKFUwLkl0ZW0se3N0eWxlOnsuLi5ZOCwuLi5xP3cyOm51bGx9LGRpc2FibGVkOnEsb25TZWxlY3Q6WixjbGFzc05hbWU6InNlcnZlLXNpbS1tZW51YmFyLWl0ZW0iLGNoaWxkcmVuOltXKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46Sn0pLFEmJlcoInNwYW4iLHtzdHlsZTpzOSxjaGlsZHJlbjpRfSldfSl9ZnVuY3Rpb24gQjEoe2NoaWxkcmVuOkosY2hlY2tlZDpaLG9uQ2hlY2tlZENoYW5nZTpxLHNob3J0Y3V0OlF9KXtyZXR1cm4gVyhVMC5DaGVja2JveEl0ZW0se3N0eWxlOlk4LGNoZWNrZWQ6WixvbkNoZWNrZWRDaGFuZ2U6cSxjbGFzc05hbWU6InNlcnZlLXNpbS1tZW51YmFyLWl0ZW0iLGNoaWxkcmVuOltXKCJzcGFuIix7c3R5bGU6V1osY2hpbGRyZW46VyhVMC5JdGVtSW5kaWNhdG9yLHtjaGlsZHJlbjpQMn0pfSksVygic3BhbiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOkp9KSxRJiZXKCJzcGFuIix7c3R5bGU6czksY2hpbGRyZW46UX0pXX0pfWZ1bmN0aW9uICRaKHt2YWx1ZTpKLGNoaWxkcmVuOlp9KXtyZXR1cm4gVyhVMC5SYWRpb0l0ZW0se3N0eWxlOlk4LHZhbHVlOkosY2xhc3NOYW1lOiJzZXJ2ZS1zaW0tbWVudWJhci1pdGVtIixjaGlsZHJlbjpbVygic3BhbiIse3N0eWxlOldaLGNoaWxkcmVuOlcoVTAuSXRlbUluZGljYXRvcix7Y2hpbGRyZW46RTJ9KX0pLFcoInNwYW4iLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpafSldfSl9ZnVuY3Rpb24gcDEoe3RyaWdnZXI6SixjaGlsZHJlbjpafSl7cmV0dXJuIFcoVTAuU3ViLHtjaGlsZHJlbjpbVyhVMC5TdWJUcmlnZ2VyLHtzdHlsZTpZOCxjbGFzc05hbWU6InNlcnZlLXNpbS1tZW51YmFyLWl0ZW0iLGNoaWxkcmVuOltXKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46Sn0pLFcoInNwYW4iLHtzdHlsZTpzOSxjaGlsZHJlbjoi4oC6In0pXX0pLFcoVTAuUG9ydGFsLHtjaGlsZHJlbjpXKFUwLlN1YkNvbnRlbnQse3N0eWxlOnpaLHNpZGVPZmZzZXQ6MixhbGlnbk9mZnNldDotNCxjaGlsZHJlbjpafSl9KV19KX1mdW5jdGlvbiBTMCgpe3JldHVybiBXKFUwLlNlcGFyYXRvcix7c3R5bGU6eTJ9KX1mdW5jdGlvbiBJMih7Y2hpbGRyZW46Sn0pe3JldHVybiBXKFUwLkxhYmVsLHtzdHlsZTpDMixjaGlsZHJlbjpKfSl9dmFyIFAyPVcoInN2ZyIse3dpZHRoOiIxMiIsaGVpZ2h0OiIxMiIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjMiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOlcoInBvbHlsaW5lIix7cG9pbnRzOiIyMCA2IDkgMTcgNCAxMiJ9KX0pLEUyPVcoInN2ZyIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxMCIsdmlld0JveDoiMCAwIDEwIDEwIixmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOlcoImNpcmNsZSIse2N4OiI1IixjeToiNSIscjoiMyJ9KX0pLF8yPXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDoyLHBhZGRpbmc6MyxiYWNrZ3JvdW5kOiJyZ2JhKDI4LDI4LDMwLDAuOSkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLGJvcmRlclJhZGl1czo4LGZvbnRGYW1pbHk6Ii1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTIsY29sb3I6IiNlZWUiLGJhY2tkcm9wRmlsdGVyOiJibHVyKDhweCkifSxNMj17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsY29sb3I6IiNlZWUiLHBhZGRpbmc6IjRweCAxMHB4Iixib3JkZXJSYWRpdXM6NSxjdXJzb3I6InBvaW50ZXIiLGZvbnRGYW1pbHk6ImluaGVyaXQiLGZvbnRTaXplOiJpbmhlcml0IixvdXRsaW5lOiJub25lIn0selo9e21pbldpZHRoOjIyMCxiYWNrZ3JvdW5kOiIjMWMxYzFlIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpIixib3JkZXJSYWRpdXM6OCxwYWRkaW5nOjQsY29sb3I6IiNlZWUiLGZvbnRGYW1pbHk6Ii1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTMsYm94U2hhZG93OiIwIDEwcHggMzBweCByZ2JhKDAsMCwwLDAuNSkiLHpJbmRleDo0MH0sWTg9e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiNnB4IDEwcHggNnB4IDhweCIsYm9yZGVyUmFkaXVzOjUsY3Vyc29yOiJwb2ludGVyIixvdXRsaW5lOiJub25lIix1c2VyU2VsZWN0OiJub25lIn0sdzI9e2NvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMzUpIixjdXJzb3I6Im5vdC1hbGxvd2VkIn0seTI9e2hlaWdodDoxLGJhY2tncm91bmQ6InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLG1hcmdpbjoiNHB4IDAifSxDMj17cGFkZGluZzoiNnB4IDEwcHggMnB4Iixmb250U2l6ZToxMCxmb250V2VpZ2h0OjcwMCxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjQ1KSIsdGV4dFRyYW5zZm9ybToidXBwZXJjYXNlIixsZXR0ZXJTcGFjaW5nOiIwLjA4ZW0ifSxzOT17Y29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC40NSkiLGZvbnRTaXplOjExLG1hcmdpbkxlZnQ6MTYsZm9udFZhcmlhbnROdW1lcmljOiJ0YWJ1bGFyLW51bXMifSxXWj17d2lkdGg6MTQsZGlzcGxheToiaW5saW5lLWZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsY29sb3I6IiNhNWI0ZmMiLGZsZXhTaHJpbms6MH07ZnVuY3Rpb24gUzIoSil7bGV0W1oscV09XyhudWxsKSxRPUUobmV3IFNldCksW1gsWV09XyhudWxsKSwkPVMoKEspPT57cmV0dXJuIFEuY3VycmVudC5hZGQoSyksKCk9PntRLmN1cnJlbnQuZGVsZXRlKEspfX0sW10pO3JldHVybiB5KCgpPT57aWYoIUopcmV0dXJuO2xldCBLPW5ldyBBYm9ydENvbnRyb2xsZXIsQj1KLnJlcGxhY2UoL1wvc3RyZWFtXC5tanBlZyQvLCIiKTtyZXR1cm4gZmV0Y2goYCR7Qn0vY29uZmlnYCx7c2lnbmFsOksuc2lnbmFsfSkudGhlbigoRyk9PkcuanNvbigpKS50aGVuKChHKT0+e2lmKEcud2lkdGg+MCYmRy5oZWlnaHQ+MClxKEcpfSkuY2F0Y2goKCk9Pnt9KSwoYXN5bmMoKT0+e3RyeXtsZXQgSD0oYXdhaXQgZmV0Y2goSix7c2lnbmFsOksuc2lnbmFsfSkpLmJvZHk/LmdldFJlYWRlcigpO2lmKCFIKXJldHVybjtsZXQgej1uZXcgVWludDhBcnJheSgwKTt3aGlsZSghMCl7bGV0e2RvbmU6VSx2YWx1ZTpWfT1hd2FpdCBILnJlYWQoKTtpZihVKWJyZWFrO2xldCBGPW5ldyBVaW50OEFycmF5KHoubGVuZ3RoK1YubGVuZ3RoKTtGLnNldCh6KSxGLnNldChWLHoubGVuZ3RoKSx6PUY7d2hpbGUoITApe2xldCBMPS0xO2ZvcihsZXQgaj0wO2o8ei5sZW5ndGgtMTtqKyspaWYoeltqXT09PTI1NSYmeltqKzFdPT09MjE2KXtMPWo7YnJlYWt9aWYoTD09PS0xKWJyZWFrO2xldCBEPS0xO2ZvcihsZXQgaj1MKzI7ajx6Lmxlbmd0aC0xO2orKylpZih6W2pdPT09MjU1JiZ6W2orMV09PT0yMTcpe0Q9aisyO2JyZWFrfWlmKEQ9PT0tMSlicmVhaztsZXQgTz16LnNsaWNlKEwsRCk7ej16LnNsaWNlKEQpO2xldCBOPW5ldyBCbG9iKFtPXSx7dHlwZToiaW1hZ2UvanBlZyJ9KSxBPVVSTC5jcmVhdGVPYmplY3RVUkwoTik7WShBKTtmb3IobGV0IGogb2YgUS5jdXJyZW50KWooQSl9fX1jYXRjaHt9fSkoKSwoKT0+Sy5hYm9ydCgpfSxbSl0pLHtzdWJzY3JpYmVGcmFtZTokLGZyYW1lOlgsY29uZmlnOlp9fXZhciBiMj17S2V5QTo0LEtleUI6NSxLZXlDOjYsS2V5RDo3LEtleUU6OCxLZXlGOjksS2V5RzoxMCxLZXlIOjExLEtleUk6MTIsS2V5SjoxMyxLZXlLOjE0LEtleUw6MTUsS2V5TToxNixLZXlOOjE3LEtleU86MTgsS2V5UDoxOSxLZXlROjIwLEtleVI6MjEsS2V5UzoyMixLZXlUOjIzLEtleVU6MjQsS2V5VjoyNSxLZXlXOjI2LEtleVg6MjcsS2V5WToyOCxLZXlaOjI5LERpZ2l0MTozMCxEaWdpdDI6MzEsRGlnaXQzOjMyLERpZ2l0NDozMyxEaWdpdDU6MzQsRGlnaXQ2OjM1LERpZ2l0NzozNixEaWdpdDg6MzcsRGlnaXQ5OjM4LERpZ2l0MDozOSxFbnRlcjo0MCxFc2NhcGU6NDEsQmFja3NwYWNlOjQyLFRhYjo0MyxTcGFjZTo0NCxNaW51czo0NSxFcXVhbDo0NixCcmFja2V0TGVmdDo0NyxCcmFja2V0UmlnaHQ6NDgsQmFja3NsYXNoOjQ5LFNlbWljb2xvbjo1MSxRdW90ZTo1MixCYWNrcXVvdGU6NTMsQ29tbWE6NTQsUGVyaW9kOjU1LFNsYXNoOjU2LENhcHNMb2NrOjU3LEYxOjU4LEYyOjU5LEYzOjYwLEY0OjYxLEY1OjYyLEY2OjYzLEY3OjY0LEY4OjY1LEY5OjY2LEYxMDo2NyxGMTE6NjgsRjEyOjY5LFByaW50U2NyZWVuOjcwLFNjcm9sbExvY2s6NzEsUGF1c2U6NzIsSW5zZXJ0OjczLEhvbWU6NzQsUGFnZVVwOjc1LERlbGV0ZTo3NixFbmQ6NzcsUGFnZURvd246NzgsQXJyb3dSaWdodDo3OSxBcnJvd0xlZnQ6ODAsQXJyb3dEb3duOjgxLEFycm93VXA6ODIsTnVtTG9jazo4MyxOdW1wYWREaXZpZGU6ODQsTnVtcGFkTXVsdGlwbHk6ODUsTnVtcGFkU3VidHJhY3Q6ODYsTnVtcGFkQWRkOjg3LE51bXBhZEVudGVyOjg4LE51bXBhZDE6ODksTnVtcGFkMjo5MCxOdW1wYWQzOjkxLE51bXBhZDQ6OTIsTnVtcGFkNTo5MyxOdW1wYWQ2Ojk0LE51bXBhZDc6OTUsTnVtcGFkODo5NixOdW1wYWQ5Ojk3LE51bXBhZDA6OTgsTnVtcGFkRGVjaW1hbDo5OSxDb250cm9sTGVmdDoyMjQsU2hpZnRMZWZ0OjIyNSxBbHRMZWZ0OjIyNixNZXRhTGVmdDoyMjcsQ29udHJvbFJpZ2h0OjIyOCxTaGlmdFJpZ2h0OjIyOSxBbHRSaWdodDoyMzAsTWV0YVJpZ2h0OjIzMX07ZnVuY3Rpb24gUjIoSil7cmV0dXJuIGIyW0pdPz9udWxsfWFzeW5jIGZ1bmN0aW9uIG0wKEope3JldHVybihhd2FpdCBmZXRjaCgiL2V4ZWMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7Y29tbWFuZDpKfSl9KSkuanNvbigpfWZ1bmN0aW9uIGgyKEope3RyeXtsZXQgWj1KU09OLnBhcnNlKEopLHE9W107Zm9yKGxldFtRLFhdb2YgT2JqZWN0LmVudHJpZXMoWi5kZXZpY2VzPz97fSkpe2xldCBZPVEucmVwbGFjZSgvXmNvbVwuYXBwbGVcLkNvcmVTaW11bGF0b3JcLlNpbVJ1bnRpbWVcLi8sIiIpLnJlcGxhY2UoLy0vZywiLiIpO2ZvcihsZXQgJCBvZiBYKWlmKCQuaXNBdmFpbGFibGUpcS5wdXNoKHt1ZGlkOiQudWRpZCxuYW1lOiQubmFtZSxzdGF0ZTokLnN0YXRlLHJ1bnRpbWU6WX0pfXJldHVybiBxfWNhdGNoe3JldHVybltdfX1mdW5jdGlvbiBHWihKKXtsZXQgWj1KLnRvTG93ZXJDYXNlKCk7aWYoWi5pbmNsdWRlcygiaXBob25lIikpcmV0dXJuIDA7aWYoWi5pbmNsdWRlcygiaXBhZCIpKXJldHVybiAxO2lmKFouaW5jbHVkZXMoIndhdGNoIikpcmV0dXJuIDI7aWYoWi5pbmNsdWRlcygidmlzaW9uIikpcmV0dXJuIDM7cmV0dXJuIDR9ZnVuY3Rpb24gQlooSil7bGV0IFo9Si50b0xvd2VyQ2FzZSgpO2lmKFouc3RhcnRzV2l0aCgiaW9zIikpcmV0dXJuIDA7aWYoWi5zdGFydHNXaXRoKCJpcGFkb3MiKSlyZXR1cm4gMTtpZihaLnN0YXJ0c1dpdGgoIndhdGNob3MiKSlyZXR1cm4gMjtpZihaLnN0YXJ0c1dpdGgoInZpc2lvbm9zIil8fFouc3RhcnRzV2l0aCgieHJvcyIpKXJldHVybiAzO3JldHVybiA0fWZ1bmN0aW9uIGcyKHtkZXZpY2VzOkosc2VsZWN0ZWRVZGlkOlosbG9hZGluZzpxLGVycm9yOlEsc3RvcHBpbmdVZGlkczpYLG9uUmVmcmVzaDpZLG9uU2VsZWN0OiQsb25TdG9wOkssdHJpZ2dlcjpCfSl7bGV0W0csSF09XyghMSksej1FKG51bGwpO3koKCk9PntpZighRylyZXR1cm47bGV0IEw9KEQpPT57aWYoIXouY3VycmVudD8uY29udGFpbnMoRC50YXJnZXQpKUgoITEpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsTCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLEwpfSxbR10pO2xldCBVPW5ldyBNYXA7Zm9yKGxldCBMIG9mIEope2lmKEwudWRpZD09PVopY29udGludWU7bGV0IEQ9VS5nZXQoTC5ydW50aW1lKTtpZighRClEPVtdLFUuc2V0KEwucnVudGltZSxEKTtELnB1c2goTCl9Zm9yKGxldCBMIG9mIFUudmFsdWVzKCkpTC5zb3J0KChELE8pPT5HWihELm5hbWUpLUdaKE8ubmFtZSl8fEQubmFtZS5sb2NhbGVDb21wYXJlKE8ubmFtZSkpO2xldCBWPVsuLi5VLmVudHJpZXMoKV0uc29ydCgoW0xdLFtEXSk9PkJaKEwpLUJaKEQpfHxMLmxvY2FsZUNvbXBhcmUoRCkpLEY9Si5maW5kKChMKT0+TC51ZGlkPT09Wik/P251bGw7cmV0dXJuIFcoImRpdiIse3JlZjp6LHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUifSxjaGlsZHJlbjpbVygiZGl2Iix7b25DbGljazooKT0+e2lmKCFHKVkoKTtIKChMKT0+IUwpfSxjaGlsZHJlbjpCfSksRyYmVygiZGl2Iix7c3R5bGU6bDIsY2hpbGRyZW46W1coImRpdiIse3N0eWxlOmkyLGNoaWxkcmVuOltXKCJzcGFuIix7c3R5bGU6e2ZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjoiU2ltdWxhdG9ycyJ9KSxXKCJidXR0b24iLHtvbkNsaWNrOihMKT0+e0wuc3RvcFByb3BhZ2F0aW9uKCksWSgpfSxkaXNhYmxlZDpxLHN0eWxlOnMyLGNoaWxkcmVuOnE/Ii4uLiI6IlJlZnJlc2gifSldfSksUSYmVygiZGl2Iix7c3R5bGU6YTIsY2hpbGRyZW46UX0pLEYmJlcoSjAse2NoaWxkcmVuOltXKCJkaXYiLHtzdHlsZTp7Li4uTFosY29sb3I6IiNhNWI0ZmMifSxjaGlsZHJlbjpbVygic3BhbiIse3N0eWxlOkhaKEYuc3RhdGU9PT0iQm9vdGVkIj8iIzRhZGU4MCI6IiM0NDQiKX0pLFcoInNwYW4iLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpGLm5hbWV9KV19KSxXKCJkaXYiLHtzdHlsZTpyMn0pXX0pLEoubGVuZ3RoPT09MCYmIXEmJiFRJiZXKCJkaXYiLHtzdHlsZTpvMixjaGlsZHJlbjoiTm8gYXZhaWxhYmxlIHNpbXVsYXRvcnMgZm91bmQifSksVi5tYXAoKFtMLERdKT0+VygiZGl2Iix7Y2hpbGRyZW46W1coImRpdiIse3N0eWxlOm4yLGNoaWxkcmVuOkx9KSxELm1hcCgoTyk9PntsZXQgTj1YLmhhcyhPLnVkaWQpLEE9Ty5zdGF0ZT09PSJCb290ZWQiO3JldHVybiBXKCJkaXYiLHtzdHlsZTpMWixvbk1vdXNlRW50ZXI6KGopPT5qLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZD0icmdiYSgyNTUsMjU1LDI1NSwwLjA4KSIsb25Nb3VzZUxlYXZlOihqKT0+ai5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InRyYW5zcGFyZW50IixvbkNsaWNrOigpPT57JChPKSxIKCExKX0sY2hpbGRyZW46W1coInNwYW4iLHtzdHlsZTpIWihBPyIjNGFkZTgwIjoiIzQ0NCIpfSksVygic3BhbiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOk8ubmFtZX0pLEEmJlcoInNwYW4iLHtyb2xlOiJidXR0b24iLG9uQ2xpY2s6KGopPT57aWYoai5zdG9wUHJvcGFnYXRpb24oKSwhTilLKE8udWRpZCl9LHN0eWxlOntmb250U2l6ZToxMCxwYWRkaW5nOiIxcHggNnB4Iixib3JkZXJSYWRpdXM6NCxjb2xvcjpOPyIjODg4IjoiI2Y4NzE3MSIsYmFja2dyb3VuZDpOPyJ0cmFuc3BhcmVudCI6InJnYmEoMjQ4LDExMywxMTMsMC4xKSIsY3Vyc29yOk4/ImRlZmF1bHQiOiJwb2ludGVyIn0sY2hpbGRyZW46Tj8iU3RvcHBpbmcuLi4iOiJTdG9wIn0pXX0sTy51ZGlkKX0pXX0sTCkpXX0pXX0pfWZ1bmN0aW9uIEhaKEope3JldHVybnt3aWR0aDo2LGhlaWdodDo2LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOkosZmxleFNocmluazowfX12YXIgdjI9bmV3IFNldChbImltYWdlL2pwZWciLCJpbWFnZS9wbmciLCJpbWFnZS9naWYiLCJpbWFnZS9oZWljIiwiaW1hZ2UvaGVpZiIsImltYWdlL3dlYnAiLCJ2aWRlby9tcDQiLCJ2aWRlby9xdWlja3RpbWUiXSksVlo9MjYyMTQ0LHgyPTUyNDI4ODAwMDtmdW5jdGlvbiBmMihKKXtpZihhOShKKT09PSJpcGEiKXJldHVybiJpcGEiO2lmKHYyLmhhcyhKLnR5cGUpKXJldHVybiJtZWRpYSI7cmV0dXJuIG51bGx9ZnVuY3Rpb24gbTIoSil7bGV0IFo9bmV3IFVpbnQ4QXJyYXkoSikscT0iIjtmb3IobGV0IFE9MDtRPFoubGVuZ3RoO1ErKylxKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFpbUV0pO3JldHVybiBidG9hKHEpfWZ1bmN0aW9uIGE5KEope2xldCBaPUoubmFtZSxxPVoubGFzdEluZGV4T2YoIi4iKTtpZihxPj0wKXJldHVybiBaLnNsaWNlKHErMSkudG9Mb3dlckNhc2UoKTtpZihKLnR5cGUuc3RhcnRzV2l0aCgidmlkZW8vIikpcmV0dXJuIm1wNCI7cmV0dXJuImpwZyJ9YXN5bmMgZnVuY3Rpb24gcDIoSixaLHEsUSl7aWYoSi5zaXplPngyKXRocm93IEVycm9yKCJGaWxlIHRvbyBsYXJnZSAobWF4IDUwME1CKSIpO2xldCBYPVo9PT0iaXBhIj8iaXBhIjphOShKKSwkPWAvdG1wLyR7Wj09PSJpcGEiPyJoYXRjaC1pbnN0YWxsIjoiaGF0Y2gtdXBsb2FkIn0tJHtjcnlwdG8ucmFuZG9tVVVJRCgpfS4ke1h9YDt0cnl7bGV0IEs9YXdhaXQgSi5hcnJheUJ1ZmZlcigpLEI9bTIoSyk7Zm9yKGxldCB6PTA7ejxCLmxlbmd0aDt6Kz1WWil7bGV0IFU9Qi5zbGljZSh6LHorVlopLEY9YXdhaXQgcShgYmFzaCAtYyAnZWNobyAke1V9IHwgYmFzZTY0IC1kICR7ej09PTA/Ij4iOiI+PiJ9ICR7JH0nYCk7aWYoRi5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoRi5zdGRlcnJ8fGBXcml0ZSBmYWlsZWQgKGV4aXQgJHtGLmV4aXRDb2RlfSlgKX1sZXQgRz1aPT09ImlwYSI/YHhjcnVuIHNpbWN0bCBpbnN0YWxsICR7UX0gJHskfWA6YHhjcnVuIHNpbWN0bCBhZGRtZWRpYSAke1F9ICR7JH1gLEg9YXdhaXQgcShHKTtpZihILmV4aXRDb2RlIT09MCl7bGV0IHo9Wj09PSJpcGEiPyJpbnN0YWxsIjoiYWRkbWVkaWEiO3Rocm93IEVycm9yKEguc3RkZXJyfHxgJHt6fSBmYWlsZWQgKGV4aXQgJHtILmV4aXRDb2RlfSlgKX19ZmluYWxseXtxKGBiYXNoIC1jICdybSAtZiAkeyR9J2ApLmNhdGNoKCgpPT57fSl9fWZ1bmN0aW9uIHUyKCl7bGV0W0osWl09XyhbXSkscT1TKChYLFkpPT57bGV0ICQ9Y3J5cHRvLnJhbmRvbVVVSUQoKTtyZXR1cm4gWigoSyk9PlsuLi5LLHtpZDokLG5hbWU6WCxraW5kOlksc3RhdHVzOiJ1cGxvYWRpbmcifV0pLCR9LFtdKSxRPVMoKFgsWSk9PntpZihaKCgkKT0+JC5tYXAoKEspPT5LLmlkPT09WD97Li4uSywuLi5ZfTpLKSksWS5zdGF0dXM9PT0ic3VjY2VzcyJ8fFkuc3RhdHVzPT09ImVycm9yIilzZXRUaW1lb3V0KCgpPT57WigoJCk9PiQuZmlsdGVyKChLKT0+Sy5pZCE9PVgpKX0sMzAwMCl9LFtdKTtyZXR1cm57dG9hc3RzOkosYWRkOnEsdXBkYXRlOlF9fWZ1bmN0aW9uIGQyKHtleGVjOkosdWRpZDpaLGVuYWJsZWQ6cSxvblVwbG9hZFN0YXJ0OlEsb25VcGxvYWRFbmQ6WCxvblVuc3VwcG9ydGVkOll9KXtsZXRbJCxLXT1fKCExKSxCPUUoMCksRz1TKGFzeW5jKFYpPT57aWYoVi5wcmV2ZW50RGVmYXVsdCgpLFYuc3RvcFByb3BhZ2F0aW9uKCksQi5jdXJyZW50PTAsSyghMSksIXF8fCFaKXJldHVybjtsZXQgRj1BcnJheS5mcm9tKFYuZGF0YVRyYW5zZmVyLmZpbGVzKTtpZihGLmxlbmd0aD09PTApcmV0dXJuO2ZvcihsZXQgTCBvZiBGKXtsZXQgRD1mMihMKTtpZighRCl7WShMKTtjb250aW51ZX1sZXQgTz1RKEwubmFtZSxEKTtwMihMLEQsSixaKS50aGVuKCgpPT5YKE8sITApKS5jYXRjaCgoTik9PlgoTywhMSxOIGluc3RhbmNlb2YgRXJyb3I/Ti5tZXNzYWdlOiJVcGxvYWQgZmFpbGVkIikpfX0sW3EsWixKLFEsWCxZXSksSD1TKChWKT0+e2lmKFYucHJldmVudERlZmF1bHQoKSxxKVYuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9ImNvcHkifSxbcV0pLHo9UygoVik9PntpZihWLnByZXZlbnREZWZhdWx0KCksIXEpcmV0dXJuO2lmKEIuY3VycmVudCsrLEIuY3VycmVudD09PTEpSyghMCl9LFtxXSksVT1TKChWKT0+e2lmKFYucHJldmVudERlZmF1bHQoKSxCLmN1cnJlbnQtLSxCLmN1cnJlbnQ8PTApQi5jdXJyZW50PTAsSyghMSl9LFtdKTtyZXR1cm57aXNEcmFnT3ZlcjokLGRyb3Bab25lUHJvcHM6e29uRHJhZ092ZXI6SCxvbkRyYWdFbnRlcjp6LG9uRHJhZ0xlYXZlOlUsb25Ecm9wOkd9fX1mdW5jdGlvbiBjMigpe2xldCBKPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18sW1oscV09XyghMSksW1EsWF09XyhbXSksW1ksJF09XyghMSksW0ssQl09XyhudWxsKSxbRyxIXT1fKG5ldyBTZXQpLFt6LFVdPV8oITEpLFY9Uyhhc3luYygpPT57JCghMCksQihudWxsKTt0cnl7bGV0IFQ9YXdhaXQgbTAoInhjcnVuIHNpbWN0bCBsaXN0IGRldmljZXMgYXZhaWxhYmxlIC1qIik7aWYoVC5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoVC5zdGRlcnJ8fCJzaW1jdGwgbGlzdCBmYWlsZWQiKTtYKGgyKFQuc3Rkb3V0KSl9Y2F0Y2goVCl7QihUIGluc3RhbmNlb2YgRXJyb3I/VC5tZXNzYWdlOiJGYWlsZWQgdG8gbGlzdCBkZXZpY2VzIil9ZmluYWxseXskKCExKX19LFtdKTtpZih5KCgpPT57VigpfSxbVl0pLHkoKCk9PntpZighSj8ubG9nc0VuZHBvaW50KXJldHVybjtsZXQgVD1uZXcgRXZlbnRTb3VyY2UoSi5sb2dzRW5kcG9pbnQpLGQ9bmV3IE1hcCxyPVsiIzhiZTlmZCIsIiM1MGZhN2IiLCIjZmZiODZjIiwiI2ZmNzljNiIsIiNiZDkzZjkiLCIjZjFmYThjIiwiIzYyNzJhNCIsIiNmZjU1NTUiLCIjNjlmZjk0IiwiI2Q2YWNmZiIsIiNmZmZmYTUiLCIjYTRmZmZmIiwiI2ZmNmU2ZSIsIiNjYWE5ZmEiLCIjNWFmNzhlIl07ZnVuY3Rpb24gbChPMCl7bGV0IHEwPWQuZ2V0KE8wKTtpZighcTApe2xldCBlPTA7Zm9yKGxldCB6MD0wO3owPE8wLmxlbmd0aDt6MCsrKWU9KGU8PDUpLWUrTzAuY2hhckNvZGVBdCh6MCl8MDtxMD1yW01hdGguYWJzKGUpJXIubGVuZ3RoXSxkLnNldChPMCxxMCl9cmV0dXJuIHEwfWxldCBLMD0iIixCMD0hMTtyZXR1cm4gVC5vbm1lc3NhZ2U9KE8wKT0+e3RyeXtsZXQgcTA9SlNPTi5wYXJzZShPMC5kYXRhKSxlPXEwLnByb2Nlc3NJbWFnZVBhdGg/LnNwbGl0KCIvIikucG9wKCk/P3EwLnNlbmRlckltYWdlUGF0aD8uc3BsaXQoIi8iKS5wb3AoKT8/IiIsejA9cTAuc3Vic3lzdGVtPz8iIixWMD1xMC5jYXRlZ29yeT8/IiIsRDA9cTAuZXZlbnRNZXNzYWdlPz8iIjtpZighRDApcmV0dXJuO2lmKGUhPT1LMCl7aWYoQjApY29uc29sZS5ncm91cEVuZCgpO2xldCB1MT1sKGUpO2NvbnNvbGUuZ3JvdXBDb2xsYXBzZWQoYCVjJHtlfSR7ejA/YCAlYyR7ejB9JHtWMD8iOiIrVjA6IiJ9YDoiIn1gLGBjb2xvcjoke3UxfTtmb250LXdlaWdodDpib2xkYCwuLi56MD9bImNvbG9yOiM4ODg7Zm9udC13ZWlnaHQ6bm9ybWFsIl06W10pLEIwPSEwLEswPWV9bGV0IEoxPShxMC5tZXNzYWdlVHlwZT8/IiIpLnRvTG93ZXJDYXNlKCksbDA9ejAmJmU9PT1LMD9gJWMke1YwfHx6MH0lYyBgOiIiLFAwPWwwP1siY29sb3I6Izg4ODtmb250LXN0eWxlOml0YWxpYyIsImNvbG9yOmluaGVyaXQiXTpbXTtpZihKMT09PSJmYXVsdCJ8fEoxPT09ImVycm9yIiljb25zb2xlLmxvZyhgJHtsMH0lYyR7RDB9YCwuLi5QMCwiY29sb3I6I2ZmNTU1NSIpO2Vsc2UgaWYoSjE9PT0iZGVidWciKWNvbnNvbGUubG9nKGAke2wwfSVjJHtEMH1gLC4uLlAwLCJjb2xvcjojNjI3MmE0Iik7ZWxzZSBjb25zb2xlLmxvZyhgJHtsMH0lYyR7RDB9YCwuLi5QMCwiY29sb3I6aW5oZXJpdCIpfWNhdGNoe319LCgpPT57aWYoQjApY29uc29sZS5ncm91cEVuZCgpO1QuY2xvc2UoKX19LFtKPy5sb2dzRW5kcG9pbnRdKSwhSilyZXR1cm4gVygiZGl2Iix7c3R5bGU6YjAucGFnZSxjaGlsZHJlbjpXKCJkaXYiLHtzdHlsZTpiMC5lbXB0eSxjaGlsZHJlbjpbVygiaDEiLHtzdHlsZTpiMC5lbXB0eVRpdGxlLGNoaWxkcmVuOiJObyBzZXJ2ZS1zaW0gc3RyZWFtIHJ1bm5pbmcifSksVygicCIse3N0eWxlOmIwLmVtcHR5SGludCxjaGlsZHJlbjpbIkJvb3QgYW4gaU9TIHNpbXVsYXRvciBhbmQgc3RhcnQgYSBIYXRjaCBzdHJlYW0gd2l0aCIsIiAiLFcoImNvZGUiLHtzdHlsZTpiMC5jb2RlLGNoaWxkcmVuOiJidW54IHNlcnZlLXNpbSAtLWRldGFjaCJ9KSwiLCB0aGVuIHJlbG9hZC4iXX0pXX0pfSk7bGV0IEY9US5maW5kKChUKT0+VC51ZGlkPT09Si5kZXZpY2UpPz9udWxsO3koKCk9Pntkb2N1bWVudC50aXRsZT1GPy5uYW1lP2BTaW11bGF0b3IgLSAke0YubmFtZX1gOiJTaW11bGF0b3IgUHJldmlldyJ9LFtGPy5uYW1lXSk7bGV0IEw9eTEoRj8ubmFtZSksRD1hMFtMXSxPPUQud2lkdGgtMipELmJlemVsWCxOPUQuaGVpZ2h0LTIqRC5iZXplbFksQT15NihMKSxqPUw9PT0idmlzaW9uIj81ODA6TD09PSJpcGFkIj80MDA6TD09PSJ3YXRjaCI/MjAwOjMyMCx3PVMyKEouc3RyZWFtVXJsKSxiPUUobnVsbCk7eSgoKT0+e2xldCBUPW5ldyBXZWJTb2NrZXQoSi53c1VybCk7cmV0dXJuIFQuYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLGIuY3VycmVudD1ULCgpPT57VC5jbG9zZSgpLGIuY3VycmVudD1udWxsfX0sW0oud3NVcmxdKTtsZXQgUD1TKChULGQpPT57bGV0IHI9Yi5jdXJyZW50O2lmKCFyfHxyLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IGw9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGQpKSxLMD1uZXcgVWludDhBcnJheSgxK2wubGVuZ3RoKTtLMFswXT1ULEswLnNldChsLDEpLHIuc2VuZChLMCl9LFtdKSx2PVMoKFQpPT5QKDMsVCksW1BdKSxjPVMoKFQpPT5QKDUsVCksW1BdKSxmPVMoKFQpPT5QKDQse2J1dHRvbjpUfSksW1BdKSxvPVMoKFQsZCk9PntQKDYse3R5cGU6VCx1c2FnZTpkfSl9LFtQXSksW1owLHRdPV8obnVsbCk7eSgoKT0+e2xldCBUPW5ldyBFdmVudFNvdXJjZSgiL2FwcHN0YXRlIiksZD1udWxsO3JldHVybiBULm9ubWVzc2FnZT0ocik9Pnt0cnl7bGV0IGw9SlNPTi5wYXJzZShyLmRhdGEpO2lmKGQpY2xlYXJUaW1lb3V0KGQpO2xldCBLMD1sPy5pc1JlYWN0TmF0aXZlPzA6NjAwO2Q9c2V0VGltZW91dCgoKT0+dChsKSxLMCl9Y2F0Y2h7fX0sKCk9PntpZihkKWNsZWFyVGltZW91dChkKTtULmNsb3NlKCl9fSxbXSk7bGV0IGE9Uyhhc3luYygpPT57bygiZG93biIsMjI3KSxhd2FpdCBuZXcgUHJvbWlzZSgocik9PnNldFRpbWVvdXQociwzMCkpLG8oImRvd24iLDIxKSxhd2FpdCBuZXcgUHJvbWlzZSgocik9PnNldFRpbWVvdXQociwzMCkpLG8oInVwIiwyMSksYXdhaXQgbmV3IFByb21pc2UoKHIpPT5zZXRUaW1lb3V0KHIsMzApKSxvKCJ1cCIsMjI3KX0sW29dKTt5KCgpPT57bGV0IFQ9KGwsSzApPT57aWYobC5jb2RlPT09IktleUgiJiZsLm1ldGFLZXkmJmwuc2hpZnRLZXkpe2lmKGwucHJldmVudERlZmF1bHQoKSxLMD09PSJkb3duIiYmIWwucmVwZWF0KVAoNCx7YnV0dG9uOiJob21lIn0pO3JldHVybn1pZihsLmNvZGU9PT0iS2V5QSImJmwubWV0YUtleSYmbC5zaGlmdEtleSl7aWYobC5wcmV2ZW50RGVmYXVsdCgpLEswPT09ImRvd24iJiYhbC5yZXBlYXQpbTAoYHhjcnVuIHNpbWN0bCB1aSAke0ouZGV2aWNlfSBhcHBlYXJhbmNlYCkudGhlbigoTzApPT57bGV0IHEwPU8wLnN0ZG91dC50cmltKCk9PT0iZGFyayI/ImxpZ2h0IjoiZGFyayI7cmV0dXJuIG0wKGB4Y3J1biBzaW1jdGwgdWkgJHtKLmRldmljZX0gYXBwZWFyYW5jZSAke3EwfWApfSkuY2F0Y2goKCk9Pnt9KTtyZXR1cm59bGV0IEIwPVIyKGwuY29kZSk7aWYoQjA9PW51bGwpcmV0dXJuO2wucHJldmVudERlZmF1bHQoKSxQKDYse3R5cGU6SzAsdXNhZ2U6QjB9KX0sZD0obCk9PlQobCwiZG93biIpLHI9KGwpPT5UKGwsInVwIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixkKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHIpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGQpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIscil9fSxbUCxKLmRldmljZV0pO2xldCBrPVMoYXN5bmMoVCk9PntpZih6fHxULnVkaWQ9PT1KLmRldmljZSlyZXR1cm47VSghMCk7dHJ5e2lmKFQuc3RhdGUhPT0iQm9vdGVkIilhd2FpdCBtMChgeGNydW4gc2ltY3RsIGJvb3QgJHtULnVkaWR9YCk7YXdhaXQgbTAoYGJ1bnggc2VydmUtc2ltIC0ta2lsbCAke0ouZGV2aWNlfWApLGF3YWl0IG0wKGBidW54IHNlcnZlLXNpbSAtLWRldGFjaCAke1QudWRpZH1gKSx3aW5kb3cubG9jYXRpb24ucmVsb2FkKCl9Y2F0Y2h7VSghMSl9fSxbeixKLmRldmljZV0pLHg9dTIoKSxzPWQyKHtleGVjOm0wLHVkaWQ6Si5kZXZpY2UsZW5hYmxlZDpaLG9uVXBsb2FkU3RhcnQ6eC5hZGQsb25VcGxvYWRFbmQ6KFQsZCxyKT0+eC51cGRhdGUoVCx7c3RhdHVzOmQ/InN1Y2Nlc3MiOiJlcnJvciIsbWVzc2FnZTpyfSksb25VbnN1cHBvcnRlZDooVCk9PntsZXQgZD14LmFkZChULm5hbWUsIm1lZGlhIik7eC51cGRhdGUoZCx7c3RhdHVzOiJlcnJvciIsbWVzc2FnZTpgVW5zdXBwb3J0ZWQ6ICR7VC50eXBlfHxhOShUKX1gfSl9fSkscD1TKGFzeW5jKFQpPT57SCgoZCk9Pm5ldyBTZXQoZCkuYWRkKFQpKTt0cnl7YXdhaXQgbTAoYHhjcnVuIHNpbWN0bCBzaHV0ZG93biAke1R9YCksYXdhaXQgVigpfWZpbmFsbHl7SCgoZCk9PntsZXQgcj1uZXcgU2V0KGQpO3JldHVybiByLmRlbGV0ZShUKSxyfSl9fSxbVl0pO3JldHVybiBXKCJkaXYiLHtzdHlsZTpiMC5wYWdlLGNoaWxkcmVuOltXKEtaLHtleGVjOm0wLHVkaWQ6Si5kZXZpY2U/P251bGwsb25Ib21lOigpPT5mKCJob21lIiksb25TY3JlZW5zaG90OigpPT52b2lkIG0wKGB4Y3J1biBzaW1jdGwgaW8gJHtKLmRldmljZX0gc2NyZWVuc2hvdCB+L0Rlc2t0b3AvaGF0Y2gtc2NyZWVuc2hvdC0kKGRhdGUgKyVzKS5wbmdgKSxvblJvdGF0ZTooVCk9PnZvaWQgbTAoYHNlcnZlLXNpbSByb3RhdGUgJHtUfSAtZCAke0ouZGV2aWNlfWApLHN0eWxlOnttYXhXaWR0aDpqLHdpZHRoOiIxMDAlIn19KSxXKEEwLHtleGVjOm0wLGRldmljZVVkaWQ6Si5kZXZpY2UsZGV2aWNlTmFtZTpGPy5uYW1lPz9udWxsLGRldmljZVJ1bnRpbWU6Rj8ucnVudGltZT8/bnVsbCxzdHJlYW1pbmc6WixzdHlsZTp7bWF4V2lkdGg6an0sY2hpbGRyZW46W1coZzIse2RldmljZXM6USxzZWxlY3RlZFVkaWQ6Si5kZXZpY2UsbG9hZGluZzpZLGVycm9yOkssc3RvcHBpbmdVZGlkczpHLG9uUmVmcmVzaDpWLG9uU2VsZWN0Omssb25TdG9wOnAsdHJpZ2dlcjpXKEEwLlRpdGxlLHt9KX0pLFcoQTAuQWN0aW9ucyx7Y2hpbGRyZW46W1owPy5pc1JlYWN0TmF0aXZlJiZXKEEwLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiJSZWxvYWQgUmVhY3QgTmF0aXZlIGJ1bmRsZSIsdGl0bGU6IlJlbG9hZCAoQ21kK1IpIixvbkNsaWNrOigpPT52b2lkIGEoKSxjaGlsZHJlbjpXKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbVygicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDEgMCAzLjUtNy4xIn0pLFcoInBvbHlsaW5lIix7cG9pbnRzOiIzIDMgMyA5IDkgOSJ9KV19KX0pLFcoQTAuSG9tZUJ1dHRvbix7b25DbGljazooVCk9PntULnByZXZlbnREZWZhdWx0KCksZigiaG9tZSIpfX0pLFcoQTAuU2NyZWVuc2hvdEJ1dHRvbix7fSksVyhBMC5Sb3RhdGVCdXR0b24se30pXX0pXX0pLFcoImRpdiIse3N0eWxlOnttYXhXaWR0aDpqLHdpZHRoOiIxMDAlIixhc3BlY3RSYXRpbzpgJHtPfSAvICR7Tn1gLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9LC4uLnMuZHJvcFpvbmVQcm9wcyxjaGlsZHJlbjpbVyh3Nix7dXJsOkoudXJsLHN0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixib3JkZXI6Im5vbmUifSxpbWFnZVN0eWxlOntib3JkZXJSYWRpdXM6QSxjb3JuZXJTaGFwZToic3VwZXJlbGxpcHNlKDEuMykifSxoaWRlQ29udHJvbHM6ITAsb25TdHJlYW1pbmdDaGFuZ2U6cSxvblN0cmVhbVRvdWNoOnYsb25TdHJlYW1NdWx0aVRvdWNoOmMsb25TdHJlYW1CdXR0b246ZixzdWJzY3JpYmVGcmFtZTp3LnN1YnNjcmliZUZyYW1lLHN0cmVhbUZyYW1lOncuZnJhbWUsc3RyZWFtQ29uZmlnOncuY29uZmlnfSkscy5pc0RyYWdPdmVyJiZXKCJkaXYiLHtzdHlsZTp7Li4uYjAuZHJvcE92ZXJsYXksYm9yZGVyUmFkaXVzOkF9LGNoaWxkcmVuOltXKCJzdmciLHt3aWR0aDoiMzIiLGhlaWdodDoiMzIiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIxLjUiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltXKCJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQifSksVygicG9seWxpbmUiLHtwb2ludHM6IjE3IDggMTIgMyA3IDgifSksVygibGluZSIse3gxOiIxMiIseTE6IjMiLHgyOiIxMiIseTI6IjE1In0pXX0pLFcoInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTMsZm9udFdlaWdodDo1MDB9LGNoaWxkcmVuOiJEcm9wIG1lZGlhIG9yIC5pcGEifSldfSldfSkseC50b2FzdHMubGVuZ3RoPjAmJlcoImRpdiIse3N0eWxlOmIwLnRvYXN0U3RhY2ssY2hpbGRyZW46eC50b2FzdHMubWFwKChUKT0+VygiZGl2Iix7c3R5bGU6YjAudG9hc3QsY2hpbGRyZW46W1coInNwYW4iLHtzdHlsZTp7Li4uYjAuZG90LGJhY2tncm91bmQ6VC5zdGF0dXM9PT0idXBsb2FkaW5nIj8iI2E1YjRmYyI6VC5zdGF0dXM9PT0ic3VjY2VzcyI/IiM0YWRlODAiOiIjZjg3MTcxIn19KSxXKCJzcGFuIix7c3R5bGU6e2ZsZXg6MSxvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxjaGlsZHJlbjpbVC5zdGF0dXM9PT0idXBsb2FkaW5nIiYmKFQua2luZD09PSJpcGEiP2BJbnN0YWxsaW5nICR7VC5uYW1lfeKApmA6YFVwbG9hZGluZyAke1QubmFtZX3igKZgKSxULnN0YXR1cz09PSJzdWNjZXNzIiYmKFQua2luZD09PSJpcGEiP2BJbnN0YWxsZWQgJHtULm5hbWV9YDpgQWRkZWQgJHtULm5hbWV9IHRvIFBob3Rvc2ApLFQuc3RhdHVzPT09ImVycm9yIiYmYCR7VC5uYW1lfTogJHtULm1lc3NhZ2U/PyJVcGxvYWQgZmFpbGVkIn1gXX0pXX0sVC5pZCkpfSksVygiZGl2Iix7c3R5bGU6YjAuYmFyLGNoaWxkcmVuOlcoInNwYW4iLHtzdHlsZTp7Li4uYjAubGl2ZSxjb2xvcjpaPyIjNGFkZTgwIjoiIzY2NiJ9LGNoaWxkcmVuOltXKCJzcGFuIix7c3R5bGU6ey4uLmIwLmRvdCxiYWNrZ3JvdW5kOlo/IiM0YWRlODAiOiIjNjY2In19KSxaPyJsaXZlIjoiY29ubmVjdGluZyJdfSl9KV19KX12YXIgYjA9e3BhZ2U6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixoZWlnaHQ6IjEwMHZoIixiYWNrZ3JvdW5kOiIjMGEwYTBhIixwYWRkaW5nOjI0LGdhcDoxMixmb250RmFtaWx5OiItYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYifSxiYXI6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEwLGZvbnRTaXplOjEyLGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixjb2xvcjoiIzY2NiJ9LGxpdmU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjUsdHJhbnNpdGlvbjoiY29sb3IgMC4zcyJ9LGRvdDp7d2lkdGg6NixoZWlnaHQ6Nixib3JkZXJSYWRpdXM6IjUwJSIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZCAwLjNzIn0sZW1wdHk6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTIsdGV4dEFsaWduOiJjZW50ZXIifSxlbXB0eVRpdGxlOntmb250U2l6ZToxOCxtYXJnaW46MCxjb2xvcjoiI2VlZSJ9LGVtcHR5SGludDp7Y29sb3I6IiM4ODgiLGZvbnRTaXplOjE0LG1heFdpZHRoOjQ4MH0sY29kZTp7YmFja2dyb3VuZDoiIzIyMiIscGFkZGluZzoiMnB4IDZweCIsYm9yZGVyUmFkaXVzOjQsZm9udFNpemU6MTN9LGRyb3BPdmVybGF5Ontwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGdhcDo4LGJvcmRlcjoiMnB4IGRhc2hlZCAjYTViNGZjIixiYWNrZ3JvdW5kOiJyZ2JhKDk5LDEwMiwyNDEsMC4xMikiLGJhY2tkcm9wRmlsdGVyOiJibHVyKDJweCkiLGNvbG9yOiIjYTViNGZjIixwb2ludGVyRXZlbnRzOiJub25lIix6SW5kZXg6MjB9LHRvYXN0U3RhY2s6e3Bvc2l0aW9uOiJmaXhlZCIsYm90dG9tOjE2LHJpZ2h0OjE2LGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjYsbWF4V2lkdGg6MzIwLHpJbmRleDozMH0sdG9hc3Q6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiOHB4IDEycHgiLGJhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikiLGJvcmRlclJhZGl1czo4LGNvbG9yOiIjZWVlIixmb250U2l6ZToxMixmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsYm94U2hhZG93OiIwIDRweCAxMnB4IHJnYmEoMCwwLDAsMC40KSJ9fSxsMj17cG9zaXRpb246ImFic29sdXRlIix0b3A6ImNhbGMoMTAwJSArIDZweCkiLGxlZnQ6MCxtaW5XaWR0aDoyNjAsbWF4SGVpZ2h0OjM2MCxvdmVyZmxvd1k6ImF1dG8iLGJhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikiLGJvcmRlclJhZGl1czoxMCxwYWRkaW5nOjQsYm94U2hhZG93OiIwIDhweCAyNHB4IHJnYmEoMCwwLDAsMC41KSIsZm9udEZhbWlseToidWktbW9ub3NwYWNlLCBtb25vc3BhY2UiLGZvbnRTaXplOjEzLGNvbG9yOiIjZWVlIix6SW5kZXg6MjB9LGkyPXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixwYWRkaW5nOiI2cHggMTBweCIsZm9udFNpemU6MTEsY29sb3I6IiNhYWEifSxzMj17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsY29sb3I6IiNhNWI0ZmMiLGZvbnRTaXplOjExLGN1cnNvcjoicG9pbnRlciIscGFkZGluZzowfSxhMj17cGFkZGluZzoiNnB4IDEwcHgiLGNvbG9yOiIjZjg3MTcxIixmb250U2l6ZToxMX0sTFo9e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiNnB4IDEwcHgiLGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZCAwLjE1cyJ9LHIyPXtoZWlnaHQ6MSxiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixtYXJnaW46IjRweCAwIn0sbzI9e3BhZGRpbmc6MTIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC40KSIsZm9udFNpemU6MTEsdGV4dEFsaWduOiJjZW50ZXIifSxuMj17cGFkZGluZzoiNnB4IDEwcHggMnB4Iixmb250U2l6ZToxMCxmb250V2VpZ2h0OjYwMCxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjQpIix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLGxldHRlclNwYWNpbmc6IjAuMDhlbSJ9O3A1KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290IikpLnJlbmRlcihXKGMyLHt9KSk7Cjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg==","base64").toString("utf-8");return A}function o(Y){let J=(Y?.basePath??"/.sim").replace(/\/+$/,"");return(Q,z,Z)=>{let C=Q.url??"";if(C===J||C===J+"/"){let V=L()[0]??null,W=h();if(V){let H=`<script>window.__SIM_PREVIEW__=${JSON.stringify({...V,logsEndpoint:J+"/logs"})}</script>`;W=W.replace("<!--__SIM_PREVIEW_CONFIG__-->",H)}z.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store"}),z.end(W);return}if(C===J+"/api"){let X=L();z.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),z.end(JSON.stringify(X[0]||null));return}if((C===J+"/exec"||C===J+"/exec/")&&Q.method==="POST"){let X="";Q.on("data",(V)=>{X+=typeof V==="string"?V:V.toString()}),Q.on("end",()=>{let V="";try{V=JSON.parse(X).command??""}catch{}if(!V){z.writeHead(400,{"Content-Type":"application/json"}),z.end(JSON.stringify({stdout:"",stderr:"Missing command",exitCode:1}));return}q(V,{maxBuffer:16777216},(W,$,H)=>{z.writeHead(200,{"Content-Type":"application/json"}),z.end(JSON.stringify({stdout:$.toString(),stderr:H.toString(),exitCode:W?W.code??1:0}))})});return}if(C===J+"/logs"||C.startsWith(J+"/logs?")){let X=L();if(X.length===0){z.writeHead(404),z.end("No serve-sim device");return}let V=X[0].device;z.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),z.write(`:
2
+ import{readdirSync as g,readFileSync as y,existsSync as N,unlinkSync as F}from"fs";import{execSync as R,spawn as U,exec as q,execFile as k}from"child_process";import{tmpdir as _}from"os";import{join as w}from"path";var B=w(_(),"serve-sim"),I=new Set(["host.exp.Exponent","dev.expo.Exponent"]),v=["Frameworks/React.framework","Frameworks/hermes.framework","Frameworks/Hermes.framework","Frameworks/ExpoModulesCore.framework","main.jsbundle"],f=/(WidgetRenderer|ExtensionHost|\.extension(\.|$)|Service|PlaceholderApp|InCallService|CallUI|InCallUI|com\.apple\.Preferences\.Cellular|com\.apple\.purplebuddy|com\.apple\.chrono|com\.apple\.shuttle|com\.apple\.usernotificationsui)/i;function m(Y){return!f.test(Y)}function p(Y,J){if(I.has(J))return Promise.resolve(!0);return new Promise((Q)=>{k("xcrun",["simctl","get_app_container",Y,J,"app"],{timeout:2000},(z,Z)=>{if(z)return Q(!1);let C=Z.trim();if(!C)return Q(!1);for(let X of v)if(N(w(C,X)))return Q(!0);Q(!1)})})}var O={at:0,booted:null};function S(){let Y=Date.now();if(O.booted&&Y-O.at<1500)return O.booted;try{let J=R("xcrun simctl list devices booted -j",{encoding:"utf-8",stdio:["ignore","pipe","pipe"],timeout:3000}),Q=JSON.parse(J),z=new Set;for(let Z of Object.values(Q.devices))for(let C of Z)if(C.state==="Booted")z.add(C.udid);return O={at:Y,booted:z},z}catch{return null}}function L(){let Y;try{Y=g(B).filter((z)=>z.startsWith("server-")&&z.endsWith(".json"))}catch{return[]}let J=S(),Q=[];for(let z of Y){let Z=w(B,z);try{let C=JSON.parse(y(Z,"utf-8"));try{process.kill(C.pid,0)}catch{try{F(Z)}catch{}continue}if(J&&!J.has(C.device)){try{process.kill(C.pid,"SIGTERM")}catch{}try{F(Z)}catch{}continue}Q.push(C)}catch{}}return Q}var A=null;function h(){if(!A)A=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59PC9zdHlsZT4KPC9oZWFkPjxib2R5Pgo8ZGl2IGlkPSJyb290Ij48L2Rpdj4KPCEtLV9fU0lNX1BSRVZJRVdfQ09ORklHX18tLT4KPHNjcmlwdCB0eXBlPSJtb2R1bGUiPnZhciB1MCxVLHY0LGQ2LE8wLFM0LHk0LGc0LEs0LGYwLGIwLHA0LE40LHo0LFc0LHg0LGEwPXt9LGMwPVtdLGE2PS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksUzA9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBHMChKLFgpe2Zvcih2YXIgWSBpbiBYKUpbWV09WFtZXTtyZXR1cm4gSn1mdW5jdGlvbiBWNChKKXtKJiZKLnBhcmVudE5vZGUmJkoucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChKKX1mdW5jdGlvbiBOMChKLFgsWSl7dmFyIFoscSxRLCQ9e307Zm9yKFEgaW4gWClRPT0ia2V5Ij9aPVhbUV06UT09InJlZiI/cT1YW1FdOiRbUV09WFtRXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJigkLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz91MC5jYWxsKGFyZ3VtZW50cywyKTpZKSx0eXBlb2YgSj09ImZ1bmN0aW9uIiYmSi5kZWZhdWx0UHJvcHMhPW51bGwpZm9yKFEgaW4gSi5kZWZhdWx0UHJvcHMpJFtRXT09PXZvaWQgMCYmKCRbUV09Si5kZWZhdWx0UHJvcHNbUV0pO3JldHVybiBkMChKLCQsWixxLG51bGwpfWZ1bmN0aW9uIGQwKEosWCxZLFoscSl7dmFyIFE9e3R5cGU6Sixwcm9wczpYLGtleTpZLHJlZjpaLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjpxPT1udWxsPysrdjQ6cSxfX2k6LTEsX191OjB9O3JldHVybiBxPT1udWxsJiZVLnZub2RlIT1udWxsJiZVLnZub2RlKFEpLFF9ZnVuY3Rpb24gbShKKXtyZXR1cm4gSi5jaGlsZHJlbn1mdW5jdGlvbiBjKEosWCl7dGhpcy5wcm9wcz1KLHRoaXMuY29udGV4dD1YfWZ1bmN0aW9uIF8wKEosWCl7aWYoWD09bnVsbClyZXR1cm4gSi5fXz9fMChKLl9fLEouX19pKzEpOm51bGw7Zm9yKHZhciBZO1g8Si5fX2subGVuZ3RoO1grKylpZigoWT1KLl9fa1tYXSkhPW51bGwmJlkuX19lIT1udWxsKXJldHVybiBZLl9fZTtyZXR1cm4gdHlwZW9mIEoudHlwZT09ImZ1bmN0aW9uIj9fMChKKTpudWxsfWZ1bmN0aW9uIGM2KEope2lmKEouX19QJiZKLl9fZCl7dmFyIFg9Si5fX3YsWT1YLl9fZSxaPVtdLHE9W10sUT1HMCh7fSxYKTtRLl9fdj1YLl9fdisxLFUudm5vZGUmJlUudm5vZGUoUSksSDQoSi5fX1AsUSxYLEouX19uLEouX19QLm5hbWVzcGFjZVVSSSwzMiZYLl9fdT9bWV06bnVsbCxaLFk9PW51bGw/XzAoWCk6WSwhISgzMiZYLl9fdSkscSksUS5fX3Y9WC5fX3YsUS5fXy5fX2tbUS5fX2ldPVEsZDQoWixRLHEpLFguX19lPVguX189bnVsbCxRLl9fZSE9WSYmaDQoUSl9fWZ1bmN0aW9uIGg0KEope2lmKChKPUouX18pIT1udWxsJiZKLl9fYyE9bnVsbClyZXR1cm4gSi5fX2U9Si5fX2MuYmFzZT1udWxsLEouX19rLnNvbWUoZnVuY3Rpb24oWCl7aWYoWCE9bnVsbCYmWC5fX2UhPW51bGwpcmV0dXJuIEouX19lPUouX19jLmJhc2U9WC5fX2V9KSxoNChKKX1mdW5jdGlvbiBMNChKKXsoIUouX19kJiYoSi5fX2Q9ITApJiZPMC5wdXNoKEopJiYhbDAuX19yKyt8fFM0IT1VLmRlYm91bmNlUmVuZGVyaW5nKSYmKChTND1VLmRlYm91bmNlUmVuZGVyaW5nKXx8eTQpKGwwKX1mdW5jdGlvbiBsMCgpe3RyeXtmb3IodmFyIEosWD0xO08wLmxlbmd0aDspTzAubGVuZ3RoPlgmJk8wLnNvcnQoZzQpLEo9TzAuc2hpZnQoKSxYPU8wLmxlbmd0aCxjNihKKX1maW5hbGx5e08wLmxlbmd0aD1sMC5fX3I9MH19ZnVuY3Rpb24gbTQoSixYLFksWixxLFEsJCxXLE4seixCKXt2YXIgSyxfLEEsRCxQLEksTSxDPVomJlouX19rfHxjMCx4PVgubGVuZ3RoO2ZvcihOPWw2KFksWCxDLE4seCksSz0wO0s8eDtLKyspKEE9WS5fX2tbS10pIT1udWxsJiYoXz1BLl9faSE9LTEmJkNbQS5fX2ldfHxhMCxBLl9faT1LLEk9SDQoSixBLF8scSxRLCQsVyxOLHosQiksRD1BLl9fZSxBLnJlZiYmXy5yZWYhPUEucmVmJiYoXy5yZWYmJkE0KF8ucmVmLG51bGwsQSksQi5wdXNoKEEucmVmLEEuX19jfHxELEEpKSxQPT1udWxsJiZEIT1udWxsJiYoUD1EKSwoTT0hISg0JkEuX191KSl8fF8uX19rPT09QS5fX2s/KE49ZjQoQSxOLEosTSksTSYmXy5fX2UmJihfLl9fZT1udWxsKSk6dHlwZW9mIEEudHlwZT09ImZ1bmN0aW9uIiYmSSE9PXZvaWQgMD9OPUk6RCYmKE49RC5uZXh0U2libGluZyksQS5fX3UmPS03KTtyZXR1cm4gWS5fX2U9UCxOfWZ1bmN0aW9uIGw2KEosWCxZLFoscSl7dmFyIFEsJCxXLE4seixCPVkubGVuZ3RoLEs9QixfPTA7Zm9yKEouX19rPUFycmF5KHEpLFE9MDtRPHE7USsrKSgkPVhbUV0pIT1udWxsJiZ0eXBlb2YgJCE9ImJvb2xlYW4iJiZ0eXBlb2YgJCE9ImZ1bmN0aW9uIj8odHlwZW9mICQ9PSJzdHJpbmcifHx0eXBlb2YgJD09Im51bWJlciJ8fHR5cGVvZiAkPT0iYmlnaW50Inx8JC5jb25zdHJ1Y3Rvcj09U3RyaW5nPyQ9Si5fX2tbUV09ZDAobnVsbCwkLG51bGwsbnVsbCxudWxsKTpTMCgkKT8kPUouX19rW1FdPWQwKG0se2NoaWxkcmVuOiR9LG51bGwsbnVsbCxudWxsKTokLmNvbnN0cnVjdG9yPT09dm9pZCAwJiYkLl9fYj4wPyQ9Si5fX2tbUV09ZDAoJC50eXBlLCQucHJvcHMsJC5rZXksJC5yZWY/JC5yZWY6bnVsbCwkLl9fdik6Si5fX2tbUV09JCxOPVErXywkLl9fPUosJC5fX2I9Si5fX2IrMSxXPW51bGwsKHo9JC5fX2k9dTYoJCxZLE4sSykpIT0tMSYmKEstLSwoVz1ZW3pdKSYmKFcuX191fD0yKSksVz09bnVsbHx8Vy5fX3Y9PW51bGw/KHo9PS0xJiYocT5CP18tLTpxPEImJl8rKyksdHlwZW9mICQudHlwZSE9ImZ1bmN0aW9uIiYmKCQuX191fD00KSk6eiE9TiYmKHo9PU4tMT9fLS06ej09TisxP18rKzooej5OP18tLTpfKyssJC5fX3V8PTQpKSk6Si5fX2tbUV09bnVsbDtpZihLKWZvcihRPTA7UTxCO1ErKykoVz1ZW1FdKSE9bnVsbCYmKDImVy5fX3UpPT0wJiYoVy5fX2U9PVomJihaPV8wKFcpKSxjNChXLFcpKTtyZXR1cm4gWn1mdW5jdGlvbiBmNChKLFgsWSxaKXt2YXIgcSxRO2lmKHR5cGVvZiBKLnR5cGU9PSJmdW5jdGlvbiIpe2ZvcihxPUouX19rLFE9MDtxJiZRPHEubGVuZ3RoO1ErKylxW1FdJiYocVtRXS5fXz1KLFg9ZjQocVtRXSxYLFksWikpO3JldHVybiBYfUouX19lIT1YJiYoWiYmKFgmJkoudHlwZSYmIVgucGFyZW50Tm9kZSYmKFg9XzAoSikpLFkuaW5zZXJ0QmVmb3JlKEouX19lLFh8fG51bGwpKSxYPUouX19lKTtkbyBYPVgmJlgubmV4dFNpYmxpbmc7d2hpbGUoWCE9bnVsbCYmWC5ub2RlVHlwZT09OCk7cmV0dXJuIFh9ZnVuY3Rpb24gVjAoSixYKXtyZXR1cm4gWD1YfHxbXSxKPT1udWxsfHx0eXBlb2YgSj09ImJvb2xlYW4ifHwoUzAoSik/Si5zb21lKGZ1bmN0aW9uKFkpe1YwKFksWCl9KTpYLnB1c2goSikpLFh9ZnVuY3Rpb24gdTYoSixYLFksWil7dmFyIHEsUSwkLFc9Si5rZXksTj1KLnR5cGUsej1YW1ldLEI9eiE9bnVsbCYmKDImei5fX3UpPT0wO2lmKHo9PT1udWxsJiZXPT1udWxsfHxCJiZXPT16LmtleSYmTj09ei50eXBlKXJldHVybiBZO2lmKFo+KEI/MTowKSl7Zm9yKHE9WS0xLFE9WSsxO3E+PTB8fFE8WC5sZW5ndGg7KWlmKCh6PVhbJD1xPj0wP3EtLTpRKytdKSE9bnVsbCYmKDImei5fX3UpPT0wJiZXPT16LmtleSYmTj09ei50eXBlKXJldHVybiAkfXJldHVybi0xfWZ1bmN0aW9uIFI0KEosWCxZKXtYWzBdPT0iLSI/Si5zZXRQcm9wZXJ0eShYLFk9PW51bGw/IiI6WSk6SltYXT1ZPT1udWxsPyIiOnR5cGVvZiBZIT0ibnVtYmVyInx8YTYudGVzdChYKT9ZOlkrInB4In1mdW5jdGlvbiBtMChKLFgsWSxaLHEpe3ZhciBRLCQ7SjppZihYPT0ic3R5bGUiKWlmKHR5cGVvZiBZPT0ic3RyaW5nIilKLnN0eWxlLmNzc1RleHQ9WTtlbHNle2lmKHR5cGVvZiBaPT0ic3RyaW5nIiYmKEouc3R5bGUuY3NzVGV4dD1aPSIiKSxaKWZvcihYIGluIFopWSYmWCBpbiBZfHxSNChKLnN0eWxlLFgsIiIpO2lmKFkpZm9yKFggaW4gWSlaJiZZW1hdPT1aW1hdfHxSNChKLnN0eWxlLFgsWVtYXSl9ZWxzZSBpZihYWzBdPT0ibyImJlhbMV09PSJuIilRPVghPShYPVgucmVwbGFjZShwNCwiJDEiKSksJD1YLnRvTG93ZXJDYXNlKCksWD0kIGluIEp8fFg9PSJvbkZvY3VzT3V0Inx8WD09Im9uRm9jdXNJbiI/JC5zbGljZSgyKTpYLnNsaWNlKDIpLEoubHx8KEoubD17fSksSi5sW1grUV09WSxZP1o/WVtiMF09WltiMF06KFlbYjBdPU40LEouYWRkRXZlbnRMaXN0ZW5lcihYLFE/VzQ6ejQsUSkpOkoucmVtb3ZlRXZlbnRMaXN0ZW5lcihYLFE/VzQ6ejQsUSk7ZWxzZXtpZihxPT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKVg9WC5yZXBsYWNlKC94bGluayhIfDpoKS8sImgiKS5yZXBsYWNlKC9zTmFtZSQvLCJzIik7ZWxzZSBpZihYIT0id2lkdGgiJiZYIT0iaGVpZ2h0IiYmWCE9ImhyZWYiJiZYIT0ibGlzdCImJlghPSJmb3JtIiYmWCE9InRhYkluZGV4IiYmWCE9ImRvd25sb2FkIiYmWCE9InJvd1NwYW4iJiZYIT0iY29sU3BhbiImJlghPSJyb2xlIiYmWCE9InBvcG92ZXIiJiZYIGluIEopdHJ5e0pbWF09WT09bnVsbD8iIjpZO2JyZWFrIEp9Y2F0Y2goVyl7fXR5cGVvZiBZPT0iZnVuY3Rpb24ifHwoWT09bnVsbHx8WT09PSExJiZYWzRdIT0iLSI/Si5yZW1vdmVBdHRyaWJ1dGUoWCk6Si5zZXRBdHRyaWJ1dGUoWCxYPT0icG9wb3ZlciImJlk9PTE/IiI6WSkpfX1mdW5jdGlvbiBqNChKKXtyZXR1cm4gZnVuY3Rpb24oWCl7aWYodGhpcy5sKXt2YXIgWT10aGlzLmxbWC50eXBlK0pdO2lmKFhbZjBdPT1udWxsKVhbZjBdPU40Kys7ZWxzZSBpZihYW2YwXTxZW2IwXSlyZXR1cm47cmV0dXJuIFkoVS5ldmVudD9VLmV2ZW50KFgpOlgpfX19ZnVuY3Rpb24gSDQoSixYLFksWixxLFEsJCxXLE4seil7dmFyIEIsSyxfLEEsRCxQLEksTSxDLHgsRSxKMCxZMCxoLEswLHM9WC50eXBlO2lmKFguY29uc3RydWN0b3IhPT12b2lkIDApcmV0dXJuIG51bGw7MTI4JlkuX191JiYoTj0hISgzMiZZLl9fdSksUT1bVz1YLl9fZT1ZLl9fZV0pLChCPVUuX19iKSYmQihYKTtKOmlmKHR5cGVvZiBzPT0iZnVuY3Rpb24iKXRyeXtpZihNPVgucHJvcHMsQz1zLnByb3RvdHlwZSYmcy5wcm90b3R5cGUucmVuZGVyLHg9KEI9cy5jb250ZXh0VHlwZSkmJlpbQi5fX2NdLEU9Qj94P3gucHJvcHMudmFsdWU6Qi5fXzpaLFkuX19jP0k9KEs9WC5fX2M9WS5fX2MpLl9fPUsuX19FOihDP1guX19jPUs9bmV3IHMoTSxFKTooWC5fX2M9Sz1uZXcgYyhNLEUpLEsuY29uc3RydWN0b3I9cyxLLnJlbmRlcj1vNikseCYmeC5zdWIoSyksSy5zdGF0ZXx8KEsuc3RhdGU9e30pLEsuX19uPVosXz1LLl9fZD0hMCxLLl9faD1bXSxLLl9zYj1bXSksQyYmSy5fX3M9PW51bGwmJihLLl9fcz1LLnN0YXRlKSxDJiZzLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyE9bnVsbCYmKEsuX19zPT1LLnN0YXRlJiYoSy5fX3M9RzAoe30sSy5fX3MpKSxHMChLLl9fcyxzLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhNLEsuX19zKSkpLEE9Sy5wcm9wcyxEPUsuc3RhdGUsSy5fX3Y9WCxfKUMmJnMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1udWxsJiZLLmNvbXBvbmVudFdpbGxNb3VudCE9bnVsbCYmSy5jb21wb25lbnRXaWxsTW91bnQoKSxDJiZLLmNvbXBvbmVudERpZE1vdW50IT1udWxsJiZLLl9faC5wdXNoKEsuY29tcG9uZW50RGlkTW91bnQpO2Vsc2V7aWYoQyYmcy5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PW51bGwmJk0hPT1BJiZLLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPW51bGwmJksuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhNLEUpLFguX192PT1ZLl9fdnx8IUsuX19lJiZLLnNob3VsZENvbXBvbmVudFVwZGF0ZSE9bnVsbCYmSy5zaG91bGRDb21wb25lbnRVcGRhdGUoTSxLLl9fcyxFKT09PSExKXtYLl9fdiE9WS5fX3YmJihLLnByb3BzPU0sSy5zdGF0ZT1LLl9fcyxLLl9fZD0hMSksWC5fX2U9WS5fX2UsWC5fX2s9WS5fX2ssWC5fX2suc29tZShmdW5jdGlvbihyKXtyJiYoci5fXz1YKX0pLGMwLnB1c2guYXBwbHkoSy5fX2gsSy5fc2IpLEsuX3NiPVtdLEsuX19oLmxlbmd0aCYmJC5wdXNoKEspO2JyZWFrIEp9Sy5jb21wb25lbnRXaWxsVXBkYXRlIT1udWxsJiZLLmNvbXBvbmVudFdpbGxVcGRhdGUoTSxLLl9fcyxFKSxDJiZLLmNvbXBvbmVudERpZFVwZGF0ZSE9bnVsbCYmSy5fX2gucHVzaChmdW5jdGlvbigpe0suY29tcG9uZW50RGlkVXBkYXRlKEEsRCxQKX0pfWlmKEsuY29udGV4dD1FLEsucHJvcHM9TSxLLl9fUD1KLEsuX19lPSExLEowPVUuX19yLFkwPTAsQylLLnN0YXRlPUsuX19zLEsuX19kPSExLEowJiZKMChYKSxCPUsucmVuZGVyKEsucHJvcHMsSy5zdGF0ZSxLLmNvbnRleHQpLGMwLnB1c2guYXBwbHkoSy5fX2gsSy5fc2IpLEsuX3NiPVtdO2Vsc2UgZG8gSy5fX2Q9ITEsSjAmJkowKFgpLEI9Sy5yZW5kZXIoSy5wcm9wcyxLLnN0YXRlLEsuY29udGV4dCksSy5zdGF0ZT1LLl9fczt3aGlsZShLLl9fZCYmKytZMDwyNSk7Sy5zdGF0ZT1LLl9fcyxLLmdldENoaWxkQ29udGV4dCE9bnVsbCYmKFo9RzAoRzAoe30sWiksSy5nZXRDaGlsZENvbnRleHQoKSkpLEMmJiFfJiZLLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT1udWxsJiYoUD1LLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKEEsRCkpLGg9QiE9bnVsbCYmQi50eXBlPT09bSYmQi5rZXk9PW51bGw/YTQoQi5wcm9wcy5jaGlsZHJlbik6QixXPW00KEosUzAoaCk/aDpbaF0sWCxZLFoscSxRLCQsVyxOLHopLEsuYmFzZT1YLl9fZSxYLl9fdSY9LTE2MSxLLl9faC5sZW5ndGgmJiQucHVzaChLKSxJJiYoSy5fX0U9Sy5fXz1udWxsKX1jYXRjaChyKXtpZihYLl9fdj1udWxsLE58fFEhPW51bGwpaWYoci50aGVuKXtmb3IoWC5fX3V8PU4/MTYwOjEyODtXJiZXLm5vZGVUeXBlPT04JiZXLm5leHRTaWJsaW5nOylXPVcubmV4dFNpYmxpbmc7UVtRLmluZGV4T2YoVyldPW51bGwsWC5fX2U9V31lbHNle2ZvcihLMD1RLmxlbmd0aDtLMC0tOylWNChRW0swXSk7RzQoWCl9ZWxzZSBYLl9fZT1ZLl9fZSxYLl9faz1ZLl9fayxyLnRoZW58fEc0KFgpO1UuX19lKHIsWCxZKX1lbHNlIFE9PW51bGwmJlguX192PT1ZLl9fdj8oWC5fX2s9WS5fX2ssWC5fX2U9WS5fX2UpOlc9WC5fX2U9aTYoWS5fX2UsWCxZLFoscSxRLCQsTix6KTtyZXR1cm4oQj1VLmRpZmZlZCkmJkIoWCksMTI4JlguX191P3ZvaWQgMDpXfWZ1bmN0aW9uIEc0KEope0omJihKLl9fYyYmKEouX19jLl9fZT0hMCksSi5fX2smJkouX19rLnNvbWUoRzQpKX1mdW5jdGlvbiBkNChKLFgsWSl7Zm9yKHZhciBaPTA7WjxZLmxlbmd0aDtaKyspQTQoWVtaXSxZWysrWl0sWVsrK1pdKTtVLl9fYyYmVS5fX2MoWCxKKSxKLnNvbWUoZnVuY3Rpb24ocSl7dHJ5e0o9cS5fX2gscS5fX2g9W10sSi5zb21lKGZ1bmN0aW9uKFEpe1EuY2FsbChxKX0pfWNhdGNoKFEpe1UuX19lKFEscS5fX3YpfX0pfWZ1bmN0aW9uIGE0KEope3JldHVybiB0eXBlb2YgSiE9Im9iamVjdCJ8fEo9PW51bGx8fEouX19iPjA/SjpTMChKKT9KLm1hcChhNCk6RzAoe30sSil9ZnVuY3Rpb24gaTYoSixYLFksWixxLFEsJCxXLE4pe3ZhciB6LEIsSyxfLEEsRCxQLEk9WS5wcm9wc3x8YTAsTT1YLnByb3BzLEM9WC50eXBlO2lmKEM9PSJzdmciP3E9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjpDPT0ibWF0aCI/cT0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6cXx8KHE9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiKSxRIT1udWxsKXtmb3Ioej0wO3o8US5sZW5ndGg7eisrKWlmKChBPVFbel0pJiYic2V0QXR0cmlidXRlImluIEE9PSEhQyYmKEM/QS5sb2NhbE5hbWU9PUM6QS5ub2RlVHlwZT09Mykpe0o9QSxRW3pdPW51bGw7YnJlYWt9fWlmKEo9PW51bGwpe2lmKEM9PW51bGwpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKE0pO0o9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHEsQyxNLmlzJiZNKSxXJiYoVS5fX20mJlUuX19tKFgsUSksVz0hMSksUT1udWxsfWlmKEM9PW51bGwpST09PU18fFcmJkouZGF0YT09TXx8KEouZGF0YT1NKTtlbHNle2lmKFE9USYmdTAuY2FsbChKLmNoaWxkTm9kZXMpLCFXJiZRIT1udWxsKWZvcihJPXt9LHo9MDt6PEouYXR0cmlidXRlcy5sZW5ndGg7eisrKUlbKEE9Si5hdHRyaWJ1dGVzW3pdKS5uYW1lXT1BLnZhbHVlO2Zvcih6IGluIEkpQT1JW3pdLHo9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/Sz1BOno9PSJjaGlsZHJlbiJ8fCh6IGluIE0pfHx6PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBNKXx8ej09ImNoZWNrZWQiJiYoImRlZmF1bHRDaGVja2VkImluIE0pfHxtMChKLHosbnVsbCxBLHEpO2Zvcih6IGluIE0pQT1NW3pdLHo9PSJjaGlsZHJlbiI/Xz1BOno9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/Qj1BOno9PSJ2YWx1ZSI/RD1BOno9PSJjaGVja2VkIj9QPUE6VyYmdHlwZW9mIEEhPSJmdW5jdGlvbiJ8fElbel09PT1BfHxtMChKLHosQSxJW3pdLHEpO2lmKEIpV3x8SyYmKEIuX19odG1sPT1LLl9faHRtbHx8Qi5fX2h0bWw9PUouaW5uZXJIVE1MKXx8KEouaW5uZXJIVE1MPUIuX19odG1sKSxYLl9faz1bXTtlbHNlIGlmKEsmJihKLmlubmVySFRNTD0iIiksbTQoWC50eXBlPT0idGVtcGxhdGUiP0ouY29udGVudDpKLFMwKF8pP186W19dLFgsWSxaLEM9PSJmb3JlaWduT2JqZWN0Ij8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI6cSxRLCQsUT9RWzBdOlkuX19rJiZfMChZLDApLFcsTiksUSE9bnVsbClmb3Ioej1RLmxlbmd0aDt6LS07KVY0KFFbel0pO1d8fCh6PSJ2YWx1ZSIsQz09InByb2dyZXNzIiYmRD09bnVsbD9KLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKTpEIT1udWxsJiYoRCE9PUpbel18fEM9PSJwcm9ncmVzcyImJiFEfHxDPT0ib3B0aW9uIiYmRCE9SVt6XSkmJm0wKEoseixELElbel0scSksej0iY2hlY2tlZCIsUCE9bnVsbCYmUCE9Slt6XSYmbTAoSix6LFAsSVt6XSxxKSl9cmV0dXJuIEp9ZnVuY3Rpb24gQTQoSixYLFkpe3RyeXtpZih0eXBlb2YgSj09ImZ1bmN0aW9uIil7dmFyIFo9dHlwZW9mIEouX191PT0iZnVuY3Rpb24iO1omJkouX191KCksWiYmWD09bnVsbHx8KEouX191PUooWCkpfWVsc2UgSi5jdXJyZW50PVh9Y2F0Y2gocSl7VS5fX2UocSxZKX19ZnVuY3Rpb24gYzQoSixYLFkpe3ZhciBaLHE7aWYoVS51bm1vdW50JiZVLnVubW91bnQoSiksKFo9Si5yZWYpJiYoWi5jdXJyZW50JiZaLmN1cnJlbnQhPUouX19lfHxBNChaLG51bGwsWCkpLChaPUouX19jKSE9bnVsbCl7aWYoWi5jb21wb25lbnRXaWxsVW5tb3VudCl0cnl7Wi5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKFEpe1UuX19lKFEsWCl9Wi5iYXNlPVouX19QPW51bGx9aWYoWj1KLl9faylmb3IocT0wO3E8Wi5sZW5ndGg7cSsrKVpbcV0mJmM0KFpbcV0sWCxZfHx0eXBlb2YgSi50eXBlIT0iZnVuY3Rpb24iKTtZfHxWNChKLl9fZSksSi5fX2M9Si5fXz1KLl9fZT12b2lkIDB9ZnVuY3Rpb24gbzYoSixYLFkpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKEosWSl9ZnVuY3Rpb24gaTAoSixYLFkpe3ZhciBaLHEsUSwkO1g9PWRvY3VtZW50JiYoWD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLFUuX18mJlUuX18oSixYKSxxPShaPXR5cGVvZiBZPT0iZnVuY3Rpb24iKT9udWxsOlkmJlkuX19rfHxYLl9fayxRPVtdLCQ9W10sSDQoWCxKPSghWiYmWXx8WCkuX19rPU4wKG0sbnVsbCxbSl0pLHF8fGEwLGEwLFgubmFtZXNwYWNlVVJJLCFaJiZZP1tZXTpxP251bGw6WC5maXJzdENoaWxkP3UwLmNhbGwoWC5jaGlsZE5vZGVzKTpudWxsLFEsIVomJlk/WTpxP3EuX19lOlguZmlyc3RDaGlsZCxaLCQpLGQ0KFEsSiwkKX1mdW5jdGlvbiBEMChKKXtmdW5jdGlvbiBYKFkpe3ZhciBaLHE7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRDb250ZXh0fHwoWj1uZXcgU2V0LChxPXt9KVtYLl9fY109dGhpcyx0aGlzLmdldENoaWxkQ29udGV4dD1mdW5jdGlvbigpe3JldHVybiBxfSx0aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7Wj1udWxsfSx0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbihRKXt0aGlzLnByb3BzLnZhbHVlIT1RLnZhbHVlJiZaLmZvckVhY2goZnVuY3Rpb24oJCl7JC5fX2U9ITAsTDQoJCl9KX0sdGhpcy5zdWI9ZnVuY3Rpb24oUSl7Wi5hZGQoUSk7dmFyICQ9US5jb21wb25lbnRXaWxsVW5tb3VudDtRLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7WiYmWi5kZWxldGUoUSksJCYmJC5jYWxsKFEpfX0pLFkuY2hpbGRyZW59cmV0dXJuIFguX19jPSJfX2NDIit4NCsrLFguX189SixYLlByb3ZpZGVyPVguX19sPShYLkNvbnN1bWVyPWZ1bmN0aW9uKFksWil7cmV0dXJuIFkuY2hpbGRyZW4oWil9KS5jb250ZXh0VHlwZT1YLFh9dTA9YzAuc2xpY2UsVT17X19lOmZ1bmN0aW9uKEosWCxZLFope2Zvcih2YXIgcSxRLCQ7WD1YLl9fOylpZigocT1YLl9fYykmJiFxLl9fKXRyeXtpZigoUT1xLmNvbnN0cnVjdG9yKSYmUS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPW51bGwmJihxLnNldFN0YXRlKFEuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKEopKSwkPXEuX19kKSxxLmNvbXBvbmVudERpZENhdGNoIT1udWxsJiYocS5jb21wb25lbnREaWRDYXRjaChKLFp8fHt9KSwkPXEuX19kKSwkKXJldHVybiBxLl9fRT1xfWNhdGNoKFcpe0o9V310aHJvdyBKfX0sdjQ9MCxkNj1mdW5jdGlvbihKKXtyZXR1cm4gSiE9bnVsbCYmSi5jb25zdHJ1Y3Rvcj09PXZvaWQgMH0sYy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oSixYKXt2YXIgWTtZPXRoaXMuX19zIT1udWxsJiZ0aGlzLl9fcyE9dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz1HMCh7fSx0aGlzLnN0YXRlKSx0eXBlb2YgSj09ImZ1bmN0aW9uIiYmKEo9SihHMCh7fSxZKSx0aGlzLnByb3BzKSksSiYmRzAoWSxKKSxKIT1udWxsJiZ0aGlzLl9fdiYmKFgmJnRoaXMuX3NiLnB1c2goWCksTDQodGhpcykpfSxjLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihKKXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLEomJnRoaXMuX19oLnB1c2goSiksTDQodGhpcykpfSxjLnByb3RvdHlwZS5yZW5kZXI9bSxPMD1bXSx5ND10eXBlb2YgUHJvbWlzZT09ImZ1bmN0aW9uIj9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsZzQ9ZnVuY3Rpb24oSixYKXtyZXR1cm4gSi5fX3YuX19iLVguX192Ll9fYn0sbDAuX19yPTAsSzQ9TWF0aC5yYW5kb20oKS50b1N0cmluZyg4KSxmMD0iX19kIitLNCxiMD0iX19hIitLNCxwND0vKFBvaW50ZXJDYXB0dXJlKSR8Q2FwdHVyZSQvaSxOND0wLHo0PWo0KCExKSxXND1qNCghMCkseDQ9MDt2YXIgSTAscCxCNCxsNCxSMD0wLGU0PVtdLGY9VSx1ND1mLl9fYixpND1mLl9fcixvND1mLmRpZmZlZCxzND1mLl9fYyxyND1mLnVubW91bnQsdDQ9Zi5fXztmdW5jdGlvbiBzMChKLFgpe2YuX19oJiZmLl9faChwLEosUjB8fFgpLFIwPTA7dmFyIFk9cC5fX0h8fChwLl9fSD17X186W10sX19oOltdfSk7cmV0dXJuIEo+PVkuX18ubGVuZ3RoJiZZLl9fLnB1c2goe30pLFkuX19bSl19ZnVuY3Rpb24gYihKKXtyZXR1cm4gUjA9MSxPNChYNixKKX1mdW5jdGlvbiBPNChKLFgsWSl7dmFyIFo9czAoSTArKywyKTtpZihaLnQ9SiwhWi5fX2MmJihaLl9fPVtZP1koWCk6WDYodm9pZCAwLFgpLGZ1bmN0aW9uKFcpe3ZhciBOPVouX19OP1ouX19OWzBdOlouX19bMF0sej1aLnQoTixXKTtOIT09eiYmKFouX19OPVt6LFouX19bMV1dLFouX19jLnNldFN0YXRlKHt9KSl9XSxaLl9fYz1wLCFwLl9fZikpe3ZhciBxPWZ1bmN0aW9uKFcsTix6KXtpZighWi5fX2MuX19IKXJldHVybiEwO3ZhciBCPVouX19jLl9fSC5fXy5maWx0ZXIoZnVuY3Rpb24oXyl7cmV0dXJuIF8uX19jfSk7aWYoQi5ldmVyeShmdW5jdGlvbihfKXtyZXR1cm4hXy5fX059KSlyZXR1cm4hUXx8US5jYWxsKHRoaXMsVyxOLHopO3ZhciBLPVouX19jLnByb3BzIT09VztyZXR1cm4gQi5zb21lKGZ1bmN0aW9uKF8pe2lmKF8uX19OKXt2YXIgQT1fLl9fWzBdO18uX189Xy5fX04sXy5fX049dm9pZCAwLEEhPT1fLl9fWzBdJiYoSz0hMCl9fSksUSYmUS5jYWxsKHRoaXMsVyxOLHopfHxLfTtwLl9fZj0hMDt2YXJ7c2hvdWxkQ29tcG9uZW50VXBkYXRlOlEsY29tcG9uZW50V2lsbFVwZGF0ZTokfT1wO3AuY29tcG9uZW50V2lsbFVwZGF0ZT1mdW5jdGlvbihXLE4seil7aWYodGhpcy5fX2Upe3ZhciBCPVE7UT12b2lkIDAscShXLE4seiksUT1CfSQmJiQuY2FsbCh0aGlzLFcsTix6KX0scC5zaG91bGRDb21wb25lbnRVcGRhdGU9cX1yZXR1cm4gWi5fX058fFouX199ZnVuY3Rpb24geShKLFgpe3ZhciBZPXMwKEkwKyssMyk7IWYuX19zJiZKNihZLl9fSCxYKSYmKFkuX189SixZLnU9WCxwLl9fSC5fX2gucHVzaChZKSl9ZnVuY3Rpb24gVChKKXtyZXR1cm4gUjA9NSxyMChmdW5jdGlvbigpe3JldHVybntjdXJyZW50Okp9fSxbXSl9ZnVuY3Rpb24gcjAoSixYKXt2YXIgWT1zMChJMCsrLDcpO3JldHVybiBKNihZLl9fSCxYKSYmKFkuX189SigpLFkuX19IPVgsWS5fX2g9SiksWS5fX31mdW5jdGlvbiBTKEosWCl7cmV0dXJuIFIwPTgscjAoZnVuY3Rpb24oKXtyZXR1cm4gSn0sWCl9ZnVuY3Rpb24gajAoSil7dmFyIFg9cC5jb250ZXh0W0ouX19jXSxZPXMwKEkwKyssOSk7cmV0dXJuIFkuYz1KLFg/KFkuX189PW51bGwmJihZLl9fPSEwLFguc3ViKHApKSxYLnByb3BzLnZhbHVlKTpKLl9ffWZ1bmN0aW9uIHM2KCl7Zm9yKHZhciBKO0o9ZTQuc2hpZnQoKTspe3ZhciBYPUouX19IO2lmKEouX19QJiZYKXRyeXtYLl9faC5zb21lKG8wKSxYLl9faC5zb21lKFA0KSxYLl9faD1bXX1jYXRjaChZKXtYLl9faD1bXSxmLl9fZShZLEouX192KX19fWYuX19iPWZ1bmN0aW9uKEope3A9bnVsbCx1NCYmdTQoSil9LGYuX189ZnVuY3Rpb24oSixYKXtKJiZYLl9fayYmWC5fX2suX19tJiYoSi5fX209WC5fX2suX19tKSx0NCYmdDQoSixYKX0sZi5fX3I9ZnVuY3Rpb24oSil7aTQmJmk0KEopLEkwPTA7dmFyIFg9KHA9Si5fX2MpLl9fSDtYJiYoQjQ9PT1wPyhYLl9faD1bXSxwLl9faD1bXSxYLl9fLnNvbWUoZnVuY3Rpb24oWSl7WS5fX04mJihZLl9fPVkuX19OKSxZLnU9WS5fX049dm9pZCAwfSkpOihYLl9faC5zb21lKG8wKSxYLl9faC5zb21lKFA0KSxYLl9faD1bXSxJMD0wKSksQjQ9cH0sZi5kaWZmZWQ9ZnVuY3Rpb24oSil7bzQmJm80KEopO3ZhciBYPUouX19jO1gmJlguX19IJiYoWC5fX0guX19oLmxlbmd0aCYmKGU0LnB1c2goWCkhPT0xJiZsND09PWYucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKGw0PWYucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8cjYpKHM2KSksWC5fX0guX18uc29tZShmdW5jdGlvbihZKXtZLnUmJihZLl9fSD1ZLnUpLFkudT12b2lkIDB9KSksQjQ9cD1udWxsfSxmLl9fYz1mdW5jdGlvbihKLFgpe1guc29tZShmdW5jdGlvbihZKXt0cnl7WS5fX2guc29tZShvMCksWS5fX2g9WS5fX2guZmlsdGVyKGZ1bmN0aW9uKFope3JldHVybiFaLl9ffHxQNChaKX0pfWNhdGNoKFope1guc29tZShmdW5jdGlvbihxKXtxLl9faCYmKHEuX19oPVtdKX0pLFg9W10sZi5fX2UoWixZLl9fdil9fSksczQmJnM0KEosWCl9LGYudW5tb3VudD1mdW5jdGlvbihKKXtyNCYmcjQoSik7dmFyIFgsWT1KLl9fYztZJiZZLl9fSCYmKFkuX19ILl9fLnNvbWUoZnVuY3Rpb24oWil7dHJ5e28wKFopfWNhdGNoKHEpe1g9cX19KSxZLl9fSD12b2lkIDAsWCYmZi5fX2UoWCxZLl9fdikpfTt2YXIgbjQ9dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09ImZ1bmN0aW9uIjtmdW5jdGlvbiByNihKKXt2YXIgWCxZPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KFopLG40JiZjYW5jZWxBbmltYXRpb25GcmFtZShYKSxzZXRUaW1lb3V0KEopfSxaPXNldFRpbWVvdXQoWSwzNSk7bjQmJihYPXJlcXVlc3RBbmltYXRpb25GcmFtZShZKSl9ZnVuY3Rpb24gbzAoSil7dmFyIFg9cCxZPUouX19jO3R5cGVvZiBZPT0iZnVuY3Rpb24iJiYoSi5fX2M9dm9pZCAwLFkoKSkscD1YfWZ1bmN0aW9uIFA0KEope3ZhciBYPXA7Si5fX2M9Si5fXygpLHA9WH1mdW5jdGlvbiBKNihKLFgpe3JldHVybiFKfHxKLmxlbmd0aCE9PVgubGVuZ3RofHxYLnNvbWUoZnVuY3Rpb24oWSxaKXtyZXR1cm4gWSE9PUpbWl19KX1mdW5jdGlvbiBYNihKLFgpe3JldHVybiB0eXBlb2YgWD09ImZ1bmN0aW9uIj9YKEopOlh9ZnVuY3Rpb24gWjgoSixYKXtmb3IodmFyIFkgaW4gWClKW1ldPVhbWV07cmV0dXJuIEp9ZnVuY3Rpb24gWTYoSixYKXtmb3IodmFyIFkgaW4gSilpZihZIT09Il9fc291cmNlIiYmIShZIGluIFgpKXJldHVybiEwO2Zvcih2YXIgWiBpbiBYKWlmKFohPT0iX19zb3VyY2UiJiZKW1pdIT09WFtaXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBaNihKLFgpe3RoaXMucHJvcHM9Six0aGlzLmNvbnRleHQ9WH0oWjYucHJvdG90eXBlPW5ldyBjKS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMCxaNi5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKEosWCl7cmV0dXJuIFk2KHRoaXMucHJvcHMsSil8fFk2KHRoaXMuc3RhdGUsWCl9O3ZhciBxNj1VLl9fYjtVLl9fYj1mdW5jdGlvbihKKXtKLnR5cGUmJkoudHlwZS5fX2YmJkoucmVmJiYoSi5wcm9wcy5yZWY9Si5yZWYsSi5yZWY9bnVsbCkscTYmJnE2KEopfTt2YXIgcTg9VS5fX2U7VS5fX2U9ZnVuY3Rpb24oSixYLFksWil7aWYoSi50aGVuKXtmb3IodmFyIHEsUT1YO1E9US5fXzspaWYoKHE9US5fX2MpJiZxLl9fYylyZXR1cm4gWC5fX2U9PW51bGwmJihYLl9fZT1ZLl9fZSxYLl9faz1ZLl9faykscS5fX2MoSixYKX1xOChKLFgsWSxaKX07dmFyIFE2PVUudW5tb3VudDtmdW5jdGlvbiBHNihKLFgsWSl7cmV0dXJuIEomJihKLl9fYyYmSi5fX2MuX19IJiYoSi5fX2MuX19ILl9fLmZvckVhY2goZnVuY3Rpb24oWil7dHlwZW9mIFouX19jPT0iZnVuY3Rpb24iJiZaLl9fYygpfSksSi5fX2MuX19IPW51bGwpLChKPVo4KHt9LEopKS5fX2MhPW51bGwmJihKLl9fYy5fX1A9PT1ZJiYoSi5fX2MuX19QPVgpLEouX19jLl9fZT0hMCxKLl9fYz1udWxsKSxKLl9faz1KLl9fayYmSi5fX2subWFwKGZ1bmN0aW9uKFope3JldHVybiBHNihaLFgsWSl9KSksSn1mdW5jdGlvbiBONihKLFgsWSl7cmV0dXJuIEomJlkmJihKLl9fdj1udWxsLEouX19rPUouX19rJiZKLl9fay5tYXAoZnVuY3Rpb24oWil7cmV0dXJuIE42KFosWCxZKX0pLEouX19jJiZKLl9fYy5fX1A9PT1YJiYoSi5fX2UmJlkuYXBwZW5kQ2hpbGQoSi5fX2UpLEouX19jLl9fZT0hMCxKLl9fYy5fX1A9WSkpLEp9ZnVuY3Rpb24gRjQoKXt0aGlzLl9fdT0wLHRoaXMubz1udWxsLHRoaXMuX19iPW51bGx9ZnVuY3Rpb24gVjYoSil7dmFyIFg9Si5fXyYmSi5fXy5fX2M7cmV0dXJuIFgmJlguX19hJiZYLl9fYShKKX1mdW5jdGlvbiB0MCgpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfVUudW5tb3VudD1mdW5jdGlvbihKKXt2YXIgWD1KLl9fYztYJiYoWC5fX3o9ITApLFgmJlguX19SJiZYLl9fUigpLFgmJjMyJkouX191JiYoSi50eXBlPW51bGwpLFE2JiZRNihKKX0sKEY0LnByb3RvdHlwZT1uZXcgYykuX19jPWZ1bmN0aW9uKEosWCl7dmFyIFk9WC5fX2MsWj10aGlzO1oubz09bnVsbCYmKFoubz1bXSksWi5vLnB1c2goWSk7dmFyIHE9VjYoWi5fX3YpLFE9ITEsJD1mdW5jdGlvbigpe1F8fFouX196fHwoUT0hMCxZLl9fUj1udWxsLHE/cShOKTpOKCkpfTtZLl9fUj0kO3ZhciBXPVkuX19QO1kuX19QPW51bGw7dmFyIE49ZnVuY3Rpb24oKXtpZighLS1aLl9fdSl7aWYoWi5zdGF0ZS5fX2Epe3ZhciB6PVouc3RhdGUuX19hO1ouX192Ll9fa1swXT1ONih6LHouX19jLl9fUCx6Ll9fYy5fX08pfXZhciBCO2ZvcihaLnNldFN0YXRlKHtfX2E6Wi5fX2I9bnVsbH0pO0I9Wi5vLnBvcCgpOylCLl9fUD1XLEIuZm9yY2VVcGRhdGUoKX19O1ouX191Kyt8fDMyJlguX191fHxaLnNldFN0YXRlKHtfX2E6Wi5fX2I9Wi5fX3YuX19rWzBdfSksSi50aGVuKCQsJCl9LEY0LnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe3RoaXMubz1bXX0sRjQucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihKLFgpe2lmKHRoaXMuX19iKXtpZih0aGlzLl9fdi5fX2spe3ZhciBZPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFo9dGhpcy5fX3YuX19rWzBdLl9fYzt0aGlzLl9fdi5fX2tbMF09RzYodGhpcy5fX2IsWSxaLl9fTz1aLl9fUCl9dGhpcy5fX2I9bnVsbH12YXIgcT1YLl9fYSYmTjAobSxudWxsLEouZmFsbGJhY2spO3JldHVybiBxJiYocS5fX3UmPS0zMyksW04wKG0sbnVsbCxYLl9fYT9udWxsOkouY2hpbGRyZW4pLHFdfTt2YXIgJDY9ZnVuY3Rpb24oSixYLFkpe2lmKCsrWVsxXT09PVlbMF0mJkoubC5kZWxldGUoWCksSi5wcm9wcy5yZXZlYWxPcmRlciYmKEoucHJvcHMucmV2ZWFsT3JkZXJbMF0hPT0idCJ8fCFKLmwuc2l6ZSkpZm9yKFk9Si5pO1k7KXtmb3IoO1kubGVuZ3RoPjM7KVkucG9wKCkoKTtpZihZWzFdPFlbMF0pYnJlYWs7Si5pPVk9WVsyXX19Oyh0MC5wcm90b3R5cGU9bmV3IGMpLl9fYT1mdW5jdGlvbihKKXt2YXIgWD10aGlzLFk9VjYoWC5fX3YpLFo9WC5sLmdldChKKTtyZXR1cm4gWlswXSsrLGZ1bmN0aW9uKHEpe3ZhciBRPWZ1bmN0aW9uKCl7WC5wcm9wcy5yZXZlYWxPcmRlcj8oWi5wdXNoKHEpLCQ2KFgsSixaKSk6cSgpfTtZP1koUSk6USgpfX0sdDAucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihKKXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgWD1WMChKLmNoaWxkcmVuKTtKLnJldmVhbE9yZGVyJiZKLnJldmVhbE9yZGVyWzBdPT09ImIiJiZYLnJldmVyc2UoKTtmb3IodmFyIFk9WC5sZW5ndGg7WS0tOyl0aGlzLmwuc2V0KFhbWV0sdGhpcy5pPVsxLDAsdGhpcy5pXSk7cmV0dXJuIEouY2hpbGRyZW59LHQwLnByb3RvdHlwZS5jb21wb25lbnREaWRVcGRhdGU9dDAucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIEo9dGhpczt0aGlzLmwuZm9yRWFjaChmdW5jdGlvbihYLFkpeyQ2KEosWSxYKX0pfTt2YXIgUTg9dHlwZW9mIFN5bWJvbDwidSImJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDMsJDg9L14oPzphY2NlbnR8YWxpZ25tZW50fGFyYWJpY3xiYXNlbGluZXxjYXB8Y2xpcCg/IVBhdGhVKXxjb2xvcnxkb21pbmFudHxmaWxsfGZsb29kfGZvbnR8Z2x5cGgoPyFSKXxob3JpenxpbWFnZSghUyl8bGV0dGVyfGxpZ2h0aW5nfG1hcmtlcig/IUh8V3xVKXxvdmVybGluZXxwYWludHxwb2ludGVyfHNoYXBlfHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHRyYW5zZm9ybXx1bmRlcmxpbmV8dW5pY29kZXx1bml0c3x2fHZlY3Rvcnx2ZXJ0fHdvcmR8d3JpdGluZ3x4KD8hQykpW0EtWl0vLEs4PS9eb24oQW5pfFRyYXxUb3V8QmVmb3JlSW5wfENvbXBvKS8sejg9L1tBLVowLTldL2csVzg9dHlwZW9mIGRvY3VtZW50PCJ1IixMOD1mdW5jdGlvbihKKXtyZXR1cm4odHlwZW9mIFN5bWJvbDwidSImJnR5cGVvZiBTeW1ib2woKT09InN5bWJvbCI/L2ZpbHxjaGV8cmFkLzovZmlsfGNoZXxyYS8pLnRlc3QoSil9O2Z1bmN0aW9uIEg2KEosWCxZKXtyZXR1cm4gWC5fX2s9PW51bGwmJihYLnRleHRDb250ZW50PSIiKSxpMChKLFgpLHR5cGVvZiBZPT0iZnVuY3Rpb24iJiZZKCksSj9KLl9fYzpudWxsfWMucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goZnVuY3Rpb24oSil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLEose2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1siVU5TQUZFXyIrSl19LHNldDpmdW5jdGlvbihYKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxKLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6WH0pfX0pfSk7dmFyIEs2PVUuZXZlbnQ7VS5ldmVudD1mdW5jdGlvbihKKXtyZXR1cm4gSzYmJihKPUs2KEopKSxKLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LEouaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LEouaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sSi5uYXRpdmVFdmVudD1KfTt2YXIgQTYsRzg9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LHo2PVUudm5vZGU7VS52bm9kZT1mdW5jdGlvbihKKXt0eXBlb2YgSi50eXBlPT0ic3RyaW5nIiYmZnVuY3Rpb24oWCl7dmFye3Byb3BzOlksdHlwZTpafT1YLHE9e30sUT1aLmluZGV4T2YoIi0iKT09LTE7Zm9yKHZhciAkIGluIFkpe3ZhciBXPVlbJF07aWYoISgkPT09InZhbHVlIiYmKCJkZWZhdWx0VmFsdWUiaW4gWSkmJlc9PW51bGx8fFc4JiYkPT09ImNoaWxkcmVuIiYmWj09PSJub3NjcmlwdCJ8fCQ9PT0iY2xhc3MifHwkPT09ImNsYXNzTmFtZSIpKXt2YXIgTj0kLnRvTG93ZXJDYXNlKCk7JD09PSJkZWZhdWx0VmFsdWUiJiYidmFsdWUiaW4gWSYmWS52YWx1ZT09bnVsbD8kPSJ2YWx1ZSI6JD09PSJkb3dubG9hZCImJlc9PT0hMD9XPSIiOk49PT0idHJhbnNsYXRlIiYmVz09PSJubyI/Vz0hMTpOWzBdPT09Im8iJiZOWzFdPT09Im4iP049PT0ib25kb3VibGVjbGljayI/JD0ib25kYmxjbGljayI6TiE9PSJvbmNoYW5nZSJ8fFohPT0iaW5wdXQiJiZaIT09InRleHRhcmVhInx8TDgoWS50eXBlKT9OPT09Im9uZm9jdXMiPyQ9Im9uZm9jdXNpbiI6Tj09PSJvbmJsdXIiPyQ9Im9uZm9jdXNvdXQiOks4LnRlc3QoJCkmJigkPU4pOk49JD0ib25pbnB1dCI6USYmJDgudGVzdCgkKT8kPSQucmVwbGFjZSh6OCwiLSQmIikudG9Mb3dlckNhc2UoKTpXPT09bnVsbCYmKFc9dm9pZCAwKSxOPT09Im9uaW5wdXQiJiZxWyQ9Tl0mJigkPSJvbmlucHV0Q2FwdHVyZSIpLHFbJF09V319Wj09InNlbGVjdCImJihxLm11bHRpcGxlJiZBcnJheS5pc0FycmF5KHEudmFsdWUpJiYocS52YWx1ZT1WMChZLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKHope3oucHJvcHMuc2VsZWN0ZWQ9cS52YWx1ZS5pbmRleE9mKHoucHJvcHMudmFsdWUpIT0tMX0pKSxxLmRlZmF1bHRWYWx1ZSE9bnVsbCYmKHEudmFsdWU9VjAoWS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbih6KXt6LnByb3BzLnNlbGVjdGVkPXEubXVsdGlwbGU/cS5kZWZhdWx0VmFsdWUuaW5kZXhPZih6LnByb3BzLnZhbHVlKSE9LTE6cS5kZWZhdWx0VmFsdWU9PXoucHJvcHMudmFsdWV9KSkpLFkuY2xhc3MmJiFZLmNsYXNzTmFtZT8ocS5jbGFzcz1ZLmNsYXNzLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShxLCJjbGFzc05hbWUiLEc4KSk6WS5jbGFzc05hbWUmJihxLmNsYXNzPXEuY2xhc3NOYW1lPVkuY2xhc3NOYW1lKSxYLnByb3BzPXF9KEopLEouJCR0eXBlb2Y9UTgsejYmJno2KEopfTt2YXIgVzY9VS5fX3I7VS5fX3I9ZnVuY3Rpb24oSil7VzYmJlc2KEopLEE2PUouX19jfTt2YXIgTDY9VS5kaWZmZWQ7VS5kaWZmZWQ9ZnVuY3Rpb24oSil7TDYmJkw2KEopO3Zhcntwcm9wczpYLF9fZTpZfT1KO1khPW51bGwmJkoudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBYJiZYLnZhbHVlIT09WS52YWx1ZSYmKFkudmFsdWU9WC52YWx1ZT09bnVsbD8iIjpYLnZhbHVlKSxBNj1udWxsfTtmdW5jdGlvbiBCNihKKXtyZXR1cm4hIUouX19rJiYoaTAobnVsbCxKKSwhMCl9ZnVuY3Rpb24gUDYoSil7cmV0dXJue3JlbmRlcjpmdW5jdGlvbihYKXtINihYLEopfSx1bm1vdW50OmZ1bmN0aW9uKCl7QjYoSil9fX1mdW5jdGlvbiB3NihKLFgpe2Zvcih2YXIgWSBpbiBYKUpbWV09WFtZXTtyZXR1cm4gSn1mdW5jdGlvbiBPNihKLFgpe2Zvcih2YXIgWSBpbiBKKWlmKFkhPT0iX19zb3VyY2UiJiYhKFkgaW4gWCkpcmV0dXJuITA7Zm9yKHZhciBaIGluIFgpaWYoWiE9PSJfX3NvdXJjZSImJkpbWl0hPT1YW1pdKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEY2KEosWCl7dGhpcy5wcm9wcz1KLHRoaXMuY29udGV4dD1YfShGNi5wcm90b3R5cGU9bmV3IGMpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLEY2LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oSixYKXtyZXR1cm4gTzYodGhpcy5wcm9wcyxKKXx8TzYodGhpcy5zdGF0ZSxYKX07dmFyIFU2PVUuX19iO1UuX19iPWZ1bmN0aW9uKEope0oudHlwZSYmSi50eXBlLl9fZiYmSi5yZWYmJihKLnByb3BzLnJlZj1KLnJlZixKLnJlZj1udWxsKSxVNiYmVTYoSil9O3ZhciBOOD10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKXx8MzkxMTtmdW5jdGlvbiBrMChKKXtmdW5jdGlvbiBYKFkpe3ZhciBaPXc2KHt9LFkpO3JldHVybiBkZWxldGUgWi5yZWYsSihaLFkucmVmfHxudWxsKX1yZXR1cm4gWC4kJHR5cGVvZj1OOCxYLnJlbmRlcj1KLFgucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9WC5fX2Y9ITAsWC5kaXNwbGF5TmFtZT0iRm9yd2FyZFJlZigiKyhKLmRpc3BsYXlOYW1lfHxKLm5hbWUpKyIpIixYfXZhciBWOD1VLl9fZTtVLl9fZT1mdW5jdGlvbihKLFgsWSxaKXtpZihKLnRoZW4pe2Zvcih2YXIgcSxRPVg7UT1RLl9fOylpZigocT1RLl9fYykmJnEuX19jKXJldHVybiBYLl9fZT09bnVsbCYmKFguX19lPVkuX19lLFguX19rPVkuX19rKSxxLl9fYyhKLFgpfVY4KEosWCxZLFopfTt2YXIgXzY9VS51bm1vdW50O2Z1bmN0aW9uIEU2KEosWCxZKXtyZXR1cm4gSiYmKEouX19jJiZKLl9fYy5fX0gmJihKLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihaKXt0eXBlb2YgWi5fX2M9PSJmdW5jdGlvbiImJlouX19jKCl9KSxKLl9fYy5fX0g9bnVsbCksKEo9dzYoe30sSikpLl9fYyE9bnVsbCYmKEouX19jLl9fUD09PVkmJihKLl9fYy5fX1A9WCksSi5fX2MuX19lPSEwLEouX19jPW51bGwpLEouX19rPUouX19rJiZKLl9fay5tYXAoZnVuY3Rpb24oWil7cmV0dXJuIEU2KFosWCxZKX0pKSxKfWZ1bmN0aW9uIFQ2KEosWCxZKXtyZXR1cm4gSiYmWSYmKEouX192PW51bGwsSi5fX2s9Si5fX2smJkouX19rLm1hcChmdW5jdGlvbihaKXtyZXR1cm4gVDYoWixYLFkpfSksSi5fX2MmJkouX19jLl9fUD09PVgmJihKLl9fZSYmWS5hcHBlbmRDaGlsZChKLl9fZSksSi5fX2MuX19lPSEwLEouX19jLl9fUD1ZKSksSn1mdW5jdGlvbiBfNCgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBiNihKKXt2YXIgWD1KLl9fJiZKLl9fLl9fYztyZXR1cm4gWCYmWC5fX2EmJlguX19hKEopfWZ1bmN0aW9uIG4wKCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9VS51bm1vdW50PWZ1bmN0aW9uKEope3ZhciBYPUouX19jO1gmJihYLl9fej0hMCksWCYmWC5fX1ImJlguX19SKCksWCYmMzImSi5fX3UmJihKLnR5cGU9bnVsbCksXzYmJl82KEopfSwoXzQucHJvdG90eXBlPW5ldyBjKS5fX2M9ZnVuY3Rpb24oSixYKXt2YXIgWT1YLl9fYyxaPXRoaXM7Wi5vPT1udWxsJiYoWi5vPVtdKSxaLm8ucHVzaChZKTt2YXIgcT1iNihaLl9fdiksUT0hMSwkPWZ1bmN0aW9uKCl7UXx8Wi5fX3p8fChRPSEwLFkuX19SPW51bGwscT9xKE4pOk4oKSl9O1kuX19SPSQ7dmFyIFc9WS5fX1A7WS5fX1A9bnVsbDt2YXIgTj1mdW5jdGlvbigpe2lmKCEtLVouX191KXtpZihaLnN0YXRlLl9fYSl7dmFyIHo9Wi5zdGF0ZS5fX2E7Wi5fX3YuX19rWzBdPVQ2KHosei5fX2MuX19QLHouX19jLl9fTyl9dmFyIEI7Zm9yKFouc2V0U3RhdGUoe19fYTpaLl9fYj1udWxsfSk7Qj1aLm8ucG9wKCk7KUIuX19QPVcsQi5mb3JjZVVwZGF0ZSgpfX07Wi5fX3UrK3x8MzImWC5fX3V8fFouc2V0U3RhdGUoe19fYTpaLl9fYj1aLl9fdi5fX2tbMF19KSxKLnRoZW4oJCwkKX0sXzQucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dGhpcy5vPVtdfSxfNC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKEosWCl7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIFk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWj10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1FNih0aGlzLl9fYixZLFouX19PPVouX19QKX10aGlzLl9fYj1udWxsfXZhciBxPVguX19hJiZOMChtLG51bGwsSi5mYWxsYmFjayk7cmV0dXJuIHEmJihxLl9fdSY9LTMzKSxbTjAobSxudWxsLFguX19hP251bGw6Si5jaGlsZHJlbikscV19O3ZhciBENj1mdW5jdGlvbihKLFgsWSl7aWYoKytZWzFdPT09WVswXSYmSi5sLmRlbGV0ZShYKSxKLnByb3BzLnJldmVhbE9yZGVyJiYoSi5wcm9wcy5yZXZlYWxPcmRlclswXSE9PSJ0Inx8IUoubC5zaXplKSlmb3IoWT1KLmk7WTspe2Zvcig7WS5sZW5ndGg+MzspWS5wb3AoKSgpO2lmKFlbMV08WVswXSlicmVhaztKLmk9WT1ZWzJdfX07KG4wLnByb3RvdHlwZT1uZXcgYykuX19hPWZ1bmN0aW9uKEope3ZhciBYPXRoaXMsWT1iNihYLl9fdiksWj1YLmwuZ2V0KEopO3JldHVybiBaWzBdKyssZnVuY3Rpb24ocSl7dmFyIFE9ZnVuY3Rpb24oKXtYLnByb3BzLnJldmVhbE9yZGVyPyhaLnB1c2gocSksRDYoWCxKLFopKTpxKCl9O1k/WShRKTpRKCl9fSxuMC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKEope3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciBYPVYwKEouY2hpbGRyZW4pO0oucmV2ZWFsT3JkZXImJkoucmV2ZWFsT3JkZXJbMF09PT0iYiImJlgucmV2ZXJzZSgpO2Zvcih2YXIgWT1YLmxlbmd0aDtZLS07KXRoaXMubC5zZXQoWFtZXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gSi5jaGlsZHJlbn0sbjAucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1uMC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgSj10aGlzO3RoaXMubC5mb3JFYWNoKGZ1bmN0aW9uKFgsWSl7RDYoSixZLFgpfSl9O3ZhciBIOD10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpfHw2MDEwMyxBOD0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sQjg9L15vbihBbml8VHJhfFRvdXxCZWZvcmVJbnB8Q29tcG8pLyxQOD0vW0EtWjAtOV0vZyxPOD10eXBlb2YgZG9jdW1lbnQ8InUiLEY4PWZ1bmN0aW9uKEope3JldHVybih0eXBlb2YgU3ltYm9sPCJ1IiYmdHlwZW9mIFN5bWJvbCgpPT0ic3ltYm9sIj8vZmlsfGNoZXxyYWQvOi9maWx8Y2hlfHJhLykudGVzdChKKX07Yy5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD0hMCxbImNvbXBvbmVudFdpbGxNb3VudCIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJjb21wb25lbnRXaWxsVXBkYXRlIl0uZm9yRWFjaChmdW5jdGlvbihKKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYy5wcm90b3R5cGUsSix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitKXX0sc2V0OmZ1bmN0aW9uKFgpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLEose2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpYfSl9fSl9KTt2YXIgSTY9VS5ldmVudDtVLmV2ZW50PWZ1bmN0aW9uKEope3JldHVybiBJNiYmKEo9STYoSikpLEoucGVyc2lzdD1mdW5jdGlvbigpe30sSi5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbmNlbEJ1YmJsZX0sSi5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0UHJldmVudGVkfSxKLm5hdGl2ZUV2ZW50PUp9O3ZhciBTNixVOD17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0sazY9VS52bm9kZTtVLnZub2RlPWZ1bmN0aW9uKEope3R5cGVvZiBKLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihYKXt2YXJ7cHJvcHM6WSx0eXBlOlp9PVgscT17fSxRPVouaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyICQgaW4gWSl7dmFyIFc9WVskXTtpZighKCQ9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBZKSYmVz09bnVsbHx8TzgmJiQ9PT0iY2hpbGRyZW4iJiZaPT09Im5vc2NyaXB0Inx8JD09PSJjbGFzcyJ8fCQ9PT0iY2xhc3NOYW1lIikpe3ZhciBOPSQudG9Mb3dlckNhc2UoKTskPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBZJiZZLnZhbHVlPT1udWxsPyQ9InZhbHVlIjokPT09ImRvd25sb2FkIiYmVz09PSEwP1c9IiI6Tj09PSJ0cmFuc2xhdGUiJiZXPT09Im5vIj9XPSExOk5bMF09PT0ibyImJk5bMV09PT0ibiI/Tj09PSJvbmRvdWJsZWNsaWNrIj8kPSJvbmRibGNsaWNrIjpOIT09Im9uY2hhbmdlInx8WiE9PSJpbnB1dCImJlohPT0idGV4dGFyZWEifHxGOChZLnR5cGUpP049PT0ib25mb2N1cyI/JD0ib25mb2N1c2luIjpOPT09Im9uYmx1ciI/JD0ib25mb2N1c291dCI6QjgudGVzdCgkKSYmKCQ9Tik6Tj0kPSJvbmlucHV0IjpRJiZBOC50ZXN0KCQpPyQ9JC5yZXBsYWNlKFA4LCItJCYiKS50b0xvd2VyQ2FzZSgpOlc9PT1udWxsJiYoVz12b2lkIDApLE49PT0ib25pbnB1dCImJnFbJD1OXSYmKCQ9Im9uaW5wdXRDYXB0dXJlIikscVskXT1XfX1aPT0ic2VsZWN0IiYmKHEubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkocS52YWx1ZSkmJihxLnZhbHVlPVYwKFkuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oeil7ei5wcm9wcy5zZWxlY3RlZD1xLnZhbHVlLmluZGV4T2Yoei5wcm9wcy52YWx1ZSkhPS0xfSkpLHEuZGVmYXVsdFZhbHVlIT1udWxsJiYocS52YWx1ZT1WMChZLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKHope3oucHJvcHMuc2VsZWN0ZWQ9cS5tdWx0aXBsZT9xLmRlZmF1bHRWYWx1ZS5pbmRleE9mKHoucHJvcHMudmFsdWUpIT0tMTpxLmRlZmF1bHRWYWx1ZT09ei5wcm9wcy52YWx1ZX0pKSksWS5jbGFzcyYmIVkuY2xhc3NOYW1lPyhxLmNsYXNzPVkuY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KHEsImNsYXNzTmFtZSIsVTgpKTpZLmNsYXNzTmFtZSYmKHEuY2xhc3M9cS5jbGFzc05hbWU9WS5jbGFzc05hbWUpLFgucHJvcHM9cX0oSiksSi4kJHR5cGVvZj1IOCxrNiYmazYoSil9O3ZhciBNNj1VLl9fcjtVLl9fcj1mdW5jdGlvbihKKXtNNiYmTTYoSiksUzY9Si5fX2N9O3ZhciBDNj1VLmRpZmZlZDtVLmRpZmZlZD1mdW5jdGlvbihKKXtDNiYmQzYoSik7dmFye3Byb3BzOlgsX19lOll9PUo7WSE9bnVsbCYmSi50eXBlPT09InRleHRhcmVhIiYmInZhbHVlImluIFgmJlgudmFsdWUhPT1ZLnZhbHVlJiYoWS52YWx1ZT1YLnZhbHVlPT1udWxsPyIiOlgudmFsdWUpLFM2PW51bGx9O3ZhciBfOD0wO2Z1bmN0aW9uIEcoSixYLFksWixxLFEpe1h8fChYPXt9KTt2YXIgJCxXLE49WDtpZigicmVmImluIE4pZm9yKFcgaW4gTj17fSxYKVc9PSJyZWYiPyQ9WFtXXTpOW1ddPVhbV107dmFyIHo9e3R5cGU6Sixwcm9wczpOLGtleTpZLHJlZjokLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjotLV84LF9faTotMSxfX3U6MCxfX3NvdXJjZTpxLF9fc2VsZjpRfTtpZih0eXBlb2YgSj09ImZ1bmN0aW9uIiYmKCQ9Si5kZWZhdWx0UHJvcHMpKWZvcihXIGluICQpTltXXT09PXZvaWQgMCYmKE5bV109JFtXXSk7cmV0dXJuIFUudm5vZGUmJlUudm5vZGUoeiksen12YXIgRDQ9YHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzknIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsMC40NSknIHN0cm9rZT0ncmdiYSgwLDAsMCwwLjU1KScgc3Ryb2tlLXdpZHRoPScxLjI1JyBmaWx0ZXI9J2Ryb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuNDUpKScvJTNFJTNDL3N2ZyUzRSIpIDEyIDEyLCBwb2ludGVyYCxEOD0zLEk4PTQsazg9NTtmdW5jdGlvbiBlMCh7dXJsOkosd3NVcmw6WCxzdHlsZTpZLGltYWdlU3R5bGU6WixjbGFzc05hbWU6cSxvbkhvbWVQcmVzczpRLG9uU3RyZWFtVG91Y2g6JCxvblN0cmVhbU11bHRpVG91Y2g6VyxvblN0cmVhbUJ1dHRvbjpOLHN1YnNjcmliZUZyYW1lOnosc3RyZWFtRnJhbWU6QixzdHJlYW1Db25maWc6SyxoaWRlQ29udHJvbHM6XyxvblN0cmVhbWluZ0NoYW5nZTpBLGNvbm5lY3Rpb25RdWFsaXR5OkR9KXtsZXQgUD0hISQsST1UKG51bGwpLE09VChudWxsKSxDPVQobnVsbCksW3gsRV09YighMSksW0owLFkwXT1iKG51bGwpLFtoLEswXT1iKG51bGwpLHM9VChudWxsKSxbcixGMF09YihudWxsKTt5KCgpPT57bGV0IFY9cy5jdXJyZW50O2lmKCFWfHx0eXBlb2YgUmVzaXplT2JzZXJ2ZXI+InUiKXJldHVybjtsZXQgSD1uZXcgUmVzaXplT2JzZXJ2ZXIoKEwpPT57bGV0IEY9TFswXT8uY29udGVudFJlY3Q7aWYoRilGMCh7d2lkdGg6Ri53aWR0aCxoZWlnaHQ6Ri5oZWlnaHR9KX0pO3JldHVybiBILm9ic2VydmUoViksKCk9PkguZGlzY29ubmVjdCgpfSxbXSk7bGV0W3YwLHkwXT1iKDApLEEwPVQoMCksW1o0LHowXT1iKCExKSxaMD1UKG51bGwpO3koKCk9PntpZihEPT09InBvb3IiKXtpZih6MCghMCksWjAuY3VycmVudCljbGVhclRpbWVvdXQoWjAuY3VycmVudCk7WjAuY3VycmVudD1zZXRUaW1lb3V0KCgpPT57ejAoITEpLFowLmN1cnJlbnQ9bnVsbH0sMzAwMCl9ZWxzZSBpZih6MCghMSksWjAuY3VycmVudCljbGVhclRpbWVvdXQoWjAuY3VycmVudCksWjAuY3VycmVudD1udWxsO3JldHVybigpPT57aWYoWjAuY3VycmVudCljbGVhclRpbWVvdXQoWjAuY3VycmVudCl9fSxbRF0pO2xldCBDMD1gJHtKfS9zdHJlYW0ubWpwZWdgLE89VChBKTtPLmN1cnJlbnQ9QSx5KCgpPT57Ty5jdXJyZW50Py4oeCl9LFt4XSkseSgoKT0+e2lmKFAmJkspSzAoSyl9LFtQLEtdKTtsZXQgUj1UKCExKTtSLmN1cnJlbnQ9eDtsZXQgdj1UKG51bGwpO3koKCk9PntpZighUHx8IXopcmV0dXJuO2xldCBIPXNldFRpbWVvdXQoKCk9PntpZighUi5jdXJyZW50KVkwKCJTdHJlYW0gaXMgbm90IHByb2R1Y2luZyBmcmFtZXMuIFRoZSBzaW11bGF0b3IgbWF5IGhhdmUgc3RvcHBlZCDigJQgdHJ5IHJlY29ubmVjdGluZy4iKX0sNjAwMCksTD16KChGKT0+e0EwLmN1cnJlbnQrKyxRMC5jdXJyZW50PURhdGUubm93KCk7bGV0IGs9TS5jdXJyZW50O2lmKGspe2lmKHYuY3VycmVudClVUkwucmV2b2tlT2JqZWN0VVJMKHYuY3VycmVudCk7di5jdXJyZW50PUYsay5zcmM9Rn1pZighUi5jdXJyZW50KWNsZWFyVGltZW91dChIKSxFKCEwKSxZMChudWxsKX0pO3JldHVybigpPT57Y2xlYXJUaW1lb3V0KEgpLEw/LigpfX0sW1Asel0pO2xldCB3PVMoKFYpPT57aWYoUCl7JD8uKFYpO3JldHVybn1sZXQgSD1DLmN1cnJlbnQ7aWYoIUh8fEgucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgTD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoVikpLEY9bmV3IFVpbnQ4QXJyYXkoMStMLmxlbmd0aCk7RlswXT1EOCxGLnNldChMLDEpLEguc2VuZChGKX0sW1AsJF0pLGw9UygoVik9PntpZihQKXtOPy4oVik7cmV0dXJufWxldCBIPUMuY3VycmVudDtpZighSHx8SC5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBMPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeSh7YnV0dG9uOlZ9KSksRj1uZXcgVWludDhBcnJheSgxK0wubGVuZ3RoKTtGWzBdPUk4LEYuc2V0KEwsMSksSC5zZW5kKEYpfSxbUCxOXSksaT1TKChWKT0+e2lmKFApe1c/LihWKTtyZXR1cm59bGV0IEg9Qy5jdXJyZW50O2lmKCFIfHxILnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IEw9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KFYpKSxGPW5ldyBVaW50OEFycmF5KDErTC5sZW5ndGgpO0ZbMF09azgsRi5zZXQoTCwxKSxILnNlbmQoRil9LFtQLFddKTt5KCgpPT57aWYoUClyZXR1cm47ZmV0Y2goYCR7Sn0vY29uZmlnYCkudGhlbigoZCk9PmQuanNvbigpKS50aGVuKChkKT0+e2lmKGQud2lkdGg+MCYmZC5oZWlnaHQ+MClLMChkKX0pLmNhdGNoKCgpPT57fSk7bGV0IFY9WD8/Si5yZXBsYWNlKC9eaHR0cC8sIndzIikrIi93cyIsSD1uZXcgV2ViU29ja2V0KFYpO0guYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLEMuY3VycmVudD1ILEgub25vcGVuPSgpPT57RSghMCksWTAobnVsbCl9LEgub25jbG9zZT0oKT0+e0UoITEpfSxILm9uZXJyb3I9KCk9PntZMCgiV2ViU29ja2V0IGNvbm5lY3Rpb24gZmFpbGVkIiksRSghMSl9O2xldCBMPW5ldyBBYm9ydENvbnRyb2xsZXIsRj1zZXRJbnRlcnZhbCgoKT0+e3kwKEEwLmN1cnJlbnQpLEEwLmN1cnJlbnQ9MH0sMTAwMCksaz0hMSxqPXNldFRpbWVvdXQoKCk9PntpZighaylZMCgiU3RyZWFtIGlzIG5vdCBwcm9kdWNpbmcgZnJhbWVzLiBUaGUgc2ltdWxhdG9yIG1heSBoYXZlIHN0b3BwZWQg4oCUIHRyeSByZWNvbm5lY3RpbmcuIil9LDYwMDApO3JldHVybihhc3luYygpPT57dHJ5e2xldCBlPShhd2FpdCBmZXRjaChDMCx7c2lnbmFsOkwuc2lnbmFsfSkpLmJvZHk/LmdldFJlYWRlcigpO2lmKCFlKXJldHVybjtsZXQgJDA9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKCItLWZyYW1lIik7d2hpbGUoITApe2xldHtkb25lOmY2LHZhbHVlOlE0fT1hd2FpdCBlLnJlYWQoKTtpZihmNilicmVhaztpZihRNClmb3IobGV0ICQ0PTA7JDQ8PVE0Lmxlbmd0aC0kMC5sZW5ndGg7JDQrKyl7bGV0IGI0PSEwO2ZvcihsZXQgaDA9MDtoMDwkMC5sZW5ndGg7aDArKylpZihRNFskNCtoMF0hPT0kMFtoMF0pe2I0PSExO2JyZWFrfWlmKGI0KXtpZihBMC5jdXJyZW50KyssIWspaz0hMCxjbGVhclRpbWVvdXQoail9fX19Y2F0Y2h7fX0pKCksKCk9PntMLmFib3J0KCksY2xlYXJJbnRlcnZhbChGKSxjbGVhclRpbWVvdXQoaiksSC5jbG9zZSgpLEMuY3VycmVudD1udWxsfX0sW0osQzAsUF0pO2xldCBRMD1UKDApO3koKCk9PntpZighUClyZXR1cm47bGV0IFY9MjAwMCxIPSgpPT57bGV0IGs9UTAuY3VycmVudDtpZigha3x8IVIuY3VycmVudClyZXR1cm47aWYoRGF0ZS5ub3coKS1rPlYpRSghMSl9LEw9c2V0SW50ZXJ2YWwoKCk9Pnt5MChBMC5jdXJyZW50KSxBMC5jdXJyZW50PTAsSCgpfSwxMDAwKSxGPSgpPT57aWYoIWRvY3VtZW50LmhpZGRlbilIKCl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixGKSwoKT0+e2NsZWFySW50ZXJ2YWwoTCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsRil9fSxbUF0pO2xldCBnPVMoKCk9PntyZXR1cm4gUD9NLmN1cnJlbnQ6SS5jdXJyZW50fSxbUF0pLHQ9UygoVixIKT0+e2xldCBMPWcoKTtpZighTClyZXR1cm47bGV0IEY9TC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxrPShILmNsaWVudFgtRi5sZWZ0KS9GLndpZHRoLGo9KEguY2xpZW50WS1GLnRvcCkvRi5oZWlnaHQ7dyh7dHlwZTpWLHg6ayx5Omp9KX0sW3ddKSx1PTMsYT1UKCExKSxvPVQoITEpLFUwPVQoITEpLEIwPVQoe2R4OjAsZHk6MH0pLEwwPVQoITEpLFt3MCxNNF09YighMSksQzQ9VCh7eDowLjUseTowLjV9KSxbUDAscTBdPWIobnVsbCk7eSgoKT0+e2xldCBWPShMKT0+e2lmKEwua2V5PT09IkFsdCIpTTQoITApfSxIPShMKT0+e2lmKEwua2V5PT09IkFsdCIpe2lmKE00KCExKSwhby5jdXJyZW50KXEwKG51bGwpfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixWKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLEgpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLFYpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsSCl9fSxbXSkseSgoKT0+e2lmKHcwJiYhby5jdXJyZW50KXtsZXQgVj1DNC5jdXJyZW50O3EwKHt4MTpWLngseTE6Vi55LHgyOjEtVi54LHkyOjEtVi55fSl9ZWxzZSBpZighdzAmJiFvLmN1cnJlbnQpcTAobnVsbCl9LFt3MF0pO2xldCBnMD1UKG51bGwpLHE0PVQoITEpLEUwPVQoMCksdzQ9UygoVixIKT0+e3E0LmN1cnJlbnQ9ITA7bGV0IEw9ZzAuY3VycmVudDtpZihMKWNhbmNlbEFuaW1hdGlvbkZyYW1lKEUwLmN1cnJlbnQpLEUwLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57TC5zdHlsZS5sZWZ0PWAke1YqMTAwfSVgLEwuc3R5bGUudG9wPWAke0gqMTAwfSVgLEwuc3R5bGUuZGlzcGxheT0iYmxvY2sifSl9LFtdKSxFND1TKChWLEgpPT57aWYoIXE0LmN1cnJlbnQpcmV0dXJuO2xldCBMPWcwLmN1cnJlbnQ7aWYoTCljYW5jZWxBbmltYXRpb25GcmFtZShFMC5jdXJyZW50KSxFMC5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e0wuc3R5bGUubGVmdD1gJHtWKjEwMH0lYCxMLnN0eWxlLnRvcD1gJHtIKjEwMH0lYH0pfSxbXSkscDA9UygoKT0+e3E0LmN1cnJlbnQ9ITE7bGV0IFY9ZzAuY3VycmVudDtpZihWKWNhbmNlbEFuaW1hdGlvbkZyYW1lKEUwLmN1cnJlbnQpLFYuc3R5bGUuZGlzcGxheT0ibm9uZSJ9LFtdKSxUND1UKDApLFQwPVQobnVsbCksbTY9UygoKT0+e2xldCBWPURhdGUubm93KCksSD1WLVQ0LmN1cnJlbnQ7aWYoVDQuY3VycmVudD1WLEg8MzAwKXtpZihUMC5jdXJyZW50KWNsZWFyVGltZW91dChUMC5jdXJyZW50KSxUMC5jdXJyZW50PW51bGw7aWYoUSlRKCk7ZWxzZSBsKCJhcHBfc3dpdGNoZXIiKX1lbHNlIFQwLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e2lmKFEpUSgpO2Vsc2UgbCgiaG9tZSIpO1QwLmN1cnJlbnQ9bnVsbH0sMzAwKX0sW2wsUV0pLHgwPSgoKT0+e2lmKCFofHwhcilyZXR1cm4gbnVsbDtpZihyLndpZHRoPT09MHx8ci5oZWlnaHQ9PT0wKXJldHVybiBudWxsO2xldCBWPU1hdGgubWluKHIud2lkdGgvaC53aWR0aCxyLmhlaWdodC9oLmhlaWdodCk7cmV0dXJue3dpZHRoOmgud2lkdGgqVixoZWlnaHQ6aC5oZWlnaHQqVn19KSgpO3JldHVybiBHKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixmbGV4OjEsLi4uXz97fTp7Ym9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LG92ZXJmbG93OiJoaWRkZW4iLG1pbldpZHRoOjAsbWluSGVpZ2h0OjAsLi4uWX0sY2xhc3NOYW1lOnEsY2hpbGRyZW46W0coImRpdiIse3JlZjpzLHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLGZsZXg6MSxtaW5IZWlnaHQ6MCxtaW5XaWR0aDowLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9LGNoaWxkcmVuOkcoImRpdiIse3N0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLHdpZHRoOngwP2Ake3gwLndpZHRofXB4YDoiMTAwJSIsaGVpZ2h0OngwP2Ake3gwLmhlaWdodH1weGA6IjEwMCUifSxjaGlsZHJlbjpbRygiaW1nIix7cmVmOkksc3JjOlA/dm9pZCAwOkMwLGRyYWdnYWJsZTohMSxvbkxvYWQ6KFYpPT57bGV0IEg9Vi5jdXJyZW50VGFyZ2V0O2lmKEgubmF0dXJhbFdpZHRoPjAmJkgubmF0dXJhbEhlaWdodD4wKUswKChMKT0+TCYmTC53aWR0aD09PUgubmF0dXJhbFdpZHRoJiZMLmhlaWdodD09PUgubmF0dXJhbEhlaWdodD9MOnt3aWR0aDpILm5hdHVyYWxXaWR0aCxoZWlnaHQ6SC5uYXR1cmFsSGVpZ2h0fSl9LHN0eWxlOlA/e2Rpc3BsYXk6Im5vbmUifTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGN1cnNvcjpENCxkaXNwbGF5OiJibG9jayIsdXNlclNlbGVjdDoibm9uZSIsV2Via2l0VXNlclNlbGVjdDoibm9uZSIsdG91Y2hBY3Rpb246Im5vbmUiLC4uLlp9fSksUCYmRygiaW1nIix7cmVmOk0sZHJhZ2dhYmxlOiExLG9uTG9hZDooVik9PntsZXQgSD1WLmN1cnJlbnRUYXJnZXQ7aWYoSC5uYXR1cmFsV2lkdGg+MCYmSC5uYXR1cmFsSGVpZ2h0PjApSzAoKEwpPT5MJiZMLndpZHRoPT09SC5uYXR1cmFsV2lkdGgmJkwuaGVpZ2h0PT09SC5uYXR1cmFsSGVpZ2h0P0w6e3dpZHRoOkgubmF0dXJhbFdpZHRoLGhlaWdodDpILm5hdHVyYWxIZWlnaHR9KX0sc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCx3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixjdXJzb3I6RDQsZGlzcGxheToiYmxvY2siLHVzZXJTZWxlY3Q6Im5vbmUiLFdlYmtpdFVzZXJTZWxlY3Q6Im5vbmUiLHRvdWNoQWN0aW9uOiJub25lIiwuLi5afX0pLEcoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsY3Vyc29yOkQ0LHRvdWNoQWN0aW9uOiJub25lIn0sb25Nb3VzZURvd246KFYpPT57Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCBIPWcoKTtpZighSClyZXR1cm47bGV0IEw9SC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxGPShWLmNsaWVudFgtTC5sZWZ0KS9MLndpZHRoLGs9KFYuY2xpZW50WS1MLnRvcCkvTC5oZWlnaHQ7aWYoVi5hbHRLZXkpe28uY3VycmVudD0hMCxVMC5jdXJyZW50PVYuc2hpZnRLZXk7bGV0IGo9e3gxOkYseTE6ayx4MjoxLUYseTI6MS1rfTtCMC5jdXJyZW50PXtkeDoxLUYtRixkeToxLWsta30scTAoaiksaSh7dHlwZToiYmVnaW4iLC4uLmp9KTtyZXR1cm59aWYodzQoRixrKSxrPjAuODgpYS5jdXJyZW50PSEwLHcoe3R5cGU6ImJlZ2luIix4OkYseTprLGVkZ2U6dX0pO2Vsc2UgYS5jdXJyZW50PSExLHQoImJlZ2luIixWKX0sb25Nb3VzZU1vdmU6KFYpPT57bGV0IEg9ZygpO2lmKCFIKXJldHVybjtsZXQgTD1ILmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEY9KFYuY2xpZW50WC1MLmxlZnQpL0wud2lkdGgsaz0oVi5jbGllbnRZLUwudG9wKS9MLmhlaWdodDtpZihDNC5jdXJyZW50PXt4OkYseTprfSxWLmJ1dHRvbnM9PT0wKXtpZihWLmFsdEtleSlxMCh7eDE6Rix5MTprLHgyOjEtRix5MjoxLWt9KTtyZXR1cm59aWYoby5jdXJyZW50KXtsZXQgajtpZihVMC5jdXJyZW50KXtsZXQgZD1CMC5jdXJyZW50O2o9e3gxOkYseTE6ayx4MjpGK2QuZHgseTI6aytkLmR5fX1lbHNlIGo9e3gxOkYseTE6ayx4MjoxLUYseTI6MS1rfTtxMChqKSxpKHt0eXBlOiJtb3ZlIiwuLi5qfSk7cmV0dXJufWlmKEU0KEYsayksYS5jdXJyZW50KXcoe3R5cGU6Im1vdmUiLHg6Rix5OmssZWRnZTp1fSk7ZWxzZSB0KCJtb3ZlIixWKX0sb25Nb3VzZVVwOihWKT0+e2lmKG8uY3VycmVudCl7bGV0IEg9ZygpO2lmKEgpe2xldCBMPUguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksRj0oVi5jbGllbnRYLUwubGVmdCkvTC53aWR0aCxrPShWLmNsaWVudFktTC50b3ApL0wuaGVpZ2h0O2lmKFUwLmN1cnJlbnQpe2xldCBqPUIwLmN1cnJlbnQ7aSh7dHlwZToiZW5kIix4MTpGLHkxOmsseDI6RitqLmR4LHkyOmsrai5keX0pfWVsc2UgaSh7dHlwZToiZW5kIix4MTpGLHkxOmsseDI6MS1GLHkyOjEta30pfWlmKG8uY3VycmVudD0hMSwhVi5hbHRLZXkpcTAobnVsbCk7cmV0dXJufWlmKHAwKCksYS5jdXJyZW50KXtsZXQgSD1nKCk7aWYoSCl7bGV0IEw9SC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxGPShWLmNsaWVudFgtTC5sZWZ0KS9MLndpZHRoLGs9KFYuY2xpZW50WS1MLnRvcCkvTC5oZWlnaHQ7dyh7dHlwZToiZW5kIix4OkYseTprLGVkZ2U6dX0pfWEuY3VycmVudD0hMTtyZXR1cm59dCgiZW5kIixWKX0sb25Nb3VzZUxlYXZlOihWKT0+e2lmKG8uY3VycmVudCl7aWYoUDApaSh7dHlwZToiZW5kIiwuLi5QMH0pO28uY3VycmVudD0hMSxxMChudWxsKTtyZXR1cm59aWYocDAoKSxhLmN1cnJlbnQpe2xldCBIPWcoKTtpZihIKXtsZXQgTD1ILmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEY9KFYuY2xpZW50WC1MLmxlZnQpL0wud2lkdGgsaz0oVi5jbGllbnRZLUwudG9wKS9MLmhlaWdodDt3KHt0eXBlOiJlbmQiLHg6Rix5OmssZWRnZTp1fSl9YS5jdXJyZW50PSExO3JldHVybn1pZihWLmJ1dHRvbnM+MCl0KCJlbmQiLFYpO3EwKG51bGwpfSxvblRvdWNoU3RhcnQ6KFYpPT57Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCBIPWcoKTtpZighSClyZXR1cm47bGV0IEw9SC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihWLnRvdWNoZXMubGVuZ3RoPj0yKXtwMCgpO2xldCBkPVYudG91Y2hlc1swXSxlPVYudG91Y2hlc1sxXSwkMD17eDE6KGQuY2xpZW50WC1MLmxlZnQpL0wud2lkdGgseTE6KGQuY2xpZW50WS1MLnRvcCkvTC5oZWlnaHQseDI6KGUuY2xpZW50WC1MLmxlZnQpL0wud2lkdGgseTI6KGUuY2xpZW50WS1MLnRvcCkvTC5oZWlnaHR9O2lmKCFMMC5jdXJyZW50JiYhYS5jdXJyZW50KXcoe3R5cGU6ImVuZCIseDokMC54MSx5OiQwLnkxfSk7TDAuY3VycmVudD0hMCxvLmN1cnJlbnQ9ITAsYS5jdXJyZW50PSExLHEwKCQwKSxpKHt0eXBlOiJiZWdpbiIsLi4uJDB9KTtyZXR1cm59bGV0IEY9Vi50b3VjaGVzWzBdO2lmKCFGKXJldHVybjtsZXQgaz0oRi5jbGllbnRYLUwubGVmdCkvTC53aWR0aCxqPShGLmNsaWVudFktTC50b3ApL0wuaGVpZ2h0O2lmKHc0KGssaiksaj4wLjg4KWEuY3VycmVudD0hMCx3KHt0eXBlOiJiZWdpbiIseDprLHk6aixlZGdlOnV9KTtlbHNlIGEuY3VycmVudD0hMSx3KHt0eXBlOiJiZWdpbiIseDprLHk6an0pfSxvblRvdWNoTW92ZTooVik9PntWLnByZXZlbnREZWZhdWx0KCk7bGV0IEg9ZygpO2lmKCFIKXJldHVybjtsZXQgTD1ILmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKEwwLmN1cnJlbnQmJlYudG91Y2hlcy5sZW5ndGg+PTIpe2xldCBkPVYudG91Y2hlc1swXSxlPVYudG91Y2hlc1sxXSwkMD17eDE6KGQuY2xpZW50WC1MLmxlZnQpL0wud2lkdGgseTE6KGQuY2xpZW50WS1MLnRvcCkvTC5oZWlnaHQseDI6KGUuY2xpZW50WC1MLmxlZnQpL0wud2lkdGgseTI6KGUuY2xpZW50WS1MLnRvcCkvTC5oZWlnaHR9O3EwKCQwKSxpKHt0eXBlOiJtb3ZlIiwuLi4kMH0pO3JldHVybn1sZXQgRj1WLnRvdWNoZXNbMF07aWYoIUYpcmV0dXJuO2xldCBrPShGLmNsaWVudFgtTC5sZWZ0KS9MLndpZHRoLGo9KEYuY2xpZW50WS1MLnRvcCkvTC5oZWlnaHQ7aWYoRTQoayxqKSxhLmN1cnJlbnQpdyh7dHlwZToibW92ZSIseDprLHk6aixlZGdlOnV9KTtlbHNlIHcoe3R5cGU6Im1vdmUiLHg6ayx5Omp9KX0sb25Ub3VjaEVuZDooVik9PntWLnByZXZlbnREZWZhdWx0KCk7bGV0IEg9ZygpO2lmKCFIKXJldHVybjtsZXQgTD1ILmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKEwwLmN1cnJlbnQpe2lmKFYudG91Y2hlcy5sZW5ndGg8Mil7bGV0IGQ9Vi5jaGFuZ2VkVG91Y2hlc1swXSxlPVAwO2lmKGQmJmUpaSh7dHlwZToiZW5kIix4MTooZC5jbGllbnRYLUwubGVmdCkvTC53aWR0aCx5MTooZC5jbGllbnRZLUwudG9wKS9MLmhlaWdodCx4MjplLngyLHkyOmUueTJ9KTtlbHNlIGlmKGUpaSh7dHlwZToiZW5kIiwuLi5lfSk7TDAuY3VycmVudD0hMSxvLmN1cnJlbnQ9ITEscTAobnVsbCl9cmV0dXJufWxldCBGPVYuY2hhbmdlZFRvdWNoZXNbMF07aWYoIUYpcmV0dXJuO2xldCBrPShGLmNsaWVudFgtTC5sZWZ0KS9MLndpZHRoLGo9KEYuY2xpZW50WS1MLnRvcCkvTC5oZWlnaHQ7aWYocDAoKSxhLmN1cnJlbnQpdyh7dHlwZToiZW5kIix4OmsseTpqLGVkZ2U6dX0pLGEuY3VycmVudD0hMTtlbHNlIHcoe3R5cGU6ImVuZCIseDprLHk6an0pfX0pLEcoImRpdiIse3JlZjpnMCwiZGF0YS10ZXN0aWQiOiJ0b3VjaC1pbmRpY2F0b3IiLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGRpc3BsYXk6Im5vbmUiLHdpZHRoOjI0LGhlaWdodDoyNCxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDoicmdiYSg1OSwxMzAsMjQ2LDAuNSkiLGJveFNoYWRvdzoiMCAwIDhweCByZ2JhKDU5LDEzMCwyNDYsMC4zKSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiLHBvaW50ZXJFdmVudHM6Im5vbmUifX0pLFAwJiZHKG0se2NoaWxkcmVuOltHKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJmaW5nZXItZG90IixzdHlsZTp2NihQMC54MSxQMC55MSl9KSxHKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJmaW5nZXItZG90IixzdHlsZTp2NihQMC54MixQMC55Mil9KV19KSwheCYmIUowJiZHKCJkaXYiLHtzdHlsZTp7Li4uUjYsLi4uWnx8e319LGNoaWxkcmVuOkcoInNwYW4iLHtzdHlsZTp7Y29sb3I6IiM4ODgiLGZvbnRTaXplOjE0fSxjaGlsZHJlbjoiQ29ubmVjdGluZy4uLiJ9KX0pLEowJiZHKCJkaXYiLHtzdHlsZTpSNixjaGlsZHJlbjpHKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjZjQ0Iixmb250U2l6ZToxNCxwYWRkaW5nOjIwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46SjB9KX0pLFo0JiZHKCJkaXYiLHtzdHlsZTpNOCxjaGlsZHJlbjpHKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjZmJiZjI0Iixmb250U2l6ZToxMyxmb250RmFtaWx5OiJtb25vc3BhY2UifSxjaGlsZHJlbjoiU2xvdyBjb25uZWN0aW9uIn0pfSldfSl9KSwhXyYmRygiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLHBhZGRpbmc6IjRweCA4cHgiLGJvcmRlclRvcDoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikifSxjaGlsZHJlbjpbRygiYnV0dG9uIix7b25DbGljazptNixzdHlsZTp7YmFja2dyb3VuZDoibm9uZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpIixjb2xvcjoiI2FhYSIsZm9udFNpemU6MTEsZm9udEZhbWlseToibW9ub3NwYWNlIixwYWRkaW5nOiIycHggMTBweCIsY3Vyc29yOiJwb2ludGVyIixib3JkZXJSYWRpdXM6NH0sY2hpbGRyZW46IkhvbWUifSksRygic3BhbiIse3N0eWxlOntjb2xvcjp2MD4wPyIjNGY0IjoiIzg4OCIsZm9udFNpemU6MTIsZm9udEZhbWlseToibW9ub3NwYWNlIixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2fSxjaGlsZHJlbjpbRCYmRygic3BhbiIseyJkYXRhLXRlc3RpZCI6InF1YWxpdHktZG90IixzdHlsZTp7d2lkdGg6OCxoZWlnaHQ6OCxib3JkZXJSYWRpdXM6IjUwJSIsZGlzcGxheToiaW5saW5lLWJsb2NrIixiYWNrZ3JvdW5kOkQ9PT0iZ29vZCI/IiM0YWRlODAiOkQ9PT0iZGVncmFkZWQiPyIjZmFjYzE1IjoiI2VmNDQ0NCJ9fSksdjAsIiBmcHMiXX0pXX0pXX0pfXZhciBNOD17cG9zaXRpb246ImFic29sdXRlIix0b3A6OCxsZWZ0OiI1MCUiLHRyYW5zZm9ybToidHJhbnNsYXRlWCgtNTAlKSIsYmFja2dyb3VuZDoicmdiYSgwLDAsMCwwLjcpIixib3JkZXJSYWRpdXM6NixwYWRkaW5nOiI0cHggMTJweCIscG9pbnRlckV2ZW50czoibm9uZSJ9LFI2PXtwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuOCkifSxqNj0yMDtmdW5jdGlvbiB2NihKLFgpe3JldHVybntwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6YCR7SioxMDB9JWAsdG9wOmAke1gqMTAwfSVgLHdpZHRoOmo2LGhlaWdodDpqNixib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwwLjQ1KSIsYm9yZGVyOiIxLjI1cHggc29saWQgcmdiYSgwLDAsMCwwLjU1KSIsYm94U2hhZG93OiIwIDFweCAzcHggcmdiYSgwLDAsMCwwLjQ1KSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiLHBvaW50ZXJFdmVudHM6Im5vbmUifX1mdW5jdGlvbiBNMChKKXtpZighSilyZXR1cm4iaXBob25lIjtsZXQgWD1KLnRvTG93ZXJDYXNlKCk7aWYoWC5pbmNsdWRlcygiaXBhZCIpKXJldHVybiJpcGFkIjtpZihYLmluY2x1ZGVzKCJ3YXRjaCIpKXJldHVybiJ3YXRjaCI7aWYoWC5pbmNsdWRlcygidmlzaW9uIikpcmV0dXJuInZpc2lvbiI7cmV0dXJuImlwaG9uZSJ9dmFyIFcwPXtpcGhvbmU6e3dpZHRoOjQyNyxoZWlnaHQ6ODgxLGJlemVsWDoxOCxiZXplbFk6MTgsaW5uZXJSYWRpdXM6NTV9LGlwYWQ6e3dpZHRoOjQzMCxoZWlnaHQ6NjA1LGJlemVsWDoxNixiZXplbFk6MTYsaW5uZXJSYWRpdXM6MTJ9LHdhdGNoOnt3aWR0aDoyNzQsaGVpZ2h0OjMyMixiZXplbFg6MTIsYmV6ZWxZOjEyLGlubmVyUmFkaXVzOjc5fSx2aXNpb246e3dpZHRoOjY0MCxoZWlnaHQ6NDAwLGJlemVsWDoxMixiZXplbFk6MTIsaW5uZXJSYWRpdXM6MzJ9fSxtOT1XMC5pcGhvbmUud2lkdGgsZjk9VzAuaXBob25lLmhlaWdodCxkOT1XMC5pcGhvbmUuYmV6ZWxYLGE5PVcwLmlwaG9uZS5iZXplbFksYzk9VzAuaXBob25lLmlubmVyUmFkaXVzO2Z1bmN0aW9uIEo0KEo9ImlwaG9uZSIpe2xldCBYPVcwW0pdLFk9WC53aWR0aC0yKlguYmV6ZWxYLFo9WC5oZWlnaHQtMipYLmJlemVsWTtyZXR1cm5gJHtYLmlubmVyUmFkaXVzL1kqMTAwfSUgLyAke1guaW5uZXJSYWRpdXMvWioxMDB9JWB9dmFyIEk0PUQwKG51bGwpO2Z1bmN0aW9uIFg0KEope2xldCBYPWowKEk0KTtpZighWCl0aHJvdyBFcnJvcihgPFNpbXVsYXRvclRvb2xiYXIuJHtKfT4gbXVzdCBiZSByZW5kZXJlZCBpbnNpZGUgPFNpbXVsYXRvclRvb2xiYXI+YCk7cmV0dXJuIFh9dmFyIGI4PXtkaXNwbGF5OiJmbGV4IixmbGV4V3JhcDoid3JhcCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsZ2FwOiI0cHggMTJweCIscGFkZGluZzoiOHB4IDEycHgiLGJvcmRlclJhZGl1czoyNCxiYWNrZ3JvdW5kOiIjMWMxYzFlIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSkiLGJveFNoYWRvdzoiMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yKSIsbWluV2lkdGg6MjQwLHdpZHRoOiIxMDAlIn07ZnVuY3Rpb24gUzgoe2V4ZWM6SixkZXZpY2VVZGlkOlgsZGV2aWNlTmFtZTpZLGRldmljZVJ1bnRpbWU6WixzdHJlYW1pbmc6cT0hMSxkaXNhYmxlZDpRPSExLGNoaWxkcmVuOiQsc3R5bGU6VywuLi5OfSl7bGV0IHo9TTAoWSksSz17ZXhlYzpKLGRldmljZVVkaWQ6WCxkZXZpY2VOYW1lOlksZGV2aWNlUnVudGltZTpaLGRldmljZVR5cGU6eixzdHJlYW1pbmc6cSxkaXNhYmxlZDpRfHwhWHx8IXF9O3JldHVybiBHKEk0LlByb3ZpZGVyLHt2YWx1ZTpLLGNoaWxkcmVuOkcoImRpdiIseyJkYXRhLXNpbXVsYXRvci10b29sYmFyIjohMCxzdHlsZTp7Li4uYjgsLi4uV30sLi4uTixjaGlsZHJlbjokfSl9KX12YXIgUjg9e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiZmxleC1zdGFydCIsdGV4dEFsaWduOiJsZWZ0IixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoiI2ZmZiIscGFkZGluZzoiMnB4IDRweCIsbWFyZ2luOiItMnB4IC00cHgiLGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsbWluV2lkdGg6MCxtYXhXaWR0aDoiMTAwJSIsbGluZUhlaWdodDoxLjIsZm9udEZhbWlseToiaW5oZXJpdCJ9LGo4PWswKGZ1bmN0aW9uKHtuYW1lOlgsc3VidGl0bGU6WSxoaWRlQ2hldnJvbjpaLHN0eWxlOnEsb25Nb3VzZUVudGVyOlEsb25Nb3VzZUxlYXZlOiQsLi4uV30sTil7bGV0IHo9WDQoIlRpdGxlIiksW0IsS109YighMSksXz1YPz96LmRldmljZU5hbWU/PyJObyBzaW11bGF0b3IiLEE9WT8/KHouZGV2aWNlUnVudGltZT96LmRldmljZVJ1bnRpbWUucmVwbGFjZSgvXC4vLCIgIik6IuKAlCIpO3JldHVybiBHKCJidXR0b24iLHtyZWY6Tix0eXBlOiJidXR0b24iLCJkYXRhLXNpbXVsYXRvci10b29sYmFyLXRpdGxlIjohMCxvbk1vdXNlRW50ZXI6KEQpPT57SyghMCksUT8uKEQpfSxvbk1vdXNlTGVhdmU6KEQpPT57SyghMSksJD8uKEQpfSxzdHlsZTp7Li4uUjgsYmFja2dyb3VuZDpCPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkiOiJ0cmFuc3BhcmVudCIsLi4ucX0sLi4uVyxjaGlsZHJlbjpbRygic3BhbiIse3N0eWxlOntkaXNwbGF5OiJpbmxpbmUtZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NCxmb250U2l6ZToxMixmb250V2VpZ2h0OjYwMCxjb2xvcjoiI2ZmZiIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOltfLCFaJiZHKCJzdmciLHt3aWR0aDoiMTAiLGhlaWdodDoiMTAiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyLjUiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLHN0eWxlOntjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjYpIixmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOkcoInBvbHlsaW5lIix7cG9pbnRzOiI2IDkgMTIgMTUgMTggOSJ9KX0pXX0pLEcoInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOkF9KV19KX0pLHY4PXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZsZXhTaHJpbms6MH07ZnVuY3Rpb24geTgoe3N0eWxlOkosLi4uWH0pe3JldHVybiBHKCJkaXYiLHtzdHlsZTp7Li4udjgsLi4uSn0sLi4uWH0pfXZhciBnOD17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIscGFkZGluZzo2LGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsZGlzcGxheToiaW5saW5lLWZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC44KSIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZC1jb2xvciAwLjE1cywgY29sb3IgMC4xNXMifSxZND1rMChmdW5jdGlvbih7Zm9yY2VEaXNhYmxlZDpYLHN0eWxlOlksZGlzYWJsZWQ6Wixvbk1vdXNlRW50ZXI6cSxvbk1vdXNlTGVhdmU6USxjaGlsZHJlbjokLC4uLld9LE4pe2xldCB6PWowKEk0KSxCPVp8fFh8fHo/LmRpc2FibGVkLFtLLF9dPWIoITEpO3JldHVybiBHKCJidXR0b24iLHtyZWY6Tix0eXBlOiJidXR0b24iLGRpc2FibGVkOkIsb25Nb3VzZUVudGVyOihBKT0+e18oITApLHE/LihBKX0sb25Nb3VzZUxlYXZlOihBKT0+e18oITEpLFE/LihBKX0sc3R5bGU6ey4uLmc4LGNvbG9yOkI/InJnYmEoMjU1LDI1NSwyNTUsMC4yNSkiOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLGJhY2tncm91bmQ6SyYmIUI/InJnYmEoMjU1LDI1NSwyNTUsMC4xKSI6InRyYW5zcGFyZW50IixjdXJzb3I6Qj8ibm90LWFsbG93ZWQiOiJwb2ludGVyIiwuLi5ZfSwuLi5XLGNoaWxkcmVuOiR9KX0pO2Z1bmN0aW9uIHA4KCl7cmV0dXJuWyd0ZWxsIGFwcGxpY2F0aW9uICJTeXN0ZW0gRXZlbnRzIiB0byB0ZWxsIHByb2Nlc3MgIlNpbXVsYXRvciIgdG8gc2V0IGZyb250bW9zdCB0byB0cnVlJywndGVsbCBhcHBsaWNhdGlvbiAiU3lzdGVtIEV2ZW50cyIgdG8gdGVsbCBwcm9jZXNzICJTaW11bGF0b3IiIHRvIHBlcmZvcm0gYWN0aW9uICJBWFJhaXNlIiBvZiAoZmlyc3Qgd2luZG93IHdob3NlIG5hbWUgY29udGFpbnMgIndhdGNoT1MiKScsJ3RlbGwgYXBwbGljYXRpb24gIlN5c3RlbSBFdmVudHMiIHRvIHRlbGwgcHJvY2VzcyAiU2ltdWxhdG9yIiB0byBjbGljayBtZW51IGl0ZW0gIkhvbWUiIG9mIG1lbnUgIkRldmljZSIgb2YgbWVudSBiYXIgaXRlbSAiRGV2aWNlIiBvZiBtZW51IGJhciAxJ10ubWFwKChYKT0+YC1lICcke1h9J2ApLnJlZHVjZSgoWCxZKT0+YCR7WH0gJHtZfWAsIm9zYXNjcmlwdCIpfXZhciB4OD17cG9ydHJhaXQ6ImxhbmRzY2FwZV9sZWZ0IixsYW5kc2NhcGVfbGVmdDoicG9ydHJhaXRfdXBzaWRlX2Rvd24iLHBvcnRyYWl0X3Vwc2lkZV9kb3duOiJsYW5kc2NhcGVfcmlnaHQiLGxhbmRzY2FwZV9yaWdodDoicG9ydHJhaXQifSxoOD1HKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpHKCJwYXRoIix7ZDoiTTMgMTAuNSAxMiAzbDkgNy41VjIwYTEgMSAwIDAgMS0xIDFoLTV2LTdoLTZ2N0g0YTEgMSAwIDAgMS0xLTF6In0pfSksbTg9Rygic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W0coInBhdGgiLHtkOiJNMTQuNSA0aC01TDcgN0g0YTIgMiAwIDAgMC0yIDJ2OWEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJWOWEyIDIgMCAwIDAtMi0yaC0zeiJ9KSxHKCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiNCJ9KV19KSxmOD1HKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCAxMiAxMyIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOkcoInBhdGgiLHtkOiJNMTAuMjMwNSAxMi44MDc3SDQuNDIzODNDMy45MjM4MyAxMi44MDc3IDMuNTQ2ODggMTIuNjg0NiAzLjI5Mjk3IDEyLjQzODVDMy4wNDI5NyAxMi4xOTYzIDIuOTE3OTcgMTEuODE5NCAyLjkxNzk3IDExLjMwNzdWNS41MTI3NEMyLjkxNzk3IDQuOTk3MTEgMy4wNDI5NyA0LjYxODIxIDMuMjkyOTcgNC4zNzYwMkMzLjU0Njg4IDQuMTI5OTMgMy45MjM4MyA0LjAwNjg4IDQuNDIzODMgNC4wMDY4OEgxMC4yMzA1QzEwLjczNDQgNC4wMDY4OCAxMS4xMTEzIDQuMTI5OTMgMTEuMzYxMyA0LjM3NjAyQzExLjYxMTMgNC42MTgyMSAxMS43MzYzIDQuOTk3MTEgMTEuNzM2MyA1LjUxMjc0VjExLjMwNzdDMTEuNzM2MyAxMS44MTk0IDExLjYxMTMgMTIuMTk2MyAxMS4zNjEzIDEyLjQzODVDMTEuMTExMyAxMi42ODQ2IDEwLjczNDQgMTIuODA3NyAxMC4yMzA1IDEyLjgwNzdaTTEwLjIxMjkgMTEuODY0M0MxMC40MTYgMTEuODY0MyAxMC41NjI1IDExLjgxOTQgMTAuNjUyMyAxMS43Mjk1QzEwLjc0NjEgMTEuNjQzNiAxMC43OTMgMTEuNDk3MSAxMC43OTMgMTEuMjkwMVY1LjUyNDQ2QzEwLjc5MyA1LjMxNzQzIDEwLjc0NjEgNS4xNzA5NCAxMC42NTIzIDUuMDg1MDFDMTAuNTYyNSA0Ljk5NTE2IDEwLjQxNiA0Ljk1MDI0IDEwLjIxMjkgNC45NTAyNEg0LjQ0MTQxQzQuMjQyMTkgNC45NTAyNCA0LjA5NTcgNC45OTUxNiA0LjAwMTk1IDUuMDg1MDFDMy45MDgyIDUuMTcwOTQgMy44NjEzMyA1LjMxNzQzIDMuODYxMzMgNS41MjQ0NlYxMS4yOTAxQzMuODYxMzMgMTEuNDk3MSAzLjkwODIgMTEuNjQzNiA0LjAwMTk1IDExLjcyOTVDNC4wOTU3IDExLjgxOTQgNC4yNDIxOSAxMS44NjQzIDQuNDQxNDEgMTEuODY0M0gxMC4yMTI5Wk0yLjkxNzk3IDIuNTgzMDVWMC40MTUwODNDMi45MTc5NyAwLjIwMDI0IDIuOTg2MzMgMC4wNjkzODAzIDMuMTIzMDUgMC4wMjI1MDUzQzMuMjU5NzcgLTAuMDI4Mjc1OSAzLjQxMDE2IDAuMDA2ODgwMzMgMy41NzQyMiAwLjEyNzk3NEw1LjA1MDc4IDEuMjExOTZDNS4xNzU3OCAxLjMwNTcxIDUuMjM4MjggMS40MDE0MSA1LjIzODI4IDEuNDk5MDdDNS4yMzgyOCAxLjU5NjcyIDUuMTc1NzggMS42OTI0MyA1LjA1MDc4IDEuNzg2MThMMy41NzQyMiAyLjg2NDNDMy40MTAxNiAyLjk4NTQgMy4yNTk3NyAzLjAyMjUxIDMuMTIzMDUgMi45NzU2M0MyLjk4NjMzIDIuOTI0ODUgMi45MTc5NyAyLjc5Mzk5IDIuOTE3OTcgMi41ODMwNVpNMy41MzMyIDEuMTUzMzZDMy42MjY5NSAxLjE1MzM2IDMuNzA3MDMgMS4xODY1NyAzLjc3MzQ0IDEuMjUyOTdDMy44NDM3NSAxLjMxOTM4IDMuODc4OTEgMS4zOTc1MSAzLjg3ODkxIDEuNDg3MzVDMy44Nzg5MSAxLjU4MTEgMy44NDM3NSAxLjY2MzEzIDMuNzczNDQgMS43MzM0NEMzLjcwNzAzIDEuNzk5ODUgMy42MjY5NSAxLjgzMzA1IDMuNTMzMiAxLjgzMzA1SDIuODA2NjRDMi4zODA4NiAxLjgzMzA1IDIuMDExNzIgMS45MjQ4NSAxLjY5OTIyIDIuMTA4NDRDMS4zOTA2MiAyLjI4ODEzIDEuMTUyMzQgMi41MzgxMyAwLjk4NDM3NSAyLjg1ODQ0QzAuODE2NDA2IDMuMTc4NzYgMC43MzI0MjIgMy41NDU5NCAwLjczMjQyMiAzLjk2MDAxVjQuODM4OTFDMC43MzI0MjIgNC45MzY1NyAwLjY5NzI2NiA1LjAyMjUxIDAuNjI2OTUzIDUuMDk2NzJDMC41NTI3MzQgNS4xNjcwNCAwLjQ2NDg0NCA1LjIwMjE5IDAuMzYzMjgxIDUuMjAyMTlDMC4yNjU2MjUgNS4yMDIxOSAwLjE4MTY0MSA1LjE2NzA0IDAuMTExMzI4IDUuMDk2NzJDMC4wMzcxMDk0IDUuMDIyNTEgMCA0LjkzNjU3IDAgNC44Mzg5MVYzLjk2MDAxQzAgMy40MDE0MSAwLjExNzE4OCAyLjkxMTE4IDAuMzUxNTYyIDIuNDg5M0MwLjU4MjAzMSAyLjA2NzQzIDAuOTA4MjAzIDEuNzM5MyAxLjMzMDA4IDEuNTA0OTNDMS43NDgwNSAxLjI3MDU1IDIuMjM4MjggMS4xNTMzNiAyLjgwMDc4IDEuMTUzMzZIMy41MzMyWiJ9KX0pLGQ4PWswKGZ1bmN0aW9uKHtvbkNsaWNrOlgsLi4uWX0sWil7bGV0IHE9WDQoIkhvbWVCdXR0b24iKTtyZXR1cm4gRyhZNCx7cmVmOlosImFyaWEtbGFiZWwiOiJIb21lIixvbkNsaWNrOihRKT0+e2lmKFg/LihRKSxRLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKHEuZGV2aWNlVHlwZT09PSJ3YXRjaCIpcS5leGVjKHA4KCkpO2Vsc2UgcS5leGVjKCJzZXJ2ZS1zaW0gYnV0dG9uIGhvbWUiKX0sLi4uWSxjaGlsZHJlbjpoOH0pfSksYTg9azAoZnVuY3Rpb24oe29uQ2xpY2s6WCwuLi5ZfSxaKXtsZXQgcT1YNCgiU2NyZWVuc2hvdEJ1dHRvbiIpO3JldHVybiBHKFk0LHtyZWY6WiwiYXJpYS1sYWJlbCI6IlNjcmVlbnNob3QiLG9uQ2xpY2s6KFEpPT57aWYoWD8uKFEpLFEuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYocS5kZXZpY2VVZGlkKXEuZXhlYyhgeGNydW4gc2ltY3RsIGlvICR7cS5kZXZpY2VVZGlkfSBzY3JlZW5zaG90IH4vRGVza3RvcC9oYXRjaC1zY3JlZW5zaG90LSQoZGF0ZSArJXMpLnBuZ2ApfSwuLi5ZLGNoaWxkcmVuOm04fSl9KSxjOD1rMChmdW5jdGlvbih7b25DbGljazpYLGZvcmNlRGlzYWJsZWQ6WSwuLi5afSxxKXtsZXQgUT1YNCgiUm90YXRlQnV0dG9uIiksJD1RLmRldmljZVR5cGU9PT0id2F0Y2gifHxRLmRldmljZVR5cGU9PT0idmlzaW9uIixbVyxOXT1iKCJwb3J0cmFpdCIpO3JldHVybiB5KCgpPT57TigicG9ydHJhaXQiKX0sW1EuZGV2aWNlVWRpZF0pLEcoWTQse3JlZjpxLCJhcmlhLWxhYmVsIjoiUm90YXRlIGRldmljZSIsZm9yY2VEaXNhYmxlZDpZfHwkLG9uQ2xpY2s6KHopPT57aWYoWD8uKHopLHouZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoIVEuZGV2aWNlVWRpZHx8JClyZXR1cm47bGV0IEI9eDhbV107TihCKSxRLmV4ZWMoYHNlcnZlLXNpbSByb3RhdGUgJHtCfSAtZCAke1EuZGV2aWNlVWRpZH1gKX0sLi4uWixjaGlsZHJlbjpmOH0pfSksbj1TODtuLlRpdGxlPWo4O24uQWN0aW9ucz15ODtuLkJ1dHRvbj1ZNDtuLkhvbWVCdXR0b249ZDg7bi5TY3JlZW5zaG90QnV0dG9uPWE4O24uUm90YXRlQnV0dG9uPWM4O2Z1bmN0aW9uIGw4KEope2xldFtYLFldPWIobnVsbCksWj1UKG5ldyBTZXQpLFtxLFFdPWIobnVsbCksJD1TKChXKT0+e3JldHVybiBaLmN1cnJlbnQuYWRkKFcpLCgpPT57Wi5jdXJyZW50LmRlbGV0ZShXKX19LFtdKTtyZXR1cm4geSgoKT0+e2lmKCFKKXJldHVybjtsZXQgVz1uZXcgQWJvcnRDb250cm9sbGVyLE49Si5yZXBsYWNlKC9cL3N0cmVhbVwubWpwZWckLywiIik7cmV0dXJuIGZldGNoKGAke059L2NvbmZpZ2Ase3NpZ25hbDpXLnNpZ25hbH0pLnRoZW4oKHopPT56Lmpzb24oKSkudGhlbigoeik9PntpZih6LndpZHRoPjAmJnouaGVpZ2h0PjApWSh6KX0pLmNhdGNoKCgpPT57fSksKGFzeW5jKCk9Pnt0cnl7bGV0IEI9KGF3YWl0IGZldGNoKEose3NpZ25hbDpXLnNpZ25hbH0pKS5ib2R5Py5nZXRSZWFkZXIoKTtpZighQilyZXR1cm47bGV0IEs9bmV3IFVpbnQ4QXJyYXkoMCk7d2hpbGUoITApe2xldHtkb25lOl8sdmFsdWU6QX09YXdhaXQgQi5yZWFkKCk7aWYoXylicmVhaztsZXQgRD1uZXcgVWludDhBcnJheShLLmxlbmd0aCtBLmxlbmd0aCk7RC5zZXQoSyksRC5zZXQoQSxLLmxlbmd0aCksSz1EO3doaWxlKCEwKXtsZXQgUD0tMTtmb3IobGV0IEU9MDtFPEsubGVuZ3RoLTE7RSsrKWlmKEtbRV09PT0yNTUmJktbRSsxXT09PTIxNil7UD1FO2JyZWFrfWlmKFA9PT0tMSlicmVhaztsZXQgST0tMTtmb3IobGV0IEU9UCsyO0U8Sy5sZW5ndGgtMTtFKyspaWYoS1tFXT09PTI1NSYmS1tFKzFdPT09MjE3KXtJPUUrMjticmVha31pZihJPT09LTEpYnJlYWs7bGV0IE09Sy5zbGljZShQLEkpO0s9Sy5zbGljZShJKTtsZXQgQz1uZXcgQmxvYihbTV0se3R5cGU6ImltYWdlL2pwZWcifSkseD1VUkwuY3JlYXRlT2JqZWN0VVJMKEMpO1EoeCk7Zm9yKGxldCBFIG9mIFouY3VycmVudClFKHgpfX19Y2F0Y2h7fX0pKCksKCk9PlcuYWJvcnQoKX0sW0pdKSx7c3Vic2NyaWJlRnJhbWU6JCxmcmFtZTpxLGNvbmZpZzpYfX12YXIgdTg9e0tleUE6NCxLZXlCOjUsS2V5Qzo2LEtleUQ6NyxLZXlFOjgsS2V5Rjo5LEtleUc6MTAsS2V5SDoxMSxLZXlJOjEyLEtleUo6MTMsS2V5SzoxNCxLZXlMOjE1LEtleU06MTYsS2V5TjoxNyxLZXlPOjE4LEtleVA6MTksS2V5UToyMCxLZXlSOjIxLEtleVM6MjIsS2V5VDoyMyxLZXlVOjI0LEtleVY6MjUsS2V5VzoyNixLZXlYOjI3LEtleVk6MjgsS2V5WjoyOSxEaWdpdDE6MzAsRGlnaXQyOjMxLERpZ2l0MzozMixEaWdpdDQ6MzMsRGlnaXQ1OjM0LERpZ2l0NjozNSxEaWdpdDc6MzYsRGlnaXQ4OjM3LERpZ2l0OTozOCxEaWdpdDA6MzksRW50ZXI6NDAsRXNjYXBlOjQxLEJhY2tzcGFjZTo0MixUYWI6NDMsU3BhY2U6NDQsTWludXM6NDUsRXF1YWw6NDYsQnJhY2tldExlZnQ6NDcsQnJhY2tldFJpZ2h0OjQ4LEJhY2tzbGFzaDo0OSxTZW1pY29sb246NTEsUXVvdGU6NTIsQmFja3F1b3RlOjUzLENvbW1hOjU0LFBlcmlvZDo1NSxTbGFzaDo1NixDYXBzTG9jazo1NyxGMTo1OCxGMjo1OSxGMzo2MCxGNDo2MSxGNTo2MixGNjo2MyxGNzo2NCxGODo2NSxGOTo2NixGMTA6NjcsRjExOjY4LEYxMjo2OSxQcmludFNjcmVlbjo3MCxTY3JvbGxMb2NrOjcxLFBhdXNlOjcyLEluc2VydDo3MyxIb21lOjc0LFBhZ2VVcDo3NSxEZWxldGU6NzYsRW5kOjc3LFBhZ2VEb3duOjc4LEFycm93UmlnaHQ6NzksQXJyb3dMZWZ0OjgwLEFycm93RG93bjo4MSxBcnJvd1VwOjgyLE51bUxvY2s6ODMsTnVtcGFkRGl2aWRlOjg0LE51bXBhZE11bHRpcGx5Ojg1LE51bXBhZFN1YnRyYWN0Ojg2LE51bXBhZEFkZDo4NyxOdW1wYWRFbnRlcjo4OCxOdW1wYWQxOjg5LE51bXBhZDI6OTAsTnVtcGFkMzo5MSxOdW1wYWQ0OjkyLE51bXBhZDU6OTMsTnVtcGFkNjo5NCxOdW1wYWQ3Ojk1LE51bXBhZDg6OTYsTnVtcGFkOTo5NyxOdW1wYWQwOjk4LE51bXBhZERlY2ltYWw6OTksQ29udHJvbExlZnQ6MjI0LFNoaWZ0TGVmdDoyMjUsQWx0TGVmdDoyMjYsTWV0YUxlZnQ6MjI3LENvbnRyb2xSaWdodDoyMjgsU2hpZnRSaWdodDoyMjksQWx0UmlnaHQ6MjMwLE1ldGFSaWdodDoyMzF9O2Z1bmN0aW9uIGk4KEope3JldHVybiB1OFtKXT8/bnVsbH1hc3luYyBmdW5jdGlvbiBIMChKKXtyZXR1cm4oYXdhaXQgZmV0Y2goIi9leGVjIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe2NvbW1hbmQ6Sn0pfSkpLmpzb24oKX1mdW5jdGlvbiBvOChKKXt0cnl7bGV0IFg9SlNPTi5wYXJzZShKKSxZPVtdO2ZvcihsZXRbWixxXW9mIE9iamVjdC5lbnRyaWVzKFguZGV2aWNlcz8/e30pKXtsZXQgUT1aLnJlcGxhY2UoL15jb21cLmFwcGxlXC5Db3JlU2ltdWxhdG9yXC5TaW1SdW50aW1lXC4vLCIiKS5yZXBsYWNlKC8tL2csIi4iKTtmb3IobGV0ICQgb2YgcSlpZigkLmlzQXZhaWxhYmxlKVkucHVzaCh7dWRpZDokLnVkaWQsbmFtZTokLm5hbWUsc3RhdGU6JC5zdGF0ZSxydW50aW1lOlF9KX1yZXR1cm4gWX1jYXRjaHtyZXR1cm5bXX19ZnVuY3Rpb24geTYoSil7bGV0IFg9Si50b0xvd2VyQ2FzZSgpO2lmKFguaW5jbHVkZXMoImlwaG9uZSIpKXJldHVybiAwO2lmKFguaW5jbHVkZXMoImlwYWQiKSlyZXR1cm4gMTtpZihYLmluY2x1ZGVzKCJ3YXRjaCIpKXJldHVybiAyO2lmKFguaW5jbHVkZXMoInZpc2lvbiIpKXJldHVybiAzO3JldHVybiA0fWZ1bmN0aW9uIGc2KEope2xldCBYPUoudG9Mb3dlckNhc2UoKTtpZihYLnN0YXJ0c1dpdGgoImlvcyIpKXJldHVybiAwO2lmKFguc3RhcnRzV2l0aCgiaXBhZG9zIikpcmV0dXJuIDE7aWYoWC5zdGFydHNXaXRoKCJ3YXRjaG9zIikpcmV0dXJuIDI7aWYoWC5zdGFydHNXaXRoKCJ2aXNpb25vcyIpfHxYLnN0YXJ0c1dpdGgoInhyb3MiKSlyZXR1cm4gMztyZXR1cm4gNH1mdW5jdGlvbiBzOCh7ZGV2aWNlczpKLHNlbGVjdGVkVWRpZDpYLGxvYWRpbmc6WSxlcnJvcjpaLHN0b3BwaW5nVWRpZHM6cSxvblJlZnJlc2g6USxvblNlbGVjdDokLG9uU3RvcDpXLHRyaWdnZXI6Tn0pe2xldFt6LEJdPWIoITEpLEs9VChudWxsKTt5KCgpPT57aWYoIXopcmV0dXJuO2xldCBQPShJKT0+e2lmKCFLLmN1cnJlbnQ/LmNvbnRhaW5zKEkudGFyZ2V0KSlCKCExKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLFApLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixQKX0sW3pdKTtsZXQgXz1uZXcgTWFwO2ZvcihsZXQgUCBvZiBKKXtpZihQLnVkaWQ9PT1YKWNvbnRpbnVlO2xldCBJPV8uZ2V0KFAucnVudGltZSk7aWYoIUkpST1bXSxfLnNldChQLnJ1bnRpbWUsSSk7SS5wdXNoKFApfWZvcihsZXQgUCBvZiBfLnZhbHVlcygpKVAuc29ydCgoSSxNKT0+eTYoSS5uYW1lKS15NihNLm5hbWUpfHxJLm5hbWUubG9jYWxlQ29tcGFyZShNLm5hbWUpKTtsZXQgQT1bLi4uXy5lbnRyaWVzKCldLnNvcnQoKFtQXSxbSV0pPT5nNihQKS1nNihJKXx8UC5sb2NhbGVDb21wYXJlKEkpKSxEPUouZmluZCgoUCk9PlAudWRpZD09PVgpPz9udWxsO3JldHVybiBHKCJkaXYiLHtyZWY6SyxzdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIn0sY2hpbGRyZW46W0coImRpdiIse29uQ2xpY2s6KCk9PntpZigheilRKCk7QigoUCk9PiFQKX0sY2hpbGRyZW46Tn0pLHomJkcoImRpdiIse3N0eWxlOnE5LGNoaWxkcmVuOltHKCJkaXYiLHtzdHlsZTpROSxjaGlsZHJlbjpbRygic3BhbiIse3N0eWxlOntmb250V2VpZ2h0OjYwMH0sY2hpbGRyZW46IlNpbXVsYXRvcnMifSksRygiYnV0dG9uIix7b25DbGljazooUCk9PntQLnN0b3BQcm9wYWdhdGlvbigpLFEoKX0sZGlzYWJsZWQ6WSxzdHlsZTokOSxjaGlsZHJlbjpZPyIuLi4iOiJSZWZyZXNoIn0pXX0pLFomJkcoImRpdiIse3N0eWxlOks5LGNoaWxkcmVuOlp9KSxEJiZHKG0se2NoaWxkcmVuOltHKCJkaXYiLHtzdHlsZTp7Li4uaDYsY29sb3I6IiNhNWI0ZmMifSxjaGlsZHJlbjpbRygic3BhbiIse3N0eWxlOnA2KEQuc3RhdGU9PT0iQm9vdGVkIj8iIzRhZGU4MCI6IiM0NDQiKX0pLEcoInNwYW4iLHtzdHlsZTp7ZmxleDoxfSxjaGlsZHJlbjpELm5hbWV9KV19KSxHKCJkaXYiLHtzdHlsZTp6OX0pXX0pLEoubGVuZ3RoPT09MCYmIVkmJiFaJiZHKCJkaXYiLHtzdHlsZTpXOSxjaGlsZHJlbjoiTm8gYXZhaWxhYmxlIHNpbXVsYXRvcnMgZm91bmQifSksQS5tYXAoKFtQLEldKT0+RygiZGl2Iix7Y2hpbGRyZW46W0coImRpdiIse3N0eWxlOkw5LGNoaWxkcmVuOlB9KSxJLm1hcCgoTSk9PntsZXQgQz1xLmhhcyhNLnVkaWQpLHg9TS5zdGF0ZT09PSJCb290ZWQiO3JldHVybiBHKCJkaXYiLHtzdHlsZTpoNixvbk1vdXNlRW50ZXI6KEUpPT5FLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZD0icmdiYSgyNTUsMjU1LDI1NSwwLjA4KSIsb25Nb3VzZUxlYXZlOihFKT0+RS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InRyYW5zcGFyZW50IixvbkNsaWNrOigpPT57JChNKSxCKCExKX0sY2hpbGRyZW46W0coInNwYW4iLHtzdHlsZTpwNih4PyIjNGFkZTgwIjoiIzQ0NCIpfSksRygic3BhbiIse3N0eWxlOntmbGV4OjF9LGNoaWxkcmVuOk0ubmFtZX0pLHgmJkcoInNwYW4iLHtyb2xlOiJidXR0b24iLG9uQ2xpY2s6KEUpPT57aWYoRS5zdG9wUHJvcGFnYXRpb24oKSwhQylXKE0udWRpZCl9LHN0eWxlOntmb250U2l6ZToxMCxwYWRkaW5nOiIxcHggNnB4Iixib3JkZXJSYWRpdXM6NCxjb2xvcjpDPyIjODg4IjoiI2Y4NzE3MSIsYmFja2dyb3VuZDpDPyJ0cmFuc3BhcmVudCI6InJnYmEoMjQ4LDExMywxMTMsMC4xKSIsY3Vyc29yOkM/ImRlZmF1bHQiOiJwb2ludGVyIn0sY2hpbGRyZW46Qz8iU3RvcHBpbmcuLi4iOiJTdG9wIn0pXX0sTS51ZGlkKX0pXX0sUCkpXX0pXX0pfWZ1bmN0aW9uIHA2KEope3JldHVybnt3aWR0aDo2LGhlaWdodDo2LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOkosZmxleFNocmluazowfX12YXIgcjg9bmV3IFNldChbImltYWdlL2pwZWciLCJpbWFnZS9wbmciLCJpbWFnZS9naWYiLCJpbWFnZS9oZWljIiwiaW1hZ2UvaGVpZiIsImltYWdlL3dlYnAiLCJ2aWRlby9tcDQiLCJ2aWRlby9xdWlja3RpbWUiXSkseDY9MjYyMTQ0LHQ4PTUyNDI4ODAwMDtmdW5jdGlvbiBuOChKKXtpZihrNChKKT09PSJpcGEiKXJldHVybiJpcGEiO2lmKHI4LmhhcyhKLnR5cGUpKXJldHVybiJtZWRpYSI7cmV0dXJuIG51bGx9ZnVuY3Rpb24gZTgoSil7bGV0IFg9bmV3IFVpbnQ4QXJyYXkoSiksWT0iIjtmb3IobGV0IFo9MDtaPFgubGVuZ3RoO1orKylZKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFhbWl0pO3JldHVybiBidG9hKFkpfWZ1bmN0aW9uIGs0KEope2xldCBYPUoubmFtZSxZPVgubGFzdEluZGV4T2YoIi4iKTtpZihZPj0wKXJldHVybiBYLnNsaWNlKFkrMSkudG9Mb3dlckNhc2UoKTtpZihKLnR5cGUuc3RhcnRzV2l0aCgidmlkZW8vIikpcmV0dXJuIm1wNCI7cmV0dXJuImpwZyJ9YXN5bmMgZnVuY3Rpb24gSjkoSixYLFksWil7aWYoSi5zaXplPnQ4KXRocm93IEVycm9yKCJGaWxlIHRvbyBsYXJnZSAobWF4IDUwME1CKSIpO2xldCBxPVg9PT0iaXBhIj8iaXBhIjprNChKKSwkPWAvdG1wLyR7WD09PSJpcGEiPyJoYXRjaC1pbnN0YWxsIjoiaGF0Y2gtdXBsb2FkIn0tJHtjcnlwdG8ucmFuZG9tVVVJRCgpfS4ke3F9YDt0cnl7bGV0IFc9YXdhaXQgSi5hcnJheUJ1ZmZlcigpLE49ZTgoVyk7Zm9yKGxldCBLPTA7SzxOLmxlbmd0aDtLKz14Nil7bGV0IF89Ti5zbGljZShLLEsreDYpLEQ9YXdhaXQgWShgYmFzaCAtYyAnZWNobyAke199IHwgYmFzZTY0IC1kICR7Sz09PTA/Ij4iOiI+PiJ9ICR7JH0nYCk7aWYoRC5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoRC5zdGRlcnJ8fGBXcml0ZSBmYWlsZWQgKGV4aXQgJHtELmV4aXRDb2RlfSlgKX1sZXQgej1YPT09ImlwYSI/YHhjcnVuIHNpbWN0bCBpbnN0YWxsICR7Wn0gJHskfWA6YHhjcnVuIHNpbWN0bCBhZGRtZWRpYSAke1p9ICR7JH1gLEI9YXdhaXQgWSh6KTtpZihCLmV4aXRDb2RlIT09MCl7bGV0IEs9WD09PSJpcGEiPyJpbnN0YWxsIjoiYWRkbWVkaWEiO3Rocm93IEVycm9yKEIuc3RkZXJyfHxgJHtLfSBmYWlsZWQgKGV4aXQgJHtCLmV4aXRDb2RlfSlgKX19ZmluYWxseXtZKGBiYXNoIC1jICdybSAtZiAkeyR9J2ApLmNhdGNoKCgpPT57fSl9fWZ1bmN0aW9uIFg5KCl7bGV0W0osWF09YihbXSksWT1TKChxLFEpPT57bGV0ICQ9Y3J5cHRvLnJhbmRvbVVVSUQoKTtyZXR1cm4gWCgoVyk9PlsuLi5XLHtpZDokLG5hbWU6cSxraW5kOlEsc3RhdHVzOiJ1cGxvYWRpbmcifV0pLCR9LFtdKSxaPVMoKHEsUSk9PntpZihYKCgkKT0+JC5tYXAoKFcpPT5XLmlkPT09cT97Li4uVywuLi5RfTpXKSksUS5zdGF0dXM9PT0ic3VjY2VzcyJ8fFEuc3RhdHVzPT09ImVycm9yIilzZXRUaW1lb3V0KCgpPT57WCgoJCk9PiQuZmlsdGVyKChXKT0+Vy5pZCE9PXEpKX0sMzAwMCl9LFtdKTtyZXR1cm57dG9hc3RzOkosYWRkOlksdXBkYXRlOlp9fWZ1bmN0aW9uIFk5KHtleGVjOkosdWRpZDpYLGVuYWJsZWQ6WSxvblVwbG9hZFN0YXJ0Olosb25VcGxvYWRFbmQ6cSxvblVuc3VwcG9ydGVkOlF9KXtsZXRbJCxXXT1iKCExKSxOPVQoMCksej1TKGFzeW5jKEEpPT57aWYoQS5wcmV2ZW50RGVmYXVsdCgpLEEuc3RvcFByb3BhZ2F0aW9uKCksTi5jdXJyZW50PTAsVyghMSksIVl8fCFYKXJldHVybjtsZXQgRD1BcnJheS5mcm9tKEEuZGF0YVRyYW5zZmVyLmZpbGVzKTtpZihELmxlbmd0aD09PTApcmV0dXJuO2ZvcihsZXQgUCBvZiBEKXtsZXQgST1uOChQKTtpZighSSl7UShQKTtjb250aW51ZX1sZXQgTT1aKFAubmFtZSxJKTtKOShQLEksSixYKS50aGVuKCgpPT5xKE0sITApKS5jYXRjaCgoQyk9PnEoTSwhMSxDIGluc3RhbmNlb2YgRXJyb3I/Qy5tZXNzYWdlOiJVcGxvYWQgZmFpbGVkIikpfX0sW1ksWCxKLFoscSxRXSksQj1TKChBKT0+e2lmKEEucHJldmVudERlZmF1bHQoKSxZKUEuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9ImNvcHkifSxbWV0pLEs9UygoQSk9PntpZihBLnByZXZlbnREZWZhdWx0KCksIVkpcmV0dXJuO2lmKE4uY3VycmVudCsrLE4uY3VycmVudD09PTEpVyghMCl9LFtZXSksXz1TKChBKT0+e2lmKEEucHJldmVudERlZmF1bHQoKSxOLmN1cnJlbnQtLSxOLmN1cnJlbnQ8PTApTi5jdXJyZW50PTAsVyghMSl9LFtdKTtyZXR1cm57aXNEcmFnT3ZlcjokLGRyb3Bab25lUHJvcHM6e29uRHJhZ092ZXI6QixvbkRyYWdFbnRlcjpLLG9uRHJhZ0xlYXZlOl8sb25Ecm9wOnp9fX1mdW5jdGlvbiBaOSgpe2xldCBKPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18sW1gsWV09YighMSksW1oscV09YihbXSksW1EsJF09YighMSksW1csTl09YihudWxsKSxbeixCXT1iKG5ldyBTZXQpLFtLLF9dPWIoITEpLEE9Uyhhc3luYygpPT57JCghMCksTihudWxsKTt0cnl7bGV0IE89YXdhaXQgSDAoInhjcnVuIHNpbWN0bCBsaXN0IGRldmljZXMgYXZhaWxhYmxlIC1qIik7aWYoTy5leGl0Q29kZSE9PTApdGhyb3cgRXJyb3IoTy5zdGRlcnJ8fCJzaW1jdGwgbGlzdCBmYWlsZWQiKTtxKG84KE8uc3Rkb3V0KSl9Y2F0Y2goTyl7TihPIGluc3RhbmNlb2YgRXJyb3I/Ty5tZXNzYWdlOiJGYWlsZWQgdG8gbGlzdCBkZXZpY2VzIil9ZmluYWxseXskKCExKX19LFtdKTtpZih5KCgpPT57QSgpfSxbQV0pLHkoKCk9PntpZighSj8ubG9nc0VuZHBvaW50KXJldHVybjtsZXQgTz1uZXcgRXZlbnRTb3VyY2UoSi5sb2dzRW5kcG9pbnQpLFI9bmV3IE1hcCx2PVsiIzhiZTlmZCIsIiM1MGZhN2IiLCIjZmZiODZjIiwiI2ZmNzljNiIsIiNiZDkzZjkiLCIjZjFmYThjIiwiIzYyNzJhNCIsIiNmZjU1NTUiLCIjNjlmZjk0IiwiI2Q2YWNmZiIsIiNmZmZmYTUiLCIjYTRmZmZmIiwiI2ZmNmU2ZSIsIiNjYWE5ZmEiLCIjNWFmNzhlIl07ZnVuY3Rpb24gdyhRMCl7bGV0IGc9Ui5nZXQoUTApO2lmKCFnKXtsZXQgdD0wO2ZvcihsZXQgdT0wO3U8UTAubGVuZ3RoO3UrKyl0PSh0PDw1KS10K1EwLmNoYXJDb2RlQXQodSl8MDtnPXZbTWF0aC5hYnModCkldi5sZW5ndGhdLFIuc2V0KFEwLGcpfXJldHVybiBnfWxldCBsPSIiLGk9ITE7cmV0dXJuIE8ub25tZXNzYWdlPShRMCk9Pnt0cnl7bGV0IGc9SlNPTi5wYXJzZShRMC5kYXRhKSx0PWcucHJvY2Vzc0ltYWdlUGF0aD8uc3BsaXQoIi8iKS5wb3AoKT8/Zy5zZW5kZXJJbWFnZVBhdGg/LnNwbGl0KCIvIikucG9wKCk/PyIiLHU9Zy5zdWJzeXN0ZW0/PyIiLGE9Zy5jYXRlZ29yeT8/IiIsbz1nLmV2ZW50TWVzc2FnZT8/IiI7aWYoIW8pcmV0dXJuO2lmKHQhPT1sKXtpZihpKWNvbnNvbGUuZ3JvdXBFbmQoKTtsZXQgdzA9dyh0KTtjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGAlYyR7dH0ke3U/YCAlYyR7dX0ke2E/IjoiK2E6IiJ9YDoiIn1gLGBjb2xvcjoke3cwfTtmb250LXdlaWdodDpib2xkYCwuLi51P1siY29sb3I6Izg4ODtmb250LXdlaWdodDpub3JtYWwiXTpbXSksaT0hMCxsPXR9bGV0IFUwPShnLm1lc3NhZ2VUeXBlPz8iIikudG9Mb3dlckNhc2UoKSxCMD11JiZ0PT09bD9gJWMke2F8fHV9JWMgYDoiIixMMD1CMD9bImNvbG9yOiM4ODg7Zm9udC1zdHlsZTppdGFsaWMiLCJjb2xvcjppbmhlcml0Il06W107aWYoVTA9PT0iZmF1bHQifHxVMD09PSJlcnJvciIpY29uc29sZS5sb2coYCR7QjB9JWMke299YCwuLi5MMCwiY29sb3I6I2ZmNTU1NSIpO2Vsc2UgaWYoVTA9PT0iZGVidWciKWNvbnNvbGUubG9nKGAke0IwfSVjJHtvfWAsLi4uTDAsImNvbG9yOiM2MjcyYTQiKTtlbHNlIGNvbnNvbGUubG9nKGAke0IwfSVjJHtvfWAsLi4uTDAsImNvbG9yOmluaGVyaXQiKX1jYXRjaHt9fSwoKT0+e2lmKGkpY29uc29sZS5ncm91cEVuZCgpO08uY2xvc2UoKX19LFtKPy5sb2dzRW5kcG9pbnRdKSwhSilyZXR1cm4gRygiZGl2Iix7c3R5bGU6WDAucGFnZSxjaGlsZHJlbjpHKCJkaXYiLHtzdHlsZTpYMC5lbXB0eSxjaGlsZHJlbjpbRygiaDEiLHtzdHlsZTpYMC5lbXB0eVRpdGxlLGNoaWxkcmVuOiJObyBzZXJ2ZS1zaW0gc3RyZWFtIHJ1bm5pbmcifSksRygicCIse3N0eWxlOlgwLmVtcHR5SGludCxjaGlsZHJlbjpbIkJvb3QgYW4gaU9TIHNpbXVsYXRvciBhbmQgc3RhcnQgYSBIYXRjaCBzdHJlYW0gd2l0aCIsIiAiLEcoImNvZGUiLHtzdHlsZTpYMC5jb2RlLGNoaWxkcmVuOiJidW54IHNlcnZlLXNpbSAtLWRldGFjaCJ9KSwiLCB0aGVuIHJlbG9hZC4iXX0pXX0pfSk7bGV0IEQ9Wi5maW5kKChPKT0+Ty51ZGlkPT09Si5kZXZpY2UpPz9udWxsO3koKCk9Pntkb2N1bWVudC50aXRsZT1EPy5uYW1lP2BTaW11bGF0b3IgLSAke0QubmFtZX1gOiJTaW11bGF0b3IgUHJldmlldyJ9LFtEPy5uYW1lXSk7bGV0IFA9TTAoRD8ubmFtZSksST1XMFtQXSxNPUkud2lkdGgtMipJLmJlemVsWCxDPUkuaGVpZ2h0LTIqSS5iZXplbFkseD1KNChQKSxFPVA9PT0idmlzaW9uIj81ODA6UD09PSJpcGFkIj80MDA6UD09PSJ3YXRjaCI/MjAwOjMyMCxKMD1sOChKLnN0cmVhbVVybCksWTA9VChudWxsKTt5KCgpPT57bGV0IE89bmV3IFdlYlNvY2tldChKLndzVXJsKTtyZXR1cm4gTy5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsWTAuY3VycmVudD1PLCgpPT57Ty5jbG9zZSgpLFkwLmN1cnJlbnQ9bnVsbH19LFtKLndzVXJsXSk7bGV0IGg9UygoTyxSKT0+e2xldCB2PVkwLmN1cnJlbnQ7aWYoIXZ8fHYucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgdz1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoUikpLGw9bmV3IFVpbnQ4QXJyYXkoMSt3Lmxlbmd0aCk7bFswXT1PLGwuc2V0KHcsMSksdi5zZW5kKGwpfSxbXSksSzA9UygoTyk9PmgoMyxPKSxbaF0pLHM9UygoTyk9PmgoNSxPKSxbaF0pLHI9UygoTyk9PmgoNCx7YnV0dG9uOk99KSxbaF0pLEYwPVMoKE8sUik9PntoKDYse3R5cGU6Tyx1c2FnZTpSfSl9LFtoXSksW3YwLHkwXT1iKG51bGwpO3koKCk9PntsZXQgTz1uZXcgRXZlbnRTb3VyY2UoIi9hcHBzdGF0ZSIpLFI9bnVsbDtyZXR1cm4gTy5vbm1lc3NhZ2U9KHYpPT57dHJ5e2xldCB3PUpTT04ucGFyc2Uodi5kYXRhKTtpZihSKWNsZWFyVGltZW91dChSKTtsZXQgbD13Py5pc1JlYWN0TmF0aXZlPzA6NjAwO1I9c2V0VGltZW91dCgoKT0+eTAodyksbCl9Y2F0Y2h7fX0sKCk9PntpZihSKWNsZWFyVGltZW91dChSKTtPLmNsb3NlKCl9fSxbXSk7bGV0IEEwPVMoYXN5bmMoKT0+e0YwKCJkb3duIiwyMjcpLGF3YWl0IG5ldyBQcm9taXNlKCh2KT0+c2V0VGltZW91dCh2LDMwKSksRjAoImRvd24iLDIxKSxhd2FpdCBuZXcgUHJvbWlzZSgodik9PnNldFRpbWVvdXQodiwzMCkpLEYwKCJ1cCIsMjEpLGF3YWl0IG5ldyBQcm9taXNlKCh2KT0+c2V0VGltZW91dCh2LDMwKSksRjAoInVwIiwyMjcpfSxbRjBdKTt5KCgpPT57bGV0IE89KHcsbCk9PntpZih3LmNvZGU9PT0iS2V5SCImJncubWV0YUtleSYmdy5zaGlmdEtleSl7aWYody5wcmV2ZW50RGVmYXVsdCgpLGw9PT0iZG93biImJiF3LnJlcGVhdCloKDQse2J1dHRvbjoiaG9tZSJ9KTtyZXR1cm59aWYody5jb2RlPT09IktleUEiJiZ3Lm1ldGFLZXkmJncuc2hpZnRLZXkpe2lmKHcucHJldmVudERlZmF1bHQoKSxsPT09ImRvd24iJiYhdy5yZXBlYXQpSDAoYHhjcnVuIHNpbWN0bCB1aSAke0ouZGV2aWNlfSBhcHBlYXJhbmNlYCkudGhlbigoUTApPT57bGV0IGc9UTAuc3Rkb3V0LnRyaW0oKT09PSJkYXJrIj8ibGlnaHQiOiJkYXJrIjtyZXR1cm4gSDAoYHhjcnVuIHNpbWN0bCB1aSAke0ouZGV2aWNlfSBhcHBlYXJhbmNlICR7Z31gKX0pLmNhdGNoKCgpPT57fSk7cmV0dXJufWxldCBpPWk4KHcuY29kZSk7aWYoaT09bnVsbClyZXR1cm47dy5wcmV2ZW50RGVmYXVsdCgpLGgoNix7dHlwZTpsLHVzYWdlOml9KX0sUj0odyk9Pk8odywiZG93biIpLHY9KHcpPT5PKHcsInVwIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixSKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHYpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLFIpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdil9fSxbaCxKLmRldmljZV0pO2xldCBaND1TKGFzeW5jKE8pPT57aWYoS3x8Ty51ZGlkPT09Si5kZXZpY2UpcmV0dXJuO18oITApO3RyeXtpZihPLnN0YXRlIT09IkJvb3RlZCIpYXdhaXQgSDAoYHhjcnVuIHNpbWN0bCBib290ICR7Ty51ZGlkfWApO2F3YWl0IEgwKGBidW54IHNlcnZlLXNpbSAtLWtpbGwgJHtKLmRldmljZX1gKSxhd2FpdCBIMChgYnVueCBzZXJ2ZS1zaW0gLS1kZXRhY2ggJHtPLnVkaWR9YCksd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfWNhdGNoe18oITEpfX0sW0ssSi5kZXZpY2VdKSx6MD1YOSgpLFowPVk5KHtleGVjOkgwLHVkaWQ6Si5kZXZpY2UsZW5hYmxlZDpYLG9uVXBsb2FkU3RhcnQ6ejAuYWRkLG9uVXBsb2FkRW5kOihPLFIsdik9PnowLnVwZGF0ZShPLHtzdGF0dXM6Uj8ic3VjY2VzcyI6ImVycm9yIixtZXNzYWdlOnZ9KSxvblVuc3VwcG9ydGVkOihPKT0+e2xldCBSPXowLmFkZChPLm5hbWUsIm1lZGlhIik7ejAudXBkYXRlKFIse3N0YXR1czoiZXJyb3IiLG1lc3NhZ2U6YFVuc3VwcG9ydGVkOiAke08udHlwZXx8azQoTyl9YH0pfX0pLEMwPVMoYXN5bmMoTyk9PntCKChSKT0+bmV3IFNldChSKS5hZGQoTykpO3RyeXthd2FpdCBIMChgeGNydW4gc2ltY3RsIHNodXRkb3duICR7T31gKSxhd2FpdCBBKCl9ZmluYWxseXtCKChSKT0+e2xldCB2PW5ldyBTZXQoUik7cmV0dXJuIHYuZGVsZXRlKE8pLHZ9KX19LFtBXSk7cmV0dXJuIEcoImRpdiIse3N0eWxlOlgwLnBhZ2UsY2hpbGRyZW46W0cobix7ZXhlYzpIMCxkZXZpY2VVZGlkOkouZGV2aWNlLGRldmljZU5hbWU6RD8ubmFtZT8/bnVsbCxkZXZpY2VSdW50aW1lOkQ/LnJ1bnRpbWU/P251bGwsc3RyZWFtaW5nOlgsc3R5bGU6e21heFdpZHRoOkV9LGNoaWxkcmVuOltHKHM4LHtkZXZpY2VzOlosc2VsZWN0ZWRVZGlkOkouZGV2aWNlLGxvYWRpbmc6USxlcnJvcjpXLHN0b3BwaW5nVWRpZHM6eixvblJlZnJlc2g6QSxvblNlbGVjdDpaNCxvblN0b3A6QzAsdHJpZ2dlcjpHKG4uVGl0bGUse30pfSksRyhuLkFjdGlvbnMse2NoaWxkcmVuOlt2MD8uaXNSZWFjdE5hdGl2ZSYmRyhuLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiJSZWxvYWQgUmVhY3QgTmF0aXZlIGJ1bmRsZSIsdGl0bGU6IlJlbG9hZCAoQ21kK1IpIixvbkNsaWNrOigpPT52b2lkIEEwKCksY2hpbGRyZW46Rygic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W0coInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgMy41LTcuMSJ9KSxHKCJwb2x5bGluZSIse3BvaW50czoiMyAzIDMgOSA5IDkifSldfSl9KSxHKG4uSG9tZUJ1dHRvbix7b25DbGljazooTyk9PntPLnByZXZlbnREZWZhdWx0KCkscigiaG9tZSIpfX0pLEcobi5TY3JlZW5zaG90QnV0dG9uLHt9KSxHKG4uUm90YXRlQnV0dG9uLHt9KV19KV19KSxHKCJkaXYiLHtzdHlsZTp7bWF4V2lkdGg6RSx3aWR0aDoiMTAwJSIsYXNwZWN0UmF0aW86YCR7TX0gLyAke0N9YCxwb3NpdGlvbjoicmVsYXRpdmUifSwuLi5aMC5kcm9wWm9uZVByb3BzLGNoaWxkcmVuOltHKGUwLHt1cmw6Si51cmwsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGJvcmRlcjoibm9uZSJ9LGltYWdlU3R5bGU6e2JvcmRlclJhZGl1czp4LGNvcm5lclNoYXBlOiJzdXBlcmVsbGlwc2UoMS4zKSJ9LGhpZGVDb250cm9sczohMCxvblN0cmVhbWluZ0NoYW5nZTpZLG9uU3RyZWFtVG91Y2g6SzAsb25TdHJlYW1NdWx0aVRvdWNoOnMsb25TdHJlYW1CdXR0b246cixzdWJzY3JpYmVGcmFtZTpKMC5zdWJzY3JpYmVGcmFtZSxzdHJlYW1GcmFtZTpKMC5mcmFtZSxzdHJlYW1Db25maWc6SjAuY29uZmlnfSksWjAuaXNEcmFnT3ZlciYmRygiZGl2Iix7c3R5bGU6ey4uLlgwLmRyb3BPdmVybGF5LGJvcmRlclJhZGl1czp4fSxjaGlsZHJlbjpbRygic3ZnIix7d2lkdGg6IjMyIixoZWlnaHQ6IjMyIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS41IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbRygicGF0aCIse2Q6Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00In0pLEcoInBvbHlsaW5lIix7cG9pbnRzOiIxNyA4IDEyIDMgNyA4In0pLEcoImxpbmUiLHt4MToiMTIiLHkxOiIzIix4MjoiMTIiLHkyOiIxNSJ9KV19KSxHKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NTAwfSxjaGlsZHJlbjoiRHJvcCBtZWRpYSBvciAuaXBhIn0pXX0pXX0pLHowLnRvYXN0cy5sZW5ndGg+MCYmRygiZGl2Iix7c3R5bGU6WDAudG9hc3RTdGFjayxjaGlsZHJlbjp6MC50b2FzdHMubWFwKChPKT0+RygiZGl2Iix7c3R5bGU6WDAudG9hc3QsY2hpbGRyZW46W0coInNwYW4iLHtzdHlsZTp7Li4uWDAuZG90LGJhY2tncm91bmQ6Ty5zdGF0dXM9PT0idXBsb2FkaW5nIj8iI2E1YjRmYyI6Ty5zdGF0dXM9PT0ic3VjY2VzcyI/IiM0YWRlODAiOiIjZjg3MTcxIn19KSxHKCJzcGFuIix7c3R5bGU6e2ZsZXg6MSxvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxjaGlsZHJlbjpbTy5zdGF0dXM9PT0idXBsb2FkaW5nIiYmKE8ua2luZD09PSJpcGEiP2BJbnN0YWxsaW5nICR7Ty5uYW1lfeKApmA6YFVwbG9hZGluZyAke08ubmFtZX3igKZgKSxPLnN0YXR1cz09PSJzdWNjZXNzIiYmKE8ua2luZD09PSJpcGEiP2BJbnN0YWxsZWQgJHtPLm5hbWV9YDpgQWRkZWQgJHtPLm5hbWV9IHRvIFBob3Rvc2ApLE8uc3RhdHVzPT09ImVycm9yIiYmYCR7Ty5uYW1lfTogJHtPLm1lc3NhZ2U/PyJVcGxvYWQgZmFpbGVkIn1gXX0pXX0sTy5pZCkpfSksRygiZGl2Iix7c3R5bGU6WDAuYmFyLGNoaWxkcmVuOkcoInNwYW4iLHtzdHlsZTp7Li4uWDAubGl2ZSxjb2xvcjpYPyIjNGFkZTgwIjoiIzY2NiJ9LGNoaWxkcmVuOltHKCJzcGFuIix7c3R5bGU6ey4uLlgwLmRvdCxiYWNrZ3JvdW5kOlg/IiM0YWRlODAiOiIjNjY2In19KSxYPyJsaXZlIjoiY29ubmVjdGluZyJdfSl9KV19KX12YXIgWDA9e3BhZ2U6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixoZWlnaHQ6IjEwMHZoIixiYWNrZ3JvdW5kOiIjMGEwYTBhIixwYWRkaW5nOjI0LGdhcDoxMixmb250RmFtaWx5OiItYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYifSxiYXI6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjEwLGZvbnRTaXplOjEyLGZvbnRGYW1pbHk6InVpLW1vbm9zcGFjZSwgbW9ub3NwYWNlIixjb2xvcjoiIzY2NiJ9LGxpdmU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjUsdHJhbnNpdGlvbjoiY29sb3IgMC4zcyJ9LGRvdDp7d2lkdGg6NixoZWlnaHQ6Nixib3JkZXJSYWRpdXM6IjUwJSIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZCAwLjNzIn0sZW1wdHk6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MTIsdGV4dEFsaWduOiJjZW50ZXIifSxlbXB0eVRpdGxlOntmb250U2l6ZToxOCxtYXJnaW46MCxjb2xvcjoiI2VlZSJ9LGVtcHR5SGludDp7Y29sb3I6IiM4ODgiLGZvbnRTaXplOjE0LG1heFdpZHRoOjQ4MH0sY29kZTp7YmFja2dyb3VuZDoiIzIyMiIscGFkZGluZzoiMnB4IDZweCIsYm9yZGVyUmFkaXVzOjQsZm9udFNpemU6MTN9LGRyb3BPdmVybGF5Ontwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGdhcDo4LGJvcmRlcjoiMnB4IGRhc2hlZCAjYTViNGZjIixiYWNrZ3JvdW5kOiJyZ2JhKDk5LDEwMiwyNDEsMC4xMikiLGJhY2tkcm9wRmlsdGVyOiJibHVyKDJweCkiLGNvbG9yOiIjYTViNGZjIixwb2ludGVyRXZlbnRzOiJub25lIix6SW5kZXg6MjB9LHRvYXN0U3RhY2s6e3Bvc2l0aW9uOiJmaXhlZCIsYm90dG9tOjE2LHJpZ2h0OjE2LGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjYsbWF4V2lkdGg6MzIwLHpJbmRleDozMH0sdG9hc3Q6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiOHB4IDEycHgiLGJhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikiLGJvcmRlclJhZGl1czo4LGNvbG9yOiIjZWVlIixmb250U2l6ZToxMixmb250RmFtaWx5OiJ1aS1tb25vc3BhY2UsIG1vbm9zcGFjZSIsYm94U2hhZG93OiIwIDRweCAxMnB4IHJnYmEoMCwwLDAsMC40KSJ9fSxxOT17cG9zaXRpb246ImFic29sdXRlIix0b3A6ImNhbGMoMTAwJSArIDZweCkiLGxlZnQ6MCxtaW5XaWR0aDoyNjAsbWF4SGVpZ2h0OjM2MCxvdmVyZmxvd1k6ImF1dG8iLGJhY2tncm91bmQ6IiMxYzFjMWUiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikiLGJvcmRlclJhZGl1czoxMCxwYWRkaW5nOjQsYm94U2hhZG93OiIwIDhweCAyNHB4IHJnYmEoMCwwLDAsMC41KSIsZm9udEZhbWlseToidWktbW9ub3NwYWNlLCBtb25vc3BhY2UiLGZvbnRTaXplOjEzLGNvbG9yOiIjZWVlIix6SW5kZXg6MjB9LFE5PXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixwYWRkaW5nOiI2cHggMTBweCIsZm9udFNpemU6MTEsY29sb3I6IiNhYWEifSwkOT17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsY29sb3I6IiNhNWI0ZmMiLGZvbnRTaXplOjExLGN1cnNvcjoicG9pbnRlciIscGFkZGluZzowfSxLOT17cGFkZGluZzoiNnB4IDEwcHgiLGNvbG9yOiIjZjg3MTcxIixmb250U2l6ZToxMX0saDY9e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjgscGFkZGluZzoiNnB4IDEwcHgiLGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsdHJhbnNpdGlvbjoiYmFja2dyb3VuZCAwLjE1cyJ9LHo5PXtoZWlnaHQ6MSxiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixtYXJnaW46IjRweCAwIn0sVzk9e3BhZGRpbmc6MTIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC40KSIsZm9udFNpemU6MTEsdGV4dEFsaWduOiJjZW50ZXIifSxMOT17cGFkZGluZzoiNnB4IDEwcHggMnB4Iixmb250U2l6ZToxMCxmb250V2VpZ2h0OjYwMCxjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjQpIix0ZXh0VHJhbnNmb3JtOiJ1cHBlcmNhc2UiLGxldHRlclNwYWNpbmc6IjAuMDhlbSJ9O1A2KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb290IikpLnJlbmRlcihHKFo5LHt9KSk7Cjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg==","base64").toString("utf-8");return A}function o(Y){let J=(Y?.basePath??"/.sim").replace(/\/+$/,"");return(Q,z,Z)=>{let C=Q.url??"";if(C===J||C===J+"/"){let V=L()[0]??null,W=h();if(V){let H=`<script>window.__SIM_PREVIEW__=${JSON.stringify({...V,logsEndpoint:J+"/logs"})}</script>`;W=W.replace("<!--__SIM_PREVIEW_CONFIG__-->",H)}z.writeHead(200,{"Content-Type":"text/html; charset=utf-8","Cache-Control":"no-store"}),z.end(W);return}if(C===J+"/api"){let X=L();z.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),z.end(JSON.stringify(X[0]||null));return}if((C===J+"/exec"||C===J+"/exec/")&&Q.method==="POST"){let X="";Q.on("data",(V)=>{X+=typeof V==="string"?V:V.toString()}),Q.on("end",()=>{let V="";try{V=JSON.parse(X).command??""}catch{}if(!V){z.writeHead(400,{"Content-Type":"application/json"}),z.end(JSON.stringify({stdout:"",stderr:"Missing command",exitCode:1}));return}q(V,{maxBuffer:16777216},(W,$,H)=>{z.writeHead(200,{"Content-Type":"application/json"}),z.end(JSON.stringify({stdout:$.toString(),stderr:H.toString(),exitCode:W?W.code??1:0}))})});return}if(C===J+"/logs"||C.startsWith(J+"/logs?")){let X=L();if(X.length===0){z.writeHead(404),z.end("No serve-sim device");return}let V=X[0].device;z.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no"}),z.write(`:
3
3
 
4
4
  `);let W=U("xcrun",["simctl","spawn",V,"log","stream","--style","ndjson","--level","info"],{stdio:["ignore","pipe","ignore"]}),$="";W.stdout.on("data",(H)=>{$+=H.toString();let G;while((G=$.indexOf(`
5
5
  `))!==-1){let M=$.slice(0,G).trim();if($=$.slice(G+1),M)z.write("data: "+M+`