summaryrefslogtreecommitdiff
path: root/tests/lexers/html
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lexers/html')
-rw-r--r--tests/lexers/html/example.txt2933
-rw-r--r--tests/lexers/html/example2.txt12530
2 files changed, 15463 insertions, 0 deletions
diff --git a/tests/lexers/html/example.txt b/tests/lexers/html/example.txt
new file mode 100644
index 00000000..a7b9bef1
--- /dev/null
+++ b/tests/lexers/html/example.txt
@@ -0,0 +1,2933 @@
+---input---
+<html>
+ <head>
+ <script lang="javascript" type="text/javascript">
+ // <!--
+ function toggleVisible(element) {
+ if (element.style.display == 'block') {
+ element.style.display = 'none';
+ } else {
+ element.style.display = 'block';
+ }
+ return false;
+ }
+ // -->
+ </script>
+ <title>Error</title>
+ <style>
+ .path {
+ padding: 5px;
+ font-size: 140%;
+ background: #ddd;
+ }
+ .error {
+ padding: 5px;
+ padding-top: 15px;
+ font-size: 140%;
+ color: #f00;
+ }
+ .load {
+ padding: 5px;
+ color: #555;
+ }
+ .source {
+ border: 1px solid #ccc;
+ padding: 10px;
+ margin-top: 10px; margin-bottom: 10px;
+ }
+ h2 {
+ padding-left: 5px;
+ background: #eee;
+ }
+ </style>
+ </head>
+ <body>
+ <h1>Error</h1>
+
+<?r
+ if Run.mode == :debug
+ require 'cgi'
+?>
+ <?r for error, path in @context.rendering_errors ?>
+ <div class="path"><strong>Path:</strong> #{path}</div>
+ <div class="error"><strong>#{CGI.escapeHTML(error.to_s)}</strong></div>
+ <div class="load">
+ <strong><a href="#{request.uri}">Reload</a></strong> this page.
+ Go to the <strong><a href="#{request.referer}">referer</a></strong> or the <strong><a href="/">home page</a></strong>.
+ </div>
+ <div class="source">
+ <?r
+ extract = error.source_extract.split("\n")
+ ?>
+ In file <b>'#{error.hot_file}'</b> #{error.hot_file =~ /\.xhtml$/ ? '(line numbering is aproximate due to template transformation)' : nil}:
+ <br /><br />
+ <?r
+ extract.each_with_index do |line, idx|
+ line = sanitize(line)
+ if 5 == idx
+ ?>
+ <div style="background: #eee">#{line}</div>
+ <?r else ?>
+ <div>#{line}</div>
+ <?r
+ end
+ end
+ ?>
+ </div>
+ <h2><a href="#" onclick="return toggleVisible(document.getElementById('trace'));">Stack Trace</a></h2>
+ <div id="trace" style="display: none;">
+ <?r error.backtrace.zip(error.source_for_backtrace).each_with_index do |step,step_idx| ?>
+ <div><a href="#" onclick="return toggleVisible(document.getElementById('trace_#{step_idx}'));">#{sanitize(step.first)}</a></div>
+ <div class="source" id="trace_#{step_idx}" style="display: none;">
+ <?r
+ extract = step.last.split("\n")
+ extract.each_with_index do |line, idx|
+ line = sanitize(line)
+ if 5 == idx
+ ?>
+ <div style="background: #eee">#{line}</div>
+ <?r else ?>
+ <div>#{line}</div>
+ <?r
+ end
+ end
+ ?>
+ </div>
+
+
+ <?r end ?>
+ </div>
+ <?r end ?>
+
+ <h2><a href="#" onclick="document.getElementById('request').style.display = 'block'; return false">Request</a></h2>
+ <div id="request" style="display: none">
+ <p><strong>Parameters:</strong> #{request.params.reject{ |k,v| k == :__RELOADED__ }.inspect}</p>
+ <p><strong>Cookies:</strong> #{request.cookies.inspect}</p>
+ <p><strong>Headers:</strong><br />#{request.headers.collect { |k, v| "#{k} => #{v}" }.join('<br />')}</p>
+ </div>
+
+ <h2><a href="#" onclick="document.getElementById('response').style.display = 'block'; return false">Response</a></h2>
+ <div id="response" style="display: none">
+ <p><strong>Headers:</strong> #{request.response_headers.inspect}</p>
+ <p><strong>Cookies:</strong> #{request.response_cookies.inspect}</p>
+ </div>
+
+ <h2><a href="#" onclick="document.getElementById('session').style.display = 'block'; return false">Session</a></h2>
+ <div id="session" style="display: none">
+ <p><strong>Values:</strong> #{session.inspect}</p>
+ </div>
+
+ <br /><br />
+ Powered by <a href="http://www.nitrohq.com">Nitro</a> version #{Nitro::Version}
+<?r end ?>
+ </body>
+</html>
+<SystemPage>
+ <?r base = "#{@base}/%base%" ?>
+ <h1><a href="/"> Home</a> > <a href="#@base">System</a> > <a href="#{base}/list">#{"%plural%".humanize}</a> > Edit #{"%name%".humanize} </h1>
+ <?r if @all ?>
+ <a href="#{request.uri.gsub(/\/all$/, '')}">Show editable</a>
+ #{form_for @obj, :action => "#{base}/save", :cancel => "#{base}/list", :all => true}
+ <?r else ?>
+ <a href="#{request.uri}/all">Show all</a>
+ #{form_for @obj, :action => "#{base}/save", :cancel => "#{base}/list"}
+ <?r end ?>
+</SystemPage>
+#{form_for(@%name%)}
+<SystemPage>
+ <?r base = "#{@base}/%base%" ?>
+ <h1>#{"%plural%".humanize}</h1>
+ <h2><a href="#{base}/new">New #{"%name%".humanize}</a></h2>
+ <form action="search">
+ Search #{"%plural%".humanize}: <input type="text" name="q" />&nbsp;<input type="submit" value="Search" />
+ </form>
+ <table>
+ <?r for obj in @list ?>
+ <tr>
+ <td width="100%"><a href="#{base}/edit/#{obj.oid}">#{obj.to_s}</a></td>
+ <?r if obj.respond_to?(:update_time) ?>
+ <td nowrap="1">#{obj.update_time.stamp(:db)}</td>
+ <?r end ?>
+ <td><a href="#{base}/edit/#{obj.oid}">edit</a></td>
+ <td><a href="#{base}/delete/#{obj.oid}">del</a></td>
+ </tr>
+ <?r end ?>
+ </table>
+</SystemPage>
+<SystemPage>
+ <?r base = "#{@base}/%base%" ?>
+ <h1><a href="/"> Home</a> > <a href="#@base">System</a> > #{"%plural%".humanize}</h1>
+ <a href="#{base}/new">New #{"%name%".humanize}</a>
+ <p>
+ <form action="#{base}/search">
+ Search #{"%plural%".humanize}: <input type="text" name="q" />&nbsp;<input type="submit" value="Search" />
+ </form>
+ </p>
+ <table>
+ <?r for obj in @list ?>
+ <tr>
+ <td width="100%"><a href="#{base}/edit/#{obj.oid}">#(obj.to_s)</a></td>
+ <?r if obj.respond_to?(:update_time) ?>
+ <td nowrap="1">#{obj.update_time.stamp(:db)}</td>
+ <?r end ?>
+ <td><a href="#{base}/edit/#{obj.oid}">edit</a></td>
+ <td><a href="#{base}/delete/#{obj.oid}" onclick="confirm('Are you sure?')">del</a></td>
+ </tr>
+ <?r end ?>
+ </table>
+ <div class="pager" if="@pager and @pager.navigation?">
+ #{@pager.navigation}
+ </div>
+</SystemPage>
+<SystemPage>
+ <?r base = "#{@base}/%base%" ?>
+ <h1><a href="/"> Home</a> > <a href="#@base">System</a> > <a href="#{base}/list">#{"%plural%".humanize}</a> > New #{"%name%".humanize}</h1>
+ <?r if @all ?>
+ <a href="#{request.uri.gsub(/\/all$/, '')}">Show editable</a>
+ #{form_for @obj, :action => "#{base}/save", :cancel => "#{base}/list", :all => true, :enctype => "multipart/form-data"}
+ <?r else ?>
+ <a href="#{request.uri}/all">Show all</a>
+ #{form_for @obj, :action => "#{base}/save", :cancel => "#{base}/list", :enctype => "multipart/form-data"}
+ <?r end ?>
+</SystemPage>
+<SystemPage>
+ <?r base = "#{@base}/%base%" ?>
+ <h1><a href="/"> Home</a> > <a href="#@base">System</a> > <a href="#{base}/list">#{"%plural%".humanize}</a> > Search for '#@query'</h1>
+ <p>
+ <form action="#{base}/search">
+ Search #{"%plural%".humanize}: <input type="text" name="q" />&nbsp;<input type="submit" value="Search" />
+ </form>
+ </p>
+ <?r if @list.nil? ?>
+ <p>Search method is not implemented for this object</p>
+ <?r else ?>
+ <table>
+ <?r for obj in @list ?>
+ <tr>
+ <td width="100%"><a href="#{base}/edit/#{obj.oid}">#(obj.to_s)</a></td>
+ <?r if obj.respond_to?(:update_time) ?>
+ <td nowrap="1">#{obj.update_time.stamp(:db)}</td>
+ <?r end ?>
+ <td><a href="#{base}/edit/#{obj.oid}">edit</a></td>
+ <td><a href="#{base}/delete/#{obj.oid}">del</a></td>
+ </tr>
+ <?r end ?>
+ </table>
+ <div class="pager" if="@pager and @pager.navigation?">
+ #{@pager.navigation}
+ </div>
+ <?r end ?>
+</SystemPage>
+<SystemPage>
+ <?r base = "#{@base}/%base%" ?>
+ <h1>View %name%</h1>
+ <h2><a href="#{base}/list">List of %plural%</a></h2>
+ <code>
+ #{@obj.to_yaml}
+ </code>
+</SystemPage>
+<strong>Access denied</strong>
+<SystemPage>
+ <?r base = "#{@base}/%base%" ?>
+ <h1><a href='/'>Home</a> > System</h1>
+
+ <h2>Og managed classes</h2>
+
+ <table>
+ <tr>
+ <th>Class</th>
+ <th>Count</th>
+ <th colspan="2">Cleanup</th>
+ <th>Properties</th>
+ </tr>
+ <?r for c in @classes ?>
+ <tr>
+ <td><a href="#@base/#{Scaffolding.class_to_path(c).plural}/list">#{c.name}</a></td>
+ <td>#{c.count}</td>
+ <td><a href="delete_all/#{c.name}" onclick="return confirm('Delete all instances?')">delete</a></td>
+ <td><a href="destroy/#{c.name}" onclick="return confirm('Drop the schema?')">destroy</a></td>
+ <td width="100%">#{c.properties.values.join(', ')}</td>
+ </tr>
+ <?r end ?>
+ </table>
+
+ <h2>System configuration</h2>
+
+ <table width="100%">
+ <tr>
+ <th>Name</th>
+ <th>Value</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+ <?r for s in @settings ?>
+ <tr>
+ <td>#{s.owner}.<strong>#{s.name}</strong></td>
+ <td>#{s.value.inspect}</td>
+ <td>#{s.type}</td>
+ <td>#{s.options[:doc]}</td>
+ </tr>
+ <?r end ?>
+ </table>
+</SystemPage>
+
+<b><?r $include1 = true ?></b>
+<b><?r $include2 = true ?></b>
+<html>
+ <b>Test</b>
+
+<?r @tflag = true ?>
+
+<render href="blog/inc1" />
+<render href='blog/inc2' />
+
+</html>
+<html>hello</html>
+Hello #{username}
+
+how do you feel?
+
+Here is your <b>Token</b>: #{token}
+<Page title="Questions and Tips by Tags">
+ <div id="left">
+ <?r if @tags ?>
+ <h1>Questions with Tags: #{@tags.join(" ")}</h1>
+
+ <?r if @questions && @questions.size > 0 ?>
+ <?r if @qtags ?>
+ Too many results for that Tag, please reduce the number by using one of the following Tags:
+ #{cloud_of(@qtags)}
+ <?r end ?>
+ <div class="results">
+ <?r @questions.each do |q| ?>
+ <h2><a href="/question/#{q.oid}">#{q.question}</a></h2>
+ <p>
+ <?r excerpt = excerpt_with_words(q.text, @tags) ?>
+ #{excerpt}
+ </p>
+ <p style="float:right;">#{q.answers.size.to_i} answers</p>
+ <?r end ?>
+ </div>
+ <div class="pager">
+ #{@qpager.navigation}
+ </div>
+ <?r else ?>
+ <div class="results_none">
+ <h2>no question with this/these tag(s) found</h2>
+ <p><a href="/ask">Ask a question here.</a></p>
+ </div>
+ <?r end ?>
+
+ <?r if @tips && @tips.size > 0 ?>
+ <h1>Tips with Tags: #{@tags.join(" ")}</h1>
+ <?r if @ttags ?>
+ Too many results for that Tag, please reduce the number by using one of the following Tags:
+ #{cloud_of(@ttags)}
+ <?r end ?>
+ <div class="results">
+ <?r @tips.each do |t| ?>
+ <h2><a href="/tip/#{t.oid}">#{t.title}</a></h2>
+ <p>
+ <?r excerpt = excerpt_with_words(t.text, @tags) ?>
+ #{excerpt}
+ </p>
+ <?r end ?>
+ </div>
+ <div class="pager">
+ #{@tpager.navigation}
+ </div>
+ <?r end ?>
+
+ <?r if @tutorials && @tutorials.size > 0 ?>
+ <h1>Tutorials with Tags: #{@tags.join(" ")}</h1>
+ <?r if @tuttags ?>
+ Too many results for that Tag, please reduce the number by using one of the following Tags:
+ #{cloud_of(@tuttags)}
+ <?r end ?>
+ <div class="results">
+ <?r @tutorials.each do |t| ?>
+ <h2><a href="/tutorial/#{t.oid}">#{t.title}</a></h2>
+ <p>
+ <?r excerpt = excerpt_with_words(t.text, @tags) ?>
+ #{excerpt}
+ </p>
+ <?r end ?>
+ </div>
+ <div class="pager">
+ #{@tpager.navigation}
+ </div>
+ <?r end ?>
+
+
+ <?r else ?>
+ <div class="cloud">
+ <?r
+ sum = all_tags.inject(0) { |sum, t| sum + t.popularity.to_i }
+ ?>
+ <?r all_tags.each do |t| ?>
+ <a href="/tags/#{t.name}" style="font-size:#{(1+((t.popularity.to_i/sum.to_f)*2)).to_s[0..3]}em;">#{t.name}</a>
+ <?r end ?>
+ </div> <!-- #cloud -->
+ <?r end ?>
+ </div> <!-- #left -->
+
+ <render href="/right" />
+</Page>
+
+<!-- Copyright © 2006 Kashia Buch (kashia@vfemail.net), Fabian Buch (fabian@fabian-buch.de). All rights reserved. -->
+
+---tokens---
+'<' Punctuation
+'html' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'head' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'script' Name.Tag
+' ' Text
+'lang' Name.Attribute
+'=' Operator
+'"javascript"' Literal.String
+' ' Text
+'type' Name.Attribute
+'=' Operator
+'"text/javascript"' Literal.String
+'>' Punctuation
+'' Text
+'\n ' Text
+'// <!--\n' Comment.Single
+
+' ' Text
+'function' Keyword.Declaration
+' ' Text
+'toggleVisible' Name.Other
+'(' Punctuation
+'element' Name.Other
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'element' Name.Other
+'.' Punctuation
+'style' Name.Other
+'.' Punctuation
+'display' Name.Other
+' ' Text
+'==' Operator
+' ' Text
+"'block'" Literal.String.Single
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n ' Text
+'element' Name.Other
+'.' Punctuation
+'style' Name.Other
+'.' Punctuation
+'display' Name.Other
+' ' Text
+'=' Operator
+' ' Text
+"'none'" Literal.String.Single
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+' ' Text
+'else' Keyword
+' ' Text
+'{' Punctuation
+'\n ' Text
+'element' Name.Other
+'.' Punctuation
+'style' Name.Other
+'.' Punctuation
+'display' Name.Other
+' ' Text
+'=' Operator
+' ' Text
+"'block'" Literal.String.Single
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'return' Keyword
+' ' Text
+'false' Keyword.Constant
+';' Punctuation
+' \n ' Text
+'}' Punctuation
+' \n ' Text
+'// -->\n' Comment.Single
+
+'' Text
+' ' Text
+'<' Punctuation
+'/' Punctuation
+'script' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'title' Name.Tag
+'>' Punctuation
+'Error' Text
+'<' Punctuation
+'/' Punctuation
+'title' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'style' Name.Tag
+'>' Punctuation
+'\n ' Text
+'.' Punctuation
+'path' Name.Class
+' ' Text
+'{' Punctuation
+' \n ' Text
+'padding' Keyword
+':' Punctuation
+' ' Text
+'5' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'font-size' Keyword
+':' Punctuation
+' ' Text
+'140' Literal.Number.Integer
+'%' Keyword.Type
+';' Punctuation
+'\n ' Text
+'background' Keyword
+':' Punctuation
+' ' Text
+'#ddd' Literal.Number.Hex
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'.' Punctuation
+'error' Name.Class
+' ' Text
+'{' Punctuation
+' \n ' Text
+'padding' Keyword
+':' Punctuation
+' ' Text
+'5' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'padding-top' Keyword
+':' Punctuation
+' ' Text
+'15' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'font-size' Keyword
+':' Punctuation
+' ' Text
+'140' Literal.Number.Integer
+'%' Keyword.Type
+';' Punctuation
+'\n ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#f00' Literal.Number.Hex
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'.' Punctuation
+'load' Name.Class
+' ' Text
+'{' Punctuation
+'\n ' Text
+'padding' Keyword
+':' Punctuation
+' ' Text
+'5' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#555' Literal.Number.Hex
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'.' Punctuation
+'source' Name.Class
+' ' Text
+'{' Punctuation
+'\n ' Text
+'border' Keyword
+':' Punctuation
+' ' Text
+'1' Literal.Number.Integer
+'px' Keyword.Type
+' ' Text
+'solid' Keyword.Constant
+' ' Text
+'#ccc' Literal.Number.Hex
+';' Punctuation
+' \n ' Text
+'padding' Keyword
+':' Punctuation
+' ' Text
+'10' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'margin-top' Keyword
+':' Punctuation
+' ' Text
+'10' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+' ' Text
+'margin-bottom' Keyword
+':' Punctuation
+' ' Text
+'10' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'h2' Name.Tag
+' ' Text
+'{' Punctuation
+'\n ' Text
+'padding-left' Keyword
+':' Punctuation
+' ' Text
+'5' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'background' Keyword
+':' Punctuation
+' ' Text
+'#eee' Literal.Number.Hex
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'style' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'head' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'body' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'Error' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n\n' Text
+
+"<?r \n if Run.mode == :debug \n require 'cgi'\n?>" Comment.Preproc
+'\n ' Text
+'<?r for error, path in @context.rendering_errors ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"path"' Literal.String
+'>' Punctuation
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'Path:' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+' #{path}' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"error"' Literal.String
+'>' Punctuation
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'#{CGI.escapeHTML(error.to_s)}' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"load"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{request.uri}"' Literal.String
+'>' Punctuation
+'Reload' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+' this page. \n Go to the ' Text
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{request.referer}"' Literal.String
+'>' Punctuation
+'referer' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+' or the ' Text
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/"' Literal.String
+'>' Punctuation
+'home page' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'.\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"source"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<?r \n extract = error.source_extract.split("\\n")\n ?>' Comment.Preproc
+'\n In file ' Text
+'<' Punctuation
+'b' Name.Tag
+'>' Punctuation
+"'#{error.hot_file}'" Text
+'<' Punctuation
+'/' Punctuation
+'b' Name.Tag
+'>' Punctuation
+" #{error.hot_file =~ /\\.xhtml$/ ? '(line numbering is aproximate due to template transformation)' : nil}:\n " Text
+'<' Punctuation
+'br' Name.Tag
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'<' Punctuation
+'br' Name.Tag
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'\n ' Text
+'<?r\n extract.each_with_index do |line, idx|\n line = sanitize(line)\n if 5 == idx\n ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'style' Name.Attribute
+'=' Operator
+'"background: #eee"' Literal.String
+'>' Punctuation
+'#{line}' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r else ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'#{line}' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r \n end \n end\n ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#"' Literal.String
+' ' Text
+'onclick' Name.Attribute
+'=' Operator
+'"return toggleVisible(document.getElementById(\'trace\'));"' Literal.String
+'>' Punctuation
+'Stack Trace' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'id' Name.Attribute
+'=' Operator
+'"trace"' Literal.String
+' ' Text
+'style' Name.Attribute
+'=' Operator
+'"display: none;"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<?r error.backtrace.zip(error.source_for_backtrace).each_with_index do |step,step_idx| ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#"' Literal.String
+' ' Text
+'onclick' Name.Attribute
+'=' Operator
+'"return toggleVisible(document.getElementById(\'trace_#{step_idx}\'));"' Literal.String
+'>' Punctuation
+'#{sanitize(step.first)}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"source"' Literal.String
+' ' Text
+'id' Name.Attribute
+'=' Operator
+'"trace_#{step_idx}"' Literal.String
+' ' Text
+'style' Name.Attribute
+'=' Operator
+'"display: none;"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<?r \n extract = step.last.split("\\n") \n extract.each_with_index do |line, idx|\n line = sanitize(line)\n if 5 == idx\n ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'style' Name.Attribute
+'=' Operator
+'"background: #eee"' Literal.String
+'>' Punctuation
+'#{line}' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r else ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'#{line}' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r \n end \n end\n ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n\n \n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#"' Literal.String
+' ' Text
+'onclick' Name.Attribute
+'=' Operator
+'"document.getElementById(\'request\').style.display = \'block\'; return false"' Literal.String
+'>' Punctuation
+'Request' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'id' Name.Attribute
+'=' Operator
+'"request"' Literal.String
+' ' Text
+'style' Name.Attribute
+'=' Operator
+'"display: none"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'Parameters:' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+' #{request.params.reject{ |k,v| k == :__RELOADED__ }.inspect}' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+' \n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'Cookies:' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+' #{request.cookies.inspect}' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+' \n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'Headers:' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'br' Name.Tag
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'#{request.headers.collect { |k, v| "#{k} => #{v}" }.join(\'' Text
+'<' Punctuation
+'br' Name.Tag
+' ' Text
+'/' Punctuation
+'>' Punctuation
+"')}" Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+' \n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#"' Literal.String
+' ' Text
+'onclick' Name.Attribute
+'=' Operator
+'"document.getElementById(\'response\').style.display = \'block\'; return false"' Literal.String
+'>' Punctuation
+'Response' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'id' Name.Attribute
+'=' Operator
+'"response"' Literal.String
+' ' Text
+'style' Name.Attribute
+'=' Operator
+'"display: none"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'Headers:' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+' #{request.response_headers.inspect}' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+' \n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'Cookies:' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+' #{request.response_cookies.inspect}' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+' \n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#"' Literal.String
+' ' Text
+'onclick' Name.Attribute
+'=' Operator
+'"document.getElementById(\'session\').style.display = \'block\'; return false"' Literal.String
+'>' Punctuation
+'Session' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'id' Name.Attribute
+'=' Operator
+'"session"' Literal.String
+' ' Text
+'style' Name.Attribute
+'=' Operator
+'"display: none"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'Values:' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+' #{session.inspect}' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+' \n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'br' Name.Tag
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'<' Punctuation
+'br' Name.Tag
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'\n Powered by ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"http://www.nitrohq.com"' Literal.String
+'>' Punctuation
+'Nitro' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' version #{Nitro::Version}\n' Text
+
+'<?r end ?>' Comment.Preproc
+' \n ' Text
+'<' Punctuation
+'/' Punctuation
+'body' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'html' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r base = "#{@base}/%base%" ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/"' Literal.String
+'>' Punctuation
+' Home' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#@base"' Literal.String
+'>' Punctuation
+'System' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/list"' Literal.String
+'>' Punctuation
+'#{"%plural%".humanize}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > Edit #{"%name%".humanize} ' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r if @all ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{request.uri.gsub(/\\/all$/, \'\')}"' Literal.String
+'>' Punctuation
+'Show editable' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'\n #{form_for @obj, :action => "#{base}/save", :cancel => "#{base}/list", :all => true}\n ' Text
+'<?r else ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{request.uri}/all"' Literal.String
+'>' Punctuation
+'Show all' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'\n #{form_for @obj, :action => "#{base}/save", :cancel => "#{base}/list"}\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n#{form_for(@%name%)}\n' Text
+
+'<' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r base = "#{@base}/%base%" ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'#{"%plural%".humanize}' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/new"' Literal.String
+'>' Punctuation
+'New #{"%name%".humanize}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'form' Name.Tag
+' ' Text
+'action' Name.Attribute
+'=' Operator
+'"search"' Literal.String
+'>' Punctuation
+'\n Search #{"%plural%".humanize}: ' Text
+'<' Punctuation
+'input' Name.Tag
+' ' Text
+'type' Name.Attribute
+'=' Operator
+'"text"' Literal.String
+' ' Text
+'name' Name.Attribute
+'=' Operator
+'"q"' Literal.String
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'&nbsp;' Name.Entity
+'<' Punctuation
+'input' Name.Tag
+' ' Text
+'type' Name.Attribute
+'=' Operator
+'"submit"' Literal.String
+' ' Text
+'value' Name.Attribute
+'=' Operator
+'"Search"' Literal.String
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'form' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'table' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r for obj in @list ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+' ' Text
+'width' Name.Attribute
+'=' Operator
+'"100%"' Literal.String
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/edit/#{obj.oid}"' Literal.String
+'>' Punctuation
+'#{obj.to_s}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r if obj.respond_to?(:update_time) ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+' ' Text
+'nowrap' Name.Attribute
+'=' Operator
+'"1"' Literal.String
+'>' Punctuation
+'#{obj.update_time.stamp(:db)}' Text
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/edit/#{obj.oid}"' Literal.String
+'>' Punctuation
+'edit' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/delete/#{obj.oid}"' Literal.String
+'>' Punctuation
+'del' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'table' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r base = "#{@base}/%base%" ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/"' Literal.String
+'>' Punctuation
+' Home' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#@base"' Literal.String
+'>' Punctuation
+'System' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > #{"%plural%".humanize}' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/new"' Literal.String
+'>' Punctuation
+'New #{"%name%".humanize}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'form' Name.Tag
+' ' Text
+'action' Name.Attribute
+'=' Operator
+'"#{base}/search"' Literal.String
+'>' Punctuation
+'\n Search #{"%plural%".humanize}: ' Text
+'<' Punctuation
+'input' Name.Tag
+' ' Text
+'type' Name.Attribute
+'=' Operator
+'"text"' Literal.String
+' ' Text
+'name' Name.Attribute
+'=' Operator
+'"q"' Literal.String
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'&nbsp;' Name.Entity
+'<' Punctuation
+'input' Name.Tag
+' ' Text
+'type' Name.Attribute
+'=' Operator
+'"submit"' Literal.String
+' ' Text
+'value' Name.Attribute
+'=' Operator
+'"Search"' Literal.String
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'form' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'table' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r for obj in @list ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+' ' Text
+'width' Name.Attribute
+'=' Operator
+'"100%"' Literal.String
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/edit/#{obj.oid}"' Literal.String
+'>' Punctuation
+'#(obj.to_s)' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r if obj.respond_to?(:update_time) ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+' ' Text
+'nowrap' Name.Attribute
+'=' Operator
+'"1"' Literal.String
+'>' Punctuation
+'#{obj.update_time.stamp(:db)}' Text
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/edit/#{obj.oid}"' Literal.String
+'>' Punctuation
+'edit' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/delete/#{obj.oid}"' Literal.String
+' ' Text
+'onclick' Name.Attribute
+'=' Operator
+'"confirm(\'Are you sure?\')"' Literal.String
+'>' Punctuation
+'del' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'table' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"pager"' Literal.String
+' ' Text
+'if' Name.Attribute
+'=' Operator
+'"@pager and @pager.navigation?"' Literal.String
+'>' Punctuation
+'\n #{@pager.navigation}\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+' \n' Text
+
+'<' Punctuation
+'/' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r base = "#{@base}/%base%" ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/"' Literal.String
+'>' Punctuation
+' Home' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#@base"' Literal.String
+'>' Punctuation
+'System' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/list"' Literal.String
+'>' Punctuation
+'#{"%plural%".humanize}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > New #{"%name%".humanize}' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r if @all ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{request.uri.gsub(/\\/all$/, \'\')}"' Literal.String
+'>' Punctuation
+'Show editable' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'\n #{form_for @obj, :action => "#{base}/save", :cancel => "#{base}/list", :all => true, :enctype => "multipart/form-data"}\n ' Text
+'<?r else ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{request.uri}/all"' Literal.String
+'>' Punctuation
+'Show all' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'\n #{form_for @obj, :action => "#{base}/save", :cancel => "#{base}/list", :enctype => "multipart/form-data"}\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r base = "#{@base}/%base%" ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/"' Literal.String
+'>' Punctuation
+' Home' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#@base"' Literal.String
+'>' Punctuation
+'System' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/list"' Literal.String
+'>' Punctuation
+'#{"%plural%".humanize}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+" > Search for '#@query'" Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'form' Name.Tag
+' ' Text
+'action' Name.Attribute
+'=' Operator
+'"#{base}/search"' Literal.String
+'>' Punctuation
+'\n Search #{"%plural%".humanize}: ' Text
+'<' Punctuation
+'input' Name.Tag
+' ' Text
+'type' Name.Attribute
+'=' Operator
+'"text"' Literal.String
+' ' Text
+'name' Name.Attribute
+'=' Operator
+'"q"' Literal.String
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'&nbsp;' Name.Entity
+'<' Punctuation
+'input' Name.Tag
+' ' Text
+'type' Name.Attribute
+'=' Operator
+'"submit"' Literal.String
+' ' Text
+'value' Name.Attribute
+'=' Operator
+'"Search"' Literal.String
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'form' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r if @list.nil? ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'Search method is not implemented for this object' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r else ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'table' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r for obj in @list ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+' ' Text
+'width' Name.Attribute
+'=' Operator
+'"100%"' Literal.String
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/edit/#{obj.oid}"' Literal.String
+'>' Punctuation
+'#(obj.to_s)' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r if obj.respond_to?(:update_time) ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+' ' Text
+'nowrap' Name.Attribute
+'=' Operator
+'"1"' Literal.String
+'>' Punctuation
+'#{obj.update_time.stamp(:db)}' Text
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/edit/#{obj.oid}"' Literal.String
+'>' Punctuation
+'edit' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/delete/#{obj.oid}"' Literal.String
+'>' Punctuation
+'del' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'table' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"pager"' Literal.String
+' ' Text
+'if' Name.Attribute
+'=' Operator
+'"@pager and @pager.navigation?"' Literal.String
+'>' Punctuation
+'\n #{@pager.navigation}\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+' \n ' Text
+'<?r end ?>' Comment.Preproc
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r base = "#{@base}/%base%" ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'View %name%' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#{base}/list"' Literal.String
+'>' Punctuation
+'List of %plural%' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'code' Name.Tag
+'>' Punctuation
+'\n #{@obj.to_yaml} \n ' Text
+'<' Punctuation
+'/' Punctuation
+'code' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'Access denied' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r base = "#{@base}/%base%" ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+"'/'" Literal.String
+'>' Punctuation
+'Home' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+' > System' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n \n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'Og managed classes' Text
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n \n ' Text
+'<' Punctuation
+'table' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'Class' Text
+'<' Punctuation
+'/' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'Count' Text
+'<' Punctuation
+'/' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'th' Name.Tag
+' ' Text
+'colspan' Name.Attribute
+'=' Operator
+'"2"' Literal.String
+'>' Punctuation
+'Cleanup' Text
+'<' Punctuation
+'/' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'Properties' Text
+'<' Punctuation
+'/' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r for c in @classes ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"#@base/#{Scaffolding.class_to_path(c).plural}/list"' Literal.String
+'>' Punctuation
+'#{c.name}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'#{c.count}' Text
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"delete_all/#{c.name}"' Literal.String
+' ' Text
+'onclick' Name.Attribute
+'=' Operator
+'"return confirm(\'Delete all instances?\')"' Literal.String
+'>' Punctuation
+'delete' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"destroy/#{c.name}"' Literal.String
+' ' Text
+'onclick' Name.Attribute
+'=' Operator
+'"return confirm(\'Drop the schema?\')"' Literal.String
+'>' Punctuation
+'destroy' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+' ' Text
+'width' Name.Attribute
+'=' Operator
+'"100%"' Literal.String
+'>' Punctuation
+"#{c.properties.values.join(', ')}" Text
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'table' Name.Tag
+'>' Punctuation
+'\n \n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'System configuration' Text
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n \n ' Text
+'<' Punctuation
+'table' Name.Tag
+' ' Text
+'width' Name.Attribute
+'=' Operator
+'"100%"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'Name' Text
+'<' Punctuation
+'/' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'Value' Text
+'<' Punctuation
+'/' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'Type' Text
+'<' Punctuation
+'/' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'Description' Text
+'<' Punctuation
+'/' Punctuation
+'th' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r for s in @settings ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'#{s.owner}.' Text
+'<' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'#{s.name}' Text
+'<' Punctuation
+'/' Punctuation
+'strong' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'#{s.value.inspect}' Text
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'#{s.type}' Text
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'#{s.options[:doc]}' Text
+'<' Punctuation
+'/' Punctuation
+'td' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'tr' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'table' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'SystemPage' Name.Tag
+'>' Punctuation
+' \n\n' Text
+
+'<' Punctuation
+'b' Name.Tag
+'>' Punctuation
+'<?r $include1 = true ?>' Comment.Preproc
+'<' Punctuation
+'/' Punctuation
+'b' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'b' Name.Tag
+'>' Punctuation
+'<?r $include2 = true ?>' Comment.Preproc
+'<' Punctuation
+'/' Punctuation
+'b' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'html' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'b' Name.Tag
+'>' Punctuation
+'Test' Text
+'<' Punctuation
+'/' Punctuation
+'b' Name.Tag
+'>' Punctuation
+'\n\n' Text
+
+'<?r @tflag = true ?>' Comment.Preproc
+'\n\n' Text
+
+'<' Punctuation
+'render' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"blog/inc1"' Literal.String
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'render' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+"'blog/inc2'" Literal.String
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'\n\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'html' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'html' Name.Tag
+'>' Punctuation
+'hello' Text
+'<' Punctuation
+'/' Punctuation
+'html' Name.Tag
+'>' Punctuation
+'\nHello #{username}\n\nhow do you feel?\n\nHere is your ' Text
+'<' Punctuation
+'b' Name.Tag
+'>' Punctuation
+'Token' Text
+'<' Punctuation
+'/' Punctuation
+'b' Name.Tag
+'>' Punctuation
+': #{token}\n' Text
+
+'<' Punctuation
+'Page' Name.Tag
+' ' Text
+'title' Name.Attribute
+'=' Operator
+'"Questions and Tips by Tags"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'id' Name.Attribute
+'=' Operator
+'"left"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<?r if @tags ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'Questions with Tags: #{@tags.join(" ")}' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<?r if @questions && @questions.size > 0 ?>' Comment.Preproc
+'\n ' Text
+'<?r if @qtags ?>' Comment.Preproc
+'\n Too many results for that Tag, please reduce the number by using one of the following Tags:\n #{cloud_of(@qtags)}\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"results"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<?r @questions.each do |q| ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/question/#{q.oid}"' Literal.String
+'>' Punctuation
+'#{q.question}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r excerpt = excerpt_with_words(q.text, @tags) ?>' Comment.Preproc
+'\n #{excerpt}\n ' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+' ' Text
+'style' Name.Attribute
+'=' Operator
+'"float:right;"' Literal.String
+'>' Punctuation
+'#{q.answers.size.to_i} answers' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"pager"' Literal.String
+'>' Punctuation
+'\n #{@qpager.navigation}\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r else ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"results_none"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'no question with this/these tag(s) found' Text
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/ask"' Literal.String
+'>' Punctuation
+'Ask a question here.' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n \n ' Text
+'<?r if @tips && @tips.size > 0 ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'Tips with Tags: #{@tags.join(" ")}' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r if @ttags ?>' Comment.Preproc
+'\n Too many results for that Tag, please reduce the number by using one of the following Tags:\n #{cloud_of(@ttags)}\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"results"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<?r @tips.each do |t| ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/tip/#{t.oid}"' Literal.String
+'>' Punctuation
+'#{t.title}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r excerpt = excerpt_with_words(t.text, @tags) ?>' Comment.Preproc
+'\n #{excerpt}\n ' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"pager"' Literal.String
+'>' Punctuation
+'\n #{@tpager.navigation}\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n \n ' Text
+'<?r if @tutorials && @tutorials.size > 0 ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'Tutorials with Tags: #{@tags.join(" ")}' Text
+'<' Punctuation
+'/' Punctuation
+'h1' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r if @tuttags ?>' Comment.Preproc
+'\n Too many results for that Tag, please reduce the number by using one of the following Tags:\n #{cloud_of(@tuttags)}\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"results"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<?r @tutorials.each do |t| ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/tutorial/#{t.oid}"' Literal.String
+'>' Punctuation
+'#{t.title}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'/' Punctuation
+'h2' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r excerpt = excerpt_with_words(t.text, @tags) ?>' Comment.Preproc
+'\n #{excerpt}\n ' Text
+'<' Punctuation
+'/' Punctuation
+'p' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"pager"' Literal.String
+'>' Punctuation
+'\n #{@tpager.navigation}\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n \n \n ' Text
+'<?r else ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'div' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cloud"' Literal.String
+'>' Punctuation
+'\n ' Text
+'<?r\n sum = all_tags.inject(0) { |sum, t| sum + t.popularity.to_i }\n ?>' Comment.Preproc
+'\n ' Text
+'<?r all_tags.each do |t| ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'a' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/tags/#{t.name}"' Literal.String
+' ' Text
+'style' Name.Attribute
+'=' Operator
+'"font-size:#{(1+((t.popularity.to_i/sum.to_f)*2)).to_s[0..3]}em;"' Literal.String
+'>' Punctuation
+'#{t.name}' Text
+'<' Punctuation
+'/' Punctuation
+'a' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+' ' Text
+'<!--' Comment
+' #cloud ' Comment
+'-->' Comment
+'\n ' Text
+'<?r end ?>' Comment.Preproc
+'\n ' Text
+'<' Punctuation
+'/' Punctuation
+'div' Name.Tag
+'>' Punctuation
+' ' Text
+'<!--' Comment
+' #left ' Comment
+'-->' Comment
+'\n \n ' Text
+'<' Punctuation
+'render' Name.Tag
+' ' Text
+'href' Name.Attribute
+'=' Operator
+'"/right"' Literal.String
+' ' Text
+'/' Punctuation
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'Page' Name.Tag
+'>' Punctuation
+'\n\n' Text
+
+'<!--' Comment
+' Copyright © 2006 Kashia Buch (kashia@vfemail.net), Fabian Buch (fabian@fabian' Comment
+'-' Comment
+'buch.de). All rights reserved. ' Comment
+'-->' Comment
+'\n' Text
diff --git a/tests/lexers/html/example2.txt b/tests/lexers/html/example2.txt
new file mode 100644
index 00000000..6331fde4
--- /dev/null
+++ b/tests/lexers/html/example2.txt
@@ -0,0 +1,12530 @@
+---input---
+<html>
+<head>
+<script>
+ function initCodeBlock(id); {
+ var el = document.getElementById(id);
+ }
+</script>
+<style>
+.syntax { border: 1px solid #d0d0d0; background-color: #f0f0f0;
+ margin-left: 10px; margin-right: 10px; }
+
+.syntaxheader { margin-top: 15px; margin-bottom: 0px;
+ text-align: right; font-size: 11px;
+ border-bottom: 0; padding: 3px; }
+
+.linenos { float: left; display: block; }
+.linenos pre { padding-right: 7px; padding-left: 7px;
+ color: #666; }
+
+pre.syntax { padding: 5px; margin-top: 0px; }
+
+.syntax .cm { color: #60a0b0; font-style: italic; } /* comments */
+.syntax .cm-proc { color: #007020; font-style: normal; } /* preproc */
+.syntax .kw { color: #007020; font-weight: bold; } /* keywords */
+.syntax .kw-pseudo { font-weight: normal; } /* pseudo keywords */
+.syntax .op { color: #666666; } /* operators */
+.syntax .op-word { color: #007020; font-weight: bold; } /* word operators */
+.syntax .bn { color: #007020; } /* builtins */
+.syntax .fun { color: #06287e; } /* func name */
+.syntax .cls { color: #0e84b5; font-weight: bold; } /* class names */
+.syntax .exc { color: #007020; } /* exceptions */
+.syntax .var { color: #bb60d5; } /* variables */
+.syntax .const { color: #60add5; } /* constants */
+.syntax .entity { color: #d55537; font-weight: bold; } /* entities */
+.syntax .attr { color: #4070a0; } /* attributes */
+.syntax .tag { color: #062873; font-weight: bold; } /* tag names */
+.syntax .deco { color: #555555; font-weight: bold; } /* decorators */
+.syntax .st { color: #4070a0; } /* strings */
+.syntax .st-int { color: #70a0d0; font-style: italic; } /* interpolated str */
+.syntax .st-esc { color: #4070a0; font-weight: bold; } /* escaped str */
+.syntax .st-re { color: #235388; } /* regular expr */
+.syntax .st-sym { color: #517918; } /* symbols */
+.syntax .st-oth { color: #c65d09; } /* other strings */
+.syntax .nb { color: #40a070; } /* numbers */
+
+.syntax .gen-hd { font-weight: bold; color: blue; } /* headings */
+.syntax .gen-sh { font-weight: bold; color: purple; } /* subheadings */
+.syntax .gen-del { color: red; } /* deleted text */
+.syntax .gen-ins { color: green; } /* inserted text */
+.syntax .gen-em { font-style: italic; } /* emphasized text */
+.syntax .gen-sr { font-weight: bold; } /* strong emph. text */
+
+.syntax .err { border: 1px solid red; } /* parser errors */
+</style>
+</head>
+<body>
+<pre id="code-block" class="syntax"><span class="cm"># -*- coding: utf-8 -*-</span>
+<span class="st st-db">&quot;&quot;&quot;</span><span class="st">
+ pocoo.pkg.core.acl
+ ~~~~~~~~~~~~~~~~~~
+
+ Pocoo ACL System.
+
+</span><span class="st st-db">&quot;&quot;&quot;</span>
+
+<span class="kw">from </span><span class="cls">pocoo.db</span><span class="kw"> import</span> <span class="name">meta</span>
+
+<span class="kw">from </span><span class="cls">pocoo.pkg.core.forum</span><span class="kw"> import</span> <span class="name">Site</span>, <span class="name">Forum</span>, <span class="name">Thread</span>
+<span class="kw">from </span><span class="cls">pocoo.pkg.core.user</span><span class="kw"> import</span> <span class="name">User</span>, <span class="name">Group</span>
+
+<span class="kw">from </span><span class="cls">pocoo.pkg.core.db</span><span class="kw"> import</span> <span class="name">users</span>, <span class="name">groups</span>, <span class="name">group_members</span>, <span class="name">privileges</span>, \
+ <span class="name">forums</span>, <span class="name">posts</span>, <span class="name">acl_mapping</span>, <span class="name">acl_subjects</span>, <span class="name">acl_objects</span>
+
+
+<span class="kw">class </span><span class="cls">AclManager</span>(<span class="bn">object</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">
+ Manager object to manage ALCs.
+ </span><span class="st st-db">&quot;&quot;&quot;</span>
+ <span class="name">STRONG_NO</span> <span class="op">=</span> <span class="op">-</span><span class="nb nb-int">1</span>
+
+ <span class="name">WEAK_NO</span> <span class="op">=</span> <span class="nb nb-int">0</span>
+ <span class="name">WEAK_YES</span> <span class="op">=</span> <span class="nb nb-int">1</span>
+ <span class="name">STRONG_YES</span> <span class="op">=</span> <span class="nb nb-int">2</span>
+
+ <span class="kw">def </span><span class="fun">__init__</span>(<span class="bn bn-pseudo">self</span>, <span class="name">ctx</span>, <span class="name">subject</span>):
+ <span class="bn bn-pseudo">self</span>.<span class="name">ctx</span> <span class="op">=</span> <span class="name">ctx</span>
+
+ <span class="bn bn-pseudo">self</span>.<span class="name">subject</span> <span class="op">=</span> <span class="name">subject</span>
+ <span class="kw">if</span> <span class="bn">isinstance</span>(<span class="name">subject</span>, <span class="name">User</span>):
+ <span class="bn bn-pseudo">self</span>.<span class="name">_type</span> <span class="op">=</span> <span class="st st-sg">&#39;</span><span class="st">user</span><span class="st st-sg">&#39;</span>
+
+ <span class="kw">elif</span> <span class="bn">isinstance</span>(<span class="name">subject</span>, <span class="name">Group</span>):
+ <span class="bn bn-pseudo">self</span>.<span class="name">_type</span> <span class="op">=</span> <span class="st st-sg">&#39;</span><span class="st">group</span><span class="st st-sg">&#39;</span>
+
+ <span class="kw">else</span>:
+ <span class="kw">raise</span> <span class="exc">ValueError</span>(<span class="st st-sg">&#39;</span><span class="st">neither user or group specified</span><span class="st st-sg">&#39;</span>)
+
+ <span class="kw">def </span><span class="fun">allow</span>(<span class="bn bn-pseudo">self</span>, <span class="name">privilege</span>, <span class="name">obj</span>, <span class="name">force</span><span class="op">=</span><span class="bn bn-pseudo">False</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">Allows the subject privilege on obj.</span><span class="st st-db">&quot;&quot;&quot;</span>
+
+ <span class="kw">return</span> <span class="bn bn-pseudo">self</span>.<span class="name">_set</span>(<span class="name">privilege</span>, <span class="name">obj</span>, <span class="nb nb-int">1</span> <span class="op">+</span> <span class="bn">bool</span>(<span class="name">force</span>))
+
+ <span class="kw">def </span><span class="fun">default</span>(<span class="bn bn-pseudo">self</span>, <span class="name">privilege</span>, <span class="name">obj</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">Sets the state for privilege on obj back to weak yes.</span><span class="st st-db">&quot;&quot;&quot;</span>
+
+ <span class="kw">return</span> <span class="bn bn-pseudo">self</span>.<span class="name">_set</span>(<span class="name">privilege</span>, <span class="name">obj</span>, <span class="nb nb-int">0</span>)
+
+ <span class="kw">def </span><span class="fun">deny</span>(<span class="bn bn-pseudo">self</span>, <span class="name">privilege</span>, <span class="name">obj</span>, <span class="name">force</span><span class="op">=</span><span class="bn bn-pseudo">False</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">Denies the subject privilege on obj.</span><span class="st st-db">&quot;&quot;&quot;</span>
+
+ <span class="kw">return</span> <span class="bn bn-pseudo">self</span>.<span class="name">_set</span>(<span class="name">privilege</span>, <span class="name">obj</span>, <span class="op">-</span><span class="nb nb-int">1</span> <span class="op">-</span> <span class="bn">bool</span>(<span class="name">force</span>))
+
+ <span class="kw">def </span><span class="fun">can_access</span>(<span class="bn bn-pseudo">self</span>, <span class="name">privilege</span>, <span class="name">obj</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">Checks if the current subject with the required privilege
+ somehow. Either directly or when the subject is a user and
+ one of its groups can access it.</span><span class="st st-db">&quot;&quot;&quot;</span>
+
+ <span class="cm">#XXX: maybe this could be one big query instead of 4</span>
+ <span class="cm">#XXX: this currently does not work correctly, therefore return True</span>
+ <span class="kw">return</span> <span class="bn bn-pseudo">True</span>
+
+ <span class="kw">if</span> <span class="op op-word">not</span> <span class="bn">isinstance</span>(<span class="name">obj</span>, (<span class="name">Forum</span>, <span class="name">Thread</span>, <span class="name">Site</span>.<span class="name">__class__</span>)):
+ <span class="kw">raise</span> <span class="exc">TypeError</span>(<span class="st st-sg">&#39;</span><span class="st">obj must be a forum, thread or site</span><span class="st st-sg">&#39;</span>)
+ <span class="name">privilege</span> <span class="op">=</span> <span class="name">privilege</span>.<span class="name">upper</span>()
+ <span class="name">s</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">_get_subject_join</span>().<span class="name">alias</span>(<span class="st st-sg">&#39;</span><span class="st">s</span><span class="st st-sg">&#39;</span>).<span class="name">c</span>
+
+ <span class="kw">def </span><span class="fun">do_check</span>(<span class="name">obj</span>, <span class="name">tendency</span>):
+ <span class="name">db</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">ctx</span>.<span class="name">engine</span>
+
+ <span class="name">o</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">_get_object_join</span>(<span class="name">obj</span>).<span class="name">alias</span>(<span class="st st-sg">&#39;</span><span class="st">o</span><span class="st st-sg">&#39;</span>).<span class="name">c</span>
+
+ <span class="cm"># self check</span>
+ <span class="name">r</span> <span class="op">=</span> <span class="name">db</span>.<span class="name">execute</span>(<span class="name">meta</span>.<span class="name">select</span>([<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">state</span>],
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">priv_id</span> <span class="op">==</span> <span class="name">privileges</span>.<span class="name">c</span>.<span class="name">priv_id</span>) <span class="op">&amp;</span>
+
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">subject_id</span> <span class="op">==</span> <span class="name">s</span>.<span class="name">subject_id</span>) <span class="op">&amp;</span>
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">object_id</span> <span class="op">==</span> <span class="name">o</span>.<span class="name">object_id</span>) <span class="op">&amp;</span>
+
+ (<span class="name">privileges</span>.<span class="name">c</span>.<span class="name">name</span> <span class="op">==</span> <span class="name">privilege</span>)
+ ))
+ <span class="name">row</span> <span class="op">=</span> <span class="name">r</span>.<span class="name">fetchone</span>()
+ <span class="kw">if</span> <span class="name">row</span> <span class="op op-word">is</span> <span class="op op-word">not</span> <span class="bn bn-pseudo">None</span>:
+ <span class="kw">if</span> <span class="name">row</span>[<span class="st st-sg">&#39;</span><span class="st">state</span><span class="st st-sg">&#39;</span>] <span class="op op-word">in</span> (<span class="bn bn-pseudo">self</span>.<span class="name">STRONG_NO</span>, <span class="bn bn-pseudo">self</span>.<span class="name">STRONG_YES</span>):
+ <span class="kw">return</span> <span class="name">row</span>[<span class="st st-sg">&#39;</span><span class="st">state</span><span class="st st-sg">&#39;</span>] <span class="op">==</span> <span class="bn bn-pseudo">self</span>.<span class="name">STRONG_YES</span>
+
+ <span class="name">tendency</span> <span class="op">=</span> <span class="name">row</span>[<span class="st st-sg">&#39;</span><span class="st">state</span><span class="st st-sg">&#39;</span>]
+
+ <span class="cm"># if the controlled subject is a user check all groups</span>
+ <span class="kw">if</span> <span class="bn">isinstance</span>(<span class="bn bn-pseudo">self</span>.<span class="name">subject</span>, <span class="name">User</span>):
+ <span class="name">r</span> <span class="op">=</span> <span class="name">db</span>.<span class="name">execute</span>(<span class="name">meta</span>.<span class="name">select</span>([<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">state</span>],
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">object_id</span> <span class="op">==</span> <span class="name">o</span>.<span class="name">object_id</span>) <span class="op">&amp;</span>
+
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">subject_id</span> <span class="op">==</span> <span class="name">groups</span>.<span class="name">c</span>.<span class="name">subject_id</span>) <span class="op">&amp;</span>
+
+ (<span class="name">groups</span>.<span class="name">c</span>.<span class="name">group_id</span> <span class="op">==</span> <span class="name">group_members</span>.<span class="name">c</span>.<span class="name">group_id</span>) <span class="op">&amp;</span>
+
+ (<span class="name">group_members</span>.<span class="name">c</span>.<span class="name">user_id</span> <span class="op">==</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">user_id</span>)
+ ))
+ <span class="kw">while</span> <span class="bn bn-pseudo">True</span>:
+ <span class="name">row</span> <span class="op">=</span> <span class="name">r</span>.<span class="name">fetchone</span>()
+ <span class="kw">if</span> <span class="name">row</span> <span class="op op-word">is</span> <span class="bn bn-pseudo">None</span>:
+ <span class="kw">break</span>
+
+ <span class="name">state</span> <span class="op">=</span> <span class="name">row</span>[<span class="nb nb-int">0</span>]
+ <span class="kw">if</span> <span class="name">state</span> <span class="op op-word">in</span> (<span class="bn bn-pseudo">self</span>.<span class="name">STRONG_YES</span>, <span class="bn bn-pseudo">self</span>.<span class="name">STRONG_NO</span>):
+ <span class="kw">return</span> <span class="name">state</span> <span class="op">==</span> <span class="bn bn-pseudo">self</span>.<span class="name">STRONG_YES</span>
+
+ <span class="kw">if</span> <span class="name">tendency</span> <span class="op op-word">is</span> <span class="bn bn-pseudo">None</span>:
+ <span class="name">tendency</span> <span class="op">=</span> <span class="name">state</span>
+ <span class="kw">elif</span> <span class="name">tendency</span> <span class="op">==</span> <span class="bn bn-pseudo">self</span>.<span class="name">WEAK_NO</span> <span class="op op-word">and</span> <span class="name">state</span> <span class="op">==</span> <span class="bn bn-pseudo">self</span>.<span class="name">WEAK_YES</span>:
+ <span class="name">tendency</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">WEAK_YES</span>
+
+ <span class="cm"># check related objects</span>
+ <span class="kw">if</span> <span class="bn">isinstance</span>(<span class="name">obj</span>, <span class="name">Thread</span>):
+ <span class="kw">return</span> <span class="name">do_check</span>(<span class="name">obj</span>.<span class="name">forum</span>, <span class="name">tendency</span>)
+ <span class="kw">elif</span> <span class="bn">isinstance</span>(<span class="name">obj</span>, <span class="name">Forum</span>):
+ <span class="kw">return</span> <span class="name">do_check</span>(<span class="name">Site</span>, <span class="name">tendency</span>)
+ <span class="kw">else</span>:
+ <span class="kw">return</span> <span class="name">tendency</span>
+
+ <span class="kw">return</span> <span class="name">do_check</span>(<span class="name">obj</span>, <span class="bn bn-pseudo">None</span>) <span class="op op-word">in</span> (<span class="bn bn-pseudo">self</span>.<span class="name">WEAK_YES</span>, <span class="bn bn-pseudo">self</span>.<span class="name">STRONG_YES</span>)
+
+ <span class="kw">def </span><span class="fun">_set</span>(<span class="bn bn-pseudo">self</span>, <span class="name">privilege</span>, <span class="name">obj</span>, <span class="name">state</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">Helper functions for settings privileges.</span><span class="st st-db">&quot;&quot;&quot;</span>
+
+ <span class="name">privilege</span> <span class="op">=</span> <span class="name">privilege</span>.<span class="name">upper</span>()
+ <span class="kw">if</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">subject_id</span> <span class="op op-word">is</span> <span class="bn bn-pseudo">None</span>:
+ <span class="bn bn-pseudo">self</span>.<span class="name">_bootstrap</span>()
+ <span class="kw">if</span> <span class="name">obj</span>.<span class="name">object_id</span> <span class="op op-word">is</span> <span class="bn bn-pseudo">None</span>:
+ <span class="bn bn-pseudo">self</span>.<span class="name">_bootstrap_object</span>(<span class="name">obj</span>)
+ <span class="cm"># special state &quot;0&quot; which means delete</span>
+
+ <span class="kw">if</span> <span class="op op-word">not</span> <span class="name">state</span>:
+ <span class="name">p</span> <span class="op">=</span> <span class="name">meta</span>.<span class="name">select</span>([<span class="name">privileges</span>.<span class="name">c</span>.<span class="name">priv_id</span>], <span class="name">privileges</span>.<span class="name">c</span>.<span class="name">name</span> <span class="op">==</span> <span class="name">privilege</span>)
+ <span class="bn bn-pseudo">self</span>.<span class="name">ctx</span>.<span class="name">engine</span>.<span class="name">execute</span>(<span class="name">acl_mapping</span>.<span class="name">delete</span>(
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">priv_id</span> <span class="op">==</span> <span class="name">p</span>.<span class="name">c</span>.<span class="name">priv_id</span>) <span class="op">&amp;</span>
+
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">subject_id</span> <span class="op">==</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">subject_id</span>) <span class="op">&amp;</span>
+
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">object_id</span> <span class="op">==</span> <span class="name">obj</span>.<span class="name">object_id</span>)
+ ))
+ <span class="kw">return</span>
+ <span class="cm"># touch privilege and check existing mapping</span>
+
+ <span class="name">priv_id</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">_fetch_privilege</span>(<span class="name">privilege</span>)
+ <span class="name">r</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">ctx</span>.<span class="name">engine</span>.<span class="name">execute</span>(<span class="name">meta</span>.<span class="name">select</span>([<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">state</span>],
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">priv_id</span> <span class="op">==</span> <span class="name">priv_id</span>) <span class="op">&amp;</span>
+
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">subject_id</span> <span class="op">==</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">subject_id</span>) <span class="op">&amp;</span>
+
+ (<span class="name">acl_mapping</span>.<span class="name">c</span>.<span class="name">object_id</span> <span class="op">==</span> <span class="name">obj</span>.<span class="name">object_id</span>)
+ ))
+ <span class="name">row</span> <span class="op">=</span> <span class="name">r</span>.<span class="name">fetchone</span>()
+ <span class="kw">if</span> <span class="name">row</span> <span class="op op-word">is</span> <span class="op op-word">not</span> <span class="bn bn-pseudo">None</span>:
+ <span class="cm"># this rule exists already</span>
+
+ <span class="kw">if</span> <span class="name">row</span>[<span class="st st-sg">&#39;</span><span class="st">state</span><span class="st st-sg">&#39;</span>] <span class="op">==</span> <span class="name">state</span>:
+ <span class="kw">return</span>
+ <span class="cm"># goddamn, same rule - different state, delete old first</span>
+ <span class="bn bn-pseudo">self</span>.<span class="name">_set</span>(<span class="name">privilege</span>, <span class="name">obj</span>, <span class="nb nb-int">0</span>)
+ <span class="cm"># insert new rule</span>
+
+ <span class="bn bn-pseudo">self</span>.<span class="name">ctx</span>.<span class="name">engine</span>.<span class="name">execute</span>(<span class="name">acl_mapping</span>.<span class="name">insert</span>(),
+ <span class="name">priv_id</span> <span class="op">=</span> <span class="name">priv_id</span>,
+ <span class="name">subject_id</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">subject_id</span>,
+ <span class="name">object_id</span> <span class="op">=</span> <span class="name">obj</span>.<span class="name">object_id</span>,
+ <span class="name">state</span> <span class="op">=</span> <span class="name">state</span>
+
+ )
+
+ <span class="kw">def </span><span class="fun">_bootstrap</span>(<span class="bn bn-pseudo">self</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">This method is automatically called when subject_id is
+ None and an subject_id is required.</span><span class="st st-db">&quot;&quot;&quot;</span>
+ <span class="name">r</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">ctx</span>.<span class="name">engine</span>.<span class="name">execute</span>(<span class="name">acl_subjects</span>.<span class="name">insert</span>(),
+ <span class="name">subject_type</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">_type</span>
+
+ )
+ <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">subject_id</span> <span class="op">=</span> <span class="name">r</span>.<span class="name">last_inserted_ids</span>()[<span class="nb nb-int">0</span>]
+ <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">save</span>()
+
+ <span class="kw">def </span><span class="fun">_bootstrap_object</span>(<span class="bn bn-pseudo">self</span>, <span class="name">obj</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">Like _bootstrap but works for objects.</span><span class="st st-db">&quot;&quot;&quot;</span>
+
+ <span class="name">objtype</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">_get_object_type</span>(<span class="name">obj</span>)
+ <span class="name">r</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">ctx</span>.<span class="name">engine</span>.<span class="name">execute</span>(<span class="name">acl_objects</span>.<span class="name">insert</span>(),
+ <span class="name">object_type</span> <span class="op">=</span> <span class="name">objtype</span>
+
+ )
+ <span class="name">obj</span>.<span class="name">object_id</span> <span class="op">=</span> <span class="name">r</span>.<span class="name">last_inserted_ids</span>()[<span class="nb nb-int">0</span>]
+ <span class="name">obj</span>.<span class="name">save</span>()
+
+ <span class="kw">def </span><span class="fun">_get_object_type</span>(<span class="bn bn-pseudo">self</span>, <span class="name">obj</span>):
+ <span class="kw">if</span> <span class="bn">isinstance</span>(<span class="name">obj</span>, <span class="name">Forum</span>):
+ <span class="kw">return</span> <span class="st st-sg">&#39;</span><span class="st">forum</span><span class="st st-sg">&#39;</span>
+
+ <span class="kw">elif</span> <span class="bn">isinstance</span>(<span class="name">obj</span>, <span class="name">Thread</span>):
+ <span class="kw">return</span> <span class="st st-sg">&#39;</span><span class="st">thread</span><span class="st st-sg">&#39;</span>
+ <span class="kw">elif</span> <span class="name">obj</span> <span class="op op-word">is</span> <span class="name">Site</span>:
+ <span class="kw">return</span> <span class="st st-sg">&#39;</span><span class="st">site</span><span class="st st-sg">&#39;</span>
+
+ <span class="kw">raise</span> <span class="exc">TypeError</span>(<span class="st st-sg">&#39;</span><span class="st">obj isn</span><span class="st st-esc">\&#39;</span><span class="st">t a forum or thread</span><span class="st st-sg">&#39;</span>)
+
+ <span class="kw">def </span><span class="fun">_get_object_join</span>(<span class="bn bn-pseudo">self</span>, <span class="name">obj</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">Returns a subjoin for the object id.</span><span class="st st-db">&quot;&quot;&quot;</span>
+
+ <span class="name">t</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">_get_object_type</span>(<span class="name">obj</span>)
+ <span class="kw">if</span> <span class="name">t</span> <span class="op">==</span> <span class="st st-sg">&#39;</span><span class="st">forum</span><span class="st st-sg">&#39;</span>:
+ <span class="kw">return</span> <span class="name">meta</span>.<span class="name">select</span>([<span class="name">forums</span>.<span class="name">c</span>.<span class="name">object_id</span>],
+ <span class="name">forums</span>.<span class="name">c</span>.<span class="name">forum_id</span> <span class="op">==</span> <span class="name">obj</span>.<span class="name">forum_id</span>
+
+ )
+ <span class="kw">elif</span> <span class="name">t</span> <span class="op">==</span> <span class="st st-sg">&#39;</span><span class="st">thread</span><span class="st st-sg">&#39;</span>:
+ <span class="kw">return</span> <span class="name">meta</span>.<span class="name">select</span>([<span class="name">posts</span>.<span class="name">c</span>.<span class="name">object_id</span>],
+ <span class="name">posts</span>.<span class="name">c</span>.<span class="name">post_id</span> <span class="op">==</span> <span class="name">obj</span>.<span class="name">post_id</span>
+
+ )
+ <span class="kw">else</span>:
+ <span class="cm"># XXX: it works ^^</span>
+ <span class="cm"># i really want something like meta.select(&#39;0 as group_id&#39;)</span>
+ <span class="kw">class </span><span class="cls">Fake</span>(<span class="bn">object</span>):
+ <span class="kw">def </span><span class="fun">alias</span>(<span class="bn bn-pseudo">self</span>, <span class="name">n</span>):
+ <span class="kw">class </span><span class="cls">_C</span>(<span class="bn">object</span>):
+ <span class="kw">class </span><span class="cls">c</span>(<span class="bn">object</span>):
+ <span class="name">object_id</span> <span class="op">=</span> <span class="nb nb-int">0</span>
+
+ <span class="kw">return</span> <span class="name">_C</span>
+ <span class="kw">return</span> <span class="name">Fake</span>()
+
+ <span class="kw">def </span><span class="fun">_get_subject_join</span>(<span class="bn bn-pseudo">self</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">Returns a subjoin for the subject id.</span><span class="st st-db">&quot;&quot;&quot;</span>
+
+ <span class="kw">if</span> <span class="bn bn-pseudo">self</span>.<span class="name">_type</span> <span class="op">==</span> <span class="st st-sg">&#39;</span><span class="st">user</span><span class="st st-sg">&#39;</span>:
+ <span class="kw">return</span> <span class="name">meta</span>.<span class="name">select</span>([<span class="name">users</span>.<span class="name">c</span>.<span class="name">subject_id</span>],
+ <span class="name">users</span>.<span class="name">c</span>.<span class="name">user_id</span> <span class="op">==</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">user_id</span>
+
+ )
+ <span class="kw">return</span> <span class="name">meta</span>.<span class="name">select</span>([<span class="name">groups</span>.<span class="name">c</span>.<span class="name">subject_id</span>],
+ <span class="name">groups</span>.<span class="name">c</span>.<span class="name">group_id</span> <span class="op">==</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">group_id</span>
+
+ )
+
+ <span class="kw">def </span><span class="fun">_fetch_privilege</span>(<span class="bn bn-pseudo">self</span>, <span class="name">name</span>):
+ <span class="st st-db">&quot;&quot;&quot;</span><span class="st">Returns the priv_id for the given privilege. If it
+ doesn</span><span class="st st-esc">\&#39;</span><span class="st">t exist by now the system will create a new
+ privilege.</span><span class="st st-db">&quot;&quot;&quot;</span>
+ <span class="name">r</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">ctx</span>.<span class="name">engine</span>.<span class="name">execute</span>(<span class="name">meta</span>.<span class="name">select</span>([<span class="name">privileges</span>.<span class="name">c</span>.<span class="name">priv_id</span>],
+ <span class="name">privileges</span>.<span class="name">c</span>.<span class="name">name</span> <span class="op">==</span> <span class="name">name</span>
+
+ ))
+ <span class="name">row</span> <span class="op">=</span> <span class="name">r</span>.<span class="name">fetchone</span>()
+ <span class="kw">if</span> <span class="name">row</span> <span class="op op-word">is</span> <span class="op op-word">not</span> <span class="bn bn-pseudo">None</span>:
+ <span class="kw">return</span> <span class="name">row</span>[<span class="nb nb-int">0</span>]
+ <span class="name">r</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">ctx</span>.<span class="name">engine</span>.<span class="name">execute</span>(<span class="name">privileges</span>.<span class="name">insert</span>(),
+ <span class="name">name</span> <span class="op">=</span> <span class="name">name</span>
+
+ )
+ <span class="kw">return</span> <span class="name">r</span>.<span class="name">last_inserted_ids</span>()[<span class="nb nb-int">0</span>]
+
+ <span class="kw">def </span><span class="fun">__repr__</span>(<span class="bn bn-pseudo">self</span>):
+ <span class="kw">if</span> <span class="bn bn-pseudo">self</span>.<span class="name">_type</span> <span class="op">==</span> <span class="st st-sg">&#39;</span><span class="st">user</span><span class="st st-sg">&#39;</span>:
+ <span class="name">id_</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">user_id</span>
+
+ <span class="kw">else</span>:
+ <span class="name">id_</span> <span class="op">=</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">group_id</span>
+ <span class="kw">if</span> <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">subject_id</span> <span class="op op-word">is</span> <span class="bn bn-pseudo">None</span>:
+ <span class="kw">return</span> <span class="st st-sg">&#39;</span><span class="st">&lt;</span><span class="st st-int">%s</span><span class="st"> </span><span class="st st-int">%s</span><span class="st">:</span><span class="st st-int">%d</span><span class="st"> inactive&gt;</span><span class="st st-sg">&#39;</span> <span class="op">%</span> (
+ <span class="bn bn-pseudo">self</span>.<span class="name">__class__</span>.<span class="name">__name__</span>,
+ <span class="bn bn-pseudo">self</span>.<span class="name">_type</span>,
+ <span class="name">id_</span>
+
+ )
+ <span class="kw">return</span> <span class="st st-sg">&#39;</span><span class="st">&lt;</span><span class="st st-int">%s</span><span class="st"> </span><span class="st st-int">%s</span><span class="st">:</span><span class="st st-int">%d</span><span class="st"> active as </span><span class="st st-int">%d</span><span class="st">&gt;</span><span class="st st-sg">&#39;</span> <span class="op">%</span> (
+ <span class="bn bn-pseudo">self</span>.<span class="name">__class__</span>.<span class="name">__name__</span>,
+ <span class="bn bn-pseudo">self</span>.<span class="name">_type</span>,
+ <span class="name">id_</span>,
+ <span class="bn bn-pseudo">self</span>.<span class="name">subject</span>.<span class="name">subject_id</span>
+
+ )
+
+
+---tokens---
+'<' Punctuation
+'html' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'head' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'script' Name.Tag
+'>' Punctuation
+'' Text
+'\n ' Text
+'function' Keyword.Declaration
+' ' Text
+'initCodeBlock' Name.Other
+'(' Punctuation
+'id' Name.Other
+')' Punctuation
+';' Punctuation
+' ' Text
+'{' Punctuation
+'\n ' Text
+'var' Keyword.Declaration
+' ' Text
+'el' Name.Other
+' ' Text
+'=' Operator
+' ' Text
+'document' Name.Builtin
+'.' Punctuation
+'getElementById' Name.Other
+'(' Punctuation
+'id' Name.Other
+')' Punctuation
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'script' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'style' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'border' Keyword
+':' Punctuation
+' ' Text
+'1' Literal.Number.Integer
+'px' Keyword.Type
+' ' Text
+'solid' Keyword.Constant
+' ' Text
+'#d0d0d0' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'background-color' Keyword
+':' Punctuation
+' ' Text
+'#f0f0f0' Literal.Number.Hex
+';' Punctuation
+'\n ' Text
+'margin-left' Keyword
+':' Punctuation
+' ' Text
+'10' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+' ' Text
+'margin-right' Keyword
+':' Punctuation
+' ' Text
+'10' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n\n' Text
+
+'.' Punctuation
+'syntaxheader' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'margin-top' Keyword
+':' Punctuation
+' ' Text
+'15' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+' ' Text
+'margin-bottom' Keyword
+':' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'text-align' Keyword
+':' Punctuation
+' ' Text
+'right' Keyword.Constant
+';' Punctuation
+' ' Text
+'font-size' Keyword
+':' Punctuation
+' ' Text
+'11' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'border-bottom' Keyword
+':' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+' ' Text
+'padding' Keyword
+':' Punctuation
+' ' Text
+'3' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n\n' Text
+
+'.' Punctuation
+'linenos' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'float' Keyword
+':' Punctuation
+' ' Text
+'left' Keyword.Constant
+';' Punctuation
+' ' Text
+'display' Keyword
+':' Punctuation
+' ' Text
+'block' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'.' Punctuation
+'linenos' Name.Class
+' ' Text
+'pre' Name.Tag
+' ' Text
+'{' Punctuation
+' ' Text
+'padding-right' Keyword
+':' Punctuation
+' ' Text
+'7' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+' ' Text
+'padding-left' Keyword
+':' Punctuation
+' ' Text
+'7' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+'\n ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#666' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n\n' Text
+
+'pre' Name.Tag
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'padding' Keyword
+':' Punctuation
+' ' Text
+'5' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+' ' Text
+'margin-top' Keyword
+':' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+'px' Keyword.Type
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'cm' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#60a0b0' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-style' Keyword
+':' Punctuation
+' ' Text
+'italic' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* comments */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'cm-proc' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#007020' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-style' Keyword
+':' Punctuation
+' ' Text
+'normal' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* preproc */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'kw' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#007020' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* keywords */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'kw-pseudo' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'normal' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* pseudo keywords */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'op' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#666666' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* operators */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'op-word' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#007020' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* word operators */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'bn' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#007020' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* builtins */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'fun' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#06287e' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* func name */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'cls' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#0e84b5' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* class names */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'exc' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#007020' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* exceptions */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'var' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#bb60d5' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* variables */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'const' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#60add5' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* constants */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'entity' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#d55537' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* entities */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'attr' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#4070a0' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* attributes */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'tag' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#062873' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* tag names */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'deco' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#555555' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* decorators */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'st' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#4070a0' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* strings */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'st-int' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#70a0d0' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-style' Keyword
+':' Punctuation
+' ' Text
+'italic' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* interpolated str */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'st-esc' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#4070a0' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* escaped str */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'st-re' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#235388' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* regular expr */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'st-sym' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#517918' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* symbols */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'st-oth' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#c65d09' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* other strings */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'nb' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'#40a070' Literal.Number.Hex
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* numbers */' Comment
+'\n\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'gen-hd' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'blue' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* headings */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'gen-sh' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'purple' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* subheadings */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'gen-del' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'red' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* deleted text */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'gen-ins' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'color' Keyword
+':' Punctuation
+' ' Text
+'green' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* inserted text */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'gen-em' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'font-style' Keyword
+':' Punctuation
+' ' Text
+'italic' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* emphasized text */' Comment
+'\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'gen-sr' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'font-weight' Keyword
+':' Punctuation
+' ' Text
+'bold' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* strong emph. text */' Comment
+'\n\n' Text
+
+'.' Punctuation
+'syntax' Name.Class
+' ' Text
+'.' Punctuation
+'err' Name.Class
+' ' Text
+'{' Punctuation
+' ' Text
+'border' Keyword
+':' Punctuation
+' ' Text
+'1' Literal.Number.Integer
+'px' Keyword.Type
+' ' Text
+'solid' Keyword.Constant
+' ' Text
+'red' Keyword.Constant
+';' Punctuation
+' ' Text
+'}' Punctuation
+' ' Text
+'/* parser errors */' Comment
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'style' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'head' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'body' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'pre' Name.Tag
+' ' Text
+'id' Name.Attribute
+'=' Operator
+'"code-block"' Literal.String
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"syntax"' Literal.String
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# -*- coding: utf-8 -*-' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'\n pocoo.pkg.core.acl\n ~~~~~~~~~~~~~~~~~~\n\n Pocoo ACL System.\n\n' Text
+
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n' Text
+
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'from ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cls"' Literal.String
+'>' Punctuation
+'pocoo.db' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+' import' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n' Text
+
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'from ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cls"' Literal.String
+'>' Punctuation
+'pocoo.pkg.core.forum' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+' import' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Site' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Forum' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Thread' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n' Text
+
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'from ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cls"' Literal.String
+'>' Punctuation
+'pocoo.pkg.core.user' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+' import' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'User' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Group' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n' Text
+
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'from ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cls"' Literal.String
+'>' Punctuation
+'pocoo.pkg.core.db' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+' import' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'users' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'groups' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'group_members' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privileges' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', \\\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'forums' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'posts' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_subjects' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_objects' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n\n' Text
+
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'class ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cls"' Literal.String
+'>' Punctuation
+'AclManager' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'object' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'\n Manager object to manage ALCs.\n ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'STRONG_NO' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'-' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'1' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'WEAK_NO' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'0' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'WEAK_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'1' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'STRONG_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'2' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'__init__' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'isinstance' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'User' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'user' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'elif' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'isinstance' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Group' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'group' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'else' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'raise' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"exc"' Literal.String
+'>' Punctuation
+'ValueError' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'neither user or group specified' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'allow' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'force' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'False' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'Allows the subject privilege on obj.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_set' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'1' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'+' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'bool' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'force' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'))\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'default' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'Sets the state for privilege on obj back to weak yes.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_set' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'0' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'deny' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'force' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'False' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'Denies the subject privilege on obj.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_set' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'-' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'1' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'-' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'bool' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'force' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'))\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'can_access' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'Checks if the current subject with the required privilege\n somehow. Either directly or when the subject is a user and\n one of its groups can access it.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'#XXX: maybe this could be one big query instead of 4' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'#XXX: this currently does not work correctly, therefore return True' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'True' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'not' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'isinstance' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Forum' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Thread' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Site' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'__class__' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'raise' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"exc"' Literal.String
+'>' Punctuation
+'TypeError' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'obj must be a forum, thread or site' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'upper' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'s' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_get_subject_join' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'().' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'alias' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'s' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+').' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'do_check' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'tendency' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'db' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'engine' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'o' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_get_object_join' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+').' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'alias' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'o' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+').' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# self check' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'db' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'execute' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'select' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'([' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'],\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privileges' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'s' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'o' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privileges' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'name' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ))\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'fetchone' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'is' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'not' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'None' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'[' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'] ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'in' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'STRONG_NO' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'STRONG_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'[' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'] ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'STRONG_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'tendency' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'[' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+']\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# if the controlled subject is a user check all groups' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'isinstance' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'User' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'db' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'execute' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'select' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'([' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'],\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'o' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'groups' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'groups' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'group_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'group_members' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'group_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'group_members' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'user_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'user_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ))\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'while' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'True' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'fetchone' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'is' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'None' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'break' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'[' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'0' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+']\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'in' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'STRONG_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'STRONG_NO' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'STRONG_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'tendency' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'is' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'None' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'tendency' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'elif' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'tendency' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'WEAK_NO' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'and' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'WEAK_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'tendency' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'WEAK_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# check related objects' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'isinstance' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Thread' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'do_check' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'forum' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'tendency' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'elif' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'isinstance' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Forum' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'do_check' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Site' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'tendency' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'else' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'tendency' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'do_check' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'None' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'in' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'WEAK_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'STRONG_YES' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'_set' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'Helper functions for settings privileges.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'upper' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'is' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'None' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_bootstrap' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'is' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'None' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_bootstrap_object' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# special state ' Text
+'&quot;' Name.Entity
+'0' Text
+'&quot;' Name.Entity
+' which means delete' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'not' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'p' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'select' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'([' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privileges' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'], ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privileges' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'name' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'engine' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'execute' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'delete' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'p' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ))\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# touch privilege and check existing mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_fetch_privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'engine' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'execute' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'select' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'([' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'],\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+') ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'&amp;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n (' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ))\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'fetchone' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'is' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'not' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'None' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# this rule exists already' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'[' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'] ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# goddamn, same rule - different state, delete old first' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_set' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'0' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# insert new rule' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'engine' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'execute' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_mapping' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'insert' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(),\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+',\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+',\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+',\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'state' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'_bootstrap' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'This method is automatically called when subject_id is\n None and an subject_id is required.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'engine' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'execute' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_subjects' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'insert' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(),\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'last_inserted_ids' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()[' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'0' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+']\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'save' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'_bootstrap_object' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'Like _bootstrap but works for objects.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'objtype' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_get_object_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'engine' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'execute' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'acl_objects' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'insert' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(),\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'objtype' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'last_inserted_ids' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()[' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'0' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+']\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'save' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'_get_object_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'isinstance' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Forum' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'forum' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'elif' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'isinstance' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Thread' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'thread' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'elif' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'is' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Site' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'site' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'raise' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"exc"' Literal.String
+'>' Punctuation
+'TypeError' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'obj isn' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-esc"' Literal.String
+'>' Punctuation
+'\\' Text
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'t a forum or thread' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'_get_object_join' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'Returns a subjoin for the object id.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'t' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_get_object_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+')\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'t' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'forum' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'select' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'([' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'forums' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'],\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'forums' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'forum_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'forum_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'elif' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'t' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'thread' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'select' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'([' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'posts' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'],\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'posts' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'post_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'obj' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'post_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'else' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# XXX: it works ^^' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cm"' Literal.String
+'>' Punctuation
+'# i really want something like meta.select(' Text
+'&#39;' Name.Entity
+'0 as group_id' Text
+'&#39;' Name.Entity
+')' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'class ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cls"' Literal.String
+'>' Punctuation
+'Fake' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'object' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'alias' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'n' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'class ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cls"' Literal.String
+'>' Punctuation
+'_C' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'object' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'class ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"cls"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn"' Literal.String
+'>' Punctuation
+'object' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'object_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'0' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_C' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'Fake' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'_get_subject_join' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'Returns a subjoin for the subject id.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'user' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'select' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'([' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'users' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'],\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'users' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'user_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'user_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'select' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'([' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'groups' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'],\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'groups' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'group_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'group_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'_fetch_privilege' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+', ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'name' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'Returns the priv_id for the given privilege. If it\n doesn' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-esc"' Literal.String
+'>' Punctuation
+'\\' Text
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'t exist by now the system will create a new\n privilege.' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-db"' Literal.String
+'>' Punctuation
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'&quot;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'engine' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'execute' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'meta' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'select' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'([' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privileges' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'priv_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'],\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privileges' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'c' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'name' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'name' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ))\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'fetchone' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'is' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'not' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'None' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'row' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'[' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'0' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+']\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'ctx' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'engine' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'execute' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'privileges' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'insert' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(),\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'name' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'name' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'r' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'last_inserted_ids' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'()[' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"nb nb-int"' Literal.String
+'>' Punctuation
+'0' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+']\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'def ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"fun"' Literal.String
+'>' Punctuation
+'__repr__' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'(' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'):\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'==' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'user' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'id_' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'user_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'else' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'id_' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'=' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'group_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'if' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op op-word"' Literal.String
+'>' Punctuation
+'is' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'None' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+':\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'&lt;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-int"' Literal.String
+'>' Punctuation
+'%s' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-int"' Literal.String
+'>' Punctuation
+'%s' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+':' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-int"' Literal.String
+'>' Punctuation
+'%d' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+' inactive' Text
+'&gt;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'%' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' (\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'__class__' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'__name__' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+',\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+',\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'id_' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"kw"' Literal.String
+'>' Punctuation
+'return' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'&lt;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-int"' Literal.String
+'>' Punctuation
+'%s' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-int"' Literal.String
+'>' Punctuation
+'%s' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+':' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-int"' Literal.String
+'>' Punctuation
+'%d' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+' active as ' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-int"' Literal.String
+'>' Punctuation
+'%d' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st"' Literal.String
+'>' Punctuation
+'&gt;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"st st-sg"' Literal.String
+'>' Punctuation
+'&#39;' Name.Entity
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"op"' Literal.String
+'>' Punctuation
+'%' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+' (\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'__class__' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'__name__' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+',\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'_type' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+',\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'id_' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+',\n ' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"bn bn-pseudo"' Literal.String
+'>' Punctuation
+'self' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'.' Text
+'<' Punctuation
+'span' Name.Tag
+' ' Text
+'class' Name.Attribute
+'=' Operator
+'"name"' Literal.String
+'>' Punctuation
+'subject_id' Text
+'<' Punctuation
+'/' Punctuation
+'span' Name.Tag
+'>' Punctuation
+'\n\n )\n' Text