| 
					
				 | 
			
			
				@@ -16,7 +16,7 @@ from timeit import default_timer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from html import escape 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from io import StringIO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import typing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from typing import List, Dict, Iterable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from typing import List, Dict, Iterable, Optional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import urllib 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import urllib.parse 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -348,7 +348,7 @@ def code_highlighter(codelines, language=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return html_code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def get_current_theme_name(override: str = None) -> str: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def get_current_theme_name(override: Optional[str] = None) -> str: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     """Returns theme name. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Checks in this order: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -373,14 +373,16 @@ def get_result_template(theme_name: str, template_name: str): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return 'result_templates/' + template_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def url_for_theme(endpoint: str, override_theme: str = None, **values): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def url_for_theme(endpoint: str, override_theme: Optional[str] = None, **values): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    suffix = "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if endpoint == 'static' and values.get('filename'): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         theme_name = get_current_theme_name(override=override_theme) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         filename_with_theme = "themes/{}/{}".format(theme_name, values['filename']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if filename_with_theme in static_files: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        file_hash = static_files.get(filename_with_theme) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if file_hash: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             values['filename'] = filename_with_theme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    url = url_for(endpoint, **values) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            suffix = "?" + file_hash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return url_for(endpoint, **values) + suffix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def proxify(url: str): 
			 |