marko 2.11.1 → 2.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/.npmignore +0 -1
- package/coverage/coverage.json +0 -1
- package/coverage/lcov-report/base.css +0 -213
- package/coverage/lcov-report/index.html +0 -496
- package/coverage/lcov-report/marko-v4/bin/index.html +0 -93
- package/coverage/lcov-report/marko-v4/bin/markoc.js.html +0 -1160
- package/coverage/lcov-report/marko-v4/browser-refresh/index.html +0 -93
- package/coverage/lcov-report/marko-v4/browser-refresh/index.js.html +0 -191
- package/coverage/lcov-report/marko-v4/compiler/Builder.js.html +0 -1859
- package/coverage/lcov-report/marko-v4/compiler/CodeGenerator.js.html +0 -998
- package/coverage/lcov-report/marko-v4/compiler/CodeWriter.js.html +0 -851
- package/coverage/lcov-report/marko-v4/compiler/CompileContext.js.html +0 -1955
- package/coverage/lcov-report/marko-v4/compiler/CompileError.js.html +0 -206
- package/coverage/lcov-report/marko-v4/compiler/Compiler.js.html +0 -473
- package/coverage/lcov-report/marko-v4/compiler/HtmlJsParser.js.html +0 -341
- package/coverage/lcov-report/marko-v4/compiler/InlineCompiler.js.html +0 -317
- package/coverage/lcov-report/marko-v4/compiler/Parser.js.html +0 -1271
- package/coverage/lcov-report/marko-v4/compiler/Walker.js.html +0 -521
- package/coverage/lcov-report/marko-v4/compiler/ast/ArrayContainer.js.html +0 -653
- package/coverage/lcov-report/marko-v4/compiler/ast/ArrayExpression.js.html +0 -278
- package/coverage/lcov-report/marko-v4/compiler/ast/Assignment.js.html +0 -299
- package/coverage/lcov-report/marko-v4/compiler/ast/AttributePlaceholder.js.html +0 -173
- package/coverage/lcov-report/marko-v4/compiler/ast/BinaryExpression.js.html +0 -428
- package/coverage/lcov-report/marko-v4/compiler/ast/Code.js.html +0 -149
- package/coverage/lcov-report/marko-v4/compiler/ast/ConditionalExpression.js.html +0 -239
- package/coverage/lcov-report/marko-v4/compiler/ast/Container.js.html +0 -101
- package/coverage/lcov-report/marko-v4/compiler/ast/ContainerNode.js.html +0 -122
- package/coverage/lcov-report/marko-v4/compiler/ast/CustomTag.js.html +0 -1250
- package/coverage/lcov-report/marko-v4/compiler/ast/Declaration.js.html +0 -146
- package/coverage/lcov-report/marko-v4/compiler/ast/DocumentType.js.html +0 -146
- package/coverage/lcov-report/marko-v4/compiler/ast/Else.js.html +0 -161
- package/coverage/lcov-report/marko-v4/compiler/ast/ElseIf.js.html +0 -152
- package/coverage/lcov-report/marko-v4/compiler/ast/Expression.js.html +0 -152
- package/coverage/lcov-report/marko-v4/compiler/ast/ForEach.js.html +0 -314
- package/coverage/lcov-report/marko-v4/compiler/ast/ForEachProp.js.html +0 -290
- package/coverage/lcov-report/marko-v4/compiler/ast/ForRange.js.html +0 -374
- package/coverage/lcov-report/marko-v4/compiler/ast/ForStatement.js.html +0 -245
- package/coverage/lcov-report/marko-v4/compiler/ast/FunctionCall.js.html +0 -374
- package/coverage/lcov-report/marko-v4/compiler/ast/FunctionDeclaration.js.html +0 -296
- package/coverage/lcov-report/marko-v4/compiler/ast/Html.js.html +0 -311
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/html/generateCode.js.html +0 -473
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/html/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/index.js.html +0 -317
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/vdom/generateCode.js.html +0 -128
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/vdom/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttributeCollection.js.html +0 -521
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlComment.js.html +0 -182
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/EndTag.js.html +0 -131
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/StartTag.js.html +0 -227
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/generateCode.js.html +0 -299
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/index.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/index.js.html +0 -578
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/EndElementVDOM.js.html +0 -104
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/HtmlElementVDOM.js.html +0 -620
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/generateCode.js.html +0 -326
- package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/index.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/ast/Identifier.js.html +0 -137
- package/coverage/lcov-report/marko-v4/compiler/ast/If.js.html +0 -347
- package/coverage/lcov-report/marko-v4/compiler/ast/InvokeMacro.js.html +0 -425
- package/coverage/lcov-report/marko-v4/compiler/ast/Literal.js.html +0 -320
- package/coverage/lcov-report/marko-v4/compiler/ast/LogicalExpression.js.html +0 -359
- package/coverage/lcov-report/marko-v4/compiler/ast/Macro.js.html +0 -176
- package/coverage/lcov-report/marko-v4/compiler/ast/MemberExpression.js.html +0 -308
- package/coverage/lcov-report/marko-v4/compiler/ast/NewExpression.js.html +0 -395
- package/coverage/lcov-report/marko-v4/compiler/ast/Node.js.html +0 -1235
- package/coverage/lcov-report/marko-v4/compiler/ast/ObjectExpression.js.html +0 -290
- package/coverage/lcov-report/marko-v4/compiler/ast/Program.js.html +0 -134
- package/coverage/lcov-report/marko-v4/compiler/ast/Property.js.html +0 -257
- package/coverage/lcov-report/marko-v4/compiler/ast/Return.js.html +0 -170
- package/coverage/lcov-report/marko-v4/compiler/ast/Scriptlet.js.html +0 -152
- package/coverage/lcov-report/marko-v4/compiler/ast/SelfInvokingFunction.js.html +0 -155
- package/coverage/lcov-report/marko-v4/compiler/ast/TemplateRoot.js.html +0 -344
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/html/generateCode.js.html +0 -245
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/html/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/index.html +0 -93
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/index.js.html +0 -215
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/vdom/TextVDOM.js.html +0 -407
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/vdom/generateCode.js.html +0 -179
- package/coverage/lcov-report/marko-v4/compiler/ast/Text/vdom/index.html +0 -106
- package/coverage/lcov-report/marko-v4/compiler/ast/ThisExpression.js.html +0 -131
- package/coverage/lcov-report/marko-v4/compiler/ast/UnaryExpression.js.html +0 -365
- package/coverage/lcov-report/marko-v4/compiler/ast/UpdateExpression.js.html +0 -341
- package/coverage/lcov-report/marko-v4/compiler/ast/VariableDeclarator.js.html +0 -221
- package/coverage/lcov-report/marko-v4/compiler/ast/Vars.js.html +0 -290
- package/coverage/lcov-report/marko-v4/compiler/ast/WhileStatement.js.html +0 -173
- package/coverage/lcov-report/marko-v4/compiler/ast/index.html +0 -678
- package/coverage/lcov-report/marko-v4/compiler/config.js.html +0 -194
- package/coverage/lcov-report/marko-v4/compiler/index.html +0 -236
- package/coverage/lcov-report/marko-v4/compiler/index.js.html +0 -695
- package/coverage/lcov-report/marko-v4/compiler/taglib-finder/index-browser.js.html +0 -158
- package/coverage/lcov-report/marko-v4/compiler/taglib-finder/index.html +0 -106
- package/coverage/lcov-report/marko-v4/compiler/taglib-finder/index.js.html +0 -632
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/DependencyChain.js.html +0 -113
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Attribute.js.html +0 -155
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/ImportedVariable.js.html +0 -140
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/NestedVariable.js.html +0 -134
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Property.js.html +0 -140
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Tag.js.html +0 -797
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Taglib.js.html +0 -440
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Transformer.js.html +0 -236
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/index.html +0 -184
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/index.js.html +0 -65
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/handleAttributes.js.html +0 -161
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/index.html +0 -236
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/index.js.html +0 -191
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/json-file-reader-browser.js.html +0 -143
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/json-file-reader.js.html +0 -155
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader-attribute.js.html +0 -659
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader-tag.js.html +0 -1931
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader-taglib.js.html +0 -1010
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader.js.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/scanTagsDir-browser.js.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/scanTagsDir.js.html +0 -548
- package/coverage/lcov-report/marko-v4/compiler/taglib-loader/tag-def-from-code.js.html +0 -287
- package/coverage/lcov-report/marko-v4/compiler/taglib-lookup/TaglibLookup.js.html +0 -1205
- package/coverage/lcov-report/marko-v4/compiler/taglib-lookup/index.html +0 -106
- package/coverage/lcov-report/marko-v4/compiler/taglib-lookup/index.js.html +0 -302
- package/coverage/lcov-report/marko-v4/compiler/util/PosInfo.js.html +0 -140
- package/coverage/lcov-report/marko-v4/compiler/util/UniqueVars.js.html +0 -227
- package/coverage/lcov-report/marko-v4/compiler/util/adjustIndent.js.html +0 -272
- package/coverage/lcov-report/marko-v4/compiler/util/deresolve-browser.js.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/util/deresolve.js.html +0 -113
- package/coverage/lcov-report/marko-v4/compiler/util/fingerprint.js.html +0 -83
- package/coverage/lcov-report/marko-v4/compiler/util/index.html +0 -366
- package/coverage/lcov-report/marko-v4/compiler/util/isCompoundExpression.js.html +0 -92
- package/coverage/lcov-report/marko-v4/compiler/util/isJavaScriptReservedWord.js.html +0 -80
- package/coverage/lcov-report/marko-v4/compiler/util/isValidJavaScriptIdentifier.js.html +0 -80
- package/coverage/lcov-report/marko-v4/compiler/util/isValidJavaScriptVarName.js.html +0 -95
- package/coverage/lcov-report/marko-v4/compiler/util/javaScriptReservedWords.js.html +0 -260
- package/coverage/lcov-report/marko-v4/compiler/util/macros.js.html +0 -326
- package/coverage/lcov-report/marko-v4/compiler/util/parseExpression.js.html +0 -77
- package/coverage/lcov-report/marko-v4/compiler/util/parseJavaScript.js.html +0 -833
- package/coverage/lcov-report/marko-v4/compiler/util/parseJavaScriptArgs.js.html +0 -101
- package/coverage/lcov-report/marko-v4/compiler/util/parseStatement.js.html +0 -77
- package/coverage/lcov-report/marko-v4/compiler/util/removeComments.js.html +0 -221
- package/coverage/lcov-report/marko-v4/compiler/util/removeDashes.js.html +0 -77
- package/coverage/lcov-report/marko-v4/compiler/util/resolve-browser.js.html +0 -125
- package/coverage/lcov-report/marko-v4/compiler/util/resolve.js.html +0 -128
- package/coverage/lcov-report/marko-v4/compiler/util/safeVarName.js.html +0 -116
- package/coverage/lcov-report/marko-v4/compiler/util/tokenizer.js.html +0 -173
- package/coverage/lcov-report/marko-v4/compiler/util/vdom/VDOMOptimizer.js.html +0 -560
- package/coverage/lcov-report/marko-v4/compiler/util/vdom/index.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/util/vdom/index.js.html +0 -119
- package/coverage/lcov-report/marko-v4/compiler/util/vdom/isStaticValue.js.html +0 -212
- package/coverage/lcov-report/marko-v4/defineRenderer.js.html +0 -206
- package/coverage/lcov-report/marko-v4/express.js.html +0 -161
- package/coverage/lcov-report/marko-v4/helpers/empty.js.html +0 -77
- package/coverage/lcov-report/marko-v4/helpers/index.html +0 -106
- package/coverage/lcov-report/marko-v4/helpers/notEmpty.js.html +0 -95
- package/coverage/lcov-report/marko-v4/hot-reload/index.html +0 -93
- package/coverage/lcov-report/marko-v4/hot-reload/index.js.html +0 -524
- package/coverage/lcov-report/marko-v4/index.html +0 -158
- package/coverage/lcov-report/marko-v4/node-require-browser.js.html +0 -113
- package/coverage/lcov-report/marko-v4/node-require.js.html +0 -434
- package/coverage/lcov-report/marko-v4/runtime/deprecate.js.html +0 -131
- package/coverage/lcov-report/marko-v4/runtime/forEachPropStatusVar.js.html +0 -158
- package/coverage/lcov-report/marko-v4/runtime/helpers.js.html +0 -839
- package/coverage/lcov-report/marko-v4/runtime/html/helpers.js.html +0 -506
- package/coverage/lcov-report/marko-v4/runtime/html/index.html +0 -106
- package/coverage/lcov-report/marko-v4/runtime/html/index.js.html +0 -914
- package/coverage/lcov-report/marko-v4/runtime/index.html +0 -145
- package/coverage/lcov-report/marko-v4/runtime/inline.js.html +0 -65
- package/coverage/lcov-report/marko-v4/runtime/loader/index-browser-dynamic.js.html +0 -128
- package/coverage/lcov-report/marko-v4/runtime/loader/index-browser.js.html +0 -119
- package/coverage/lcov-report/marko-v4/runtime/loader/index.html +0 -119
- package/coverage/lcov-report/marko-v4/runtime/loader/index.js.html +0 -548
- package/coverage/lcov-report/marko-v4/runtime/stream.js.html +0 -224
- package/coverage/lcov-report/marko-v4/runtime/vdom/helpers.js.html +0 -350
- package/coverage/lcov-report/marko-v4/runtime/vdom/index.html +0 -106
- package/coverage/lcov-report/marko-v4/runtime/vdom/index.js.html +0 -893
- package/coverage/lcov-report/marko-v4/stream.js.html +0 -98
- package/coverage/lcov-report/marko-v4/taglibs/async/async-fragment-to-await-transformer.js.html +0 -221
- package/coverage/lcov-report/marko-v4/taglibs/async/await-nested-tag-transformer.js.html +0 -140
- package/coverage/lcov-report/marko-v4/taglibs/async/await-reorderer-tag.js.html +0 -278
- package/coverage/lcov-report/marko-v4/taglibs/async/await-tag-transformer.js.html +0 -353
- package/coverage/lcov-report/marko-v4/taglibs/async/await-tag.js.html +0 -779
- package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder-browser.js.html +0 -65
- package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder-runtime.js.html +0 -167
- package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder-runtime.min.js.html +0 -65
- package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder.js.html +0 -98
- package/coverage/lcov-report/marko-v4/taglibs/async/index.html +0 -197
- package/coverage/lcov-report/marko-v4/taglibs/cache/cached-fragment-tag-transformer.js.html +0 -89
- package/coverage/lcov-report/marko-v4/taglibs/cache/cached-fragment-tag.js.html +0 -266
- package/coverage/lcov-report/marko-v4/taglibs/cache/default-cache-manager.js.html +0 -173
- package/coverage/lcov-report/marko-v4/taglibs/cache/index.html +0 -119
- package/coverage/lcov-report/marko-v4/taglibs/core/assign-tag.js.html +0 -116
- package/coverage/lcov-report/marko-v4/taglibs/core/core-transformer.js.html +0 -683
- package/coverage/lcov-report/marko-v4/taglibs/core/else-if-tag.js.html +0 -140
- package/coverage/lcov-report/marko-v4/taglibs/core/else-tag.js.html +0 -170
- package/coverage/lcov-report/marko-v4/taglibs/core/for-tag.js.html +0 -131
- package/coverage/lcov-report/marko-v4/taglibs/core/if-tag.js.html +0 -140
- package/coverage/lcov-report/marko-v4/taglibs/core/include-html-tag-browser.js.html +0 -113
- package/coverage/lcov-report/marko-v4/taglibs/core/include-html-tag.js.html +0 -152
- package/coverage/lcov-report/marko-v4/taglibs/core/include-tag.js.html +0 -248
- package/coverage/lcov-report/marko-v4/taglibs/core/include-text-tag-browser.js.html +0 -113
- package/coverage/lcov-report/marko-v4/taglibs/core/include-text-tag.js.html +0 -152
- package/coverage/lcov-report/marko-v4/taglibs/core/index.html +0 -314
- package/coverage/lcov-report/marko-v4/taglibs/core/invoke-tag.js.html +0 -116
- package/coverage/lcov-report/marko-v4/taglibs/core/macro-body-tag.js.html +0 -83
- package/coverage/lcov-report/marko-v4/taglibs/core/macro-tag.js.html +0 -131
- package/coverage/lcov-report/marko-v4/taglibs/core/marko-preserve-whitespace-tag.js.html +0 -71
- package/coverage/lcov-report/marko-v4/taglibs/core/unless-tag.js.html +0 -143
- package/coverage/lcov-report/marko-v4/taglibs/core/util/createLoopNode.js.html +0 -128
- package/coverage/lcov-report/marko-v4/taglibs/core/util/index.html +0 -119
- package/coverage/lcov-report/marko-v4/taglibs/core/util/parseFor.js.html +0 -1145
- package/coverage/lcov-report/marko-v4/taglibs/core/util/parseJavaScriptIdentifier.js.html +0 -131
- package/coverage/lcov-report/marko-v4/taglibs/core/var-tag.js.html +0 -152
- package/coverage/lcov-report/marko-v4/taglibs/core/while-tag.js.html +0 -95
- package/coverage/lcov-report/marko-v4/taglibs/html/html-comment-tag.js.html +0 -146
- package/coverage/lcov-report/marko-v4/taglibs/html/index.html +0 -93
- package/coverage/lcov-report/marko-v4/taglibs/layout/index.html +0 -132
- package/coverage/lcov-report/marko-v4/taglibs/layout/placeholder-tag.js.html +0 -107
- package/coverage/lcov-report/marko-v4/taglibs/layout/put-tag.js.html +0 -77
- package/coverage/lcov-report/marko-v4/taglibs/layout/use-tag-transformer.js.html +0 -137
- package/coverage/lcov-report/marko-v4/taglibs/layout/use-tag.js.html +0 -134
- package/coverage/lcov-report/marko-v4/vdom.js.html +0 -65
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -1
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -158
- package/coverage/lcov.info +0 -13662
|
@@ -1,1931 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage report for marko-v4/compiler/taglib-loader/loader-tag.js</title>
|
|
5
|
-
<meta charset="utf-8" />
|
|
6
|
-
<link rel="stylesheet" href="../../../prettify.css" />
|
|
7
|
-
<link rel="stylesheet" href="../../../base.css" />
|
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
-
<style type='text/css'>
|
|
10
|
-
.coverage-summary .sorter {
|
|
11
|
-
background-image: url(../../../sort-arrow-sprite.png);
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<div class='wrapper'>
|
|
17
|
-
<div class='pad1'>
|
|
18
|
-
<h1>
|
|
19
|
-
<a href="../../../index.html">all files</a> / <a href="index.html">marko-v4/compiler/taglib-loader/</a> loader-tag.js
|
|
20
|
-
</h1>
|
|
21
|
-
<div class='clearfix'>
|
|
22
|
-
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">88.64% </span>
|
|
24
|
-
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>195/220</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">71.74% </span>
|
|
29
|
-
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>66/92</span>
|
|
31
|
-
</div>
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">85.71% </span>
|
|
34
|
-
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>30/35</span>
|
|
36
|
-
</div>
|
|
37
|
-
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">88.64% </span>
|
|
39
|
-
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>195/220</span>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
<div class='status-line high'></div>
|
|
45
|
-
<pre><table class="coverage">
|
|
46
|
-
<tr><td class="line-count quiet">1
|
|
47
|
-
2
|
|
48
|
-
3
|
|
49
|
-
4
|
|
50
|
-
5
|
|
51
|
-
6
|
|
52
|
-
7
|
|
53
|
-
8
|
|
54
|
-
9
|
|
55
|
-
10
|
|
56
|
-
11
|
|
57
|
-
12
|
|
58
|
-
13
|
|
59
|
-
14
|
|
60
|
-
15
|
|
61
|
-
16
|
|
62
|
-
17
|
|
63
|
-
18
|
|
64
|
-
19
|
|
65
|
-
20
|
|
66
|
-
21
|
|
67
|
-
22
|
|
68
|
-
23
|
|
69
|
-
24
|
|
70
|
-
25
|
|
71
|
-
26
|
|
72
|
-
27
|
|
73
|
-
28
|
|
74
|
-
29
|
|
75
|
-
30
|
|
76
|
-
31
|
|
77
|
-
32
|
|
78
|
-
33
|
|
79
|
-
34
|
|
80
|
-
35
|
|
81
|
-
36
|
|
82
|
-
37
|
|
83
|
-
38
|
|
84
|
-
39
|
|
85
|
-
40
|
|
86
|
-
41
|
|
87
|
-
42
|
|
88
|
-
43
|
|
89
|
-
44
|
|
90
|
-
45
|
|
91
|
-
46
|
|
92
|
-
47
|
|
93
|
-
48
|
|
94
|
-
49
|
|
95
|
-
50
|
|
96
|
-
51
|
|
97
|
-
52
|
|
98
|
-
53
|
|
99
|
-
54
|
|
100
|
-
55
|
|
101
|
-
56
|
|
102
|
-
57
|
|
103
|
-
58
|
|
104
|
-
59
|
|
105
|
-
60
|
|
106
|
-
61
|
|
107
|
-
62
|
|
108
|
-
63
|
|
109
|
-
64
|
|
110
|
-
65
|
|
111
|
-
66
|
|
112
|
-
67
|
|
113
|
-
68
|
|
114
|
-
69
|
|
115
|
-
70
|
|
116
|
-
71
|
|
117
|
-
72
|
|
118
|
-
73
|
|
119
|
-
74
|
|
120
|
-
75
|
|
121
|
-
76
|
|
122
|
-
77
|
|
123
|
-
78
|
|
124
|
-
79
|
|
125
|
-
80
|
|
126
|
-
81
|
|
127
|
-
82
|
|
128
|
-
83
|
|
129
|
-
84
|
|
130
|
-
85
|
|
131
|
-
86
|
|
132
|
-
87
|
|
133
|
-
88
|
|
134
|
-
89
|
|
135
|
-
90
|
|
136
|
-
91
|
|
137
|
-
92
|
|
138
|
-
93
|
|
139
|
-
94
|
|
140
|
-
95
|
|
141
|
-
96
|
|
142
|
-
97
|
|
143
|
-
98
|
|
144
|
-
99
|
|
145
|
-
100
|
|
146
|
-
101
|
|
147
|
-
102
|
|
148
|
-
103
|
|
149
|
-
104
|
|
150
|
-
105
|
|
151
|
-
106
|
|
152
|
-
107
|
|
153
|
-
108
|
|
154
|
-
109
|
|
155
|
-
110
|
|
156
|
-
111
|
|
157
|
-
112
|
|
158
|
-
113
|
|
159
|
-
114
|
|
160
|
-
115
|
|
161
|
-
116
|
|
162
|
-
117
|
|
163
|
-
118
|
|
164
|
-
119
|
|
165
|
-
120
|
|
166
|
-
121
|
|
167
|
-
122
|
|
168
|
-
123
|
|
169
|
-
124
|
|
170
|
-
125
|
|
171
|
-
126
|
|
172
|
-
127
|
|
173
|
-
128
|
|
174
|
-
129
|
|
175
|
-
130
|
|
176
|
-
131
|
|
177
|
-
132
|
|
178
|
-
133
|
|
179
|
-
134
|
|
180
|
-
135
|
|
181
|
-
136
|
|
182
|
-
137
|
|
183
|
-
138
|
|
184
|
-
139
|
|
185
|
-
140
|
|
186
|
-
141
|
|
187
|
-
142
|
|
188
|
-
143
|
|
189
|
-
144
|
|
190
|
-
145
|
|
191
|
-
146
|
|
192
|
-
147
|
|
193
|
-
148
|
|
194
|
-
149
|
|
195
|
-
150
|
|
196
|
-
151
|
|
197
|
-
152
|
|
198
|
-
153
|
|
199
|
-
154
|
|
200
|
-
155
|
|
201
|
-
156
|
|
202
|
-
157
|
|
203
|
-
158
|
|
204
|
-
159
|
|
205
|
-
160
|
|
206
|
-
161
|
|
207
|
-
162
|
|
208
|
-
163
|
|
209
|
-
164
|
|
210
|
-
165
|
|
211
|
-
166
|
|
212
|
-
167
|
|
213
|
-
168
|
|
214
|
-
169
|
|
215
|
-
170
|
|
216
|
-
171
|
|
217
|
-
172
|
|
218
|
-
173
|
|
219
|
-
174
|
|
220
|
-
175
|
|
221
|
-
176
|
|
222
|
-
177
|
|
223
|
-
178
|
|
224
|
-
179
|
|
225
|
-
180
|
|
226
|
-
181
|
|
227
|
-
182
|
|
228
|
-
183
|
|
229
|
-
184
|
|
230
|
-
185
|
|
231
|
-
186
|
|
232
|
-
187
|
|
233
|
-
188
|
|
234
|
-
189
|
|
235
|
-
190
|
|
236
|
-
191
|
|
237
|
-
192
|
|
238
|
-
193
|
|
239
|
-
194
|
|
240
|
-
195
|
|
241
|
-
196
|
|
242
|
-
197
|
|
243
|
-
198
|
|
244
|
-
199
|
|
245
|
-
200
|
|
246
|
-
201
|
|
247
|
-
202
|
|
248
|
-
203
|
|
249
|
-
204
|
|
250
|
-
205
|
|
251
|
-
206
|
|
252
|
-
207
|
|
253
|
-
208
|
|
254
|
-
209
|
|
255
|
-
210
|
|
256
|
-
211
|
|
257
|
-
212
|
|
258
|
-
213
|
|
259
|
-
214
|
|
260
|
-
215
|
|
261
|
-
216
|
|
262
|
-
217
|
|
263
|
-
218
|
|
264
|
-
219
|
|
265
|
-
220
|
|
266
|
-
221
|
|
267
|
-
222
|
|
268
|
-
223
|
|
269
|
-
224
|
|
270
|
-
225
|
|
271
|
-
226
|
|
272
|
-
227
|
|
273
|
-
228
|
|
274
|
-
229
|
|
275
|
-
230
|
|
276
|
-
231
|
|
277
|
-
232
|
|
278
|
-
233
|
|
279
|
-
234
|
|
280
|
-
235
|
|
281
|
-
236
|
|
282
|
-
237
|
|
283
|
-
238
|
|
284
|
-
239
|
|
285
|
-
240
|
|
286
|
-
241
|
|
287
|
-
242
|
|
288
|
-
243
|
|
289
|
-
244
|
|
290
|
-
245
|
|
291
|
-
246
|
|
292
|
-
247
|
|
293
|
-
248
|
|
294
|
-
249
|
|
295
|
-
250
|
|
296
|
-
251
|
|
297
|
-
252
|
|
298
|
-
253
|
|
299
|
-
254
|
|
300
|
-
255
|
|
301
|
-
256
|
|
302
|
-
257
|
|
303
|
-
258
|
|
304
|
-
259
|
|
305
|
-
260
|
|
306
|
-
261
|
|
307
|
-
262
|
|
308
|
-
263
|
|
309
|
-
264
|
|
310
|
-
265
|
|
311
|
-
266
|
|
312
|
-
267
|
|
313
|
-
268
|
|
314
|
-
269
|
|
315
|
-
270
|
|
316
|
-
271
|
|
317
|
-
272
|
|
318
|
-
273
|
|
319
|
-
274
|
|
320
|
-
275
|
|
321
|
-
276
|
|
322
|
-
277
|
|
323
|
-
278
|
|
324
|
-
279
|
|
325
|
-
280
|
|
326
|
-
281
|
|
327
|
-
282
|
|
328
|
-
283
|
|
329
|
-
284
|
|
330
|
-
285
|
|
331
|
-
286
|
|
332
|
-
287
|
|
333
|
-
288
|
|
334
|
-
289
|
|
335
|
-
290
|
|
336
|
-
291
|
|
337
|
-
292
|
|
338
|
-
293
|
|
339
|
-
294
|
|
340
|
-
295
|
|
341
|
-
296
|
|
342
|
-
297
|
|
343
|
-
298
|
|
344
|
-
299
|
|
345
|
-
300
|
|
346
|
-
301
|
|
347
|
-
302
|
|
348
|
-
303
|
|
349
|
-
304
|
|
350
|
-
305
|
|
351
|
-
306
|
|
352
|
-
307
|
|
353
|
-
308
|
|
354
|
-
309
|
|
355
|
-
310
|
|
356
|
-
311
|
|
357
|
-
312
|
|
358
|
-
313
|
|
359
|
-
314
|
|
360
|
-
315
|
|
361
|
-
316
|
|
362
|
-
317
|
|
363
|
-
318
|
|
364
|
-
319
|
|
365
|
-
320
|
|
366
|
-
321
|
|
367
|
-
322
|
|
368
|
-
323
|
|
369
|
-
324
|
|
370
|
-
325
|
|
371
|
-
326
|
|
372
|
-
327
|
|
373
|
-
328
|
|
374
|
-
329
|
|
375
|
-
330
|
|
376
|
-
331
|
|
377
|
-
332
|
|
378
|
-
333
|
|
379
|
-
334
|
|
380
|
-
335
|
|
381
|
-
336
|
|
382
|
-
337
|
|
383
|
-
338
|
|
384
|
-
339
|
|
385
|
-
340
|
|
386
|
-
341
|
|
387
|
-
342
|
|
388
|
-
343
|
|
389
|
-
344
|
|
390
|
-
345
|
|
391
|
-
346
|
|
392
|
-
347
|
|
393
|
-
348
|
|
394
|
-
349
|
|
395
|
-
350
|
|
396
|
-
351
|
|
397
|
-
352
|
|
398
|
-
353
|
|
399
|
-
354
|
|
400
|
-
355
|
|
401
|
-
356
|
|
402
|
-
357
|
|
403
|
-
358
|
|
404
|
-
359
|
|
405
|
-
360
|
|
406
|
-
361
|
|
407
|
-
362
|
|
408
|
-
363
|
|
409
|
-
364
|
|
410
|
-
365
|
|
411
|
-
366
|
|
412
|
-
367
|
|
413
|
-
368
|
|
414
|
-
369
|
|
415
|
-
370
|
|
416
|
-
371
|
|
417
|
-
372
|
|
418
|
-
373
|
|
419
|
-
374
|
|
420
|
-
375
|
|
421
|
-
376
|
|
422
|
-
377
|
|
423
|
-
378
|
|
424
|
-
379
|
|
425
|
-
380
|
|
426
|
-
381
|
|
427
|
-
382
|
|
428
|
-
383
|
|
429
|
-
384
|
|
430
|
-
385
|
|
431
|
-
386
|
|
432
|
-
387
|
|
433
|
-
388
|
|
434
|
-
389
|
|
435
|
-
390
|
|
436
|
-
391
|
|
437
|
-
392
|
|
438
|
-
393
|
|
439
|
-
394
|
|
440
|
-
395
|
|
441
|
-
396
|
|
442
|
-
397
|
|
443
|
-
398
|
|
444
|
-
399
|
|
445
|
-
400
|
|
446
|
-
401
|
|
447
|
-
402
|
|
448
|
-
403
|
|
449
|
-
404
|
|
450
|
-
405
|
|
451
|
-
406
|
|
452
|
-
407
|
|
453
|
-
408
|
|
454
|
-
409
|
|
455
|
-
410
|
|
456
|
-
411
|
|
457
|
-
412
|
|
458
|
-
413
|
|
459
|
-
414
|
|
460
|
-
415
|
|
461
|
-
416
|
|
462
|
-
417
|
|
463
|
-
418
|
|
464
|
-
419
|
|
465
|
-
420
|
|
466
|
-
421
|
|
467
|
-
422
|
|
468
|
-
423
|
|
469
|
-
424
|
|
470
|
-
425
|
|
471
|
-
426
|
|
472
|
-
427
|
|
473
|
-
428
|
|
474
|
-
429
|
|
475
|
-
430
|
|
476
|
-
431
|
|
477
|
-
432
|
|
478
|
-
433
|
|
479
|
-
434
|
|
480
|
-
435
|
|
481
|
-
436
|
|
482
|
-
437
|
|
483
|
-
438
|
|
484
|
-
439
|
|
485
|
-
440
|
|
486
|
-
441
|
|
487
|
-
442
|
|
488
|
-
443
|
|
489
|
-
444
|
|
490
|
-
445
|
|
491
|
-
446
|
|
492
|
-
447
|
|
493
|
-
448
|
|
494
|
-
449
|
|
495
|
-
450
|
|
496
|
-
451
|
|
497
|
-
452
|
|
498
|
-
453
|
|
499
|
-
454
|
|
500
|
-
455
|
|
501
|
-
456
|
|
502
|
-
457
|
|
503
|
-
458
|
|
504
|
-
459
|
|
505
|
-
460
|
|
506
|
-
461
|
|
507
|
-
462
|
|
508
|
-
463
|
|
509
|
-
464
|
|
510
|
-
465
|
|
511
|
-
466
|
|
512
|
-
467
|
|
513
|
-
468
|
|
514
|
-
469
|
|
515
|
-
470
|
|
516
|
-
471
|
|
517
|
-
472
|
|
518
|
-
473
|
|
519
|
-
474
|
|
520
|
-
475
|
|
521
|
-
476
|
|
522
|
-
477
|
|
523
|
-
478
|
|
524
|
-
479
|
|
525
|
-
480
|
|
526
|
-
481
|
|
527
|
-
482
|
|
528
|
-
483
|
|
529
|
-
484
|
|
530
|
-
485
|
|
531
|
-
486
|
|
532
|
-
487
|
|
533
|
-
488
|
|
534
|
-
489
|
|
535
|
-
490
|
|
536
|
-
491
|
|
537
|
-
492
|
|
538
|
-
493
|
|
539
|
-
494
|
|
540
|
-
495
|
|
541
|
-
496
|
|
542
|
-
497
|
|
543
|
-
498
|
|
544
|
-
499
|
|
545
|
-
500
|
|
546
|
-
501
|
|
547
|
-
502
|
|
548
|
-
503
|
|
549
|
-
504
|
|
550
|
-
505
|
|
551
|
-
506
|
|
552
|
-
507
|
|
553
|
-
508
|
|
554
|
-
509
|
|
555
|
-
510
|
|
556
|
-
511
|
|
557
|
-
512
|
|
558
|
-
513
|
|
559
|
-
514
|
|
560
|
-
515
|
|
561
|
-
516
|
|
562
|
-
517
|
|
563
|
-
518
|
|
564
|
-
519
|
|
565
|
-
520
|
|
566
|
-
521
|
|
567
|
-
522
|
|
568
|
-
523
|
|
569
|
-
524
|
|
570
|
-
525
|
|
571
|
-
526
|
|
572
|
-
527
|
|
573
|
-
528
|
|
574
|
-
529
|
|
575
|
-
530
|
|
576
|
-
531
|
|
577
|
-
532
|
|
578
|
-
533
|
|
579
|
-
534
|
|
580
|
-
535
|
|
581
|
-
536
|
|
582
|
-
537
|
|
583
|
-
538
|
|
584
|
-
539
|
|
585
|
-
540
|
|
586
|
-
541
|
|
587
|
-
542
|
|
588
|
-
543
|
|
589
|
-
544
|
|
590
|
-
545
|
|
591
|
-
546
|
|
592
|
-
547
|
|
593
|
-
548
|
|
594
|
-
549
|
|
595
|
-
550
|
|
596
|
-
551
|
|
597
|
-
552
|
|
598
|
-
553
|
|
599
|
-
554
|
|
600
|
-
555
|
|
601
|
-
556
|
|
602
|
-
557
|
|
603
|
-
558
|
|
604
|
-
559
|
|
605
|
-
560
|
|
606
|
-
561
|
|
607
|
-
562
|
|
608
|
-
563
|
|
609
|
-
564
|
|
610
|
-
565
|
|
611
|
-
566
|
|
612
|
-
567
|
|
613
|
-
568
|
|
614
|
-
569
|
|
615
|
-
570
|
|
616
|
-
571
|
|
617
|
-
572
|
|
618
|
-
573
|
|
619
|
-
574
|
|
620
|
-
575
|
|
621
|
-
576
|
|
622
|
-
577
|
|
623
|
-
578
|
|
624
|
-
579
|
|
625
|
-
580
|
|
626
|
-
581
|
|
627
|
-
582
|
|
628
|
-
583
|
|
629
|
-
584
|
|
630
|
-
585
|
|
631
|
-
586
|
|
632
|
-
587
|
|
633
|
-
588
|
|
634
|
-
589
|
|
635
|
-
590
|
|
636
|
-
591
|
|
637
|
-
592
|
|
638
|
-
593
|
|
639
|
-
594
|
|
640
|
-
595
|
|
641
|
-
596
|
|
642
|
-
597
|
|
643
|
-
598
|
|
644
|
-
599
|
|
645
|
-
600
|
|
646
|
-
601
|
|
647
|
-
602
|
|
648
|
-
603
|
|
649
|
-
604
|
|
650
|
-
605
|
|
651
|
-
606
|
|
652
|
-
607
|
|
653
|
-
608
|
|
654
|
-
609
|
|
655
|
-
610
|
|
656
|
-
611
|
|
657
|
-
612
|
|
658
|
-
613
|
|
659
|
-
614
|
|
660
|
-
615
|
|
661
|
-
616
|
|
662
|
-
617
|
|
663
|
-
618
|
|
664
|
-
619
|
|
665
|
-
620
|
|
666
|
-
621
|
|
667
|
-
622
|
|
668
|
-
623</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
669
|
-
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-neutral"> </span>
|
|
672
|
-
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-neutral"> </span>
|
|
678
|
-
<span class="cline-any cline-neutral"> </span>
|
|
679
|
-
<span class="cline-any cline-neutral"> </span>
|
|
680
|
-
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-neutral"> </span>
|
|
682
|
-
<span class="cline-any cline-neutral"> </span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-yes">1×</span>
|
|
686
|
-
<span class="cline-any cline-yes">1×</span>
|
|
687
|
-
<span class="cline-any cline-yes">1×</span>
|
|
688
|
-
<span class="cline-any cline-yes">1×</span>
|
|
689
|
-
<span class="cline-any cline-yes">1×</span>
|
|
690
|
-
<span class="cline-any cline-yes">1×</span>
|
|
691
|
-
<span class="cline-any cline-yes">1×</span>
|
|
692
|
-
<span class="cline-any cline-yes">1×</span>
|
|
693
|
-
<span class="cline-any cline-yes">1×</span>
|
|
694
|
-
<span class="cline-any cline-yes">1×</span>
|
|
695
|
-
<span class="cline-any cline-yes">1×</span>
|
|
696
|
-
<span class="cline-any cline-yes">1×</span>
|
|
697
|
-
<span class="cline-any cline-yes">1×</span>
|
|
698
|
-
<span class="cline-any cline-yes">1×</span>
|
|
699
|
-
<span class="cline-any cline-yes">1×</span>
|
|
700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-yes">1×</span>
|
|
702
|
-
<span class="cline-any cline-yes">37×</span>
|
|
703
|
-
<span class="cline-any cline-yes">37×</span>
|
|
704
|
-
<span class="cline-any cline-yes">37×</span>
|
|
705
|
-
<span class="cline-any cline-neutral"> </span>
|
|
706
|
-
<span class="cline-any cline-no"> </span>
|
|
707
|
-
<span class="cline-any cline-neutral"> </span>
|
|
708
|
-
<span class="cline-any cline-neutral"> </span>
|
|
709
|
-
<span class="cline-any cline-neutral"> </span>
|
|
710
|
-
<span class="cline-any cline-yes">1×</span>
|
|
711
|
-
<span class="cline-any cline-yes">95×</span>
|
|
712
|
-
<span class="cline-any cline-yes">35×</span>
|
|
713
|
-
<span class="cline-any cline-neutral"> </span>
|
|
714
|
-
<span class="cline-any cline-neutral"> </span>
|
|
715
|
-
<span class="cline-any cline-neutral"> </span>
|
|
716
|
-
<span class="cline-any cline-yes">1×</span>
|
|
717
|
-
<span class="cline-any cline-yes">277×</span>
|
|
718
|
-
<span class="cline-any cline-yes">65×</span>
|
|
719
|
-
<span class="cline-any cline-neutral"> </span>
|
|
720
|
-
<span class="cline-any cline-neutral"> </span>
|
|
721
|
-
<span class="cline-any cline-yes">212×</span>
|
|
722
|
-
<span class="cline-any cline-yes">315×</span>
|
|
723
|
-
<span class="cline-any cline-yes">142×</span>
|
|
724
|
-
<span class="cline-any cline-neutral"> </span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-neutral"> </span>
|
|
727
|
-
<span class="cline-any cline-yes">70×</span>
|
|
728
|
-
<span class="cline-any cline-neutral"> </span>
|
|
729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
731
|
-
<span class="cline-any cline-neutral"> </span>
|
|
732
|
-
<span class="cline-any cline-neutral"> </span>
|
|
733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-neutral"> </span>
|
|
735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
736
|
-
<span class="cline-any cline-neutral"> </span>
|
|
737
|
-
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-neutral"> </span>
|
|
740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-yes">277×</span>
|
|
743
|
-
<span class="cline-any cline-neutral"> </span>
|
|
744
|
-
<span class="cline-any cline-yes">277×</span>
|
|
745
|
-
<span class="cline-any cline-yes">277×</span>
|
|
746
|
-
<span class="cline-any cline-yes">277×</span>
|
|
747
|
-
<span class="cline-any cline-neutral"> </span>
|
|
748
|
-
<span class="cline-any cline-neutral"> </span>
|
|
749
|
-
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-yes">277×</span>
|
|
751
|
-
<span class="cline-any cline-yes">277×</span>
|
|
752
|
-
<span class="cline-any cline-yes">277×</span>
|
|
753
|
-
<span class="cline-any cline-neutral"> </span>
|
|
754
|
-
<span class="cline-any cline-yes">277×</span>
|
|
755
|
-
<span class="cline-any cline-yes">277×</span>
|
|
756
|
-
<span class="cline-any cline-yes">277×</span>
|
|
757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-yes">277×</span>
|
|
759
|
-
<span class="cline-any cline-neutral"> </span>
|
|
760
|
-
<span class="cline-any cline-yes">70×</span>
|
|
761
|
-
<span class="cline-any cline-neutral"> </span>
|
|
762
|
-
<span class="cline-any cline-neutral"> </span>
|
|
763
|
-
<span class="cline-any cline-neutral"> </span>
|
|
764
|
-
<span class="cline-any cline-neutral"> </span>
|
|
765
|
-
<span class="cline-any cline-neutral"> </span>
|
|
766
|
-
<span class="cline-any cline-neutral"> </span>
|
|
767
|
-
<span class="cline-any cline-neutral"> </span>
|
|
768
|
-
<span class="cline-any cline-neutral"> </span>
|
|
769
|
-
<span class="cline-any cline-neutral"> </span>
|
|
770
|
-
<span class="cline-any cline-neutral"> </span>
|
|
771
|
-
<span class="cline-any cline-yes">277×</span>
|
|
772
|
-
<span class="cline-any cline-yes">275×</span>
|
|
773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<span class="cline-any cline-neutral"> </span>
|
|
775
|
-
<span class="cline-any cline-neutral"> </span>
|
|
776
|
-
<span class="cline-any cline-yes">3×</span>
|
|
777
|
-
<span class="cline-any cline-neutral"> </span>
|
|
778
|
-
<span class="cline-any cline-yes">3×</span>
|
|
779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
780
|
-
<span class="cline-any cline-yes">3×</span>
|
|
781
|
-
<span class="cline-any cline-yes">2×</span>
|
|
782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
783
|
-
<span class="cline-any cline-neutral"> </span>
|
|
784
|
-
<span class="cline-any cline-neutral"> </span>
|
|
785
|
-
<span class="cline-any cline-yes">1×</span>
|
|
786
|
-
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-yes">1×</span>
|
|
788
|
-
<span class="cline-any cline-neutral"> </span>
|
|
789
|
-
<span class="cline-any cline-neutral"> </span>
|
|
790
|
-
<span class="cline-any cline-no"> </span>
|
|
791
|
-
<span class="cline-any cline-neutral"> </span>
|
|
792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
793
|
-
<span class="cline-any cline-neutral"> </span>
|
|
794
|
-
<span class="cline-any cline-yes">1×</span>
|
|
795
|
-
<span class="cline-any cline-neutral"> </span>
|
|
796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
797
|
-
<span class="cline-any cline-neutral"> </span>
|
|
798
|
-
<span class="cline-any cline-neutral"> </span>
|
|
799
|
-
<span class="cline-any cline-yes">1×</span>
|
|
800
|
-
<span class="cline-any cline-no"> </span>
|
|
801
|
-
<span class="cline-any cline-neutral"> </span>
|
|
802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-neutral"> </span>
|
|
804
|
-
<span class="cline-any cline-yes">3×</span>
|
|
805
|
-
<span class="cline-any cline-neutral"> </span>
|
|
806
|
-
<span class="cline-any cline-neutral"> </span>
|
|
807
|
-
<span class="cline-any cline-neutral"> </span>
|
|
808
|
-
<span class="cline-any cline-neutral"> </span>
|
|
809
|
-
<span class="cline-any cline-neutral"> </span>
|
|
810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-neutral"> </span>
|
|
812
|
-
<span class="cline-any cline-neutral"> </span>
|
|
813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
814
|
-
<span class="cline-any cline-yes">232×</span>
|
|
815
|
-
<span class="cline-any cline-yes">232×</span>
|
|
816
|
-
<span class="cline-any cline-yes">232×</span>
|
|
817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
818
|
-
<span class="cline-any cline-yes">232×</span>
|
|
819
|
-
<span class="cline-any cline-yes">232×</span>
|
|
820
|
-
<span class="cline-any cline-neutral"> </span>
|
|
821
|
-
<span class="cline-any cline-yes">232×</span>
|
|
822
|
-
<span class="cline-any cline-yes">232×</span>
|
|
823
|
-
<span class="cline-any cline-yes">232×</span>
|
|
824
|
-
<span class="cline-any cline-neutral"> </span>
|
|
825
|
-
<span class="cline-any cline-neutral"> </span>
|
|
826
|
-
<span class="cline-any cline-neutral"> </span>
|
|
827
|
-
<span class="cline-any cline-yes">232×</span>
|
|
828
|
-
<span class="cline-any cline-yes">261×</span>
|
|
829
|
-
<span class="cline-any cline-yes">261×</span>
|
|
830
|
-
<span class="cline-any cline-yes">229×</span>
|
|
831
|
-
<span class="cline-any cline-neutral"> </span>
|
|
832
|
-
<span class="cline-any cline-yes">229×</span>
|
|
833
|
-
<span class="cline-any cline-neutral"> </span>
|
|
834
|
-
<span class="cline-any cline-yes">229×</span>
|
|
835
|
-
<span class="cline-any cline-neutral"> </span>
|
|
836
|
-
<span class="cline-any cline-yes">32×</span>
|
|
837
|
-
<span class="cline-any cline-yes">30×</span>
|
|
838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
841
|
-
<span class="cline-any cline-yes">2×</span>
|
|
842
|
-
<span class="cline-any cline-neutral"> </span>
|
|
843
|
-
<span class="cline-any cline-neutral"> </span>
|
|
844
|
-
<span class="cline-any cline-neutral"> </span>
|
|
845
|
-
<span class="cline-any cline-yes">230×</span>
|
|
846
|
-
<span class="cline-any cline-yes">230×</span>
|
|
847
|
-
<span class="cline-any cline-yes">230×</span>
|
|
848
|
-
<span class="cline-any cline-neutral"> </span>
|
|
849
|
-
<span class="cline-any cline-yes">230×</span>
|
|
850
|
-
<span class="cline-any cline-yes">76×</span>
|
|
851
|
-
<span class="cline-any cline-yes">123×</span>
|
|
852
|
-
<span class="cline-any cline-yes">123×</span>
|
|
853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
854
|
-
<span class="cline-any cline-neutral"> </span>
|
|
855
|
-
<span class="cline-any cline-yes">28×</span>
|
|
856
|
-
<span class="cline-any cline-yes">28×</span>
|
|
857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
858
|
-
<span class="cline-any cline-neutral"> </span>
|
|
859
|
-
<span class="cline-any cline-neutral"> </span>
|
|
860
|
-
<span class="cline-any cline-neutral"> </span>
|
|
861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
862
|
-
<span class="cline-any cline-yes">95×</span>
|
|
863
|
-
<span class="cline-any cline-neutral"> </span>
|
|
864
|
-
<span class="cline-any cline-yes">95×</span>
|
|
865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
866
|
-
<span class="cline-any cline-neutral"> </span>
|
|
867
|
-
<span class="cline-any cline-neutral"> </span>
|
|
868
|
-
<span class="cline-any cline-yes">50×</span>
|
|
869
|
-
<span class="cline-any cline-yes">50×</span>
|
|
870
|
-
<span class="cline-any cline-yes">50×</span>
|
|
871
|
-
<span class="cline-any cline-yes">45×</span>
|
|
872
|
-
<span class="cline-any cline-neutral"> </span>
|
|
873
|
-
<span class="cline-any cline-no"> </span>
|
|
874
|
-
<span class="cline-any cline-no"> </span>
|
|
875
|
-
<span class="cline-any cline-yes">45×</span>
|
|
876
|
-
<span class="cline-any cline-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-yes">45×</span>
|
|
878
|
-
<span class="cline-any cline-yes">45×</span>
|
|
879
|
-
<span class="cline-any cline-neutral"> </span>
|
|
880
|
-
<span class="cline-any cline-neutral"> </span>
|
|
881
|
-
<span class="cline-any cline-neutral"> </span>
|
|
882
|
-
<span class="cline-any cline-neutral"> </span>
|
|
883
|
-
<span class="cline-any cline-neutral"> </span>
|
|
884
|
-
<span class="cline-any cline-neutral"> </span>
|
|
885
|
-
<span class="cline-any cline-neutral"> </span>
|
|
886
|
-
<span class="cline-any cline-yes">76×</span>
|
|
887
|
-
<span class="cline-any cline-no"> </span>
|
|
888
|
-
<span class="cline-any cline-neutral"> </span>
|
|
889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
890
|
-
<span class="cline-any cline-neutral"> </span>
|
|
891
|
-
<span class="cline-any cline-neutral"> </span>
|
|
892
|
-
<span class="cline-any cline-yes">76×</span>
|
|
893
|
-
<span class="cline-any cline-yes">76×</span>
|
|
894
|
-
<span class="cline-any cline-neutral"> </span>
|
|
895
|
-
<span class="cline-any cline-neutral"> </span>
|
|
896
|
-
<span class="cline-any cline-yes">28×</span>
|
|
897
|
-
<span class="cline-any cline-neutral"> </span>
|
|
898
|
-
<span class="cline-any cline-yes">154×</span>
|
|
899
|
-
<span class="cline-any cline-yes">154×</span>
|
|
900
|
-
<span class="cline-any cline-yes">1×</span>
|
|
901
|
-
<span class="cline-any cline-neutral"> </span>
|
|
902
|
-
<span class="cline-any cline-neutral"> </span>
|
|
903
|
-
<span class="cline-any cline-yes">153×</span>
|
|
904
|
-
<span class="cline-any cline-yes">1×</span>
|
|
905
|
-
<span class="cline-any cline-neutral"> </span>
|
|
906
|
-
<span class="cline-any cline-neutral"> </span>
|
|
907
|
-
<span class="cline-any cline-neutral"> </span>
|
|
908
|
-
<span class="cline-any cline-yes">152×</span>
|
|
909
|
-
<span class="cline-any cline-neutral"> </span>
|
|
910
|
-
<span class="cline-any cline-neutral"> </span>
|
|
911
|
-
<span class="cline-any cline-neutral"> </span>
|
|
912
|
-
<span class="cline-any cline-neutral"> </span>
|
|
913
|
-
<span class="cline-any cline-neutral"> </span>
|
|
914
|
-
<span class="cline-any cline-neutral"> </span>
|
|
915
|
-
<span class="cline-any cline-neutral"> </span>
|
|
916
|
-
<span class="cline-any cline-yes">230×</span>
|
|
917
|
-
<span class="cline-any cline-yes">259×</span>
|
|
918
|
-
<span class="cline-any cline-yes">259×</span>
|
|
919
|
-
<span class="cline-any cline-neutral"> </span>
|
|
920
|
-
<span class="cline-any cline-yes">229×</span>
|
|
921
|
-
<span class="cline-any cline-neutral"> </span>
|
|
922
|
-
<span class="cline-any cline-yes">229×</span>
|
|
923
|
-
<span class="cline-any cline-neutral"> </span>
|
|
924
|
-
<span class="cline-any cline-neutral"> </span>
|
|
925
|
-
<span class="cline-any cline-neutral"> </span>
|
|
926
|
-
<span class="cline-any cline-neutral"> </span>
|
|
927
|
-
<span class="cline-any cline-yes">229×</span>
|
|
928
|
-
<span class="cline-any cline-yes">30×</span>
|
|
929
|
-
<span class="cline-any cline-neutral"> </span>
|
|
930
|
-
<span class="cline-any cline-neutral"> </span>
|
|
931
|
-
<span class="cline-any cline-yes">30×</span>
|
|
932
|
-
<span class="cline-any cline-neutral"> </span>
|
|
933
|
-
<span class="cline-any cline-neutral"> </span>
|
|
934
|
-
<span class="cline-any cline-neutral"> </span>
|
|
935
|
-
<span class="cline-any cline-neutral"> </span>
|
|
936
|
-
<span class="cline-any cline-neutral"> </span>
|
|
937
|
-
<span class="cline-any cline-neutral"> </span>
|
|
938
|
-
<span class="cline-any cline-yes">30×</span>
|
|
939
|
-
<span class="cline-any cline-yes">30×</span>
|
|
940
|
-
<span class="cline-any cline-yes">14×</span>
|
|
941
|
-
<span class="cline-any cline-yes">14×</span>
|
|
942
|
-
<span class="cline-any cline-neutral"> </span>
|
|
943
|
-
<span class="cline-any cline-neutral"> </span>
|
|
944
|
-
<span class="cline-any cline-yes">30×</span>
|
|
945
|
-
<span class="cline-any cline-yes">30×</span>
|
|
946
|
-
<span class="cline-any cline-yes">30×</span>
|
|
947
|
-
<span class="cline-any cline-neutral"> </span>
|
|
948
|
-
<span class="cline-any cline-neutral"> </span>
|
|
949
|
-
<span class="cline-any cline-yes">30×</span>
|
|
950
|
-
<span class="cline-any cline-yes">30×</span>
|
|
951
|
-
<span class="cline-any cline-neutral"> </span>
|
|
952
|
-
<span class="cline-any cline-no"> </span>
|
|
953
|
-
<span class="cline-any cline-neutral"> </span>
|
|
954
|
-
<span class="cline-any cline-neutral"> </span>
|
|
955
|
-
<span class="cline-any cline-neutral"> </span>
|
|
956
|
-
<span class="cline-any cline-neutral"> </span>
|
|
957
|
-
<span class="cline-any cline-neutral"> </span>
|
|
958
|
-
<span class="cline-any cline-neutral"> </span>
|
|
959
|
-
<span class="cline-any cline-neutral"> </span>
|
|
960
|
-
<span class="cline-any cline-neutral"> </span>
|
|
961
|
-
<span class="cline-any cline-neutral"> </span>
|
|
962
|
-
<span class="cline-any cline-no"> </span>
|
|
963
|
-
<span class="cline-any cline-no"> </span>
|
|
964
|
-
<span class="cline-any cline-neutral"> </span>
|
|
965
|
-
<span class="cline-any cline-neutral"> </span>
|
|
966
|
-
<span class="cline-any cline-neutral"> </span>
|
|
967
|
-
<span class="cline-any cline-neutral"> </span>
|
|
968
|
-
<span class="cline-any cline-neutral"> </span>
|
|
969
|
-
<span class="cline-any cline-neutral"> </span>
|
|
970
|
-
<span class="cline-any cline-neutral"> </span>
|
|
971
|
-
<span class="cline-any cline-neutral"> </span>
|
|
972
|
-
<span class="cline-any cline-neutral"> </span>
|
|
973
|
-
<span class="cline-any cline-neutral"> </span>
|
|
974
|
-
<span class="cline-any cline-neutral"> </span>
|
|
975
|
-
<span class="cline-any cline-yes">121×</span>
|
|
976
|
-
<span class="cline-any cline-yes">121×</span>
|
|
977
|
-
<span class="cline-any cline-yes">121×</span>
|
|
978
|
-
<span class="cline-any cline-yes">121×</span>
|
|
979
|
-
<span class="cline-any cline-neutral"> </span>
|
|
980
|
-
<span class="cline-any cline-neutral"> </span>
|
|
981
|
-
<span class="cline-any cline-neutral"> </span>
|
|
982
|
-
<span class="cline-any cline-neutral"> </span>
|
|
983
|
-
<span class="cline-any cline-neutral"> </span>
|
|
984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
985
|
-
<span class="cline-any cline-neutral"> </span>
|
|
986
|
-
<span class="cline-any cline-neutral"> </span>
|
|
987
|
-
<span class="cline-any cline-yes">37×</span>
|
|
988
|
-
<span class="cline-any cline-yes">37×</span>
|
|
989
|
-
<span class="cline-any cline-neutral"> </span>
|
|
990
|
-
<span class="cline-any cline-yes">37×</span>
|
|
991
|
-
<span class="cline-any cline-yes">37×</span>
|
|
992
|
-
<span class="cline-any cline-no"> </span>
|
|
993
|
-
<span class="cline-any cline-neutral"> </span>
|
|
994
|
-
<span class="cline-any cline-yes">37×</span>
|
|
995
|
-
<span class="cline-any cline-neutral"> </span>
|
|
996
|
-
<span class="cline-any cline-neutral"> </span>
|
|
997
|
-
<span class="cline-any cline-neutral"> </span>
|
|
998
|
-
<span class="cline-any cline-neutral"> </span>
|
|
999
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1000
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1001
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1002
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1003
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1004
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1005
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1006
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1007
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1008
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1009
|
-
<span class="cline-any cline-yes">133×</span>
|
|
1010
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1011
|
-
<span class="cline-any cline-yes">133×</span>
|
|
1012
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1013
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1014
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1015
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1016
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1017
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1018
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1019
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1020
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1021
|
-
<span class="cline-any cline-yes">26×</span>
|
|
1022
|
-
<span class="cline-any cline-yes">26×</span>
|
|
1023
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1024
|
-
<span class="cline-any cline-yes">26×</span>
|
|
1025
|
-
<span class="cline-any cline-yes">26×</span>
|
|
1026
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1027
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1028
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1029
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1030
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1031
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1032
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1033
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1034
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1035
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1036
|
-
<span class="cline-any cline-yes">5×</span>
|
|
1037
|
-
<span class="cline-any cline-yes">5×</span>
|
|
1038
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1039
|
-
<span class="cline-any cline-yes">5×</span>
|
|
1040
|
-
<span class="cline-any cline-yes">5×</span>
|
|
1041
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1042
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1043
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1044
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1045
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1046
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1047
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1048
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1049
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1050
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1051
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1052
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1053
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1054
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1055
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1056
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1057
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1058
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1059
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1060
|
-
<span class="cline-any cline-yes">23×</span>
|
|
1061
|
-
<span class="cline-any cline-yes">23×</span>
|
|
1062
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1063
|
-
<span class="cline-any cline-yes">23×</span>
|
|
1064
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1065
|
-
<span class="cline-any cline-yes">23×</span>
|
|
1066
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1067
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1068
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1069
|
-
<span class="cline-any cline-yes">15×</span>
|
|
1070
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1071
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1072
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1073
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1074
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1075
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1076
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1077
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1078
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1079
|
-
<span class="cline-any cline-yes">23×</span>
|
|
1080
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1081
|
-
<span class="cline-any cline-yes">23×</span>
|
|
1082
|
-
<span class="cline-any cline-yes">23×</span>
|
|
1083
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1084
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1085
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1086
|
-
<span class="cline-any cline-yes">8×</span>
|
|
1087
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1088
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1089
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1090
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1091
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1092
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1093
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1094
|
-
<span class="cline-any cline-no"> </span>
|
|
1095
|
-
<span class="cline-any cline-no"> </span>
|
|
1096
|
-
<span class="cline-any cline-no"> </span>
|
|
1097
|
-
<span class="cline-any cline-no"> </span>
|
|
1098
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1099
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1100
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1101
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1102
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1103
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1104
|
-
<span class="cline-any cline-yes">23×</span>
|
|
1105
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1106
|
-
<span class="cline-any cline-yes">23×</span>
|
|
1107
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1108
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1109
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1110
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1111
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1112
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1113
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1114
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1115
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1116
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1117
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1118
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1119
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1120
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1121
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1122
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1123
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1124
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1125
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1126
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1127
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1128
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1129
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1130
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1131
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1132
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1133
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1134
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1135
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1136
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1137
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1138
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1139
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1140
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1141
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1142
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1143
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1144
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1145
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1146
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1147
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1148
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1149
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1150
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1151
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1152
|
-
<span class="cline-any cline-no"> </span>
|
|
1153
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1154
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1155
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1156
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1157
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1158
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1159
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1160
|
-
<span class="cline-any cline-yes">5×</span>
|
|
1161
|
-
<span class="cline-any cline-no"> </span>
|
|
1162
|
-
<span class="cline-any cline-yes">5×</span>
|
|
1163
|
-
<span class="cline-any cline-no"> </span>
|
|
1164
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1165
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1166
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1167
|
-
<span class="cline-any cline-no"> </span>
|
|
1168
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1169
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1170
|
-
<span class="cline-any cline-yes">4×</span>
|
|
1171
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1172
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1173
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1174
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1175
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1176
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1177
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1178
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1181
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1182
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1183
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1184
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1185
|
-
<span class="cline-any cline-yes">8×</span>
|
|
1186
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1187
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1188
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1189
|
-
<span class="cline-any cline-yes">8×</span>
|
|
1190
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1191
|
-
<span class="cline-any cline-yes">8×</span>
|
|
1192
|
-
<span class="cline-any cline-no"> </span>
|
|
1193
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1194
|
-
<span class="cline-any cline-yes">8×</span>
|
|
1195
|
-
<span class="cline-any cline-no"> </span>
|
|
1196
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1197
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1198
|
-
<span class="cline-any cline-yes">8×</span>
|
|
1199
|
-
<span class="cline-any cline-no"> </span>
|
|
1200
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1201
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1202
|
-
<span class="cline-any cline-yes">8×</span>
|
|
1203
|
-
<span class="cline-any cline-yes">8×</span>
|
|
1204
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1205
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1206
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1207
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1209
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1210
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1211
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1212
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1213
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1214
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1215
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1216
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1217
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1218
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1219
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1220
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1221
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1222
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1223
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1224
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1225
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1226
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1228
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1229
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1230
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1231
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1232
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1233
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1235
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1236
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1237
|
-
<span class="cline-any cline-yes">7×</span>
|
|
1238
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1239
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1240
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1241
|
-
<span class="cline-any cline-no"> </span>
|
|
1242
|
-
<span class="cline-any cline-no"> </span>
|
|
1243
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1244
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1245
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1246
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1247
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1248
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1249
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1250
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1251
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1252
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1253
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1254
|
-
<span class="cline-any cline-no"> </span>
|
|
1255
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1256
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1257
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1258
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1259
|
-
<span class="cline-any cline-yes">13×</span>
|
|
1260
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1261
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1262
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1263
|
-
<span class="cline-any cline-no"> </span>
|
|
1264
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1265
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1266
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1267
|
-
<span class="cline-any cline-yes">26×</span>
|
|
1268
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1269
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1270
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1271
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1272
|
-
<span class="cline-any cline-yes">140×</span>
|
|
1273
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1274
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1275
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1276
|
-
<span class="cline-any cline-yes">277×</span>
|
|
1277
|
-
<span class="cline-any cline-yes">277×</span>
|
|
1278
|
-
<span class="cline-any cline-yes">277×</span>
|
|
1279
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1280
|
-
<span class="cline-any cline-yes">277×</span>
|
|
1281
|
-
<span class="cline-any cline-yes">277×</span>
|
|
1282
|
-
<span class="cline-any cline-yes">277×</span>
|
|
1283
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1284
|
-
<span class="cline-any cline-yes">2×</span>
|
|
1285
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1286
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1287
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1288
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1289
|
-
<span class="cline-any cline-yes">1×</span>
|
|
1290
|
-
<span class="cline-any cline-yes">1×</span></td><td class="text"><pre class="prettyprint lang-js">/*
|
|
1291
|
-
* Copyright 2011 eBay Software Foundation
|
|
1292
|
-
*
|
|
1293
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1294
|
-
* you may not use this file except in compliance with the License.
|
|
1295
|
-
* You may obtain a copy of the License at
|
|
1296
|
-
*
|
|
1297
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1298
|
-
*
|
|
1299
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
1300
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1301
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1302
|
-
* See the License for the specific language governing permissions and
|
|
1303
|
-
* limitations under the License.
|
|
1304
|
-
*/
|
|
1305
|
-
'use strict';
|
|
1306
|
-
|
|
1307
|
-
var ok = require('assert').ok;
|
|
1308
|
-
var propertyHandlers = require('property-handlers');
|
|
1309
|
-
var isObjectEmpty = require('raptor-util/isObjectEmpty');
|
|
1310
|
-
var nodePath = require('path');
|
|
1311
|
-
var resolve = require('../util/resolve'); // NOTE: different implementation for browser
|
|
1312
|
-
var ok = require('assert').ok;
|
|
1313
|
-
var bodyFunctionRegExp = /^([A-Za-z_$][A-Za-z0-9_]*)(?:\(([^)]*)\))?$/;
|
|
1314
|
-
var safeVarName = /^[A-Za-z_$][A-Za-z0-9_]*$/;
|
|
1315
|
-
var handleAttributes = require('./handleAttributes');
|
|
1316
|
-
var propertyHandlers = require('property-handlers');
|
|
1317
|
-
var forEachEntry = require('raptor-util/forEachEntry');
|
|
1318
|
-
var loader = require('./loader');
|
|
1319
|
-
var markoCompiler = require('../');
|
|
1320
|
-
var createError = require('raptor-util/createError');
|
|
1321
|
-
var Taglib = require('./Taglib');
|
|
1322
|
-
|
|
1323
|
-
function exists(path) {
|
|
1324
|
-
try {
|
|
1325
|
-
require.resolve(path);
|
|
1326
|
-
return true;
|
|
1327
|
-
} catch(e) {
|
|
1328
|
-
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
1329
|
-
}
|
|
1330
|
-
}
|
|
1331
|
-
|
|
1332
|
-
function removeDashes(str) {
|
|
1333
|
-
return str.replace(/-([a-z])/g, function (match, lower) {
|
|
1334
|
-
return lower.toUpperCase();
|
|
1335
|
-
});
|
|
1336
|
-
}
|
|
1337
|
-
|
|
1338
|
-
function hasAttributes(tagProps) {
|
|
1339
|
-
if (tagProps.attributes != null) {
|
|
1340
|
-
return true;
|
|
1341
|
-
}
|
|
1342
|
-
|
|
1343
|
-
for (var name in tagProps) {
|
|
1344
|
-
if (tagProps.hasOwnProperty(name) && name.startsWith('@')) {
|
|
1345
|
-
return true;
|
|
1346
|
-
}
|
|
1347
|
-
}
|
|
1348
|
-
|
|
1349
|
-
return false;
|
|
1350
|
-
}
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
/**
|
|
1354
|
-
* We load tag definition using this class. Properties in the taglib
|
|
1355
|
-
* definition (which is just a JavaScript object with properties)
|
|
1356
|
-
* are mapped to handler methods in an instance of this type.
|
|
1357
|
-
*
|
|
1358
|
-
* @param {Tag} tag The initially empty Tag instance that we populate
|
|
1359
|
-
* @param {String} dirname The full file system path associated with the tag being loaded
|
|
1360
|
-
* @param {String} path An informational path associated with this tag (used for error reporting)
|
|
1361
|
-
*/
|
|
1362
|
-
class TagLoader {
|
|
1363
|
-
constructor(dependencyChain) {
|
|
1364
|
-
this.dependencyChain = dependencyChain;
|
|
1365
|
-
|
|
1366
|
-
this.filePath = null;
|
|
1367
|
-
this.tag = null;
|
|
1368
|
-
this.dirname = null;
|
|
1369
|
-
}
|
|
1370
|
-
|
|
1371
|
-
_load(tagProps, filePath) {
|
|
1372
|
-
this.tag = new Taglib.Tag();
|
|
1373
|
-
this.filePath = filePath;
|
|
1374
|
-
this.dirname = nodePath.dirname(filePath);
|
|
1375
|
-
|
|
1376
|
-
var tag = this.tag;
|
|
1377
|
-
tag.filePath = filePath;
|
|
1378
|
-
tag.dir = this.dirname;
|
|
1379
|
-
|
|
1380
|
-
if (!hasAttributes(tagProps)) {
|
|
1381
|
-
// allow any attributes if no attributes are declared
|
|
1382
|
-
tagProps.attributes = {
|
|
1383
|
-
'*': {
|
|
1384
|
-
type: 'string',
|
|
1385
|
-
targetProperty: null,
|
|
1386
|
-
preserveName: false
|
|
1387
|
-
}
|
|
1388
|
-
};
|
|
1389
|
-
}
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
propertyHandlers(tagProps, this, this.dependencyChain.toString());
|
|
1394
|
-
return tag;
|
|
1395
|
-
}
|
|
1396
|
-
|
|
1397
|
-
_handleVar(value, dependencyChain) {
|
|
1398
|
-
var tag = this.tag;
|
|
1399
|
-
|
|
1400
|
-
var nestedVariable;
|
|
1401
|
-
|
|
1402
|
-
if (typeof value === 'string') {
|
|
1403
|
-
nestedVariable = {
|
|
1404
|
-
name: value
|
|
1405
|
-
};
|
|
1406
|
-
} else {
|
|
1407
|
-
nestedVariable = {};
|
|
1408
|
-
|
|
1409
|
-
propertyHandlers(value, {
|
|
1410
|
-
|
|
1411
|
-
name: <span class="fstat-no" title="function not covered" >function(value) {</span>
|
|
1412
|
-
<span class="cstat-no" title="statement not covered" > nestedVariable.name = value;</span>
|
|
1413
|
-
},
|
|
1414
|
-
|
|
1415
|
-
nameFromAttribute: function(value) {
|
|
1416
|
-
nestedVariable.nameFromAttribute = value;
|
|
1417
|
-
}
|
|
1418
|
-
|
|
1419
|
-
}, dependencyChain.toString());
|
|
1420
|
-
|
|
1421
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!nestedVariable.name && !nestedVariable.nameFromAttribute) {
|
|
1422
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('The "name" or "name-from-attribute" attribute is required for a nested variable (' + dependencyChain + ')');</span>
|
|
1423
|
-
}
|
|
1424
|
-
}
|
|
1425
|
-
|
|
1426
|
-
tag.addNestedVariable(nestedVariable);
|
|
1427
|
-
}
|
|
1428
|
-
|
|
1429
|
-
/**
|
|
1430
|
-
* This is handler is for any properties that didn't match
|
|
1431
|
-
* one of the default property handlers. This is used to
|
|
1432
|
-
* match properties in the form of "@attr_name" or
|
|
1433
|
-
* "<nested_tag_name>"
|
|
1434
|
-
*/
|
|
1435
|
-
'*'(name, value) {
|
|
1436
|
-
var tag = this.tag;
|
|
1437
|
-
var dependencyChain = this.dependencyChain;
|
|
1438
|
-
var parts = name.split(/\s+|\s+[,]\s+/);
|
|
1439
|
-
|
|
1440
|
-
var i;
|
|
1441
|
-
var part;
|
|
1442
|
-
|
|
1443
|
-
var hasNestedTag = false;
|
|
1444
|
-
var hasAttr = false;
|
|
1445
|
-
var nestedTagTargetProperty = null;
|
|
1446
|
-
|
|
1447
|
-
// We do one pass to figure out if there is an
|
|
1448
|
-
// attribute or nested tag or both
|
|
1449
|
-
for (i=0; i<parts.length; i++) {
|
|
1450
|
-
part = parts[i];
|
|
1451
|
-
if (part.startsWith('@')) {
|
|
1452
|
-
hasAttr = true;
|
|
1453
|
-
|
|
1454
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (i === 0) {
|
|
1455
|
-
// Use the first attribute value as the name of the target property
|
|
1456
|
-
nestedTagTargetProperty = part.substring(1);
|
|
1457
|
-
}
|
|
1458
|
-
} else if (part.startsWith('<')) {
|
|
1459
|
-
hasNestedTag = true;
|
|
1460
|
-
} else {
|
|
1461
|
-
// Unmatched property that is not an attribute or a
|
|
1462
|
-
// nested tag
|
|
1463
|
-
return false;
|
|
1464
|
-
}
|
|
1465
|
-
}
|
|
1466
|
-
|
|
1467
|
-
var attrProps = {};
|
|
1468
|
-
var tagProps = {};
|
|
1469
|
-
var k;
|
|
1470
|
-
|
|
1471
|
-
if (value != null && typeof value === 'object') {
|
|
1472
|
-
for (k in value) {
|
|
1473
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (value.hasOwnProperty(k)) {
|
|
1474
|
-
if (k.startsWith('@') || k.startsWith('<')) {
|
|
1475
|
-
// Move over all of the attributes and nested tags
|
|
1476
|
-
// to the tag definition.
|
|
1477
|
-
tagProps[k] = value[k];
|
|
1478
|
-
delete value[k];
|
|
1479
|
-
} else {
|
|
1480
|
-
// The property is not a shorthand attribute or shorthand
|
|
1481
|
-
// tag so move it over to either the tag definition
|
|
1482
|
-
// or the attribute definition or both the tag definition
|
|
1483
|
-
// and attribute definition.
|
|
1484
|
-
var propNameDashes = removeDashes(k);
|
|
1485
|
-
|
|
1486
|
-
if (loader.tagLoader.isSupportedProperty(propNameDashes) &&
|
|
1487
|
-
loader.attributeLoader.isSupportedProperty(propNameDashes)) {
|
|
1488
|
-
// Move over all of the properties that are associated with a tag
|
|
1489
|
-
// and attribute
|
|
1490
|
-
tagProps[k] = value[k];
|
|
1491
|
-
attrProps[k] = value[k];
|
|
1492
|
-
delete value[k];
|
|
1493
|
-
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (loader.tagLoader.isSupportedProperty(propNameDashes)) {
|
|
1494
|
-
// Move over all of the properties that are associated with a tag
|
|
1495
|
-
<span class="cstat-no" title="statement not covered" > tagProps[k] = value[k];</span>
|
|
1496
|
-
<span class="cstat-no" title="statement not covered" > delete value[k];</span>
|
|
1497
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (loader.attributeLoader.isSupportedProperty(propNameDashes)) {
|
|
1498
|
-
// Move over all of the properties that are associated with an attr
|
|
1499
|
-
attrProps[k] = value[k];
|
|
1500
|
-
delete value[k];
|
|
1501
|
-
}
|
|
1502
|
-
}
|
|
1503
|
-
}
|
|
1504
|
-
}
|
|
1505
|
-
|
|
1506
|
-
// If there are any left over properties then something is wrong
|
|
1507
|
-
// with the user's taglib.
|
|
1508
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!isObjectEmpty(value)) {
|
|
1509
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Unsupported properties of [' +</span>
|
|
1510
|
-
Object.keys(value).join(', ') +
|
|
1511
|
-
']');
|
|
1512
|
-
}
|
|
1513
|
-
|
|
1514
|
-
var type = attrProps.type;
|
|
1515
|
-
if (!type && hasAttr && hasNestedTag) {
|
|
1516
|
-
// If we have an attribute and a nested tag then default
|
|
1517
|
-
// the attribute type to "expression"
|
|
1518
|
-
attrProps.type = 'expression';
|
|
1519
|
-
}
|
|
1520
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof value === 'string') {
|
|
1521
|
-
if (hasNestedTag && hasAttr) {
|
|
1522
|
-
tagProps = attrProps = {
|
|
1523
|
-
type: value
|
|
1524
|
-
};
|
|
1525
|
-
} else if (hasNestedTag) {
|
|
1526
|
-
tagProps = {
|
|
1527
|
-
type: value
|
|
1528
|
-
};
|
|
1529
|
-
} else {
|
|
1530
|
-
attrProps = {
|
|
1531
|
-
type: value
|
|
1532
|
-
};
|
|
1533
|
-
}
|
|
1534
|
-
}
|
|
1535
|
-
|
|
1536
|
-
// Now that we have separated out attribute properties and tag properties
|
|
1537
|
-
// we need to create the actual attributes and nested tags
|
|
1538
|
-
for (i=0; i<parts.length; i++) {
|
|
1539
|
-
part = parts[i];
|
|
1540
|
-
if (part.startsWith('@')) {
|
|
1541
|
-
// This is a shorthand attribute
|
|
1542
|
-
var attrName = part.substring(1);
|
|
1543
|
-
|
|
1544
|
-
var attr = loader.attributeLoader.loadAttribute(
|
|
1545
|
-
attrName,
|
|
1546
|
-
attrProps,
|
|
1547
|
-
dependencyChain.append(part));
|
|
1548
|
-
|
|
1549
|
-
tag.addAttribute(attr);
|
|
1550
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (part.startsWith('<')) {
|
|
1551
|
-
|
|
1552
|
-
// This is a shorthand nested tag
|
|
1553
|
-
var nestedTag = loadTag(
|
|
1554
|
-
tagProps,
|
|
1555
|
-
this.filePath,
|
|
1556
|
-
dependencyChain.append(part));
|
|
1557
|
-
|
|
1558
|
-
// We use the '[]' suffix to indicate that a nested tag
|
|
1559
|
-
// can be repeated
|
|
1560
|
-
var isNestedTagRepeated = false;
|
|
1561
|
-
if (part.endsWith('[]')) {
|
|
1562
|
-
isNestedTagRepeated = true;
|
|
1563
|
-
part = part.slice(0, -2);
|
|
1564
|
-
}
|
|
1565
|
-
|
|
1566
|
-
var nestedTagName = part.substring(1, part.length-1);
|
|
1567
|
-
nestedTag.name = nestedTagName;
|
|
1568
|
-
nestedTag.isRepeated = isNestedTagRepeated;
|
|
1569
|
-
// Use the name of the attribute as the target property unless
|
|
1570
|
-
// this target property was explicitly provided
|
|
1571
|
-
nestedTag.targetProperty = attrProps.targetProperty || nestedTagTargetProperty;
|
|
1572
|
-
tag.addNestedTag(nestedTag);
|
|
1573
|
-
} else {
|
|
1574
|
-
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
1575
|
-
}
|
|
1576
|
-
}
|
|
1577
|
-
}
|
|
1578
|
-
|
|
1579
|
-
/**
|
|
1580
|
-
* The tag name
|
|
1581
|
-
* @param {String} value The tag name
|
|
1582
|
-
*/
|
|
1583
|
-
name<span class="fstat-no" title="function not covered" >(value) {</span>
|
|
1584
|
-
<span class="cstat-no" title="statement not covered" > var tag = this.tag;</span>
|
|
1585
|
-
<span class="cstat-no" title="statement not covered" > tag.name = value;</span>
|
|
1586
|
-
}
|
|
1587
|
-
|
|
1588
|
-
/**
|
|
1589
|
-
* The path to the renderer JS module to use for this tag.
|
|
1590
|
-
*
|
|
1591
|
-
* NOTE: We use the equivalent of require.resolve to resolve the JS module
|
|
1592
|
-
* and use the tag directory as the "from".
|
|
1593
|
-
*
|
|
1594
|
-
* @param {String} value The renderer path
|
|
1595
|
-
*/
|
|
1596
|
-
renderer(value) {
|
|
1597
|
-
var tag = this.tag;
|
|
1598
|
-
var dirname = this.dirname;
|
|
1599
|
-
var path = resolve(value, dirname);
|
|
1600
|
-
tag.renderer = path;
|
|
1601
|
-
}
|
|
1602
|
-
|
|
1603
|
-
/**
|
|
1604
|
-
* A tag can use a renderer or a template to do the rendering. If
|
|
1605
|
-
* a template is provided then the value should be the path to the
|
|
1606
|
-
* template to use to render the custom tag.
|
|
1607
|
-
*/
|
|
1608
|
-
template(value) {
|
|
1609
|
-
var tag = this.tag;
|
|
1610
|
-
var dirname = this.dirname;
|
|
1611
|
-
|
|
1612
|
-
var path = nodePath.resolve(dirname, value);
|
|
1613
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!exists(path)) {
|
|
1614
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Template at path "' + path + '" does not exist.');</span>
|
|
1615
|
-
}
|
|
1616
|
-
tag.template = path;
|
|
1617
|
-
}
|
|
1618
|
-
|
|
1619
|
-
/**
|
|
1620
|
-
* An Object where each property maps to an attribute definition.
|
|
1621
|
-
* The property key will be the attribute name and the property value
|
|
1622
|
-
* will be the attribute definition. Example:
|
|
1623
|
-
* {
|
|
1624
|
-
* "attributes": {
|
|
1625
|
-
* "foo": "string",
|
|
1626
|
-
* "bar": "expression"
|
|
1627
|
-
* }
|
|
1628
|
-
* }
|
|
1629
|
-
*/
|
|
1630
|
-
attributes(value) {
|
|
1631
|
-
var tag = this.tag;
|
|
1632
|
-
|
|
1633
|
-
handleAttributes(value, tag, this.dependencyChain.append('attributes'));
|
|
1634
|
-
}
|
|
1635
|
-
|
|
1636
|
-
/**
|
|
1637
|
-
* A custom tag can be mapped to module that is is used
|
|
1638
|
-
* to generate compile-time code for the custom tag. A
|
|
1639
|
-
* node type is created based on the methods and methods
|
|
1640
|
-
* exported by the code codegen module.
|
|
1641
|
-
*/
|
|
1642
|
-
codeGenerator(value) {
|
|
1643
|
-
var tag = this.tag;
|
|
1644
|
-
var dirname = this.dirname;
|
|
1645
|
-
|
|
1646
|
-
var path = resolve(value, dirname);
|
|
1647
|
-
tag.codeGeneratorModulePath = path;
|
|
1648
|
-
}
|
|
1649
|
-
|
|
1650
|
-
/**
|
|
1651
|
-
* A custom tag can be mapped to a compile-time Node that gets
|
|
1652
|
-
* added to the parsed Abstract Syntax Tree (AST). The Node can
|
|
1653
|
-
* then generate custom JS code at compile time. The value
|
|
1654
|
-
* should be a path to a JS module that gets resolved using the
|
|
1655
|
-
* equivalent of require.resolve(path)
|
|
1656
|
-
*/
|
|
1657
|
-
nodeFactory(value) {
|
|
1658
|
-
var tag = this.tag;
|
|
1659
|
-
var dirname = this.dirname;
|
|
1660
|
-
|
|
1661
|
-
var path = resolve(value, dirname);
|
|
1662
|
-
tag.nodeFactoryPath = path;
|
|
1663
|
-
}
|
|
1664
|
-
|
|
1665
|
-
/**
|
|
1666
|
-
* If the "preserve-whitespace" property is set to true then
|
|
1667
|
-
* all whitespace nested below the custom tag in a template
|
|
1668
|
-
* will be stripped instead of going through the normal whitespace
|
|
1669
|
-
* removal rules.
|
|
1670
|
-
*/
|
|
1671
|
-
preserveWhitespace(value) {
|
|
1672
|
-
var tag = this.tag;
|
|
1673
|
-
tag.preserveWhitespace = !!value;
|
|
1674
|
-
}
|
|
1675
|
-
|
|
1676
|
-
/**
|
|
1677
|
-
* If a custom tag has an associated transformer then the transformer
|
|
1678
|
-
* will be called on the compile-time Node. The transformer can manipulate
|
|
1679
|
-
* the AST using the DOM-like API to change how the code gets generated.
|
|
1680
|
-
*/
|
|
1681
|
-
transformer(value) {
|
|
1682
|
-
var tag = this.tag;
|
|
1683
|
-
var dirname = this.dirname;
|
|
1684
|
-
|
|
1685
|
-
var transformer = new Taglib.Transformer();
|
|
1686
|
-
|
|
1687
|
-
if (typeof value === 'string') {
|
|
1688
|
-
// The value is a simple string type
|
|
1689
|
-
// so treat the value as the path to the JS
|
|
1690
|
-
// module for the transformer
|
|
1691
|
-
value = {
|
|
1692
|
-
path: value
|
|
1693
|
-
};
|
|
1694
|
-
}
|
|
1695
|
-
|
|
1696
|
-
/**
|
|
1697
|
-
* The transformer is a complex type and we need
|
|
1698
|
-
* to process each property to load the Transformer
|
|
1699
|
-
* definition.
|
|
1700
|
-
*/
|
|
1701
|
-
propertyHandlers(value, {
|
|
1702
|
-
path(value) {
|
|
1703
|
-
var path = resolve(value, dirname);
|
|
1704
|
-
transformer.path = path;
|
|
1705
|
-
},
|
|
1706
|
-
|
|
1707
|
-
priority(value) {
|
|
1708
|
-
transformer.priority = value;
|
|
1709
|
-
},
|
|
1710
|
-
|
|
1711
|
-
name(value) {
|
|
1712
|
-
transformer.name = value;
|
|
1713
|
-
},
|
|
1714
|
-
|
|
1715
|
-
properties<span class="fstat-no" title="function not covered" >(value) {</span>
|
|
1716
|
-
<span class="cstat-no" title="statement not covered" > var properties = transformer.properties || (transformer.properties = {});</span>
|
|
1717
|
-
<span class="cstat-no" title="statement not covered" > for (var k in value) {</span>
|
|
1718
|
-
<span class="cstat-no" title="statement not covered" > if (value.hasOwnProperty(k)) {</span>
|
|
1719
|
-
<span class="cstat-no" title="statement not covered" > properties[k] = value[k];</span>
|
|
1720
|
-
}
|
|
1721
|
-
}
|
|
1722
|
-
}
|
|
1723
|
-
|
|
1724
|
-
}, this.dependencyChain.append('transformer'));
|
|
1725
|
-
|
|
1726
|
-
ok(transformer.path, '"path" is required for transformer');
|
|
1727
|
-
|
|
1728
|
-
tag.addTransformer(transformer);
|
|
1729
|
-
}
|
|
1730
|
-
|
|
1731
|
-
/**
|
|
1732
|
-
* The "var" property is used to declared nested variables that get
|
|
1733
|
-
* added as JavaScript variables at compile time.
|
|
1734
|
-
*
|
|
1735
|
-
* Examples:
|
|
1736
|
-
*
|
|
1737
|
-
* "var": "myScopedVariable",
|
|
1738
|
-
*
|
|
1739
|
-
* "var": {
|
|
1740
|
-
* "name": "myScopedVariable"
|
|
1741
|
-
* }
|
|
1742
|
-
*
|
|
1743
|
-
* "var": {
|
|
1744
|
-
* "name-from-attribute": "var"
|
|
1745
|
-
* }
|
|
1746
|
-
*/
|
|
1747
|
-
var(value) {
|
|
1748
|
-
this._handleVar(value, this.dependencyChain.append('var'));
|
|
1749
|
-
}
|
|
1750
|
-
/**
|
|
1751
|
-
* The "vars" property is equivalent to the "var" property
|
|
1752
|
-
* except that it expects an array of nested variables.
|
|
1753
|
-
*/
|
|
1754
|
-
vars(value) {
|
|
1755
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (value) {
|
|
1756
|
-
value.forEach((v, i) => {
|
|
1757
|
-
this._handleVar(v, this.dependencyChain.append('vars[' + i + ']'));
|
|
1758
|
-
});
|
|
1759
|
-
}
|
|
1760
|
-
}
|
|
1761
|
-
/**
|
|
1762
|
-
* The "body-function" property" allows the nested body content to be mapped
|
|
1763
|
-
* to a function at compile time. The body function gets mapped to a property
|
|
1764
|
-
* of the tag renderer at render time. The body function can have any number
|
|
1765
|
-
* of parameters.
|
|
1766
|
-
*
|
|
1767
|
-
* Example:
|
|
1768
|
-
* - "body-function": "_handleBody(param1, param2, param3)"
|
|
1769
|
-
*/
|
|
1770
|
-
bodyFunction(value) {
|
|
1771
|
-
var tag = this.tag;
|
|
1772
|
-
var parts = bodyFunctionRegExp.exec(value);
|
|
1773
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!parts) {
|
|
1774
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Invalid value of "' + value + '" for "body-function". Expected value to be of the following form: <function-name>([param1, param2, ...])');</span>
|
|
1775
|
-
}
|
|
1776
|
-
|
|
1777
|
-
var functionName = parts[1];
|
|
1778
|
-
var params = parts[2];
|
|
1779
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (params) {
|
|
1780
|
-
params = params.trim().split(/\s*,\s*/);
|
|
1781
|
-
for (var i=0; i<params.length; i++) {
|
|
1782
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (params[i].length === 0) {
|
|
1783
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Invalid parameters for body-function with value of "' + value + '"');</span>
|
|
1784
|
-
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (!safeVarName.test(params[i])) {
|
|
1785
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Invalid parameter name of "' + params[i] + '" for body-function with value of "' + value + '"');</span>
|
|
1786
|
-
}
|
|
1787
|
-
}
|
|
1788
|
-
} else {
|
|
1789
|
-
<span class="cstat-no" title="statement not covered" > params = [];</span>
|
|
1790
|
-
}
|
|
1791
|
-
|
|
1792
|
-
tag.setBodyFunction(functionName, params);
|
|
1793
|
-
}
|
|
1794
|
-
/**
|
|
1795
|
-
* The "import-var" property can be used to add a property to the
|
|
1796
|
-
* input object of the tag renderer whose value is determined by
|
|
1797
|
-
* a JavaScript expression.
|
|
1798
|
-
*
|
|
1799
|
-
* Example:
|
|
1800
|
-
* "import-var": {
|
|
1801
|
-
* "myTargetProperty": "data.myCompileTimeJavaScriptExpression",
|
|
1802
|
-
* }
|
|
1803
|
-
*/
|
|
1804
|
-
importVar(value) {
|
|
1805
|
-
var tag = this.tag;
|
|
1806
|
-
forEachEntry(value, (varName, varValue) => {
|
|
1807
|
-
var importedVar = {
|
|
1808
|
-
targetProperty: varName
|
|
1809
|
-
};
|
|
1810
|
-
|
|
1811
|
-
var expression = varValue;
|
|
1812
|
-
|
|
1813
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!expression) {
|
|
1814
|
-
<span class="cstat-no" title="statement not covered" > expression = varName;</span>
|
|
1815
|
-
}
|
|
1816
|
-
else <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof expression === 'object') {
|
|
1817
|
-
<span class="cstat-no" title="statement not covered" > expression = expression.expression;</span>
|
|
1818
|
-
}
|
|
1819
|
-
|
|
1820
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!expression) {
|
|
1821
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Invalid "import-var": ' + require('util').inspect(varValue));</span>
|
|
1822
|
-
}
|
|
1823
|
-
|
|
1824
|
-
importedVar.expression = markoCompiler.builder.parseExpression(expression);
|
|
1825
|
-
tag.addImportedVariable(importedVar);
|
|
1826
|
-
});
|
|
1827
|
-
}
|
|
1828
|
-
/**
|
|
1829
|
-
* The tag type.
|
|
1830
|
-
*/
|
|
1831
|
-
type(value) {
|
|
1832
|
-
var tag = this.tag;
|
|
1833
|
-
tag.type = value;
|
|
1834
|
-
}
|
|
1835
|
-
/**
|
|
1836
|
-
* Declare a nested tag.
|
|
1837
|
-
*
|
|
1838
|
-
* Example:
|
|
1839
|
-
* {
|
|
1840
|
-
* ...
|
|
1841
|
-
* "nested-tags": {
|
|
1842
|
-
* "tab": {
|
|
1843
|
-
* "target-property": "tabs",
|
|
1844
|
-
* "isRepeated": true
|
|
1845
|
-
* }
|
|
1846
|
-
* }
|
|
1847
|
-
* }
|
|
1848
|
-
*/
|
|
1849
|
-
nestedTags(value) {
|
|
1850
|
-
var filePath = this.filePath;
|
|
1851
|
-
var tag = this.tag;
|
|
1852
|
-
|
|
1853
|
-
forEachEntry(value, (nestedTagName, nestedTagDef) => {
|
|
1854
|
-
var nestedTag = loadTag(
|
|
1855
|
-
nestedTagDef,
|
|
1856
|
-
filePath,
|
|
1857
|
-
this.dependencyChain.append(`nestedTags["${nestedTagName}]`));
|
|
1858
|
-
nestedTag.name = nestedTagName;
|
|
1859
|
-
tag.addNestedTag(nestedTag);
|
|
1860
|
-
});
|
|
1861
|
-
}
|
|
1862
|
-
escapeXmlBody<span class="fstat-no" title="function not covered" >(value) {</span>
|
|
1863
|
-
<span class="cstat-no" title="statement not covered" > if (value === false) {</span>
|
|
1864
|
-
<span class="cstat-no" title="statement not covered" > this.tag.escapeXmlBody = false;</span>
|
|
1865
|
-
}
|
|
1866
|
-
}
|
|
1867
|
-
|
|
1868
|
-
/**
|
|
1869
|
-
* Sends the body content type. This is used to control how the body
|
|
1870
|
-
* content is parsed.
|
|
1871
|
-
*/
|
|
1872
|
-
body(value) {
|
|
1873
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (value === 'static-text' || <span class="branch-1 cbranch-no" title="branch not covered" >value === 'parsed-text' </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >value === 'html')</span> {
|
|
1874
|
-
this.tag.body = value;
|
|
1875
|
-
} else {
|
|
1876
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Invalid value for "body". Allowed: "static-text", "parsed-text" or "html"');</span>
|
|
1877
|
-
}
|
|
1878
|
-
}
|
|
1879
|
-
|
|
1880
|
-
openTagOnly(value) {
|
|
1881
|
-
this.tag.openTagOnly = value;
|
|
1882
|
-
}
|
|
1883
|
-
|
|
1884
|
-
noOutput<span class="fstat-no" title="function not covered" >(value) {</span>
|
|
1885
|
-
<span class="cstat-no" title="statement not covered" > this.tag.noOutput = value;</span>
|
|
1886
|
-
}
|
|
1887
|
-
|
|
1888
|
-
autocomplete(value) {
|
|
1889
|
-
this.tag.autocomplete = value;
|
|
1890
|
-
}
|
|
1891
|
-
}
|
|
1892
|
-
|
|
1893
|
-
function isSupportedProperty(name) {
|
|
1894
|
-
return TagLoader.prototype.hasOwnProperty(name);
|
|
1895
|
-
}
|
|
1896
|
-
|
|
1897
|
-
function loadTag(tagProps, filePath, dependencyChain) {
|
|
1898
|
-
ok(typeof tagProps === 'object', 'Invalid "tagProps"');
|
|
1899
|
-
ok(typeof filePath === 'string');
|
|
1900
|
-
ok(dependencyChain);
|
|
1901
|
-
|
|
1902
|
-
var tagLoader = new TagLoader(dependencyChain);
|
|
1903
|
-
try {
|
|
1904
|
-
return tagLoader._load(tagProps, filePath);
|
|
1905
|
-
} catch(err) {
|
|
1906
|
-
throw createError('Unable to load tag (' + dependencyChain + '): ' + err, err);
|
|
1907
|
-
}
|
|
1908
|
-
|
|
1909
|
-
}
|
|
1910
|
-
|
|
1911
|
-
exports.loadTag = loadTag;
|
|
1912
|
-
exports.isSupportedProperty = isSupportedProperty;</pre></td></tr>
|
|
1913
|
-
</table></pre>
|
|
1914
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1915
|
-
</div><!-- /wrapper -->
|
|
1916
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1917
|
-
Code coverage
|
|
1918
|
-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Oct 18 2016 14:11:32 GMT-0700 (PDT)
|
|
1919
|
-
</div>
|
|
1920
|
-
</div>
|
|
1921
|
-
<script src="../../../prettify.js"></script>
|
|
1922
|
-
<script>
|
|
1923
|
-
window.onload = function () {
|
|
1924
|
-
if (typeof prettyPrint === 'function') {
|
|
1925
|
-
prettyPrint();
|
|
1926
|
-
}
|
|
1927
|
-
};
|
|
1928
|
-
</script>
|
|
1929
|
-
<script src="../../../sorter.js"></script>
|
|
1930
|
-
</body>
|
|
1931
|
-
</html>
|