//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++
//	|                                                                      |
//	+                                       ShmalevoZ                                           +
//	|                                        2007-12                                            |
//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++

//---------------------------------------------------------------------------------------------
//          
//        ,      
//      1,    ,
//     

//---------------------------------------------------------------------------------------------
//  
 ;		//   
 ;		//  
 ;					//   
 ;		// ..
 ;				//     
 ;				//  


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//      
//
 ()
	
	 ;
	
 // ()


//******************************************************************************
// _this()
//
// : 
//  			- 
//
//  :
//  		-   
//
// :
//     
//
 _this()
	
	 ();
	
 // _this()


//******************************************************************************
// (, )
//
// : 
//  , 
//
//  :
//  
//
// :
//  
//
 (, )
	
		= ;
	
	 "";
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 ()
	
	 ;
	
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 ()
	
	 ;

 // ()


//******************************************************************************
// UID()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 UID()
	
	//---------------------------------------------------------------------------------------------
	//     ,   ,
	//	  ,  UID        ,
	//	..         
			= ("GUID");
						= "1";
		= "0123456789";
	 (, (, 1)) <> 0 
		.();
			= .();
	;
		= (, "-", "");
	
	 ;
 // UID()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 (, ,  = 1) 
	
				= ("");
					= ;
	
					= (, );
		= ();
	
	  <> 0 
				= ?( = 1, -1*, -1);
			= ((, +));
		 () = 0 
			.((, +));
		;
		 	= ((, ()--+1));
				= (, );
	;
	
	 () <> 0 
	    .();
	;
	
	 ;
 // ()


//******************************************************************************
// ()
//
// : 
//  			-   
//
//  :
//  					-    
//
// :
//         
//
 () 
	
		= _this().() + ".(" +  + ")";
	
	 ;
 // ()


//******************************************************************************
// (, , )
//
// : 
//  					-  
//  	-     
//  			-  
//
//  :
//  
//
// :
//     
//
 (, , )
	
				= ();
		= "";
	  = 1 
			= .();
					=  + ":" + ();
	;
	
	 .("", , 0, 1) <> 0 
		 .;
	;
	
	//---------------------------------------------------------------------------------------------
	//     
				= ("");
	.("");
	.("");
	.("");
	//     
	.("");
	
				= "," + () + ",";
		= ();
	.();
	 .() = 1 
		
			= 1;
		
		 (., ) = 0 
				= 0;
		;
		 ( = 1)  ( = 1) 
			 (.) = 1 
					= 0;
			
				
						= (., ",", 1);
								= .();
					= 0;
				  = 1   
							= .();
						= (, .(, ));
				;
			;
		;
		
		  = 0 
			;
		;
		
		.();
		.		= .;
		.			= .;
		.	= .UID;
		.	= ..;
		
	;
	
	.("+");
	
	.();
	.			= ();
	.	= ;
	.	= ;
	
	 ;
 // ()


//******************************************************************************
// (, ,  = 0,  = "")
//
// : 
//  						: ,  
//  			:  
//  		:    
//  				:    
//
//  :
//     
//
// :
//            ,   
//
 (, ,  = 0,  = "")
	
		= ();
	
				= 1;
		= (, , );
	.();
	 .() = 1 
			= (.);
						= (, ().(1, .).(, , ));
		//    0,   
		  = 0 
			;
		;
	;
	
	 ;
 // ()


//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++
//	|                                                                                           |
//	+                                                                  +
//	|                                                                                           |
//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++

//******************************************************************************
// (, )
//
// : 
//  		: ,     
//
//  :
//  UID,   
//
// :
//          
//
 ()
	
	//---------------------------------------------------------------------------------------------
	//      
		= ("");
	.("UID");				//     UID
	.("");	//  
	.("");			// ,    
	.("");	//    
	.("");		//   
	.();
	
	//---------------------------------------------------------------------------------------------
	//   
			= .();
	.	= ;
	//     
			= (, " ", "");
			= (, , "");
			= (, ";", ",");
	//   ,      
	 () = 1 
		 "";
	;
			= ("," +  + ",");
	//---------------------------------------------------------------------------------------------
	//      
			= .();
	.	= ;
			= (, " ", "");
			= (, , "");
			= (, ";", ",");
			= "," +  + ",";
	
	UID			= UID();
	
							= ();
								= ();
	.UID			= UID;
	.	= ;
	.		= .();
	
	().(UID);
	().(1, UID, );
	
	().();
	().UID				= UID;
	().			= ;
	().	= ;
	().		= ;
	().			= .;
	().			= ;
	
	//---------------------------------------------------------------------------------------------
	//       
		= "   ()";
		=  +  + .;
		=  +  + .;
	.(, _this());
	
 // ()


//******************************************************************************
// ()
//
// : 
//  			-  () - 
//
//  :
//  			-  
//
// :
//       
//
 ()
	
		= ("");
	.("");
	.("");
	
		= (".");
	.();
		= .();
			= .();
	  = 1   
		.();
		.	= .();
		.		= .(.);
	;
	
	 ;
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 ()
	
	.("");
	
 // ()


//******************************************************************************
// (,  = "")
//
// : 
//  						:    
//  	:   
//
//  :
//  UID,      
//
// :
//     
//
 (,  = "") 
	
	//---------------------------------------------------------------------------------------------
	// -     ,     . 
	//    ,   ..
	//       
	//  | 
					= ?(() = "", (), );
		= ?(() = "", , (()));
	//---------------------------------------------------------------------------------------------
	//  -,   ,    ,  
			= .();
	();
	 .() = 0 
		 "";
	;
	
	UID	= ();
	
	.();
	
	();
	
	 UID;
 // ()


//******************************************************************************
// ()
//
// : 
//  			-  
//
//  :
//  
//
// :
//   .   
//
 () 
	
		= 0;
		= ().(, , "UID");
	
	  = 1 
		
		 ().(1, ).() = 1 
				= 0;
		
			().();
			().(1, , 0); //   
			().();
		;
	;
	
	.();
	
	();
	
	 ;
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 ()
	
		= ();
	 .() > 0 
		(.(1, "UID"));
	;
	
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 () 
	
		= ().();
	
	 ;
 // ()


//******************************************************************************
// UID()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 UID() 
	
		= ().(, "UID");
	
	 ;
 // UID()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 () 
	
		= ().(, "UID");
	
	 ().(1, );
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 () 
	
	 ().(, "");

 // ()


//******************************************************************************
// ()
//
// : 
//  			-    -  
//
//  :
//  					- ,  , 0   
//
// :
//      
//
 () 
	
			= ();
		= 0;
	().(, , "");
	
	 ;
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 () 
	
		= ().(, "UID");
	
	 ().(1, );
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 () 
	
		= (1, ());
	
	 ;
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 () 
	
	();
	
				= ("MetaInfoClasses");
			= .();
		= .();
					= "..";
	  = 1   
			= .();
		 .(, ) = 1 
			();
		;
	;
	
 // ()


//******************************************************************************
// (,  = "")
//
// : 
//  					- 
//   = ""		-  
//
//  :
//  
//
// :
//      
//
 (,  = "") 
	
		= "";
	 () = 100 
			= (, 1, );
	
			= (, 0, "");
	;
	
		= (1, .());
	
	 ;
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 ()
	
	//---------------------------------------------------------------------------------------------
	//        ,   
		= ("..");
				= (".");
	
	//---------------------------------------------------------------------------------------------
	//   
			= ("");
	.();
		= ("");
	.("");
	.("UID");
	.("");
	.("");
	.("");
	.("");
	.("");
	
	//---------------------------------------------------------------------------------------------
	// 
		= ("..");
			= .("...");
	
	//---------------------------------------------------------------------------------------------
	//    
		= ("");
	.("");
	.("");
	.("");
	.("");
	.("", "");
	
	();
	
 // ()


//******************************************************************************
// ()
//
// : 
//  
//
//  :
//  
//
// :
//  
//
 ()
	
	();
	
 // ()


//******************************************************************************
// (, ,  = "")
//
// : 
//  , ,  = ""
//
//  :
//  
//
// :
//  
//
 (, ,  = "") 
	
	 () = "" 
			= (, , 1, );
	
			= (, , 0, "");
	;
	
	 ;
 // ()

