class Attributes
{
	names[] = {
		"File_extension",
		"Protocol_custom_code",
		"Words_custom_code",
		"Default_wordClass_folder",
		"Default_word_folder"
	};
};
minChars = 128;
class Compile
{
	clearNewLines = 0;
	rewriteFile = 1;

	class PassVersions
	{
		noDecompile = 1;
		print_language = "language,	original	!!!SYSTEM COLUMN - DO NOT COPY!!!\n";
		class State
		{
			iffinal_on = 1;
			print_locKey = "=IF(COUNTIF(INDIRECT(""$C$1:$C$""&(ROW()-1));INDIRECT(""$C$""&ROW()))=0;""%(statename),"";"""")	";

			print_content = "=\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
IF(COUNTIF(INDIRECT(""$C$1:$C$""&(ROW()-1));INDIRECT(""$C$""&ROW()))=0;INDIRECT(""$C$""&ROW());"""");\
""_mUNIT"";""%%1"");\
""_mGRID"";""%%2"");\
""_mGRPDIS"";""%%3"");\
""_mGRPDIR"";""%%4"");\
""_mLOCDIS"";""%%5"");\
""_mLOCDIR"";""%%6"");\
""_mLOC"";""%%7"");\
""_mOBJ"";""%%8"");\
""_mOBJDIR"";""%%9"");\
""_mRECIPIENTDIS"";""%%10"");\
""_mRECIPIENTDIR"";""%%11"");\
""_mLEADERDIS"";""%%12"");\
""_mLEADERDIR"";""%%13"");\
""_vGRID"";""%%1"");\
""_vGRPDIS"";""%%2"");\
""_vGRPDIR"";""%%3"");\
""_vLOCDIS"";""%%4"");\
""_vLOCDIR"";""%%5"");\
""_vLOC"";""%%6"");\
""_vOBJ"";""%%7"");\
""_vOBJDIR"";""%%8"");\
""_vRECIPIENTDIS"";""%%9"");\
""_vRECIPIENTDIR"";""%%10"");\
"".ABS"";"".101"");\
"".CMPS"";"".101"");\
"".CLCK"";"".201"")\
	";
			print_substitute = "=\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
SUBSTITUTE(\
""""""%(statetext)"""""";\
""_eUNIT"";""%%1"");\
""_eTARGETS"";""%%2"");\
""_eGRID"";""%%3"");\
""_eSIDE"";""%%4"");\
""_eGRPDIS"";""%%5"");\
""_eGRPDIR"";""%%6"");\
""_eSENDERDIS"";""%%7"");\
""_eSENDERDIR"";""%%8"");\
""_eUNITDIS"";""%%9"");\
""_eUNITDIR"";""%%10"");\
""_eLOCDIS"";""%%11"");\
""_eLOCDIR"";""%%12"");\
""_eRECIPIENT"";""%%13"");\
""_eLOC"";""%%14"");\
""_eLEADERDIS"";""%%15"");\
""_eLEADERDIR"";""%%16"")\
";
			print_br = "\n";
			iffinal_def = 0;
		};
	};
};


class Decompile
{
	process = 0;
	FSMLeft	= "/*";
	FSMRight = "*/";
	class FSMPrefix
	{
		default = "";
		fsmFunctionDeclaration = "";
		fsmFunctionPrefix = "";
		fsmFunctionSufix = "";
		setFinal = "";
		stateprecondition = "";
		condprecondition = "";
		globalprefix = "";
		link = "";
	};
	class FSMPrefix2
	{
		default = "";
		head = "*/";
		condition = "";
		condprecondition = "";
		action = "";
		fsmFunctionDeclaration = "";
		fsmFunctionPrefix = "";
		fsmFunctionSufix = "";
		setFinal = "";
		stateinit = "";
		stateprecondition = "";
		globalprefix = "";
	};
	class FSMSufix
	{
		default = "";
		compile = "";
		state = "";
		head = "/*";
		link = "";
		condition = "";
		condprecondition = "";
		action = "";
		fsmFunctionDeclaration = "";
		fsmFunctionPrefix = "";
		fsmFunctionSufix = "";
		setFinal = "";
		stateinit = "";
		stateprecondition = "";
		globalprefix = "";
	};
	class FSMSufix2
	{
		default = "";
		compile = "";
		state = "";
		head = "";
		link = "";
		fsmFunctionDeclaration = "";
		fsmFunctionPrefix = "";
		fsmFunctionSufix = "";
		setFinal = "";
		condprecondition = "";
		stateprecondition = "";
		globalprefix = "";
	};
};