| 
					
				 | 
			
			
				@@ -1016,48 +1016,12 @@ namespace Emby.Server.Implementations 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             AuthenticatedAttribute.AuthService = AuthService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private async void PluginInstalled(object sender, GenericEventArgs<PackageVersionInfo> args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            string dir = Path.Combine(ApplicationPaths.PluginsPath, args.Argument.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var types = Directory.EnumerateFiles(dir, "*.dll", SearchOption.AllDirectories) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .Select(Assembly.LoadFrom) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .SelectMany(x => x.ExportedTypes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .Where(x => x.IsClass && !x.IsAbstract && !x.IsInterface && !x.IsGenericType) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .ToArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            int oldLen = _allConcreteTypes.Length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Array.Resize(ref _allConcreteTypes, oldLen + types.Length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            types.CopyTo(_allConcreteTypes, oldLen); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var plugins = types.Where(x => x.IsAssignableFrom(typeof(IPlugin))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .Select(CreateInstanceSafe) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .Where(x => x != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .Cast<IPlugin>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .Select(LoadPlugin) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .Where(x => x != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .ToArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            oldLen = _plugins.Length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Array.Resize(ref _plugins, oldLen + plugins.Length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            plugins.CopyTo(_plugins, oldLen); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var entries = types.Where(x => x.IsAssignableFrom(typeof(IServerEntryPoint))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .Select(CreateInstanceSafe) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .Where(x => x != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .Cast<IServerEntryPoint>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            await Task.WhenAll(StartEntryPoints(entries, true)).ConfigureAwait(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            await Task.WhenAll(StartEntryPoints(entries, false)).ConfigureAwait(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// <summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// Finds the parts. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// </summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public void FindParts() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             InstallationManager = ServiceProvider.GetService<IInstallationManager>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            InstallationManager.PluginInstalled += PluginInstalled; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!ServerConfigurationManager.Configuration.IsPortAuthorized) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 |