<participant>
	<insertText location="aboveHTML+50"><![CDATA[<%
var @@rsName@@_cmd = Server.CreateObject ("ADODB.Command");
@@rsName@@_cmd.ActiveConnection = MM_@@cname@@_STRING;
@@rsName@@_cmd.CommandText = "@@newEncodedSQL@@";
@@rsName@@_cmd.Prepared = true;
<@ loop (@@paramName@@, @@paramType@@, @@paramDirection@@, @@paramSize@@, @@paramValue@@, @@paramTypeDisplayName@@) @>@@rsName@@_cmd.Parameters.Append(@@rsName@@_cmd.CreateParameter("@@paramName@@", @@paramType@@, @@paramDirection@@, @@paramSize@@, @@paramValue@@)); // @@paramTypeDisplayName@@
<@ endloop @>

var @@rsName@@ = @@rsName@@_cmd.Execute();
var @@rsName@@_numRows = 0;
%>]]></insertText>
	<searchPatterns whereToSearch="directive">
		<searchPattern paramNames="rsName,cname,newEncodedSQL,MM_loop1" isOptional="false" limitSearch="all"><![CDATA[/var ([^\r\n]*?)_cmd = Server\.CreateObject \("ADODB\.Command"\);(?:\r\n|\r(?!\n)|\n)[ \t]*[^\r\n]*?_cmd\.ActiveConnection = MM_([^\r\n]*?)_STRING;(?:\r\n|\r(?!\n)|\n)[ \t]*[^\r\n]*?_cmd\.CommandText = "([^\r\n]*?)";(?:\r\n|\r(?!\n)|\n)[ \t]*[^\r\n]*?_cmd\.Prepared = true;(?:\r\n|\r(?!\n)|\n)[ \t]*((?:[^\r\n]*_cmd\.Parameters\.Append\([^\r\n]*_cmd\.CreateParameter\("[^\r\n]*", [^\r\n]*, [^\r\n]*, [^\r\n]*, [^\r\n]*\)\);(?:\s*\/\/[^\r\n]*)?(?:\r\n|\r(?!\n)|\n)[ \t]*)*?)(?:\r\n|\r(?!\n)|\n)[ \t]*var [^\r\n]*? = [^\r\n]*?_cmd\.Execute\(\);(?:\r\n|\r(?!\n)|\n)[ \t]*var [^\r\n]*?_numRows = 0;(?=\r\n|\r|\n|%>)/i]]></searchPattern>
		<searchPattern paramNames="paramName,paramType,paramDirection,paramSize,paramValue,paramTypeDisplayName" limitSearch="@@MM_loop1@@" isOptional="true" searchType="multiple"><![CDATA[/[^\r\n]*?_cmd\.Parameters\.Append\([^\r\n]*?_cmd\.CreateParameter\("([^\r\n]*?)", ([^\r\n]*?), ([^\r\n]*?), ([^\r\n]*?), ([^\r\n]*?)\)\);(?:\s*\/\/[^\r\n]*)?(?:\r\n|\r(?!\n)|\n)[ \t]*/i]]></searchPattern>
	</searchPatterns>
	<quickSearch>Server.CreateObject ("ADODB.Command");</quickSearch>
</participant>

<!-- participant modified by hand: we should not match the ending of the CreateParameter lines -->
