﻿<?xml version="1.0" encoding="utf-8"?><Root><Survey VersionNumber="2" VersionName="1.31.0"><SurveyID>30dddff0-b414-47a7-aa13-04ea853b7aaf</SurveyID><OrgId>195c7575-c240-4707-8796-3ddc5e27e57a</OrgId><SurveyName>Test Pipe All Iters of OtherSpecify to Answers</SurveyName><Description /><Sealed>False</Sealed><Creator>Amited</Creator><TimeCreated>636222179748430000</TimeCreated><TimeModified>636222323621038274</TimeModified><TimeSealed>3155378903999970000</TimeSealed><Randomed>True</Randomed><HalfRandomed>False</HalfRandomed><NextQuestionID>6</NextQuestionID><ReadOnly>False</ReadOnly><Deleted>0</Deleted><ULAssembly /><ULClassName>SurveyToGo.UserLogic.Creator.SurveyLogicTempl</ULClassName><ULSource>&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;UserLogicContents xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
  &lt;Items&gt;
    &lt;HData&gt;
      &lt;HTp&gt;ehtQuestion&lt;/HTp&gt;
      &lt;STp&gt;estLast&lt;/STp&gt;
      &lt;CTp&gt;echtLast&lt;/CTp&gt;
      &lt;QTp&gt;eqhtValidationRule&lt;/QTp&gt;
      &lt;Key&gt;0&lt;/Key&gt;
      &lt;Name&gt;HandleQuestionValidate_0&lt;/Name&gt;
      &lt;Behv&gt;ecsbDefault&lt;/Behv&gt;
      &lt;QDep /&gt;
      &lt;CDep /&gt;
    &lt;/HData&gt;
    &lt;HData&gt;
      &lt;HTp&gt;ehtQuestion&lt;/HTp&gt;
      &lt;STp&gt;estLast&lt;/STp&gt;
      &lt;CTp&gt;echtLast&lt;/CTp&gt;
      &lt;QTp&gt;eqhtStart&lt;/QTp&gt;
      &lt;Key&gt;1&lt;/Key&gt;
      &lt;Name&gt;QuestionStart_1&lt;/Name&gt;
      &lt;Behv&gt;ecsbDefault&lt;/Behv&gt;
      &lt;QDep&gt;
        &lt;int&gt;0&lt;/int&gt;
      &lt;/QDep&gt;
      &lt;CDep /&gt;
    &lt;/HData&gt;
  &lt;/Items&gt;
  &lt;Source&gt;// Question symbols
var Q_1 = null;var Q_2 = null;var Q_3 = null;

	function StartSurvey()
	{
		/*_@_SS_START_@*/

		/*_@_SS_END_@*/
	}

	/*_@_USERCODE_START_@*/
function GetMainVersion (inVersion)
{
	var retVal = "";
	var versionSplit = inVersion.split(".");
	if (versionSplit.length &amp;gt;= 3)
	{
		var retVal = versionSplit[2]; 
	}
	
	return retVal;
}

function isDeviceVersionUpdated (inUpdatedVersion)
{
	var retVal = false;
	var deviceVersion = GetMainVersion(DeviceVersion);
	var mainVersion = GetMainVersion(inUpdatedVersion);
	if (parseInt(mainVersion) &amp;lt;= parseInt(deviceVersion))
	{
		retVal = true;
	}
	
	return retVal
}

function GetChapterIdxFromName (inChapterName) 
{
	var retVal = -1;
	var chapterInfos = GetAllChapters();
	for(var i=0;i&amp;lt;chapterInfos.length;i++) {
	if (chapterInfos[i].Name == inChapterName) {
			retVal = chapterInfos[i].Idx;
			break;
		}
	}
return retVal;
}
function dblSetDCBRRelationship(inQStatements,inQSubStatements){
	var outText = "";
	
	outText+= AnswerText(inQStatements,9) + "|" + AnswerText(inQSubStatements,9) + "|" + "9" + ";";
	outText+= AnswerText(inQStatements,7) + "|" + AnswerText(inQSubStatements,7) + "|" + "7" + ";";
	outText+= AnswerText(inQStatements,5) + "|" + AnswerText(inQSubStatements,5) + "|" + "5" + ";";
	outText+= AnswerText(inQStatements,8) + "|" + AnswerText(inQSubStatements,8) + "|" + "8" + ";";
	outText+= AnswerText(inQStatements,3) + "|" + AnswerText(inQSubStatements,3) + "|" + "3" + ";";
	outText+= AnswerText(inQStatements,6) + "|" + AnswerText(inQSubStatements,6) + "|" + "6" + ";";
	outText+= AnswerText(inQStatements,1) + "|" + AnswerText(inQSubStatements,1) + "|" + "1" + ";";
	outText+= AnswerText(inQStatements,2) + "|" + AnswerText(inQSubStatements,2) + "|" + "2" + ";";
	outText+= AnswerText(inQStatements,4) + "|" + AnswerText(inQSubStatements,4) + "|" + "4" + ";";
	
	return outText;


}

function dblSetDCBRBrands(inQBrands,inQBrandsImages,intOrderArray){
	var outText = "";
	var i=1;
	for(i=0;i&amp;lt;intOrderArray.length;i++){
		if(Contains(inQBrands,intOrderArray[i])){
			outText+= AnswerText(inQBrands,intOrderArray[i]) + "|" +  AnswerText(inQBrandsImages,intOrderArray[i]) + "|" + intOrderArray[i] + ";"
		}
	}
	return outText;

}

function dblSetDCBRTexts(inQInfoText,inQFinishText,inQFinishedInfo,inQQuestionText){
	var outText = "";
	
	outText = GetText(inQInfoText) + "|" + GetText(inQFinishText) + "|" + GetText(inQFinishedInfo) + "|" + GetText(inQQuestionText);
	return outText;

}


function dblSetDCBRAnswers(inQ,inQVars){
	//reading inQVars and setting up inQ (which is a grid)
	var i=0;
	var j=0;
	var result;
	var answerDCBR = new Array();
	answerDCBR = stringSplit(inQVars,";")
	var tmpAnswer = new Array();
	for(i=0;i&amp;lt;answerDCBR.length;i++){
		if(answerDCBR[i]!=""){
			tmpAnswer = stringSplit(answerDCBR[i],"|")
			result = SetAnswerChoice(inQ,intParse(tmpAnswer[1]),intParse(tmpAnswer[0]));
			
		}
		
	}
	
}

function dblValidateDCBR(inQ,inQVars){
	//check no. of brands qualified for DCBR are all answered
	var retVal = false;
	var brandCount = NumOfSelectedChoices(inQ);
	var answerDCBR = stringSplit(inQVars,";")
	if(brandCount !=answerDCBR.length){
		retVal = true;
	}
	return retVal;
}

function setAnswerByParentAnswers(inQTarget, inQidsParent)
{
	var numOfQues = inQidsParent.length;
	var numOfAnswers = Parent.GetAnswerCount(inQidsParent[0]);
	var contained;
	var i;
	var j;
	for (i=1;i&amp;lt;= numOfAnswers;i++) {
		contained = false;
		for (j=0; j&amp;lt;numOfQues;j++) {
			contained = Parent.Contains(inQidsParent[j],i);
			if (contained) {
				break;
			}
		}
		if (contained) {
			dblSetSpecificAnswer(inQTarget, i,true);
		}
	}
}


function dblSelectConXBrands(inQ,BrandArray){
//This function setup 3 brands to inQ randomly or based on BrandArray
	var BrandsToSet = new Array();
	var BrandPosArray = CreateRandomArray(BrandArray.length);
	var i=0;
	if(BrandArray.length &amp;gt;0){
	//Setup using brand array
		for(i=0;i&amp;lt;BrandArray.length;i++){
			BrandsToSet[i] = BrandArray[BrandPosArray[i]-1];
			if(i&amp;gt;2){
				break;
			}
			
		}
	}
	SetAnswer(inQ,BrandsToSet);
}


function dblSetConXXP1Brands(inQBrands,BrandOrder,BrandOrderQ){
	var outText = "";
	var i=1;
	var brandArray = new Array();
	var selectedBrandOrder = ""
	brandArray = stringSplit(BrandOrder,",");
	for(i=1;i&amp;lt;GetAnswerCount(inQBrands);i++){
		if(Contains(inQBrands,intParse(brandArray[i-1]))){
			selectedBrandOrder = selectedBrandOrder + brandArray[i-1] + ",";
			outText+= "&amp;lt;span class='mrGridQuestionText'&amp;gt;" + AnswerText(inQBrands,intParse(brandArray[i-1])) + "&amp;lt;/span&amp;gt;";
		}
	}
	outText+= "&amp;lt;span class='mrGridQuestionText'&amp;gt;" + AnswerText(inQBrands,GetAnswerCount(inQBrands)) + "&amp;lt;/span&amp;gt;";
	
	SetAnswer(BrandOrderQ,selectedBrandOrder);
	return outText;

}

function dblSetConXXPs(inQXPs,XP_Order){
	var outText = "";
	var i=1;
	var XPOrder = new Array();
	XPOrder = stringSplit(XP_Order,",");
	
	
	for(i=1;i&amp;lt;=GetAnswerCount(inQXPs);i++){
		if(Contains(inQXPs,XPOrder[i-1])){
			outText+= "&amp;lt;span class='mrGridCategoryText'&amp;gt;" + AnswerText(inQXPs,XPOrder[i-1]) + "&amp;lt;/span&amp;gt;";
					if(i&amp;gt;2){
						break;
					}
			}
	}
	return outText;
}

/*
dblSetConX_XP1Answers(inQ,inQVars,BrandOrder,XPOrder)
inQ = Question to setup based on the Global Vars setup by CQRP. inQ question is Multiple Response Grid

inQVars = Global Variable setup by CQRP. The format would be: 0|0;0|1;0|2;1|1;2|3
in 0|1; 0 is the Topic number and 1 is the answer number NOTE: This is not the topic index or the answer index. We'll have to match this with the BrandOrder and XPOrder

XPOrder=Stores the topic index in the order in which the topics are shown at CQRP
The format would be: 30,28,1

BrandOrder: Stores the brand index in the order in which brands (answers)are shown at CQRP
The format would be: 1,5,7

*/


function dblSetConX_XP1Answers(inQ,inQVars,BrandOrder,XPOrder){
	//reading inQVars and setting up inQ (which is a grid)
	var i=0;
	var j=0;
	var result;
	var BrandArray = new Array();
	//Split the brand array to get the array of brands shown
	BrandArray = stringSplit(BrandOrder,",");
	var XPArray = new Array();
	//Split the Topic array (XPOrder) to get the array of topics shown
	XPArray = stringSplit(XPOrder,",");
	var answerXP1 = new Array();
	//Split the answer Array to get answer given for each topic this will give answerXP1[0] = 0|1 answerXP1[1] = 0|2 etc. 
	answerXP1 = stringSplit(inQVars,";");
	var AnsArray = new Array();
	var k=0;
	var tmpXP=0;
	var tmpAnswer = new Array();
	
	//clear previous answers 
	ClearAnswer(inQ);
	
	for(i=0;i&amp;lt;answerXP1.length;i++){
		
		if(answerXP1[i]!=""){
			//Split the answer by | to get topic and answer (brand)
			tmpAnswer = stringSplit(answerXP1[i],"|")
			//If the topic is same for example 0|0;0|1 we'll keep on updating AnsArray. Once the Topic number is different, we'll set the answer of multi response grid
			// Set the value of j=Topic number
			if(j!=intParse(tmpAnswer[0]))
			{
				j=intParse(tmpAnswer[0]);
				//As the topics are shown in random order, we are using XPArray[TopicNumber] where XPArray contains the actual topic index at TopicNumber Location
				result = SetAnswerChoice(inQ,intParse(XPArray[tmpXP]),AnsArray);
				k=0;
				AnsArray = new Array();	
				
			}
		
			if(intParse(tmpAnswer[1])==3){
				//If the answer is none (which will always be the last answer. We'll set it here
				AnsArray[k] = GetAnswerCount(inQ);
				
			}
			
			else
			{
				//Else setup the answer array with Actual brand index from BrandArray
				AnsArray[k] = intParse(BrandArray[intParse(tmpAnswer[1])]);
			}
			k = k + 1;
			tmpXP = intParse(tmpAnswer[0]);
			
			
		}
		
	}
	// To handle the last iteration / topic 
	result = SetAnswerChoice(inQ,intParse(XPArray[tmpXP]),AnsArray);
	
}

function dblAskXP3(inQ){
	var retVal=0;
	var i=0;
	for(i=1;i&amp;lt;=GetTopicCount(inQ);i++){
		if(ContainsChoice(inQ,i,11)==false &amp;amp;&amp;amp; IsTopicVisible(inQ,i)){
			retVal=1;
			break;
		}
	}
	
	
	return retVal;

}


function dblSetConX_XP1_Selected(inQ,resultQ){
	var tempArray = new Array();
	var resultArray = new Array();
	var i=0;
	var j=0;
	var k=0;
	for(i=1;i&amp;lt;=GetTopicCount(inQ);i++){
		if(IsTopicVisible(inQ,i)){
			tempArray = GetAnswersChoice(inQ,i)
			
			for(j=0;j&amp;lt;tempArray.length;j++){
				resultArray[k]=tempArray[j];
				
				k++;
			}
		}
	}
	
	SetAnswer(resultQ,resultArray);

}


function dblGetXPs(inQ,resultQ,brandIndex){
	var i=0;
	var j=0;
	var resultArray = new Array();
	
	for(i=1;i&amp;lt;=GetTopicCount(inQ);i++){
		if(ContainsChoice(inQ,i,brandIndex) &amp;amp;&amp;amp; IsTopicVisible(inQ,i)){
			resultArray[j] = i;
			j++;
		}
	}
	SetAnswer(resultQ,resultArray);

}

function dblSetupGlobalVarsFromEmpty(inQ){
	return GetText(inQ);
};

function dblfnRenderConXDemo(inQArray,delimChar){
//This function generates global variable to be used to draw ConX demo
	
	var retVal="";
	
	var i=1;
	for(i=0;i&amp;lt;inQArray.length;i++){
		if(i==11){
			//setting up the vertical text
			retVal+=AnswerText(inQArray[i],1) + delimChar + AnswerText(inQArray[i],2) + delimChar + AnswerText(inQArray[i],3) + delimChar + AnswerText(inQArray[i],4) + delimChar;
		}
		else if (i==12){
			//setting up the horizontal text
			retVal+=AnswerText(inQArray[i],1) + delimChar + AnswerText(inQArray[i],2) + delimChar + AnswerText(inQArray[i],3) + delimChar + AnswerText(inQArray[i],4) + delimChar;
		
		}
		else{
			retVal+=GetText(inQArray[i]) + delimChar;	
		
		}
		
	}
	return retVal;
}


function dblSetRBXBrands(inQBrands,inQBrandsImages,intOrderArray){
	var outText = "";
	var i=0;
	for(i=0;i&amp;lt;intOrderArray.length;i++){
		if(Contains(inQBrands,intOrderArray[i])){
			outText+= AnswerText(inQBrandsImages,intOrderArray[i]) + "|";
		}
	}
	return outText;

}


function dblSetConXBrands(inQBrands,inQBrandsImages,intOrderArray){
	var outText = "";
	var i=0;
	
	for(i=0;i&amp;lt;intOrderArray.length;i++){
			if(Contains(inQBrands,intOrderArray[i])){
			outText+= AnswerText(inQBrands,intOrderArray[i]) + "|" +  AnswerText(inQBrandsImages,intOrderArray[i]) + "|" + intOrderArray[i] + ";"
		}
	}
	return outText;

}


function dblValidateAnswers(inQArray,minAnsCount)
{
	var retVal=false;
	var ansCount=0;
	var i=0;
	for(i=0;i&amp;lt;inQArray.length;i++){
		if(Answered(inQArray[i])){
			ansCount+=1;
		}
	}
	if(ansCount &amp;lt; minAnsCount){
		retVal = true;
	}
	
	return retVal;

}

function dblSetRBXAnswers(inQVars,inBrandVars,inTargetQues){
	//reading inQVars and setting up inQ (which is a grid)
	var numOfQues = inTargetQues.length;
	var i=0;
	var j=0;
	var answerRBX = stringSplit(inQVars,";");
	var brandArray = stringSplit(inBrandVars,";");
	var tmpAnswer = new Array();
	var tmpBrand = new Array();
	for(i=0;i&amp;lt;answerRBX.length;i++){
		if(answerRBX[i]!=""){
			tmpAnswer = stringSplit(answerRBX[i],"|")
			tmpBrand = stringSplit(brandArray[i],"|") 
			
			//Set pos X
			SetAnswerIter(inTargetQues[0], intParse(tmpBrand[2]),tmpAnswer[1]);
			//Set pos Y
			SetAnswerIter(inTargetQues[1],intParse(tmpBrand[2]),tmpAnswer[2]);
			//Set % X
			SetAnswerIter(inTargetQues[2],intParse(tmpBrand[2]),tmpAnswer[3]);
			//Set % Y
			SetAnswerIter(inTargetQues[3],intParse(tmpBrand[2]),tmpAnswer[4]);
		
		}
		
	}
	
}

function dblValidateRBX(inQVars,inQBrands){
	var retVal = false;
	var answerRBX = stringSplit(inQVars,";")
	var i=0;
	var numOfBrands=0;
	for(i=0;i&amp;lt;answerRBX.length;i++){
		if(answerRBX[i]!=""){ 
			numOfBrands++;
		}
	}
	if(numOfBrands!=NumOfSelectedChoices(inQBrands)){
		retVal = true;
	}
	return retVal;
}

function dblSetXPAsked(inQ){
//Used to set LST_XP 
	var i=0;
	
	var resultArray = new Array();
	
	for(i=1;i&amp;lt;=GetAnswerCount(inQ);i++){
			resultArray[i-1] = i;
		}
	SetAnswer(inQ,resultArray);


}

function dblsbPosReturn(GridQx,QGridy,QAsk,TypeAsk){

	var xMax = 0;
	var yMax = 0;
	var yArray = new Array(GetAnswerCount(QAsk));
	var xArray = new Array(GetAnswerCount(QAsk));
	var ansArray = new Array();
	var tempAnsArray1 = new Array();
	var tempAnsArray2 = new Array();
	var index;
	var k=0;
	var i=0;
	var j=0;
	var x=0;
	var y=0;
	var z=0;
	for(i=0;i&amp;lt;yArray.length;i++){
		yArray[i] = new Array(2);
		xArray[i] = new Array(2);
	}
	
	
	//Clears answers
	ClearAnswer(QAsk);
	
	if(TypeAsk==2){
		for(i=1;i&amp;lt;=GetAnswerCount(QAsk);i++){
			if(AnsweredIter(GridQx,i) &amp;amp;&amp;amp; AnsweredIter(QGridy,i) &amp;amp;&amp;amp; AnswerIter(GridQx,i)&amp;gt;69 &amp;amp;&amp;amp; AnswerIter(QGridy,i)&amp;gt;69){
				if(AnswerIter(QGridy,i)&amp;gt;yMax){
					yMax = AnswerIter(QGridy,i);
				}
				ansArray[k] = i;
				yArray[k][0] = i;
				yArray[k][1] = AnswerIter(QGridy,i);
				xArray[k][0] = i;
				xArray[k][1] = AnswerIter(GridQx,i);
				k++;
				
			}
		
		}
		
		
		//if more than 1 ans &amp;gt;69% i.e. k&amp;gt;1
		
		
		
		if(k&amp;gt;1){
			for(i=0;i&amp;lt;ansArray.length;i++){
				if(yArray[i][1]&amp;gt;=yMax){
					xMax = xArray[i][1];
					tempAnsArray1[j] = ansArray[i];
					j++;
				}
			
			}
			
			
			if(j&amp;gt;1){
				for(i=0;i&amp;lt;ansArray.length;i++){
					for(y=0;y&amp;lt;tempAnsArray1.length;y++){
						if(xArray[i][1]&amp;gt;=xMax &amp;amp;&amp;amp; tempAnsArray1[y]==ansArray[i]){
							tempAnsArray2[x] = tempAnsArray1[y];
							x++;
						}
					}
				}
				
				if(x&amp;gt;1){
				//more than 1 XP with highest rating
					var finalBrandArray = RandomizeArray(tempAnsArray2);
					SetAnswer(QAsk,finalBrandArray[0]);
					
				}
				else
				{
					
					SetAnswer(QAsk,tempAnsArray2[0]);
				}
				
			}
			else{
					
				SetAnswer(QAsk,tempAnsArray1);
			}
			
		}
		else{
		
			SetAnswer(QAsk,ansArray)
		
		}
	
	}
	else{
	
		for(i=1;i&amp;lt;=GetAnswerCount(QAsk);i++){
			if(AnsweredIter(GridQx,i) &amp;amp;&amp;amp; AnsweredIter(QGridy,i) &amp;amp;&amp;amp; AnswerIter(GridQx,i)&amp;gt;50 &amp;amp;&amp;amp; AnswerIter(QGridy,i)&amp;gt;50){
				ansArray[k] = i;
				k++;
			}
		}
		SetAnswer(QAsk,ansArray);
	
	}
	

}



function dblsbNegReturn(GridQx,QGridy,QAsk,TypeAsk){

	var xMin = 0;
	var yMax = 0;
	var yArray = new Array(GetAnswerCount(QAsk));
	var xArray = new Array(GetAnswerCount(QAsk));
	var ansArray = new Array();
	var tempAnsArray1 = new Array();
	var tempAnsArray2 = new Array();
	var index;
	var k=0;
	var i=0;
	var j=0;
	var x=0;
	var y=0;
	var z=0;
	for(i=0;i&amp;lt;yArray.length;i++){
		yArray[i] = new Array(2);
		xArray[i] = new Array(2);
	}
	
	
	//Clears answers
	ClearAnswer(QAsk);
	
	if(TypeAsk==2){
		for(i=1;i&amp;lt;=GetAnswerCount(QAsk);i++){
			if(AnsweredIter(GridQx,i) &amp;amp;&amp;amp; AnsweredIter(QGridy,i) &amp;amp;&amp;amp; AnswerIter(GridQx,i)&amp;lt;31 &amp;amp;&amp;amp; AnswerIter(QGridy,i)&amp;gt;69){
				if(AnswerIter(QGridy,i)&amp;gt;yMax){
					yMax = AnswerIter(QGridy,i);
				}
				ansArray[k] = i;
				yArray[k][0] = i;
				yArray[k][1] = AnswerIter(QGridy,i);
				xArray[k][0] = i;
				xArray[k][1] = AnswerIter(GridQx,i);
				k++;
				
			}
		
		}
	
		
		//if more than 1 ans &amp;gt;69% i.e. k&amp;gt;1
		
	
		
		if(k&amp;gt;1){
			for(i=0;i&amp;lt;ansArray.length;i++){
				if(yArray[i][1]&amp;gt;=yMax){
					xMin = xArray[i][1];
					tempAnsArray1[j] = ansArray[i];
					j++;
				}
			
			}
			
			
			if(j&amp;gt;1){
				for(i=0;i&amp;lt;ansArray.length;i++){
					for(y=0;y&amp;lt;tempAnsArray1.length;y++){
						if(xArray[i][1]&amp;lt;=xMin &amp;amp;&amp;amp; tempAnsArray1[y]==ansArray[i]){
							tempAnsArray2[x] = tempAnsArray1[y];
							x++;
						}
					}
				}
				
				if(x&amp;gt;1){
				//more than 1 XP with highest rating
					var finalBrandArray = RandomizeArray(tempAnsArray2);
					SetAnswer(QAsk,finalBrandArray[0]);
					
				}
				else
				{
					
					SetAnswer(QAsk,tempAnsArray2[0]);
				}
				
			}
			else{
					
				SetAnswer(QAsk,tempAnsArray1);
			}
			
		}
		else{
		
			SetAnswer(QAsk,ansArray)
		
		}
	
	}
	else{
	
		for(i=1;i&amp;lt;=GetAnswerCount(QAsk);i++){
			if(AnsweredIter(GridQx,i) &amp;amp;&amp;amp; AnsweredIter(QGridy,i) &amp;amp;&amp;amp; AnswerIter(GridQx,i)&amp;lt;50 &amp;amp;&amp;amp; AnswerIter(QGridy,i)&amp;gt;50){
				ansArray[k] = i;
				k++;
			}
		}
		SetAnswer(QAsk,ansArray);
	
	}
	

}


function dblGetBrandText(inQ){
	var retVal="";
	var i=0;
	for(i=1;i&amp;lt;=GetAnswerCount(inQ);i++){
		if(Contains(inQ,i)){
			retVal = AnswerText(inQ,i);
		}
	}
	return retVal;
}

function dblSetMultipleAnswer(inQ,outQ){
	var i;
	var j=0;
	var AnswerArray = new Array();
	for(i=1;i&amp;lt;=GetAnswerCount(inQ);i++){
		if(Contains(inQ,i)){
			AnswerArray[j] = i;
			j++;
		}
	}
	SetAnswer(outQ,AnswerArray);
}

function RunOnAndroidOnly()  
{
	if (!IsPlatform(32))
	{
	 Prompt("The survey should only be run on Android devices");
	 ExecutionMgr.CancelSubject();
	}
}

function IsSetMultipleAnswers(IndiceQuestao, InAnswers, InCheck) {
	for (var j=0;j&amp;lt;InAnswers.length;j++) {
		dblSetSpecificAnswer(IndiceQuestao, InAnswers[j], InCheck);
	}
}

function dblCheckAudioAttachmentLength(inQ,lenToCheck){
	var retVal = true;
	var FileNameArray = new Array();
	var i=0;
	
	FileNameArray = GetAttachedFilesNames(inQ);
	for(i=0;i&amp;lt;FileNameArray.length;i++){
		Prompt(FileNameArray[i]);
		if(GetRecordingLengthInSeconds(FileNameArray[i]) &amp;lt; lenToCheck){
			retVal = false;
		}

	}
	

	return retVal;
}


//################################ Prince ######################################
function MultiSetVisible(curQues,Qsoc,tick,start,end,e)
{
	if(Contains(Qsoc,tick))
	{
		for(var i = start ; i&amp;lt;=end ;i++)
		{
			SetAnswerVisible(curQues,true,false,i)
		}
	}
}
function SetAnswerVisibleByCode(qIdx,inShow,code)
{
	if(inShow==true)
	{
		var l = arguments.length-1
		var i
			for( i=2 ; i&amp;lt;=l ; i++)
  				  SetAnswerVisible(qIdx,true,false,GetAnswerChoiceIdxByCode(qIdx,arguments[i]))
	}
	else 
	{
		var l = arguments.length-1
		var i
			for( i=2 ; i&amp;lt;=l ; i++)
  				  SetAnswerVisible(qIdx,false,false,GetAnswerChoiceIdxByCode(qIdx,arguments[i]))
	}
}
function CheckIDPSU()
{
      Vars["idInvRegEx"]="^......$";
      if (!dblIsRegEx(Vars["idInvRegEx"],Answer(CurrQues)))
      {
            return true;
      }
}
// ใช้สำหรับดึงอื่นๆที่พิมพ์ 5 บรรทัดมาไว้ในข้อปัจจุบัน
function SetOther(other,openEnd,start) 
{
SetAnswerVisible(CurrQues, false, false, start,start+1,start+2,start+3,start+4);
if (ContainsOneOf(QRef(other),start))
{
	var topic;
	var answer;
	for (topic = 1, answer = start; topic &amp;lt;= 5; answer++, topic++)
	{
		var text = AnswerChoice(QRef(openEnd), topic);
		if (text != "")
		{
			SetAnswerVisible(CurrQues, true, false, answer);
			SetAnswerTextFormat(CurrQues, answer, text);
		}
	}
}
}
function SetOtherV2(other,openEnd,start) 
{
SetAnswerVisible(CurrQues, false, false, start,start+1,start+2,start+3,start+4);
if (ContainsOneOf(QRef(other),start))
{
	var topic;
	var answer;
	for (topic = 1, answer = start+1; topic &amp;lt;= 5; answer++, topic++)
	{
		var text = AnswerChoice(QRef(openEnd), topic);
		if (text != "")
		{
			SetAnswerVisible(CurrQues, true, false, answer);
			SetAnswerTextFormat(CurrQues, answer, text);
		}
	}
}
}
function SetTopicOther(other,openEnd,start)
{
SetTopicVisible(CurrQues, false, false, start,start+1,start+2,start+3,start+4);
if (ContainsOneOf(QRef(other),start))
{
	var topic;
	var answer;
	for (topic = 1, answer = start; topic &amp;lt;= 5; answer++, topic++)
	{
		var text = AnswerChoice(QRef(openEnd), topic);
		if (text != "")
		{
			SetTopicVisible(CurrQues, true, false, answer);
			SetTopicTextFormat(CurrQues, answer, text);
		}
	}
}
}function SetTopicOther2(other,openEnd,start)
{
SetTopicVisible(CurrQues, false, false, start,start+1,start+2,start+3,start+4);
if (ContainsOneOf(QRef(other),start))
{
	var topic;
	var answer;
	for (topic = 1, answer = start+1; topic &amp;lt;= 5; answer++, topic++)
	{
		var text = AnswerChoice(QRef(openEnd), topic);
		if (text != "")
		{
			SetTopicVisible(CurrQues, true, false, answer);
			SetTopicTextFormat(CurrQues, answer, text);
		}
	}
}
}
// วิธีใช้ ถ้าหน้า 1 ตอบโค้ด 998 999  ContainsOneOfByCode(Qref(1),["998","999"])
function ContainsOneOfByCode(qIdx, codeArr)
{
    var retVal = false;

    for(var i=1; i &amp;lt;=codeArr.length; i++)
    {
        if(ContainsByCode(qIdx,codeArr[i-1]))
        {
            retVal = true;
            break;
        }
    }

    return retVal;
}

function ContainsByCode(qIdx, code)
{
    var retVal = Contains(qIdx,GetAnswerChoiceIdxByCode(qIdx,code));
    return retVal;
}
//เอ๋ยเอง ไป โชว์การ์ด MultiContainsOneOf([QRef(20),QRef(21)....],1)
function MultiContainsOneOf(QRefArr,Idx)
{
	var retVal = false;
	for(var i=1 ; i&amp;lt;=QRefArr.length ; i++)
	{
		if(Contains(QRefArr[i-1],Idx))
		{
			retVal = true
			return  retVal
		}
	}
	return retVal
}
// การดึงคำตอบโดยเรียงลำดับจากความถี่  ใช้ได้แค่กรณีที่ index ที่1 คือ ไปบ่อยสุด จนถึง ไม่ไปเลย
function FilterFrequency(curr,qref)
{
	for(var i = 1; i &amp;lt;= GetAnswerCount(CurrQues) ; i++)
	{
		if(ContainsOneOf(QRef(qref),i))
		{
		FilterAnswersByTopics(QRef(curr),QRef(qref),i)
		break
		}
	}
}
//Rotate answer ตามหมายเลขแบบสอบถาม EX AnswerRotateByNo(QRef(QnaNumber),[Other,noanswer])
function AnswerRotateByNo(Qne,cons)
{
	var countMod = GetAnswerCount(CurrQues) - cons.length
	var newAnswers=new Array();
	var t = Answer(Qne)%countMod
	var k 
	if(t == 0)
		{
			t = countMod;
		}	
	for(k = t ; k &amp;lt;= countMod ; k++ )
		{
				newAnswers.push(k)
		}
	if(newAnswers.length != countMod)
		{	
			for(var j = 1 ; j &amp;lt; t ; j++ )
			{
				newAnswers.push(j)
			}
				//newAnswers.push(1)
		}
	for(var i = 0 ; i+1 &amp;lt;= cons.length ; i++)
			newAnswers.push(cons[i])
			
	RandomizeAnswers(CurrQues,newAnswers);
}
function SortRotateByNo(Qin,cons)  // Rotate Answer By No
{ 
	var newAnswers=new Array();
	
	if(Answer(Qin) % 2 == 1)
	{
		for(var i = 1; i &amp;lt;= GetAnswerCount(CurrQues) ; i++) 
        { 
           newAnswers.push(i); 
     	}
		RandomizeAnswers(CurrQues,newAnswers); 
	}


    if(Answer(Qin) % 2 == 0)// sort descending 
    {
        		 for(var i = GetAnswerCount(CurrQues)-cons.length ; i &amp;gt;= 1 ; i--) 
        		 { 
              		newAnswers.push(i);  
       		 	 }
			  
				for(var i = 0 ; i+1 &amp;lt;= cons.length ; i++)
				newAnswers.push(cons[i])
		 RandomizeAnswers(CurrQues,newAnswers);
	} 

}
function ConvertToDp(a1,a2)
{

	for(var j = 0; j &amp;lt;=GetAnswerCount(QRef(a1));j++)
	{
		for (var i=0; i &amp;lt;=GetAnswerCount(QRef(a2)); i++)
		{
			if (ContainsOneOf(QRef(a1+i),j+1 ))
    		{
     		dblSetSpecificAnswer(QRef(a2+j),i+1,true);
   	   	    }
		}   
	}
}
function SetOsf(CurrQuee,QSouce,AnswerIndex)
{
var l = arguments.length-1
var i
for( i=2 ; i&amp;lt;=l ; i++)
SetAnswerText(CurrQuee,arguments[i],AdditionalAnswerText(QSouce,arguments[i]))

}
function SetOsfTopic(CurrQuee,QSouce,AnswerIndex)
{
var l = arguments.length-1
var i
for( i=2 ; i&amp;lt;=l ; i++)
SetTopicText(CurrQuee,arguments[i],AdditionalAnswerText(QSouce,arguments[i]))

}
function FilterAnswersByAnswersIncTopics(a)
{
	FilterAnswersByAnswers(CurrQues,QRef(a))
	var b = getNet()
	var Ans = GetAnswers(a)
	b[b.length] = GetAnswerCount(a)+1
	for(var j = 0 ; j&amp;lt;=Ans.length ; j++)
	for(var i = 0 ; i&amp;lt;=b.length-2 ; i++)
	{
		if(Ans[j]&amp;gt;b[i] &amp;amp;&amp;amp; Ans[j]&amp;lt;b[i+1])
			{
				SetAnswerVisible(CurrQues,true,false,b[i])
			}
	}

}
function getNet()
{
	var Net = []
	var q=0
	for(var i = 1 ; i &amp;lt;= GetAnswerCount(CurrQues) ; i++)
	{
		if(AnswerCode(CurrQues,i)=="0")
		{
			Net[q] = i
			q++
		} 
	}
	return Net
}
//################################ End Prince ######################################

















function dblToJSArray(inArray){
	var retVal = new Array();
		
	for(var i=0; i&amp;lt;inArray.length; i++){		
		retVal.push(inArray[i]);
	}	
	
	return retVal;
}

function dblColorFromRGB(red, green, blue){
	return (255&amp;lt;&amp;lt;24)+ (red&amp;lt;&amp;lt;16) + (green&amp;lt;&amp;lt;8) + blue;
}


function dblDistanceFromGPSFence (fenceLat, fenceLon)
{
	var pi = Math.PI;
	var fenceLatInRad=fenceLat* pi / 180;
	var fenceLonInRad=fenceLon* pi / 180;
	var targetLatInRad = GetGPSLocation().Latitude * pi / 180;
	var targetLonInRad = GetGPSLocation().Longitude * pi / 180;
	var dist = Math.acos(Math.sin(targetLatInRad) * Math.sin(fenceLatInRad) + Math.cos(targetLatInRad) * Math.cos(fenceLatInRad) * Math.cos(targetLonInRad - fenceLonInRad)) * 6371;
	
	return dist;
}

function dblIsInGPSFence (fenceLat, fenceLon, distInKM)
{
	var dist = dblDistanceFromGPSFence(fenceLat, fenceLon);
	var retVal = false;
	
	if(dist&amp;lt;distInKM){
	    retVal=true;}
	else{
	    retVal=false;
	}
	return retVal;
}

function dblDistanceBetweenTwoLocations (firstLat, firstLon, secondLat, secondLon)
{
	var pi = Math.PI;
	var firstLatInRad=firstLat* pi / 180;
	var firstLonInRad=firstLon* pi / 180;
	var targetLatInRad = secondLat * pi / 180;
	var targetLonInRad = secondLon * pi / 180;
	var dist = Math.acos(Math.sin(targetLatInRad) * Math.sin(firstLatInRad) + Math.cos(targetLatInRad) * Math.cos(firstLatInRad) * Math.cos(targetLonInRad - firstLonInRad)) * 6371;
	
	return dist;
}


function dblSumNumericGrid(inQ)
{
	var retVal=0;
	var numOfTopics=GetTopicCount(inQ);
	var i;
	
	for(i=1; i&amp;lt;=numOfTopics; i++)
	{
		if (IsTopicVisible(inQ,i)) {
			retVal+=AnswerChoice(inQ,i);
		}
	}
	
	return retVal;
}

function dblContainsOneOf(inQTarget,inAnswers)
{
	var retVal = false;
	var numOfAnswers = inAnswers.length;
	var i;
	for (i=0;i&amp;lt; numOfAnswers;i++) {
		if (Contains(inQTarget,inAnswers[i])) {
			retVal = true;
			break;
		}
	}
	return retVal;
}


//function dblContainsAll(inQTarget,inAnswers)
//{
//	var retVal = true;
//	var numOfAnswers = arguments.length-1;
//	var i;
//	for (i=0;i&amp;lt; numOfAnswers;i++) {
//		retVal = retVal &amp;amp;&amp;amp; Contains(inQTarget,arguments[i+1]);
//	}
//	return retVal;
//}

function dblContainsAllOf(inQTarget,inAnswers)
{
	var retVal = true;
	var numOfAnswers = inAnswers.length;
	var i;
	for (i=0;i&amp;lt; numOfAnswers;i++) {
		retVal = retVal &amp;amp;&amp;amp; Contains(inQTarget,inAnswers[i]);
	}
	return retVal;
}

function dblNumOfTopicsContains(inQ, inValueToCheck)
{
	var retVal = 0;
	var i=0;
	for (i=1; i&amp;lt;=GetTopicCount(inQ);i++){
		if (IsTopicVisible(inQ,i) &amp;amp;&amp;amp; AnswerChoice(inQ,i) == inValueToCheck) {
			retVal++;
		}
	}
	
	return retVal;
}

function dblNumOfTopicsContainsChoice(inQ, inValueToCheck)
{
	var retVal = 0;
	var i=0;
	for (i=1; i&amp;lt;=GetTopicCount(inQ);i++){
		if (IsTopicVisible(inQ,i) &amp;amp;&amp;amp; ContainsChoice(inQ,i,inValueToCheck)) {
			retVal++;
		}
	}
	
	return retVal;
}

function dblNumOfIterContains(inQ, inValueToCheck)
{
	var retVal = 0;
	var i=0;
	for (i=1; i&amp;lt;IterationIndex;i++){
		if (ContainsIter(inQ,inValueToCheck,i)) {
			retVal++;
		}
	}
	
	return retVal;
}


function dblSetSpecificTopic(inQ, inTopicIndex, inValue)
{
	var curTopics = GetTopicCount(inQ);
	var newAnswers=new Array();
	var newArIdx=0;
	var i;
	for (i=0;i&amp;lt; curTopics;i++) {
		var actualTopic = i+1;
		if (actualTopic == inTopicIndex) {
			newAnswers[i] = inValue;
		}
		else {
			newAnswers[i] = AnswerChoice(inQ,actualTopic);
		}
	}
	SetAnswer(inQ,newAnswers);
}

function dblSetSpecificTopicChoice(inQ, inTopicIndex, inValue)
{
	var curTopics = GetTopicCount(inQ);
	var newAnswers=new Array();
	newAnswers.push(inValue);
	var i;
	var ansArr = GetAnswersChoice(inQ, inTopicIndex);
	for (i=0;i &amp;lt; ansArr.length;i++)
 	{
		newAnswers.push(ansArr[i]);
	}
	SetAnswerChoice(inQ, inTopicIndex, newAnswers);
}

function dblSetSpecificAnswer(inQ, inAnswerIdx, inChecked)
{
	var curAnswers = GetAnswers(inQ);
	var newAnswers=new Array();
	var newArIdx=0;
	var i;
	for (i=0;i&amp;lt; curAnswers.length;i++) {
		if (curAnswers[i] != inAnswerIdx) {
			newAnswers[newArIdx] = curAnswers[i];
			newArIdx++;
		}
	}
	if (inChecked) {
		newAnswers[newArIdx] = inAnswerIdx;
	}
	if (newAnswers.length &amp;gt; 0) {
	
		SetAnswer(inQ,newAnswers);
	}
	else {
		ClearAnswer(inQ);
	}
}

function dblSetAnswersByAnswers(inQTarget,inQids)
{
	var numOfQues = inQids.length;
	var numOfAnswers = GetAnswerCount(inQids[0]);
	var i;
	for (i=1;i&amp;lt;= numOfAnswers;i++) {
		var contained = false;
		var j;
		for (j=0; j&amp;lt;numOfQues;j++) {
			contained = Contains(inQids[j],i);
			if (contained) {
				break;
			}
		}
		if (contained) {
			dblSetSpecificAnswer(inQTarget, i,true);
		}
	}
}

function dblSetAnswersByAnswersEx (inQTarget,inQids,inExcludeHiddenTargetAnswers)
{
	var numOfQues = inQids.length;
	var numOfAnswers = GetAnswerCount(inQids[0]);
	var i;
	// go over all answers and for each check if it exists in the source questions
	for (i=1;i&amp;lt;= numOfAnswers;i++) {
		var contained = false;
		var j;
		// go over all source questions and check if the answer is checked
		for (j=0; j&amp;lt;numOfQues;j++) {
			contained = Contains(inQids[j],i);
			if (contained) {
				break;
			}
		}
		// in case it was contained check if need to add to target question
		if (contained) {
			var addAnswer = true;
			if ((inExcludeHiddenTargetAnswers) &amp;amp;&amp;amp; !IsAnswerVisible(inQTarget,i)) {
				addAnswer = false;
			}
			if (addAnswer) {
				dblSetSpecificAnswer(inQTarget, i,true);
			}
		}
	}
}


function dblSumOfTopics (inQuesIdx)
{
      var retVal = 0;
      var i;
      var numOfTopics = GetTopicCount(inQuesIdx);
      for (i=0;i&amp;lt;numOfTopics;i++) {
            var currTopic = i+1;
            if (IsTopicVisible (inQuesIdx, currTopic)) {
                  var currValue = AnswerChoice(inQuesIdx, currTopic);
                  if (currValue != -99999) {
	                  retVal += currValue;
                  }
            }
      }


      return retVal;
}

function dblFormatNumberToCurrency(num) {
	var retVal = "";
	var num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	var sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	var cents = num%100;
	num = Math.floor(num/100).toString();
	var addZero = "";
	if(cents&amp;lt;10) {
		addZero = "0";
	}
	for (var i = 0; i &amp;lt; Math.floor((num.length-(1+i))/3); i++) {
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	}
	retVal = (((sign)?'':'-') + '$' + num + '.' +addZero+ cents)
	return retVal;
}

function dblToFloat(inNumber)
{
	var retVal = parseFloat(inNumber.toString().replace(",", "."));
	return retVal;
}


function dblSetAnswerVisible(inQTarget,inValue,inReset,inAnswers)
{
	var retVal = false;
	var numOfAnswers = inAnswers.length;
	var i;
	if (inReset) {
		SetAnswerVisible(inQTarget,true);
	}
	for (i=0;i&amp;lt; numOfAnswers;i++) {
		SetAnswerVisible(inQTarget, inAnswers[i], inValue);
	}
	return retVal;
}


function dblContainsByText(inQIdx, inText)
{
	var retVal = false;
	var i=0;
	for (i=0; i&amp;lt;GetAnswerCount(inQIdx); i++){
		var idx = i+1;
		var text = AnswerText(inQIdx,idx);
		if (text == inText) {
			if (Contains(inQIdx,idx)) {
				retVal = true;
				break;
			}
		}
	}
	return retVal;
}


function dblFilterAnswersByAnswersByText (inTargetQ, inShow,inSourceQ)
{
	SetAnswerVisible(inTargetQ,!inShow);	
	var i =0;
	for (i=0; i&amp;lt;GetAnswerCount(inTargetQ);i++){
		var idx = i+1;
		var text = AnswerText(inTargetQ,idx);
		if (dblContainsByText(inSourceQ,text)) {
			SetAnswerVisible(inTargetQ,idx,inShow);	
		}
	}
	
	return true;
}

function dblFilterTopicsByAnswersByText (inTargetQ, inShow, inSourceQ)
{
	SetTopicVisible(inTargetQ,!inShow);	
	var i=0;
	for (i=0; i&amp;lt;GetTopicCount(inTargetQ); i++){
		var idx = i+1;
		var text = GetTopicOriginalText(inTargetQ,idx);
		if (dblContainsByText(inSourceQ,text)) {
			SetTopicVisible(inTargetQ,idx,inShow);	
		}
	}
	
	return true;
}

function dblGetSubjectStoreRow(inStoreName,inIDColumnName,inID)
{
	var retVal = null;
	try {
		var table = GetTableFromStore(inStoreName,"","@@"+inIDColumnName+"='"+inID+"'","");
		if (table != null &amp;amp;&amp;amp; table.RowCount &amp;gt;0) {
			var row = table[0];
			retVal = row;
		}
	}
	catch(err)
	{
		retVal = null;	
	}

	return retVal;
}

function dblIsRegEx (pattern,value) {
	var pattern = new RegExp(pattern);
	return pattern.test(value);
}

function dblDateToSQLDate(inDate)
{
	var retVal = "";
	retVal = inDate.Year+"-"+inDate.Month+"-"+inDate.Day;	
	return retVal;
}

function dblOrderArray(inOrderArray, inDataArray)
{
	var retVal = CreateRandomArray(inOrderArray.length);
	var i = 0;
	for (i = 0; i &amp;lt; inOrderArray.length; i++) {
		retVal[i] = inDataArray[inOrderArray[i]-1];
	}
	return retVal;
} 

function dblRespondentID ()
{
	var retVal = "".concat("D", SID, "-", DeviceIndex);
	return retVal;
}

function validateDuplicateOther(inQ, inOther, inIter)
{
	var retVal = false;
	var myOther = stringToUpper(AdditionalAnswerTextIter(inQ, inOther, inIter));
	for (var i=1; i &amp;lt; inIter; i++)
	{
		var toCompare = stringToUpper(AdditionalAnswerTextIter(inQ, inOther, i));
		if(toCompare == myOther)
		{
			retVal = true;
			break;
		}
	}
	return retVal;
}
	/*_@_USERCODE_END_@*/

	//_@_AddHandler_@{ Begin Add Handlers
	//_@_AddHandler_@} End Add Handlers

	//_@_HandlerZone_@{
		
		function QuestionStart_1()
		{
//------------------------------------------------------------------------------------//
//set the answers that were picked to show on Q2,
//NOT including the Other Specify answers:
//------------------------------------------------------------------------------------//

SetAnswerVisible(CurrQues,false); //hide all answers

for (var i=1; i&amp;lt;GetAnswerCount(QRef(1)); i++)
{ //this loop goes through all possible answers
 	if(ContainsAnyIter(QRef(1),i)) 
	{
 		SetAnswerVisible(CurrQues,true,false,i); //show the answers that were picked
 	} 
}


//------------------------------------------------------------------------------------//
//variable i does not reach the last index, since the last index (in this case index 3)
//is the index of Other Specify which we will check seperately:
//------------------------------------------------------------------------------------//

for (i=1; i&amp;lt;=4; i++)// 4 is the maximum number of possible iterations, adjust if needed
{
 //for each iterarion, let's check if Other Specify has been answered
	if (ContainsIter(QRef(1),3, i)) //3 is the index of Other Specify in Q1. adjust if needed
 		{
 		  var indxOfAnswerToShow= GetAnswerCount(QRef(1))+i-1;
		  // e.x. if captured in 1st iteration, the indexOfAnswerToShow is 3-1+1=3
		  // therefore, it will show "Other Specify from Iter1" and so on..
		  SetAnswerVisible(CurrQues,true,false,indxOfAnswerToShow);
		  SetAnswerText(CurrQues,indxOfAnswerToShow,AdditionalAnswerTextIter(QRef(1),3,i)); 
		}
}


		}
		
		
		function HandleQuestionValidate_0(ioValid)
		{
			/*_@_CC_@{1}_@_CC_@*/
			ioValid.outMessage = "";
			ioValid.outID = -1;
			ioValid.retVal = true;
			if (1 &amp;lt; 0) {{
			}}
			if (validateDuplicateOther(CurrQues, 3, IterationIndex)) {
				ioValid.retVal = false;
				ioValid.outMessage = "Other Specifiy cannot be the same as previously entered";
				ioValid.outID = 1;
				return;
			}
			
		}
		
	//_@_HandlerZone_@}


    function JSDBLInitAllScript()
    {
    }var eJumpQuestionResult = {ejqrNext:0, ejqrSubmit:1,ejqrCancel:2,ejqrFilter:3,ejqrNone:4,ejqrIndex:5,ejqrChapter:6};
var ePlatform = {None:0, Web:1, PC:2, PDA:4, MobileWeb:8, SmartPhone:16, Android:32, AllWindows:31, AllJSEnabled: 34, All:63};
var eAttachmentSource = {easDefault:0};
var eAskButtons = {OKCancel:0, YesNoCancel:1, YesNo:2};
var eAskResult = {None:0, OK:1, Yes:2, No:3, Cancel:4};
var eQuotaFilledResult = {Default:0,Filter:1,Cancel:2,Nothing:3};
var eExtraLabel = { MatrixLower:0, MatrixMiddle:1, MatrixUpper:2, MatrixIrrelevant:3, ScaleLower:4, ScaleMiddle:5, ScaleUpper:6, CountersTotal:7,CountersRemaining:8, NumericGridTotal:9, NumericGridRemaining:10 }; 
var eFontSize = {XSmall:-4,Smaller:-2,Small:-1,Regular:0,Large:2,Largest:8,XLarge:14};

var eULQuestionType = {eqtYesNo: 0, 
eqtAmerican: 1, 
eqtNumeric: 2, 
eqtFreeText: 3, 
eqtMultiSelect: 4, 
eqtRating: 5, 
eqtScale: 6, 
eqtMatrix: 7, 
eqtMultiTopics: 8, 
eqtNoQuestion: 9, 
eqtDateTime: 10, 
eqtCounters: 11, 
eqtStopper: 12, 
eqtMassiveMultiSelect: 13, 
eqtExpression: 14, 
eqtMultiText: 15, 
eqtMultiNumeric: 16, 
eqtMultimedia: 17, 
eqtMultiTopicsSelect: 18, 
eqtGPSQuestion: 19, 
eqtListSource: 20, 
eqtPositionTopicsOnImage: 21, 
eqtNumOfTypes: 22};

var eRenderGridAlignment = {Top: 0, 
Center: 1, 
Bottom: 2};

var eInterviewExtraField = {AttemptsPerCompletedInterview: 0, 
AdherenceToMethodology: 1, 
CustomData1: 2, 
CustomData2: 3, 
CustomData3: 4, 
CustomData4: 5, 
CustomData5: 6, 
CustomData6: 7, 
CustomDataInt1: 8, 
CustomDataInt2: 9, 
CustomDataInt3: 10, 
CustomDataInt4: 11, 
CustomDataInt5: 12, 
CustomDataInt6: 13, 
InterviewStopComment: 14};

var eSurveyStatus = {New: 0, 
EditNotCompleted: 1, 
EditCompleted: 2, 
EditTextReturn: 3, 
EditReturned: 4};
&lt;/Source&gt;
&lt;/UserLogicContents&gt;</ULSource><RestrictSPSS>False</RestrictSPSS><ExtraText1 /><ExtraBool1>False</ExtraBool1><ExtraBool2>False</ExtraBool2><ExtraInt1>-1</ExtraInt1><ExtraInt2>0</ExtraInt2><STGVersion>1.32.0.0</STGVersion><ULAssemblyData>AAEAAAD/////AQAAAAAAAAAMAgAAAEdVc2VyTG9naWNDcmVhdG9yLCBWZXJzaW9uPTEuMC4xLjMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAKVN1cnZleVRvR28uVXNlckxvZ2ljLkNyZWF0b3IuQXNzZW1ibHlEYXRhEAAAAAZtVGFibGUNbVN1cnZleUNvbnN0cw9tU3VydmV5U25pcHBldHMNbUNoYXB0ZXJUYWJsZQ1tTGFzdEJ1Y2tldElEEW1MYXN0TWV0YUJ1Y2tldElED21TdXJ2ZXlJbml0Q29kZRBtU3VydmV5QmxvY2tDb2RlEW1MYXN0TGlzdFNvdXJjZUlEE21MYXN0Q3VzdG9tQWN0aW9uSUQHbUZsYXZvcg5tVXNlR2xvYmFsQ29kZQttVXNlT3JnQ29kZQ5tU3RyaWN0SlNDaGVjaxdtTGFzdEF0dGFjaG1lbnRTb3VyY2VJRA5tU3VydmV5TmF2Q29kZQMDAwMAAAEBAAAEAAAAAAEeU3lzdGVtLkNvbGxlY3Rpb25zLkhhc2h0YWJsZVtdHFN5c3RlbS5Db2xsZWN0aW9ucy5IYXNodGFibGUeU3lzdGVtLkNvbGxlY3Rpb25zLkhhc2h0YWJsZVtdHlN5c3RlbS5Db2xsZWN0aW9ucy5IYXNodGFibGVbXQgICAgkU3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5lRmxhdm9yAgAAAAEBAQgCAAAACQMAAAAJBAAAAAkFAAAACQYAAAABAAAAAgAAAAYHAAAAAAYIAAAA6wJmdW5jdGlvbiB2YWxpZGF0ZUR1cGxpY2F0ZU90aGVyKGluUSwgaW5PdGhlciwgaW5JdGVyKQ0Kew0KCXZhciByZXRWYWwgPSBmYWxzZTsNCgl2YXIgbXlPdGhlciA9IHN0cmluZ1RvVXBwZXIoQWRkaXRpb25hbEFuc3dlclRleHRJdGVyKGluUSwgaW5PdGhlciwgaW5JdGVyKSk7DQoJZm9yICh2YXIgaT0xOyBpIDwgaW5JdGVyOyBpKyspDQoJew0KCQl2YXIgdG9Db21wYXJlID0gc3RyaW5nVG9VcHBlcihBZGRpdGlvbmFsQW5zd2VyVGV4dEl0ZXIoaW5RLCBpbk90aGVyLCBpKSk7DQoJCWlmKHRvQ29tcGFyZSA9PSBteU90aGVyKQ0KCQl7DQoJCQlyZXRWYWwgPSB0cnVlOw0KCQkJYnJlYWs7DQoJCX0NCgl9DQoJcmV0dXJuIHJldFZhbDsNCn0BAAAAAQAAAAX3////JFN1cnZleVRvR28uVXNlckxvZ2ljLkNyZWF0b3IuZUZsYXZvcgEAAAAHdmFsdWVfXwAIAgAAAAIAAAABAQEBAAAACQcAAAAHAwAAAAABAAAABgAAAAMcU3lzdGVtLkNvbGxlY3Rpb25zLkhhc2h0YWJsZQkLAAAACQwAAAAJDQAAAAkOAAAACQ8AAAAJEAAAAAQEAAAAHFN5c3RlbS5Db2xsZWN0aW9ucy5IYXNodGFibGUHAAAACkxvYWRGYWN0b3IHVmVyc2lvbghDb21wYXJlchBIYXNoQ29kZVByb3ZpZGVyCEhhc2hTaXplBEtleXMGVmFsdWVzAAADAwAFBQsIHFN5c3RlbS5Db2xsZWN0aW9ucy5JQ29tcGFyZXIkU3lzdGVtLkNvbGxlY3Rpb25zLklIYXNoQ29kZVByb3ZpZGVyCOxROD8AAAAACgoLAAAACREAAAAJEgAAAAcFAAAAAAEAAAAFAAAAAxxTeXN0ZW0uQ29sbGVjdGlvbnMuSGFzaHRhYmxlCRMAAAAJFAAAAAkVAAAACRYAAAAJFwAAAAcGAAAAAAEAAAAIAAAAAxxTeXN0ZW0uQ29sbGVjdGlvbnMuSGFzaHRhYmxlCRgAAAAJGQAAAAkaAAAACRsAAAAJHAAAAAkdAAAACR4AAAAJHwAAAAELAAAABAAAAOxROD8AAAAACgoLAAAACSAAAAAJIQAAAAEMAAAABAAAAOxROD8AAAAACgoLAAAACSIAAAAJIwAAAAENAAAABAAAAOxROD8BAAAACgoLAAAACSQAAAAJJQAAAAEOAAAABAAAAOxROD8AAAAACgoLAAAACSYAAAAJJwAAAAEPAAAABAAAAOxROD8QAAAACgoLAAAACSgAAAAJKQAAAAEQAAAABAAAAOxROD8AAAAACgoLAAAACSoAAAAJKwAAABARAAAAAAAAABASAAAAAAAAAAETAAAABAAAAOxROD8AAAAACgoLAAAACSwAAAAJLQAAAAEUAAAABAAAAOxROD8AAAAACgoLAAAACS4AAAAJLwAAAAEVAAAABAAAAOxROD8AAAAACgoLAAAACTAAAAAJMQAAAAEWAAAABAAAAOxROD8AAAAACgoLAAAACTIAAAAJMwAAAAEXAAAABAAAAOxROD8AAAAACgoLAAAACTQAAAAJNQAAAAEYAAAABAAAAOxROD8AAAAACgoLAAAACTYAAAAJNwAAAAEZAAAABAAAAOxROD8AAAAACgoLAAAACTgAAAAJOQAAAAEaAAAABAAAAOxROD8AAAAACgoLAAAACToAAAAJOwAAAAEbAAAABAAAAOxROD8AAAAACgoLAAAACTwAAAAJPQAAAAEcAAAABAAAAOxROD8AAAAACgoLAAAACT4AAAAJPwAAAAEdAAAABAAAAOxROD8AAAAACgoLAAAACUAAAAAJQQAAAAEeAAAABAAAAOxROD8AAAAACgoLAAAACUIAAAAJQwAAAAEfAAAABAAAAOxROD8AAAAACgoLAAAACUQAAAAJRQAAABAgAAAAAAAAABAhAAAAAAAAABAiAAAAAAAAABAjAAAAAAAAABAkAAAAAQAAAAgIAAAAABAlAAAAAQAAAAlGAAAAECYAAAAAAAAAECcAAAAAAAAAECgAAAABAAAACAgBAAAAECkAAAABAAAACUcAAAAQKgAAAAAAAAAQKwAAAAAAAAAQLAAAAAAAAAAQLQAAAAAAAAAQLgAAAAAAAAAQLwAAAAAAAAAQMAAAAAAAAAAQMQAAAAAAAAAQMgAAAAAAAAAQMwAAAAAAAAAQNAAAAAAAAAAQNQAAAAAAAAAQNgAAAAAAAAAQNwAAAAAAAAAQOAAAAAAAAAAQOQAAAAAAAAAQOgAAAAAAAAAQOwAAAAAAAAAQPAAAAAAAAAAQPQAAAAAAAAAQPgAAAAAAAAAQPwAAAAAAAAAQQAAAAAAAAAAQQQAAAAAAAAAQQgAAAAAAAAAQQwAAAAAAAAAQRAAAAAAAAAAQRQAAAAAAAAAFRgAAADFTdXJ2ZXlUb0dvLlVzZXJMb2dpYy5DcmVhdG9yLlF1ZXN0aW9uVmFsaWRhdGVJbmZvBQAAABlRdWVzdGlvbkluZm8rbVF1ZXN0aW9uSWR4FlF1ZXN0aW9uSW5mbyttSGFzRXJyb3IiUXVlc3Rpb25JbmZvK21RdWVzdGlvbkRlcGVuZGVuY2llcyFRdWVzdGlvbkluZm8rbUNoYXB0ZXJEZXBlbmRlbmNpZXMMdmFsaWRhdGVJbmZvAAADAwQIARxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0HFN5c3RlbS5Db2xsZWN0aW9ucy5BcnJheUxpc3QpU3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5WYWxpZGF0ZUluZm8CAAAAAgAAAAAAAAAACUgAAAAJSQAAAAlKAAAABUcAAAArU3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5RdWVzdGlvbkFjdGlvbgUAAAAZUXVlc3Rpb25JbmZvK21RdWVzdGlvbklkeBZRdWVzdGlvbkluZm8rbUhhc0Vycm9yIlF1ZXN0aW9uSW5mbyttUXVlc3Rpb25EZXBlbmRlbmNpZXMhUXVlc3Rpb25JbmZvK21DaGFwdGVyRGVwZW5kZW5jaWVzBkFjdGlvbgAAAwMBCAEcU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdBxTeXN0ZW0uQ29sbGVjdGlvbnMuQXJyYXlMaXN0AgAAAAEAAAAACUsAAAAJTAAAAAZNAAAA+AsvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vDQovL3NldCB0aGUgYW5zd2VycyB0aGF0IHdlcmUgcGlja2VkIHRvIHNob3cgb24gUTIsDQovL05PVCBpbmNsdWRpbmcgdGhlIE90aGVyIFNwZWNpZnkgYW5zd2VyczoNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8NCg0KU2V0QW5zd2VyVmlzaWJsZShDdXJyUXVlcyxmYWxzZSk7IC8vaGlkZSBhbGwgYW5zd2Vycw0KDQpmb3IgKHZhciBpPTE7IGk8R2V0QW5zd2VyQ291bnQoUVJlZigxKSk7IGkrKykNCnsgLy90aGlzIGxvb3AgZ29lcyB0aHJvdWdoIGFsbCBwb3NzaWJsZSBhbnN3ZXJzDQogCWlmKENvbnRhaW5zQW55SXRlcihRUmVmKDEpLGkpKSANCgl7DQogCQlTZXRBbnN3ZXJWaXNpYmxlKEN1cnJRdWVzLHRydWUsZmFsc2UsaSk7IC8vc2hvdyB0aGUgYW5zd2VycyB0aGF0IHdlcmUgcGlja2VkDQogCX0gDQp9DQoNCg0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLw0KLy92YXJpYWJsZSBpIGRvZXMgbm90IHJlYWNoIHRoZSBsYXN0IGluZGV4LCBzaW5jZSB0aGUgbGFzdCBpbmRleCAoaW4gdGhpcyBjYXNlIGluZGV4IDMpDQovL2lzIHRoZSBpbmRleCBvZiBPdGhlciBTcGVjaWZ5IHdoaWNoIHdlIHdpbGwgY2hlY2sgc2VwZXJhdGVseToNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy8NCg0KZm9yIChpPTE7IGk8PTQ7IGkrKykvLyA0IGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBwb3NzaWJsZSBpdGVyYXRpb25zLCBhZGp1c3QgaWYgbmVlZGVkDQp7DQogLy9mb3IgZWFjaCBpdGVyYXJpb24sIGxldCdzIGNoZWNrIGlmIE90aGVyIFNwZWNpZnkgaGFzIGJlZW4gYW5zd2VyZWQNCglpZiAoQ29udGFpbnNJdGVyKFFSZWYoMSksMywgaSkpIC8vMyBpcyB0aGUgaW5kZXggb2YgT3RoZXIgU3BlY2lmeSBpbiBRMS4gYWRqdXN0IGlmIG5lZWRlZA0KIAkJew0KIAkJICB2YXIgaW5keE9mQW5zd2VyVG9TaG93PSBHZXRBbnN3ZXJDb3VudChRUmVmKDEpKStpLTE7DQoJCSAgLy8gZS54LiBpZiBjYXB0dXJlZCBpbiAxc3QgaXRlcmF0aW9uLCB0aGUgaW5kZXhPZkFuc3dlclRvU2hvdyBpcyAzLTErMT0zDQoJCSAgLy8gdGhlcmVmb3JlLCBpdCB3aWxsIHNob3cgIk90aGVyIFNwZWNpZnkgZnJvbSBJdGVyMSIgYW5kIHNvIG9uLi4NCgkJICBTZXRBbnN3ZXJWaXNpYmxlKEN1cnJRdWVzLHRydWUsZmFsc2UsaW5keE9mQW5zd2VyVG9TaG93KTsNCgkJICBTZXRBbnN3ZXJUZXh0KEN1cnJRdWVzLGluZHhPZkFuc3dlclRvU2hvdyxBZGRpdGlvbmFsQW5zd2VyVGV4dEl0ZXIoUVJlZigxKSwzLGkpKTsgDQoJCX0NCn0NCg0KBEgAAAAcU3lzdGVtLkNvbGxlY3Rpb25zLkFycmF5TGlzdAMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBQAACAgJTgAAAAAAAAAAAAAAAUkAAABIAAAACU4AAAAAAAAAAAAAAAVKAAAAKVN1cnZleVRvR28uVXNlckxvZ2ljLkNyZWF0b3IuVmFsaWRhdGVJbmZvAgAAAApjb25kaXRpb25zBm5leHRJRAQAPVN1cnZleVRvR28uVXNlckxvZ2ljLkNyZWF0b3IuVmFsaWRhdGVJbmZvK1ZhbGlkYXRlQ29uZGl0aW9uW10CAAAACAIAAAAJTwAAAAIAAAABSwAAAEgAAAAJUAAAAAEAAAABAAAAAUwAAABIAAAACU4AAAAAAAAAAAAAABBOAAAAAAAAAAdPAAAAAAEAAAABAAAABDtTdXJ2ZXlUb0dvLlVzZXJMb2dpYy5DcmVhdG9yLlZhbGlkYXRlSW5mbytWYWxpZGF0ZUNvbmRpdGlvbgIAAAAJUgAAABBQAAAABAAAAAgIAAAAAA0DBVIAAAA7U3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5WYWxpZGF0ZUluZm8rVmFsaWRhdGVDb25kaXRpb24DAAAACWNvbmRpdGlvbgNtc2cCSUQEAQAmU3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5Db25kaXRpb24CAAAACAIAAAAJUwAAAAZUAAAAN090aGVyIFNwZWNpZml5IGNhbm5vdCBiZSB0aGUgc2FtZSBhcyBwcmV2aW91c2x5IGVudGVyZWQBAAAABVMAAAAmU3VydmV5VG9Hby5Vc2VyTG9naWMuQ3JlYXRvci5Db25kaXRpb24BAAAABW1UZXh0AQIAAAAGVQAAADN2YWxpZGF0ZUR1cGxpY2F0ZU90aGVyKEN1cnJRdWVzLCAzLCBJdGVyYXRpb25JbmRleCkL</ULAssemblyData><NumOfQuestionsInPage>-1</NumOfQuestionsInPage><Version>2</Version><NextChapterID>3</NextChapterID><DefaultChapterDesc /><Flags>272629772</Flags><NextAnswerID>1</NextAnswerID><ClientData /><DefaultFont /><Comment /><ExternalSystem>-1</ExternalSystem><NextScoreID>1</NextScoreID><LocationStoreID>11960</LocationStoreID><NextScaleID>1</NextScaleID><Mode>0</Mode><DefTextPanelHeight>-1</DefTextPanelHeight><DefAnswerPanelHeight>-1</DefAnswerPanelHeight><SurveyFlags2>65792</SurveyFlags2><NumOfQuestionsPDA>-1</NumOfQuestionsPDA><NumOfQuestionsPC>-1</NumOfQuestionsPC><NumOfQuestionsSmartPhone>-1</NumOfQuestionsSmartPhone><NextLangID>0</NextLangID><QuestionCounterResetText /><QuestionNumericResetText /><QuestionStopperResetText /><QuestionFormSurveyCanceled /><QuestionFormSurveyFiltered /><QuestionFormCanotExit /><QuestionFormSureToCancelNoSave /><QuestionFormSureToCancel /><QuestionFormSaved /><PromptOnSubmitText /><PromptOnCancelText /><PromptOnFilterText /><StartWithLangID>-1</StartWithLangID><ReportFlags>0</ReportFlags><SurveyFlags3>54820992</SurveyFlags3><ClientTypes>54</ClientTypes><MDDScript /><MDDScriptOps /><MDDScriptRouting /><FlagIfDuredLessThan>0</FlagIfDuredLessThan><FlagIfDuredMoreThan>0</FlagIfDuredMoreThan><PropertiesAsString /><SurveyFlags4>0</SurveyFlags4><InternalProps /><SurveyLogicVersion>1</SurveyLogicVersion></Survey><SQs><ElemStr>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</ElemStr></SQs><SANs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx6+MXDf979Ph42Vzl9dnTo53Hd+3vj39inTctgaDfdx/f9f56fDZ7h6b48fhN/q49On58l38+fj2v6paaZMvff2dnF/9/fNd85gDK6/6fj38yq4tsUuYvskV+dPz77/7+9GLw2eMTHgBQ0d8ev17Xl/k1Qb63M5vNzs93tif7u/vb+w+yB9tZtntve2c/zw7u35s8yLJzwsM0f/w0L/M2nwEJ8+vj76wXq7PleXW0TT3YPx6fvmvrDGPbTe/qX0+qqtw9epaVTf74rveJfHu2bHcB2P2hmH+1PJnn07fSbfcjbWP+tIO03wOFb7/54jmweFZmFw2gyC+Pv2znef16lU+JYEyr10K/3ufUy2KRL1sA+W5eXMxbQNHfHr+eVnWOD+SXx2fN62lW5mak5s/Hr/IVTSgQApxX+WWRX7m/8N3Zcpa/Y0L6fz9+mdfnYcOTqqxqr6H8/fhp0azK7Np9G3xAiB1P2+IyP3pTrxkx/fPxl3VxUSyzkhGlicar3c8ev6zzJidOmPmteh8+PltkFzmwfVlXq+Zo99MHDx7s3duj7sIvpOHZDIP66vlPZuU6934lBgBFvb/MN0/zqfcN/nr8KlvOqsXndbVeCU28v5Vgdur9P4leNKuQ9uarr86eonvgltdtkTfHzeu2Jk7iT7OaZt9KOA88/EhVAcPdc+pA/ybWgLoIdcbu7XXGrq8zngzqjL2vqzP2BnTG3o90xq10xt6PdMaPdMYPQ2fs3V5n7Pk6g7kzBXsW59eD+uPe19Uf9wb0x70f6Q/hmt3N+uPej/THj/THD0N/2EYd/bH/teKU/Q1xiq+RIjpj70dxygf5HHs/ilN+pDN+ODpj9/Y6Y/fmOGV/Q5xyo874UZzyYTrjR3HKj3TGD0VnDMUpEZ0xHKek53W1SM/avN4dVCVDIcuNquRHIcuHqZL/n4UsP1Il/29VJfdur0ru3UKV7A2qkv2vq0r2B1TJ/o9Uya1Uyf6PvJIfqZIfhirZv70q2b+FKrk3qEruf11Vcn9Aldz/kSq5lSq5/7VVyY9UyY9UyXuokvu3VyX3b6FK9gdVyadfV5V8OqBKPv2RKrmVKvn0R6rkR6rkZ0eV4N/m6P8BqNR3x3ImAAA=</ElemStr></SANs><STos><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx6zdVk949+n8AZjUmjDEAAAA=</ElemStr></STos><SCs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx65MG/xw9Pnt6tPP4Lv37+EW2yI++90VWLNOTebZq8/r7j+/yh49fr+vL/Joa3duZzWbn5zvbk/3d/e39B9mD7Szbvbe9s59nB/fvTR5k2fnju7b546d5mbf5DF2YXx+/zOp82dK327uP79o/Hj+vLorpszK7aNDa++vxq3w5y2v54/7ju/6f1EEzrYtVS4M9ejMvmpT+187ztK6qNp3KMNLqPM3Kkj//Reu8QePmbrOebGsDemvJ3zaM+Og3Tn7j5Pep1uk0W6ZLglPni+oypxYEXF8ZpdlyxlAdRAttsW7adJKnayAavDb2QS9oUs6v06Jt0lVdrfK6LfIm3VoSyUfpzA1slLb5uzbN2+n4DujoRvz4Db64e/T49F1bZ0+qqtw9epaVTf74rveJ+3bv6E299r/c0y/Plu0uz4f7y36xh/lwfzw+m73jpvjJCHz7zRfPgcRJtVjQZOLX7+bFxbzFi/rb49fTqs7BTfj6Vb6q6vYka/OLqr7uMV3na23+pmhLfvuL7N0ZNcyYBMAk+ODx86JpX1frepqfzfjr4APG+GW2zMtvC2Zo0f3s8as3zwxpX9FEV4vP62q94rb+34/PmuNpW1zmSlf7Z4Bj86Y6fYcR9JB13zx+aTnguHnd1iSt6NyJwV4oFTQPdyG+KsK7nggrHdPdn13p3RkQ3nsP7+3tfvq1JBgj/rni6J1vkqG9KXgfXt7/ESs/PdqLsPLezw0rfz079HPJxd+oWvao/z5c/PNcI9+Fa/X/AJPv2GyJCQAA</ElemStr></SCs><SBNs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx6ycvmvTu0f8DVNIIpTEAAAA=</ElemStr></SBNs><SATs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx6+M3TXr36P8B2S/MCTEAAAA=</ElemStr></SATs><SSCOs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx69cnXzbp3aP/B1t6G+cyAAAA</ElemStr></SSCOs><SPs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx65dNevfo/wF1B76WMAAAAA==</ElemStr></SPs><RGs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jxq8+b9O7R/wNCnyKPMAAAAA==</ElemStr></RGs><CSs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jxyesmvXv0/wA+f8jSMAAAAA==</ElemStr></CSs><SSCs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx69cnTXr36P8B28cSlTEAAAA=</ElemStr></SSCs><QAs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jxTxw36d2j/wdMGPaGMAAAAA==</ElemStr></QAs><SLs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx6+dNevfo/wH2fa4zMAAAAA==</ElemStr></SLs><STes><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx6zd5k949+n8Axy2WxjEAAAA=</ElemStr></STes><SMBs><ElemStr>H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Iv7Hv/cffPx7vFuU6WVeN0W1/Oyj3fHOR2m+nFazYnnx2Ufr9nz74KPf4+jx6y+eNPwv/bOuL/Prs6dH93Zms9n5+c72ZH93f3v/QfZgO8t2723v7OfZwf17kwdZdv74rm3++Ml6+jZv6bedx3ft7/rpi2yRp3ePHj/Nz7N12f7EumoztAv+fvzmepXjU/75+CfWedMS1gRle/fxXe/Pxy+zOl+2+oX94/FXy5N5Tt3NjpfNFQ35CeGFXu/KwL6Z0e3GR3f0Ir9KX8/zvDXf86e3GfG99xnxzu0HfJdn9f8B/pP4dwUCAAA=</ElemStr></SMBs></Root>