| 
					
				 | 
			
			
				@@ -622,9 +622,17 @@ bool PrivateGenerator::PrintPreamble(grpc_generator::Printer* out) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for (StringPairSet::iterator it = imports_set.begin(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          it != imports_set.end(); ++it) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var["ModuleName"] = std::get<0>(*it); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      auto module_name = std::get<0>(*it); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var["ModuleAlias"] = std::get<1>(*it); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      out->Print(var, "import $ModuleName$ as $ModuleAlias$\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const size_t last_dot_pos = module_name.rfind('.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (last_dot_pos == grpc::string::npos) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var["ImportStatement"] = "import " + module_name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var["ImportStatement"] = "from " + module_name.substr(0, last_dot_pos) + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                 " import " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                 module_name.substr(last_dot_pos + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      out->Print(var, "$ImportStatement$ as $ModuleAlias$\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return true; 
			 |