|  | @ -249,7 +249,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |             if (CHECK_MASK(mConfig->sys.protectionMask, mask)) |  |  |             if (CHECK_MASK(mConfig->sys.protectionMask, mask)) | 
			
		
	
		
		
			
				
					|  |  |                 checkProtection(request); |  |  |                 checkProtection(request); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html; charset=UTF-8"), zippedHtml, len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), zippedHtml, len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             response->addHeader(F("content-type"), "text/html; charset=UTF-8"); |  |  |             response->addHeader(F("content-type"), "text/html; charset=UTF-8"); | 
			
		
	
		
		
			
				
					|  |  |             if(request->hasParam("v")) |  |  |             if(request->hasParam("v")) | 
			
		
	
	
		
		
			
				
					|  | @ -339,7 +339,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |                 } |  |  |                 } | 
			
		
	
		
		
			
				
					|  |  |             } |  |  |             } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html; charset=UTF-8"), login_html, login_html_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), login_html, login_html_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             request->send(response); |  |  |             request->send(response); | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
	
		
		
			
				
					|  | @ -350,7 +350,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |             checkProtection(request); |  |  |             checkProtection(request); | 
			
		
	
		
		
			
				
					|  |  |             mApp->lock(true); |  |  |             mApp->lock(true); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html; charset=UTF-8"), system_html, system_html_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), system_html, system_html_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             request->send(response); |  |  |             request->send(response); | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
	
		
		
			
				
					|  | @ -359,9 +359,9 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |             DPRINTLN(DBG_VERBOSE, F("onColor")); |  |  |             DPRINTLN(DBG_VERBOSE, F("onColor")); | 
			
		
	
		
		
			
				
					|  |  |             AsyncWebServerResponse *response; |  |  |             AsyncWebServerResponse *response; | 
			
		
	
		
		
			
				
					|  |  |             if (mConfig->sys.darkMode) |  |  |             if (mConfig->sys.darkMode) | 
			
		
	
		
		
			
				
					
					|  |  |                 response = request->beginResponse_P(200, F("text/css"), colorDark_css, colorDark_css_len); |  |  |                 response = request->beginResponse(200, F("text/css"), colorDark_css, colorDark_css_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             else |  |  |             else | 
			
		
	
		
		
			
				
					
					|  |  |                 response = request->beginResponse_P(200, F("text/css"), colorBright_css, colorBright_css_len); |  |  |                 response = request->beginResponse(200, F("text/css"), colorBright_css, colorBright_css_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             if(request->hasParam("v")) { |  |  |             if(request->hasParam("v")) { | 
			
		
	
		
		
			
				
					|  |  |                 response->addHeader(F("Cache-Control"), F("max-age=604800")); |  |  |                 response->addHeader(F("Cache-Control"), F("max-age=604800")); | 
			
		
	
	
		
		
			
				
					|  | @ -371,7 +371,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         void onCss(AsyncWebServerRequest *request) { |  |  |         void onCss(AsyncWebServerRequest *request) { | 
			
		
	
		
		
			
				
					|  |  |             DPRINTLN(DBG_VERBOSE, F("onCss")); |  |  |             DPRINTLN(DBG_VERBOSE, F("onCss")); | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/css"), style_css, style_css_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/css"), style_css, style_css_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             if(request->hasParam("v")) { |  |  |             if(request->hasParam("v")) { | 
			
		
	
		
		
			
				
					|  |  |                 response->addHeader(F("Cache-Control"), F("max-age=604800")); |  |  |                 response->addHeader(F("Cache-Control"), F("max-age=604800")); | 
			
		
	
	
		
		
			
				
					|  | @ -382,7 +382,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |         void onApiJs(AsyncWebServerRequest *request) { |  |  |         void onApiJs(AsyncWebServerRequest *request) { | 
			
		
	
		
		
			
				
					|  |  |             DPRINTLN(DBG_VERBOSE, F("onApiJs")); |  |  |             DPRINTLN(DBG_VERBOSE, F("onApiJs")); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/javascript"), api_js, api_js_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/javascript"), api_js, api_js_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             if(request->hasParam("v")) |  |  |             if(request->hasParam("v")) | 
			
		
	
		
		
			
				
					|  |  |                 response->addHeader(F("Cache-Control"), F("max-age=604800")); |  |  |                 response->addHeader(F("Cache-Control"), F("max-age=604800")); | 
			
		
	
	
		
		
			
				
					|  | @ -392,7 +392,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |         void onGridInfoJson(AsyncWebServerRequest *request) { |  |  |         void onGridInfoJson(AsyncWebServerRequest *request) { | 
			
		
	
		
		
			
				
					|  |  |             DPRINTLN(DBG_VERBOSE, F("onGridInfoJson")); |  |  |             DPRINTLN(DBG_VERBOSE, F("onGridInfoJson")); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("application/json; charset=utf-8"), grid_info_json, grid_info_json_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("application/json; charset=utf-8"), grid_info_json, grid_info_json_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             if(request->hasParam("v")) |  |  |             if(request->hasParam("v")) | 
			
		
	
		
		
			
				
					|  |  |                 response->addHeader(F("Cache-Control"), F("max-age=604800")); |  |  |                 response->addHeader(F("Cache-Control"), F("max-age=604800")); | 
			
		
	
	
		
		
			
				
					|  | @ -401,7 +401,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         void onFavicon(AsyncWebServerRequest *request) { |  |  |         void onFavicon(AsyncWebServerRequest *request) { | 
			
		
	
		
		
			
				
					|  |  |             static const char favicon_type[] PROGMEM = "image/x-icon"; |  |  |             static const char favicon_type[] PROGMEM = "image/x-icon"; | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, favicon_type, favicon_ico, favicon_ico_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, favicon_type, favicon_ico, favicon_ico_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             request->send(response); |  |  |             request->send(response); | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
	
		
		
			
				
					|  | @ -414,7 +414,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         void onReboot(AsyncWebServerRequest *request) { |  |  |         void onReboot(AsyncWebServerRequest *request) { | 
			
		
	
		
		
			
				
					|  |  |             mApp->setRebootFlag(); |  |  |             mApp->setRebootFlag(); | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html; charset=UTF-8"), system_html, system_html_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), system_html, system_html_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             request->send(response); |  |  |             request->send(response); | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
	
		
		
			
				
					|  | @ -422,7 +422,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |         void showHtml(AsyncWebServerRequest *request) { |  |  |         void showHtml(AsyncWebServerRequest *request) { | 
			
		
	
		
		
			
				
					|  |  |             checkProtection(request); |  |  |             checkProtection(request); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html; charset=UTF-8"), system_html, system_html_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), system_html, system_html_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             request->send(response); |  |  |             request->send(response); | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
	
		
		
			
				
					|  | @ -432,7 +432,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         void onWizard(AsyncWebServerRequest *request) { |  |  |         void onWizard(AsyncWebServerRequest *request) { | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html; charset=UTF-8"), wizard_html, wizard_html_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), wizard_html, wizard_html_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             response->addHeader(F("content-type"), "text/html; charset=UTF-8"); |  |  |             response->addHeader(F("content-type"), "text/html; charset=UTF-8"); | 
			
		
	
		
		
			
				
					|  |  |             request->send(response); |  |  |             request->send(response); | 
			
		
	
	
		
		
			
				
					|  | @ -625,7 +625,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |             mApp->saveSettings((request->arg("reboot") == "on")); |  |  |             mApp->saveSettings((request->arg("reboot") == "on")); | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html; charset=UTF-8"), save_html, save_html_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), save_html, save_html_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             request->send(response); |  |  |             request->send(response); | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
	
		
		
			
				
					|  | @ -639,7 +639,7 @@ class Web { | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         void onAbout(AsyncWebServerRequest *request) { |  |  |         void onAbout(AsyncWebServerRequest *request) { | 
			
		
	
		
		
			
				
					
					|  |  |             AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html; charset=UTF-8"), about_html, about_html_len); |  |  |             AsyncWebServerResponse *response = request->beginResponse(200, F("text/html; charset=UTF-8"), about_html, about_html_len); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |             response->addHeader(F("Content-Encoding"), "gzip"); |  |  |             response->addHeader(F("Content-Encoding"), "gzip"); | 
			
		
	
		
		
			
				
					|  |  |             response->addHeader(F("content-type"), "text/html; charset=UTF-8"); |  |  |             response->addHeader(F("content-type"), "text/html; charset=UTF-8"); | 
			
		
	
		
		
			
				
					|  |  |             if(request->hasParam("v")) { |  |  |             if(request->hasParam("v")) { | 
			
		
	
	
		
		
			
				
					|  | 
 |