@featurevisor/core 2.12.0 → 2.14.0
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/CHANGELOG.md +22 -0
- package/coverage/clover.xml +1663 -596
- package/coverage/coverage-final.json +24 -6
- package/coverage/lcov-report/builder/allocator.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedConditions.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedSegments.ts.html +1 -1
- package/coverage/lcov-report/builder/index.html +38 -8
- package/coverage/lcov-report/builder/mutateVariables.ts.html +400 -0
- package/coverage/lcov-report/builder/mutator.ts.html +796 -0
- package/coverage/lcov-report/builder/revision.ts.html +1 -1
- package/coverage/lcov-report/builder/traffic.ts.html +1 -1
- package/coverage/lcov-report/config/index.html +116 -0
- package/coverage/lcov-report/config/projectConfig.ts.html +676 -0
- package/coverage/lcov-report/datasource/adapter.ts.html +235 -0
- package/coverage/lcov-report/datasource/datasource.ts.html +862 -0
- package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +1354 -0
- package/coverage/lcov-report/datasource/index.html +161 -0
- package/coverage/lcov-report/datasource/index.ts.html +94 -0
- package/coverage/lcov-report/index.html +83 -38
- package/coverage/lcov-report/linter/attributeSchema.ts.html +175 -0
- package/coverage/lcov-report/linter/checkCircularDependency.ts.html +220 -0
- package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +268 -0
- package/coverage/lcov-report/linter/conditionSchema.ts.html +38 -38
- package/coverage/lcov-report/linter/featureSchema.ts.html +956 -485
- package/coverage/lcov-report/linter/groupSchema.ts.html +226 -0
- package/coverage/lcov-report/linter/index.html +139 -19
- package/coverage/lcov-report/linter/lintProject.ts.html +1840 -0
- package/coverage/lcov-report/linter/mutationNotation.ts.html +1309 -0
- package/coverage/lcov-report/linter/printError.ts.html +238 -0
- package/coverage/lcov-report/linter/schema.ts.html +116 -116
- package/coverage/lcov-report/linter/segmentSchema.ts.html +5 -5
- package/coverage/lcov-report/linter/testSchema.ts.html +550 -0
- package/coverage/lcov-report/list/index.html +1 -1
- package/coverage/lcov-report/list/matrix.ts.html +1 -1
- package/coverage/lcov-report/parsers/index.html +20 -5
- package/coverage/lcov-report/parsers/index.ts.html +151 -0
- package/coverage/lcov-report/parsers/json.ts.html +2 -2
- package/coverage/lcov-report/parsers/yml.ts.html +6 -6
- package/coverage/lcov-report/tester/cliFormat.ts.html +103 -0
- package/coverage/lcov-report/tester/helpers.ts.html +1 -1
- package/coverage/lcov-report/tester/index.html +20 -5
- package/coverage/lcov-report/utils/git.ts.html +481 -0
- package/coverage/lcov-report/utils/index.html +116 -0
- package/coverage/lcov.info +3253 -1214
- package/lib/builder/buildDatafile.js +8 -3
- package/lib/builder/buildDatafile.js.map +1 -1
- package/lib/builder/mutateVariables.d.ts +14 -0
- package/lib/builder/mutateVariables.js +90 -0
- package/lib/builder/mutateVariables.js.map +1 -0
- package/lib/builder/mutateVariables.spec.d.ts +1 -0
- package/lib/builder/mutateVariables.spec.js +1045 -0
- package/lib/builder/mutateVariables.spec.js.map +1 -0
- package/lib/builder/mutator.d.ts +20 -0
- package/lib/builder/mutator.js +223 -0
- package/lib/builder/mutator.js.map +1 -0
- package/lib/builder/mutator.spec.d.ts +1 -0
- package/lib/builder/mutator.spec.js +368 -0
- package/lib/builder/mutator.spec.js.map +1 -0
- package/lib/linter/featureSchema.d.ts +7 -7
- package/lib/linter/featureSchema.js +138 -62
- package/lib/linter/featureSchema.js.map +1 -1
- package/lib/linter/featureSchema.spec.js +150 -0
- package/lib/linter/featureSchema.spec.js.map +1 -1
- package/lib/linter/lintProject.d.ts +17 -1
- package/lib/linter/lintProject.js +191 -198
- package/lib/linter/lintProject.js.map +1 -1
- package/lib/linter/lintProject.spec.d.ts +1 -0
- package/lib/linter/lintProject.spec.js +86 -0
- package/lib/linter/lintProject.spec.js.map +1 -0
- package/lib/linter/mutationNotation.d.ts +47 -0
- package/lib/linter/mutationNotation.js +381 -0
- package/lib/linter/mutationNotation.js.map +1 -0
- package/lib/linter/mutationNotation.spec.d.ts +1 -0
- package/lib/linter/mutationNotation.spec.js +549 -0
- package/lib/linter/mutationNotation.spec.js.map +1 -0
- package/lib/linter/printError.d.ts +7 -0
- package/lib/linter/printError.js +30 -15
- package/lib/linter/printError.js.map +1 -1
- package/package.json +2 -2
- package/src/builder/buildDatafile.ts +29 -3
- package/src/builder/mutateVariables.spec.ts +1134 -0
- package/src/builder/mutateVariables.ts +105 -0
- package/src/builder/mutator.spec.ts +413 -0
- package/src/builder/mutator.ts +237 -0
- package/src/linter/featureSchema.spec.ts +182 -0
- package/src/linter/featureSchema.ts +254 -97
- package/src/linter/lintProject.spec.ts +115 -0
- package/src/linter/lintProject.ts +256 -254
- package/src/linter/mutationNotation.spec.ts +642 -0
- package/src/linter/mutationNotation.ts +408 -0
- package/src/linter/printError.ts +40 -16
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">70.82% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>369/521</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">61.28% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>220/359</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">75% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>54/72</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">74.94% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>356/475</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -1676,42 +1676,200 @@
|
|
|
1676
1676
|
<a name='L1611'></a><a href='#L1611'>1611</a>
|
|
1677
1677
|
<a name='L1612'></a><a href='#L1612'>1612</a>
|
|
1678
1678
|
<a name='L1613'></a><a href='#L1613'>1613</a>
|
|
1679
|
-
<a name='L1614'></a><a href='#L1614'>1614</a
|
|
1680
|
-
<
|
|
1679
|
+
<a name='L1614'></a><a href='#L1614'>1614</a>
|
|
1680
|
+
<a name='L1615'></a><a href='#L1615'>1615</a>
|
|
1681
|
+
<a name='L1616'></a><a href='#L1616'>1616</a>
|
|
1682
|
+
<a name='L1617'></a><a href='#L1617'>1617</a>
|
|
1683
|
+
<a name='L1618'></a><a href='#L1618'>1618</a>
|
|
1684
|
+
<a name='L1619'></a><a href='#L1619'>1619</a>
|
|
1685
|
+
<a name='L1620'></a><a href='#L1620'>1620</a>
|
|
1686
|
+
<a name='L1621'></a><a href='#L1621'>1621</a>
|
|
1687
|
+
<a name='L1622'></a><a href='#L1622'>1622</a>
|
|
1688
|
+
<a name='L1623'></a><a href='#L1623'>1623</a>
|
|
1689
|
+
<a name='L1624'></a><a href='#L1624'>1624</a>
|
|
1690
|
+
<a name='L1625'></a><a href='#L1625'>1625</a>
|
|
1691
|
+
<a name='L1626'></a><a href='#L1626'>1626</a>
|
|
1692
|
+
<a name='L1627'></a><a href='#L1627'>1627</a>
|
|
1693
|
+
<a name='L1628'></a><a href='#L1628'>1628</a>
|
|
1694
|
+
<a name='L1629'></a><a href='#L1629'>1629</a>
|
|
1695
|
+
<a name='L1630'></a><a href='#L1630'>1630</a>
|
|
1696
|
+
<a name='L1631'></a><a href='#L1631'>1631</a>
|
|
1697
|
+
<a name='L1632'></a><a href='#L1632'>1632</a>
|
|
1698
|
+
<a name='L1633'></a><a href='#L1633'>1633</a>
|
|
1699
|
+
<a name='L1634'></a><a href='#L1634'>1634</a>
|
|
1700
|
+
<a name='L1635'></a><a href='#L1635'>1635</a>
|
|
1701
|
+
<a name='L1636'></a><a href='#L1636'>1636</a>
|
|
1702
|
+
<a name='L1637'></a><a href='#L1637'>1637</a>
|
|
1703
|
+
<a name='L1638'></a><a href='#L1638'>1638</a>
|
|
1704
|
+
<a name='L1639'></a><a href='#L1639'>1639</a>
|
|
1705
|
+
<a name='L1640'></a><a href='#L1640'>1640</a>
|
|
1706
|
+
<a name='L1641'></a><a href='#L1641'>1641</a>
|
|
1707
|
+
<a name='L1642'></a><a href='#L1642'>1642</a>
|
|
1708
|
+
<a name='L1643'></a><a href='#L1643'>1643</a>
|
|
1709
|
+
<a name='L1644'></a><a href='#L1644'>1644</a>
|
|
1710
|
+
<a name='L1645'></a><a href='#L1645'>1645</a>
|
|
1711
|
+
<a name='L1646'></a><a href='#L1646'>1646</a>
|
|
1712
|
+
<a name='L1647'></a><a href='#L1647'>1647</a>
|
|
1713
|
+
<a name='L1648'></a><a href='#L1648'>1648</a>
|
|
1714
|
+
<a name='L1649'></a><a href='#L1649'>1649</a>
|
|
1715
|
+
<a name='L1650'></a><a href='#L1650'>1650</a>
|
|
1716
|
+
<a name='L1651'></a><a href='#L1651'>1651</a>
|
|
1717
|
+
<a name='L1652'></a><a href='#L1652'>1652</a>
|
|
1718
|
+
<a name='L1653'></a><a href='#L1653'>1653</a>
|
|
1719
|
+
<a name='L1654'></a><a href='#L1654'>1654</a>
|
|
1720
|
+
<a name='L1655'></a><a href='#L1655'>1655</a>
|
|
1721
|
+
<a name='L1656'></a><a href='#L1656'>1656</a>
|
|
1722
|
+
<a name='L1657'></a><a href='#L1657'>1657</a>
|
|
1723
|
+
<a name='L1658'></a><a href='#L1658'>1658</a>
|
|
1724
|
+
<a name='L1659'></a><a href='#L1659'>1659</a>
|
|
1725
|
+
<a name='L1660'></a><a href='#L1660'>1660</a>
|
|
1726
|
+
<a name='L1661'></a><a href='#L1661'>1661</a>
|
|
1727
|
+
<a name='L1662'></a><a href='#L1662'>1662</a>
|
|
1728
|
+
<a name='L1663'></a><a href='#L1663'>1663</a>
|
|
1729
|
+
<a name='L1664'></a><a href='#L1664'>1664</a>
|
|
1730
|
+
<a name='L1665'></a><a href='#L1665'>1665</a>
|
|
1731
|
+
<a name='L1666'></a><a href='#L1666'>1666</a>
|
|
1732
|
+
<a name='L1667'></a><a href='#L1667'>1667</a>
|
|
1733
|
+
<a name='L1668'></a><a href='#L1668'>1668</a>
|
|
1734
|
+
<a name='L1669'></a><a href='#L1669'>1669</a>
|
|
1735
|
+
<a name='L1670'></a><a href='#L1670'>1670</a>
|
|
1736
|
+
<a name='L1671'></a><a href='#L1671'>1671</a>
|
|
1737
|
+
<a name='L1672'></a><a href='#L1672'>1672</a>
|
|
1738
|
+
<a name='L1673'></a><a href='#L1673'>1673</a>
|
|
1739
|
+
<a name='L1674'></a><a href='#L1674'>1674</a>
|
|
1740
|
+
<a name='L1675'></a><a href='#L1675'>1675</a>
|
|
1741
|
+
<a name='L1676'></a><a href='#L1676'>1676</a>
|
|
1742
|
+
<a name='L1677'></a><a href='#L1677'>1677</a>
|
|
1743
|
+
<a name='L1678'></a><a href='#L1678'>1678</a>
|
|
1744
|
+
<a name='L1679'></a><a href='#L1679'>1679</a>
|
|
1745
|
+
<a name='L1680'></a><a href='#L1680'>1680</a>
|
|
1746
|
+
<a name='L1681'></a><a href='#L1681'>1681</a>
|
|
1747
|
+
<a name='L1682'></a><a href='#L1682'>1682</a>
|
|
1748
|
+
<a name='L1683'></a><a href='#L1683'>1683</a>
|
|
1749
|
+
<a name='L1684'></a><a href='#L1684'>1684</a>
|
|
1750
|
+
<a name='L1685'></a><a href='#L1685'>1685</a>
|
|
1751
|
+
<a name='L1686'></a><a href='#L1686'>1686</a>
|
|
1752
|
+
<a name='L1687'></a><a href='#L1687'>1687</a>
|
|
1753
|
+
<a name='L1688'></a><a href='#L1688'>1688</a>
|
|
1754
|
+
<a name='L1689'></a><a href='#L1689'>1689</a>
|
|
1755
|
+
<a name='L1690'></a><a href='#L1690'>1690</a>
|
|
1756
|
+
<a name='L1691'></a><a href='#L1691'>1691</a>
|
|
1757
|
+
<a name='L1692'></a><a href='#L1692'>1692</a>
|
|
1758
|
+
<a name='L1693'></a><a href='#L1693'>1693</a>
|
|
1759
|
+
<a name='L1694'></a><a href='#L1694'>1694</a>
|
|
1760
|
+
<a name='L1695'></a><a href='#L1695'>1695</a>
|
|
1761
|
+
<a name='L1696'></a><a href='#L1696'>1696</a>
|
|
1762
|
+
<a name='L1697'></a><a href='#L1697'>1697</a>
|
|
1763
|
+
<a name='L1698'></a><a href='#L1698'>1698</a>
|
|
1764
|
+
<a name='L1699'></a><a href='#L1699'>1699</a>
|
|
1765
|
+
<a name='L1700'></a><a href='#L1700'>1700</a>
|
|
1766
|
+
<a name='L1701'></a><a href='#L1701'>1701</a>
|
|
1767
|
+
<a name='L1702'></a><a href='#L1702'>1702</a>
|
|
1768
|
+
<a name='L1703'></a><a href='#L1703'>1703</a>
|
|
1769
|
+
<a name='L1704'></a><a href='#L1704'>1704</a>
|
|
1770
|
+
<a name='L1705'></a><a href='#L1705'>1705</a>
|
|
1771
|
+
<a name='L1706'></a><a href='#L1706'>1706</a>
|
|
1772
|
+
<a name='L1707'></a><a href='#L1707'>1707</a>
|
|
1773
|
+
<a name='L1708'></a><a href='#L1708'>1708</a>
|
|
1774
|
+
<a name='L1709'></a><a href='#L1709'>1709</a>
|
|
1775
|
+
<a name='L1710'></a><a href='#L1710'>1710</a>
|
|
1776
|
+
<a name='L1711'></a><a href='#L1711'>1711</a>
|
|
1777
|
+
<a name='L1712'></a><a href='#L1712'>1712</a>
|
|
1778
|
+
<a name='L1713'></a><a href='#L1713'>1713</a>
|
|
1779
|
+
<a name='L1714'></a><a href='#L1714'>1714</a>
|
|
1780
|
+
<a name='L1715'></a><a href='#L1715'>1715</a>
|
|
1781
|
+
<a name='L1716'></a><a href='#L1716'>1716</a>
|
|
1782
|
+
<a name='L1717'></a><a href='#L1717'>1717</a>
|
|
1783
|
+
<a name='L1718'></a><a href='#L1718'>1718</a>
|
|
1784
|
+
<a name='L1719'></a><a href='#L1719'>1719</a>
|
|
1785
|
+
<a name='L1720'></a><a href='#L1720'>1720</a>
|
|
1786
|
+
<a name='L1721'></a><a href='#L1721'>1721</a>
|
|
1787
|
+
<a name='L1722'></a><a href='#L1722'>1722</a>
|
|
1788
|
+
<a name='L1723'></a><a href='#L1723'>1723</a>
|
|
1789
|
+
<a name='L1724'></a><a href='#L1724'>1724</a>
|
|
1790
|
+
<a name='L1725'></a><a href='#L1725'>1725</a>
|
|
1791
|
+
<a name='L1726'></a><a href='#L1726'>1726</a>
|
|
1792
|
+
<a name='L1727'></a><a href='#L1727'>1727</a>
|
|
1793
|
+
<a name='L1728'></a><a href='#L1728'>1728</a>
|
|
1794
|
+
<a name='L1729'></a><a href='#L1729'>1729</a>
|
|
1795
|
+
<a name='L1730'></a><a href='#L1730'>1730</a>
|
|
1796
|
+
<a name='L1731'></a><a href='#L1731'>1731</a>
|
|
1797
|
+
<a name='L1732'></a><a href='#L1732'>1732</a>
|
|
1798
|
+
<a name='L1733'></a><a href='#L1733'>1733</a>
|
|
1799
|
+
<a name='L1734'></a><a href='#L1734'>1734</a>
|
|
1800
|
+
<a name='L1735'></a><a href='#L1735'>1735</a>
|
|
1801
|
+
<a name='L1736'></a><a href='#L1736'>1736</a>
|
|
1802
|
+
<a name='L1737'></a><a href='#L1737'>1737</a>
|
|
1803
|
+
<a name='L1738'></a><a href='#L1738'>1738</a>
|
|
1804
|
+
<a name='L1739'></a><a href='#L1739'>1739</a>
|
|
1805
|
+
<a name='L1740'></a><a href='#L1740'>1740</a>
|
|
1806
|
+
<a name='L1741'></a><a href='#L1741'>1741</a>
|
|
1807
|
+
<a name='L1742'></a><a href='#L1742'>1742</a>
|
|
1808
|
+
<a name='L1743'></a><a href='#L1743'>1743</a>
|
|
1809
|
+
<a name='L1744'></a><a href='#L1744'>1744</a>
|
|
1810
|
+
<a name='L1745'></a><a href='#L1745'>1745</a>
|
|
1811
|
+
<a name='L1746'></a><a href='#L1746'>1746</a>
|
|
1812
|
+
<a name='L1747'></a><a href='#L1747'>1747</a>
|
|
1813
|
+
<a name='L1748'></a><a href='#L1748'>1748</a>
|
|
1814
|
+
<a name='L1749'></a><a href='#L1749'>1749</a>
|
|
1815
|
+
<a name='L1750'></a><a href='#L1750'>1750</a>
|
|
1816
|
+
<a name='L1751'></a><a href='#L1751'>1751</a>
|
|
1817
|
+
<a name='L1752'></a><a href='#L1752'>1752</a>
|
|
1818
|
+
<a name='L1753'></a><a href='#L1753'>1753</a>
|
|
1819
|
+
<a name='L1754'></a><a href='#L1754'>1754</a>
|
|
1820
|
+
<a name='L1755'></a><a href='#L1755'>1755</a>
|
|
1821
|
+
<a name='L1756'></a><a href='#L1756'>1756</a>
|
|
1822
|
+
<a name='L1757'></a><a href='#L1757'>1757</a>
|
|
1823
|
+
<a name='L1758'></a><a href='#L1758'>1758</a>
|
|
1824
|
+
<a name='L1759'></a><a href='#L1759'>1759</a>
|
|
1825
|
+
<a name='L1760'></a><a href='#L1760'>1760</a>
|
|
1826
|
+
<a name='L1761'></a><a href='#L1761'>1761</a>
|
|
1827
|
+
<a name='L1762'></a><a href='#L1762'>1762</a>
|
|
1828
|
+
<a name='L1763'></a><a href='#L1763'>1763</a>
|
|
1829
|
+
<a name='L1764'></a><a href='#L1764'>1764</a>
|
|
1830
|
+
<a name='L1765'></a><a href='#L1765'>1765</a>
|
|
1831
|
+
<a name='L1766'></a><a href='#L1766'>1766</a>
|
|
1832
|
+
<a name='L1767'></a><a href='#L1767'>1767</a>
|
|
1833
|
+
<a name='L1768'></a><a href='#L1768'>1768</a>
|
|
1834
|
+
<a name='L1769'></a><a href='#L1769'>1769</a>
|
|
1835
|
+
<a name='L1770'></a><a href='#L1770'>1770</a>
|
|
1836
|
+
<a name='L1771'></a><a href='#L1771'>1771</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
1837
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1681
1838
|
<span class="cline-any cline-neutral"> </span>
|
|
1682
1839
|
<span class="cline-any cline-neutral"> </span>
|
|
1683
|
-
<span class="cline-any cline-yes">
|
|
1840
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1684
1841
|
<span class="cline-any cline-neutral"> </span>
|
|
1685
1842
|
<span class="cline-any cline-neutral"> </span>
|
|
1686
1843
|
<span class="cline-any cline-neutral"> </span>
|
|
1687
1844
|
<span class="cline-any cline-neutral"> </span>
|
|
1688
1845
|
<span class="cline-any cline-neutral"> </span>
|
|
1846
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1689
1847
|
<span class="cline-any cline-neutral"> </span>
|
|
1690
1848
|
<span class="cline-any cline-neutral"> </span>
|
|
1691
1849
|
<span class="cline-any cline-neutral"> </span>
|
|
1692
1850
|
<span class="cline-any cline-neutral"> </span>
|
|
1693
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1694
1851
|
<span class="cline-any cline-neutral"> </span>
|
|
1695
1852
|
<span class="cline-any cline-neutral"> </span>
|
|
1696
|
-
<span class="cline-any cline-no"> </span>
|
|
1697
1853
|
<span class="cline-any cline-neutral"> </span>
|
|
1698
1854
|
<span class="cline-any cline-neutral"> </span>
|
|
1699
1855
|
<span class="cline-any cline-neutral"> </span>
|
|
1700
|
-
<span class="cline-any cline-
|
|
1856
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1701
1857
|
<span class="cline-any cline-neutral"> </span>
|
|
1702
1858
|
<span class="cline-any cline-neutral"> </span>
|
|
1859
|
+
<span class="cline-any cline-yes">46x</span>
|
|
1703
1860
|
<span class="cline-any cline-neutral"> </span>
|
|
1704
1861
|
<span class="cline-any cline-neutral"> </span>
|
|
1705
1862
|
<span class="cline-any cline-neutral"> </span>
|
|
1863
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1706
1864
|
<span class="cline-any cline-neutral"> </span>
|
|
1707
1865
|
<span class="cline-any cline-neutral"> </span>
|
|
1708
1866
|
<span class="cline-any cline-neutral"> </span>
|
|
1709
|
-
<span class="cline-any cline-yes">140x</span>
|
|
1710
1867
|
<span class="cline-any cline-neutral"> </span>
|
|
1711
1868
|
<span class="cline-any cline-neutral"> </span>
|
|
1712
1869
|
<span class="cline-any cline-neutral"> </span>
|
|
1713
1870
|
<span class="cline-any cline-neutral"> </span>
|
|
1714
1871
|
<span class="cline-any cline-neutral"> </span>
|
|
1872
|
+
<span class="cline-any cline-yes">2811x</span>
|
|
1715
1873
|
<span class="cline-any cline-neutral"> </span>
|
|
1716
1874
|
<span class="cline-any cline-neutral"> </span>
|
|
1717
1875
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1754,14 +1912,15 @@
|
|
|
1754
1912
|
<span class="cline-any cline-neutral"> </span>
|
|
1755
1913
|
<span class="cline-any cline-neutral"> </span>
|
|
1756
1914
|
<span class="cline-any cline-neutral"> </span>
|
|
1757
|
-
<span class="cline-any cline-yes">176x</span>
|
|
1758
|
-
<span class="cline-any cline-yes">23x</span>
|
|
1759
1915
|
<span class="cline-any cline-neutral"> </span>
|
|
1760
|
-
<span class="cline-any cline-yes">153x</span>
|
|
1761
1916
|
<span class="cline-any cline-neutral"> </span>
|
|
1762
1917
|
<span class="cline-any cline-neutral"> </span>
|
|
1763
1918
|
<span class="cline-any cline-neutral"> </span>
|
|
1764
1919
|
<span class="cline-any cline-neutral"> </span>
|
|
1920
|
+
<span class="cline-any cline-yes">2515x</span>
|
|
1921
|
+
<span class="cline-any cline-yes">503x</span>
|
|
1922
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1923
|
+
<span class="cline-any cline-yes">2012x</span>
|
|
1765
1924
|
<span class="cline-any cline-neutral"> </span>
|
|
1766
1925
|
<span class="cline-any cline-neutral"> </span>
|
|
1767
1926
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1781,17 +1940,17 @@
|
|
|
1781
1940
|
<span class="cline-any cline-neutral"> </span>
|
|
1782
1941
|
<span class="cline-any cline-neutral"> </span>
|
|
1783
1942
|
<span class="cline-any cline-neutral"> </span>
|
|
1784
|
-
<span class="cline-any cline-yes">16x</span>
|
|
1785
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1786
1943
|
<span class="cline-any cline-neutral"> </span>
|
|
1787
1944
|
<span class="cline-any cline-neutral"> </span>
|
|
1788
1945
|
<span class="cline-any cline-neutral"> </span>
|
|
1789
1946
|
<span class="cline-any cline-neutral"> </span>
|
|
1947
|
+
<span class="cline-any cline-yes">136x</span>
|
|
1790
1948
|
<span class="cline-any cline-yes">12x</span>
|
|
1791
1949
|
<span class="cline-any cline-neutral"> </span>
|
|
1792
1950
|
<span class="cline-any cline-neutral"> </span>
|
|
1793
1951
|
<span class="cline-any cline-neutral"> </span>
|
|
1794
1952
|
<span class="cline-any cline-neutral"> </span>
|
|
1953
|
+
<span class="cline-any cline-yes">124x</span>
|
|
1795
1954
|
<span class="cline-any cline-neutral"> </span>
|
|
1796
1955
|
<span class="cline-any cline-neutral"> </span>
|
|
1797
1956
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1799,11 +1958,11 @@
|
|
|
1799
1958
|
<span class="cline-any cline-neutral"> </span>
|
|
1800
1959
|
<span class="cline-any cline-neutral"> </span>
|
|
1801
1960
|
<span class="cline-any cline-neutral"> </span>
|
|
1802
|
-
<span class="cline-any cline-yes">12x</span>
|
|
1803
1961
|
<span class="cline-any cline-neutral"> </span>
|
|
1804
1962
|
<span class="cline-any cline-neutral"> </span>
|
|
1805
1963
|
<span class="cline-any cline-neutral"> </span>
|
|
1806
1964
|
<span class="cline-any cline-neutral"> </span>
|
|
1965
|
+
<span class="cline-any cline-yes">124x</span>
|
|
1807
1966
|
<span class="cline-any cline-neutral"> </span>
|
|
1808
1967
|
<span class="cline-any cline-neutral"> </span>
|
|
1809
1968
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1817,71 +1976,75 @@
|
|
|
1817
1976
|
<span class="cline-any cline-neutral"> </span>
|
|
1818
1977
|
<span class="cline-any cline-neutral"> </span>
|
|
1819
1978
|
<span class="cline-any cline-neutral"> </span>
|
|
1820
|
-
<span class="cline-any cline-
|
|
1979
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1980
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1981
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1982
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1983
|
+
<span class="cline-any cline-yes">124x</span>
|
|
1821
1984
|
<span class="cline-any cline-no"> </span>
|
|
1822
1985
|
<span class="cline-any cline-no"> </span>
|
|
1823
1986
|
<span class="cline-any cline-neutral"> </span>
|
|
1824
1987
|
<span class="cline-any cline-no"> </span>
|
|
1825
1988
|
<span class="cline-any cline-neutral"> </span>
|
|
1826
1989
|
<span class="cline-any cline-neutral"> </span>
|
|
1827
|
-
<span class="cline-any cline-yes">
|
|
1990
|
+
<span class="cline-any cline-yes">124x</span>
|
|
1828
1991
|
<span class="cline-any cline-no"> </span>
|
|
1829
1992
|
<span class="cline-any cline-neutral"> </span>
|
|
1830
1993
|
<span class="cline-any cline-neutral"> </span>
|
|
1831
|
-
<span class="cline-any cline-yes">
|
|
1994
|
+
<span class="cline-any cline-yes">124x</span>
|
|
1832
1995
|
<span class="cline-any cline-no"> </span>
|
|
1833
1996
|
<span class="cline-any cline-neutral"> </span>
|
|
1834
1997
|
<span class="cline-any cline-neutral"> </span>
|
|
1835
|
-
<span class="cline-any cline-yes">
|
|
1836
|
-
<span class="cline-any cline-yes">
|
|
1998
|
+
<span class="cline-any cline-yes">124x</span>
|
|
1999
|
+
<span class="cline-any cline-yes">124x</span>
|
|
1837
2000
|
<span class="cline-any cline-neutral"> </span>
|
|
1838
|
-
<span class="cline-any cline-yes">
|
|
1839
|
-
<span class="cline-any cline-yes">
|
|
1840
|
-
<span class="cline-any cline-yes">
|
|
1841
|
-
<span class="cline-any cline-yes">
|
|
1842
|
-
<span class="cline-any cline-yes">
|
|
1843
|
-
<span class="cline-any cline-yes">
|
|
2001
|
+
<span class="cline-any cline-yes">124x</span>
|
|
2002
|
+
<span class="cline-any cline-yes">76x</span>
|
|
2003
|
+
<span class="cline-any cline-yes">48x</span>
|
|
2004
|
+
<span class="cline-any cline-yes">48x</span>
|
|
2005
|
+
<span class="cline-any cline-yes">48x</span>
|
|
2006
|
+
<span class="cline-any cline-yes">48x</span>
|
|
1844
2007
|
<span class="cline-any cline-no"> </span>
|
|
1845
2008
|
<span class="cline-any cline-no"> </span>
|
|
1846
2009
|
<span class="cline-any cline-neutral"> </span>
|
|
1847
2010
|
<span class="cline-any cline-no"> </span>
|
|
1848
2011
|
<span class="cline-any cline-neutral"> </span>
|
|
1849
2012
|
<span class="cline-any cline-neutral"> </span>
|
|
1850
|
-
<span class="cline-any cline-yes">
|
|
2013
|
+
<span class="cline-any cline-yes">48x</span>
|
|
1851
2014
|
<span class="cline-any cline-neutral"> </span>
|
|
1852
|
-
<span class="cline-any cline-yes">
|
|
1853
|
-
<span class="cline-any cline-yes">
|
|
1854
|
-
<span class="cline-any cline-
|
|
1855
|
-
<span class="cline-any cline-
|
|
1856
|
-
<span class="cline-any cline-
|
|
1857
|
-
<span class="cline-any cline-
|
|
2015
|
+
<span class="cline-any cline-yes">48x</span>
|
|
2016
|
+
<span class="cline-any cline-yes">48x</span>
|
|
2017
|
+
<span class="cline-any cline-yes">36x</span>
|
|
2018
|
+
<span class="cline-any cline-yes">20x</span>
|
|
2019
|
+
<span class="cline-any cline-yes">20x</span>
|
|
2020
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1858
2021
|
<span class="cline-any cline-neutral"> </span>
|
|
1859
|
-
<span class="cline-any cline-yes">
|
|
2022
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1860
2023
|
<span class="cline-any cline-no"> </span>
|
|
1861
2024
|
<span class="cline-any cline-no"> </span>
|
|
1862
2025
|
<span class="cline-any cline-no"> </span>
|
|
1863
2026
|
<span class="cline-any cline-no"> </span>
|
|
1864
2027
|
<span class="cline-any cline-neutral"> </span>
|
|
1865
|
-
<span class="cline-any cline-yes">
|
|
2028
|
+
<span class="cline-any cline-yes">12x</span>
|
|
1866
2029
|
<span class="cline-any cline-neutral"> </span>
|
|
1867
|
-
<span class="cline-any cline-yes">
|
|
1868
|
-
<span class="cline-any cline-yes">
|
|
1869
|
-
<span class="cline-any cline-yes">
|
|
1870
|
-
<span class="cline-any cline-yes">
|
|
1871
|
-
<span class="cline-any cline-yes">
|
|
1872
|
-
<span class="cline-any cline-yes">
|
|
1873
|
-
<span class="cline-any cline-yes">
|
|
1874
|
-
<span class="cline-any cline-yes">
|
|
1875
|
-
<span class="cline-any cline-yes">
|
|
2030
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2031
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2032
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2033
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2034
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2035
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2036
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2037
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2038
|
+
<span class="cline-any cline-yes">14x</span>
|
|
1876
2039
|
<span class="cline-any cline-no"> </span>
|
|
1877
2040
|
<span class="cline-any cline-neutral"> </span>
|
|
1878
|
-
<span class="cline-any cline-yes">
|
|
1879
|
-
<span class="cline-any cline-yes">
|
|
1880
|
-
<span class="cline-any cline-yes">
|
|
1881
|
-
<span class="cline-any cline-yes">
|
|
2041
|
+
<span class="cline-any cline-yes">7x</span>
|
|
2042
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2043
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2044
|
+
<span class="cline-any cline-yes">14x</span>
|
|
1882
2045
|
<span class="cline-any cline-no"> </span>
|
|
1883
2046
|
<span class="cline-any cline-neutral"> </span>
|
|
1884
|
-
<span class="cline-any cline-yes">
|
|
2047
|
+
<span class="cline-any cline-yes">7x</span>
|
|
1885
2048
|
<span class="cline-any cline-neutral"> </span>
|
|
1886
2049
|
<span class="cline-any cline-neutral"> </span>
|
|
1887
2050
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1909,10 +2072,10 @@
|
|
|
1909
2072
|
<span class="cline-any cline-neutral"> </span>
|
|
1910
2073
|
<span class="cline-any cline-neutral"> </span>
|
|
1911
2074
|
<span class="cline-any cline-neutral"> </span>
|
|
1912
|
-
<span class="cline-any cline-yes">
|
|
1913
|
-
<span class="cline-any cline-yes">
|
|
1914
|
-
<span class="cline-any cline-yes">
|
|
1915
|
-
<span class="cline-any cline-yes">
|
|
2075
|
+
<span class="cline-any cline-yes">103x</span>
|
|
2076
|
+
<span class="cline-any cline-yes">44x</span>
|
|
2077
|
+
<span class="cline-any cline-yes">44x</span>
|
|
2078
|
+
<span class="cline-any cline-yes">44x</span>
|
|
1916
2079
|
<span class="cline-any cline-no"> </span>
|
|
1917
2080
|
<span class="cline-any cline-no"> </span>
|
|
1918
2081
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1925,7 +2088,7 @@
|
|
|
1925
2088
|
<span class="cline-any cline-no"> </span>
|
|
1926
2089
|
<span class="cline-any cline-neutral"> </span>
|
|
1927
2090
|
<span class="cline-any cline-neutral"> </span>
|
|
1928
|
-
<span class="cline-any cline-yes">
|
|
2091
|
+
<span class="cline-any cline-yes">44x</span>
|
|
1929
2092
|
<span class="cline-any cline-neutral"> </span>
|
|
1930
2093
|
<span class="cline-any cline-neutral"> </span>
|
|
1931
2094
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1943,23 +2106,38 @@
|
|
|
1943
2106
|
<span class="cline-any cline-neutral"> </span>
|
|
1944
2107
|
<span class="cline-any cline-neutral"> </span>
|
|
1945
2108
|
<span class="cline-any cline-neutral"> </span>
|
|
1946
|
-
<span class="cline-any cline-yes">79x</span>
|
|
1947
2109
|
<span class="cline-any cline-neutral"> </span>
|
|
1948
|
-
<span class="cline-any cline-yes">79x</span>
|
|
1949
|
-
<span class="cline-any cline-yes">79x</span>
|
|
1950
|
-
<span class="cline-any cline-yes">79x</span>
|
|
1951
|
-
<span class="cline-any cline-yes">79x</span>
|
|
1952
2110
|
<span class="cline-any cline-neutral"> </span>
|
|
1953
|
-
<span class="cline-any cline-yes">79x</span>
|
|
1954
2111
|
<span class="cline-any cline-neutral"> </span>
|
|
1955
2112
|
<span class="cline-any cline-neutral"> </span>
|
|
1956
2113
|
<span class="cline-any cline-neutral"> </span>
|
|
1957
2114
|
<span class="cline-any cline-neutral"> </span>
|
|
1958
2115
|
<span class="cline-any cline-neutral"> </span>
|
|
2116
|
+
<span class="cline-any cline-yes">615x</span>
|
|
1959
2117
|
<span class="cline-any cline-neutral"> </span>
|
|
1960
|
-
<span class="cline-any cline-
|
|
1961
|
-
<span class="cline-any cline-yes">
|
|
1962
|
-
<span class="cline-any cline-yes">
|
|
2118
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2119
|
+
<span class="cline-any cline-yes">615x</span>
|
|
2120
|
+
<span class="cline-any cline-yes">615x</span>
|
|
2121
|
+
<span class="cline-any cline-yes">26x</span>
|
|
2122
|
+
<span class="cline-any cline-yes">26x</span>
|
|
2123
|
+
<span class="cline-any cline-yes">26x</span>
|
|
2124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2125
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2126
|
+
<span class="cline-any cline-yes">589x</span>
|
|
2127
|
+
<span class="cline-any cline-yes">589x</span>
|
|
2128
|
+
<span class="cline-any cline-yes">589x</span>
|
|
2129
|
+
<span class="cline-any cline-yes">589x</span>
|
|
2130
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2131
|
+
<span class="cline-any cline-yes">589x</span>
|
|
2132
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2136
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2137
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2138
|
+
<span class="cline-any cline-yes">73x</span>
|
|
2139
|
+
<span class="cline-any cline-yes">73x</span>
|
|
2140
|
+
<span class="cline-any cline-yes">135x</span>
|
|
1963
2141
|
<span class="cline-any cline-no"> </span>
|
|
1964
2142
|
<span class="cline-any cline-neutral"> </span>
|
|
1965
2143
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1969,11 +2147,11 @@
|
|
|
1969
2147
|
<span class="cline-any cline-neutral"> </span>
|
|
1970
2148
|
<span class="cline-any cline-neutral"> </span>
|
|
1971
2149
|
<span class="cline-any cline-neutral"> </span>
|
|
1972
|
-
<span class="cline-any cline-yes">
|
|
1973
|
-
<span class="cline-any cline-yes">
|
|
1974
|
-
<span class="cline-any cline-yes">
|
|
1975
|
-
<span class="cline-any cline-yes">
|
|
1976
|
-
<span class="cline-any cline-yes">
|
|
2150
|
+
<span class="cline-any cline-yes">589x</span>
|
|
2151
|
+
<span class="cline-any cline-yes">129x</span>
|
|
2152
|
+
<span class="cline-any cline-yes">262x</span>
|
|
2153
|
+
<span class="cline-any cline-yes">262x</span>
|
|
2154
|
+
<span class="cline-any cline-yes">262x</span>
|
|
1977
2155
|
<span class="cline-any cline-neutral"> </span>
|
|
1978
2156
|
<span class="cline-any cline-neutral"> </span>
|
|
1979
2157
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1982,21 +2160,21 @@
|
|
|
1982
2160
|
<span class="cline-any cline-neutral"> </span>
|
|
1983
2161
|
<span class="cline-any cline-neutral"> </span>
|
|
1984
2162
|
<span class="cline-any cline-neutral"> </span>
|
|
1985
|
-
<span class="cline-any cline-yes">79x</span>
|
|
1986
|
-
<span class="cline-any cline-yes">5x</span>
|
|
1987
2163
|
<span class="cline-any cline-neutral"> </span>
|
|
2164
|
+
<span class="cline-any cline-yes">589x</span>
|
|
2165
|
+
<span class="cline-any cline-yes">42x</span>
|
|
1988
2166
|
<span class="cline-any cline-neutral"> </span>
|
|
1989
2167
|
<span class="cline-any cline-neutral"> </span>
|
|
1990
2168
|
<span class="cline-any cline-neutral"> </span>
|
|
1991
2169
|
<span class="cline-any cline-neutral"> </span>
|
|
1992
2170
|
<span class="cline-any cline-neutral"> </span>
|
|
1993
|
-
<span class="cline-any cline-yes">79x</span>
|
|
1994
|
-
<span class="cline-any cline-yes">79x</span>
|
|
1995
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1996
|
-
<span class="cline-any cline-yes">8x</span>
|
|
1997
|
-
<span class="cline-any cline-yes">8x</span>
|
|
1998
2171
|
<span class="cline-any cline-neutral"> </span>
|
|
1999
2172
|
<span class="cline-any cline-neutral"> </span>
|
|
2173
|
+
<span class="cline-any cline-yes">589x</span>
|
|
2174
|
+
<span class="cline-any cline-yes">589x</span>
|
|
2175
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2176
|
+
<span class="cline-any cline-yes">24x</span>
|
|
2177
|
+
<span class="cline-any cline-yes">24x</span>
|
|
2000
2178
|
<span class="cline-any cline-neutral"> </span>
|
|
2001
2179
|
<span class="cline-any cline-neutral"> </span>
|
|
2002
2180
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2005,13 +2183,13 @@
|
|
|
2005
2183
|
<span class="cline-any cline-neutral"> </span>
|
|
2006
2184
|
<span class="cline-any cline-neutral"> </span>
|
|
2007
2185
|
<span class="cline-any cline-neutral"> </span>
|
|
2008
|
-
<span class="cline-any cline-yes">104x</span>
|
|
2009
|
-
<span class="cline-any cline-yes">104x</span>
|
|
2010
|
-
<span class="cline-any cline-yes">104x</span>
|
|
2011
|
-
<span class="cline-any cline-yes">99x</span>
|
|
2012
2186
|
<span class="cline-any cline-neutral"> </span>
|
|
2013
2187
|
<span class="cline-any cline-neutral"> </span>
|
|
2014
2188
|
<span class="cline-any cline-neutral"> </span>
|
|
2189
|
+
<span class="cline-any cline-yes">2071x</span>
|
|
2190
|
+
<span class="cline-any cline-yes">2071x</span>
|
|
2191
|
+
<span class="cline-any cline-yes">2071x</span>
|
|
2192
|
+
<span class="cline-any cline-yes">1879x</span>
|
|
2015
2193
|
<span class="cline-any cline-neutral"> </span>
|
|
2016
2194
|
<span class="cline-any cline-neutral"> </span>
|
|
2017
2195
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2031,28 +2209,31 @@
|
|
|
2031
2209
|
<span class="cline-any cline-neutral"> </span>
|
|
2032
2210
|
<span class="cline-any cline-neutral"> </span>
|
|
2033
2211
|
<span class="cline-any cline-neutral"> </span>
|
|
2034
|
-
<span class="cline-any cline-
|
|
2035
|
-
<span class="cline-any cline-
|
|
2036
|
-
<span class="cline-any cline-
|
|
2037
|
-
<span class="cline-any cline-yes">
|
|
2038
|
-
<span class="cline-any cline-yes">
|
|
2212
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2213
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2214
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2215
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2216
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2217
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2218
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2219
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2039
2220
|
<span class="cline-any cline-yes">1x</span>
|
|
2040
2221
|
<span class="cline-any cline-neutral"> </span>
|
|
2041
2222
|
<span class="cline-any cline-neutral"> </span>
|
|
2042
2223
|
<span class="cline-any cline-neutral"> </span>
|
|
2043
2224
|
<span class="cline-any cline-neutral"> </span>
|
|
2044
2225
|
<span class="cline-any cline-neutral"> </span>
|
|
2045
|
-
<span class="cline-any cline-yes">
|
|
2226
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2046
2227
|
<span class="cline-any cline-yes">1x</span>
|
|
2047
2228
|
<span class="cline-any cline-neutral"> </span>
|
|
2048
2229
|
<span class="cline-any cline-neutral"> </span>
|
|
2049
2230
|
<span class="cline-any cline-neutral"> </span>
|
|
2050
2231
|
<span class="cline-any cline-neutral"> </span>
|
|
2051
2232
|
<span class="cline-any cline-neutral"> </span>
|
|
2052
|
-
<span class="cline-any cline-yes">
|
|
2053
|
-
<span class="cline-any cline-yes">
|
|
2054
|
-
<span class="cline-any cline-yes">
|
|
2055
|
-
<span class="cline-any cline-yes">
|
|
2233
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2234
|
+
<span class="cline-any cline-yes">41x</span>
|
|
2235
|
+
<span class="cline-any cline-yes">58x</span>
|
|
2236
|
+
<span class="cline-any cline-yes">27x</span>
|
|
2056
2237
|
<span class="cline-any cline-yes">1x</span>
|
|
2057
2238
|
<span class="cline-any cline-neutral"> </span>
|
|
2058
2239
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2063,11 +2244,11 @@
|
|
|
2063
2244
|
<span class="cline-any cline-neutral"> </span>
|
|
2064
2245
|
<span class="cline-any cline-neutral"> </span>
|
|
2065
2246
|
<span class="cline-any cline-neutral"> </span>
|
|
2066
|
-
<span class="cline-any cline-yes">
|
|
2247
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2067
2248
|
<span class="cline-any cline-neutral"> </span>
|
|
2068
|
-
<span class="cline-any cline-yes">
|
|
2069
|
-
<span class="cline-any cline-yes">
|
|
2070
|
-
<span class="cline-any cline-yes">
|
|
2249
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2250
|
+
<span class="cline-any cline-yes">174x</span>
|
|
2251
|
+
<span class="cline-any cline-yes">321x</span>
|
|
2071
2252
|
<span class="cline-any cline-neutral"> </span>
|
|
2072
2253
|
<span class="cline-any cline-neutral"> </span>
|
|
2073
2254
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2078,7 +2259,7 @@
|
|
|
2078
2259
|
<span class="cline-any cline-neutral"> </span>
|
|
2079
2260
|
<span class="cline-any cline-neutral"> </span>
|
|
2080
2261
|
<span class="cline-any cline-neutral"> </span>
|
|
2081
|
-
<span class="cline-any cline-
|
|
2262
|
+
<span class="cline-any cline-yes">18x</span>
|
|
2082
2263
|
<span class="cline-any cline-no"> </span>
|
|
2083
2264
|
<span class="cline-any cline-neutral"> </span>
|
|
2084
2265
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2087,7 +2268,7 @@
|
|
|
2087
2268
|
<span class="cline-any cline-neutral"> </span>
|
|
2088
2269
|
<span class="cline-any cline-neutral"> </span>
|
|
2089
2270
|
<span class="cline-any cline-neutral"> </span>
|
|
2090
|
-
<span class="cline-any cline-yes">
|
|
2271
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2091
2272
|
<span class="cline-any cline-no"> </span>
|
|
2092
2273
|
<span class="cline-any cline-no"> </span>
|
|
2093
2274
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2116,19 +2297,19 @@
|
|
|
2116
2297
|
<span class="cline-any cline-neutral"> </span>
|
|
2117
2298
|
<span class="cline-any cline-neutral"> </span>
|
|
2118
2299
|
<span class="cline-any cline-neutral"> </span>
|
|
2119
|
-
<span class="cline-any cline-yes">
|
|
2120
|
-
<span class="cline-any cline-yes">
|
|
2300
|
+
<span class="cline-any cline-yes">434x</span>
|
|
2301
|
+
<span class="cline-any cline-yes">434x</span>
|
|
2121
2302
|
<span class="cline-any cline-neutral"> </span>
|
|
2122
|
-
<span class="cline-any cline-yes">
|
|
2303
|
+
<span class="cline-any cline-yes">434x</span>
|
|
2123
2304
|
<span class="cline-any cline-neutral"> </span>
|
|
2124
|
-
<span class="cline-any cline-yes">
|
|
2305
|
+
<span class="cline-any cline-yes">430x</span>
|
|
2125
2306
|
<span class="cline-any cline-neutral"> </span>
|
|
2126
|
-
<span class="cline-any cline-yes">
|
|
2307
|
+
<span class="cline-any cline-yes">431x</span>
|
|
2127
2308
|
<span class="cline-any cline-neutral"> </span>
|
|
2128
2309
|
<span class="cline-any cline-neutral"> </span>
|
|
2129
2310
|
<span class="cline-any cline-neutral"> </span>
|
|
2130
|
-
<span class="cline-any cline-yes">
|
|
2131
|
-
<span class="cline-any cline-yes">
|
|
2311
|
+
<span class="cline-any cline-yes">430x</span>
|
|
2312
|
+
<span class="cline-any cline-yes">829x</span>
|
|
2132
2313
|
<span class="cline-any cline-yes">5x</span>
|
|
2133
2314
|
<span class="cline-any cline-neutral"> </span>
|
|
2134
2315
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2137,16 +2318,16 @@
|
|
|
2137
2318
|
<span class="cline-any cline-neutral"> </span>
|
|
2138
2319
|
<span class="cline-any cline-neutral"> </span>
|
|
2139
2320
|
<span class="cline-any cline-neutral"> </span>
|
|
2140
|
-
<span class="cline-any cline-yes">
|
|
2141
|
-
<span class="cline-any cline-yes">
|
|
2142
|
-
<span class="cline-any cline-yes">
|
|
2321
|
+
<span class="cline-any cline-yes">430x</span>
|
|
2322
|
+
<span class="cline-any cline-yes">877x</span>
|
|
2323
|
+
<span class="cline-any cline-yes">877x</span>
|
|
2143
2324
|
<span class="cline-any cline-no"> </span>
|
|
2144
2325
|
<span class="cline-any cline-neutral"> </span>
|
|
2145
2326
|
<span class="cline-any cline-neutral"> </span>
|
|
2146
2327
|
<span class="cline-any cline-neutral"> </span>
|
|
2147
2328
|
<span class="cline-any cline-neutral"> </span>
|
|
2148
2329
|
<span class="cline-any cline-neutral"> </span>
|
|
2149
|
-
<span class="cline-any cline-yes">
|
|
2330
|
+
<span class="cline-any cline-yes">877x</span>
|
|
2150
2331
|
<span class="cline-any cline-neutral"> </span>
|
|
2151
2332
|
<span class="cline-any cline-neutral"> </span>
|
|
2152
2333
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2158,9 +2339,9 @@
|
|
|
2158
2339
|
<span class="cline-any cline-neutral"> </span>
|
|
2159
2340
|
<span class="cline-any cline-neutral"> </span>
|
|
2160
2341
|
<span class="cline-any cline-neutral"> </span>
|
|
2161
|
-
<span class="cline-any cline-
|
|
2162
|
-
<span class="cline-any cline-
|
|
2163
|
-
<span class="cline-any cline-
|
|
2342
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2343
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2344
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2164
2345
|
<span class="cline-any cline-no"> </span>
|
|
2165
2346
|
<span class="cline-any cline-neutral"> </span>
|
|
2166
2347
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2170,7 +2351,7 @@
|
|
|
2170
2351
|
<span class="cline-any cline-neutral"> </span>
|
|
2171
2352
|
<span class="cline-any cline-neutral"> </span>
|
|
2172
2353
|
<span class="cline-any cline-neutral"> </span>
|
|
2173
|
-
<span class="cline-any cline-yes">
|
|
2354
|
+
<span class="cline-any cline-yes">434x</span>
|
|
2174
2355
|
<span class="cline-any cline-no"> </span>
|
|
2175
2356
|
<span class="cline-any cline-no"> </span>
|
|
2176
2357
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2191,9 +2372,15 @@
|
|
|
2191
2372
|
<span class="cline-any cline-neutral"> </span>
|
|
2192
2373
|
<span class="cline-any cline-neutral"> </span>
|
|
2193
2374
|
<span class="cline-any cline-neutral"> </span>
|
|
2194
|
-
<span class="cline-any cline-yes">117x</span>
|
|
2195
2375
|
<span class="cline-any cline-neutral"> </span>
|
|
2196
|
-
<span class="cline-any cline-
|
|
2376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2378
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2380
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2381
|
+
<span class="cline-any cline-yes">2185x</span>
|
|
2382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2383
|
+
<span class="cline-any cline-yes">2185x</span>
|
|
2197
2384
|
<span class="cline-any cline-neutral"> </span>
|
|
2198
2385
|
<span class="cline-any cline-no"> </span>
|
|
2199
2386
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2209,68 +2396,68 @@
|
|
|
2209
2396
|
<span class="cline-any cline-no"> </span>
|
|
2210
2397
|
<span class="cline-any cline-neutral"> </span>
|
|
2211
2398
|
<span class="cline-any cline-neutral"> </span>
|
|
2212
|
-
<span class="cline-any cline-yes">
|
|
2213
|
-
<span class="cline-any cline-yes">
|
|
2214
|
-
<span class="cline-any cline-yes">
|
|
2399
|
+
<span class="cline-any cline-yes">2185x</span>
|
|
2400
|
+
<span class="cline-any cline-yes">2185x</span>
|
|
2401
|
+
<span class="cline-any cline-yes">3x</span>
|
|
2215
2402
|
<span class="cline-any cline-neutral"> </span>
|
|
2216
2403
|
<span class="cline-any cline-neutral"> </span>
|
|
2217
2404
|
<span class="cline-any cline-neutral"> </span>
|
|
2218
2405
|
<span class="cline-any cline-neutral"> </span>
|
|
2219
|
-
<span class="cline-any cline-yes">
|
|
2406
|
+
<span class="cline-any cline-yes">3x</span>
|
|
2220
2407
|
<span class="cline-any cline-neutral"> </span>
|
|
2221
2408
|
<span class="cline-any cline-neutral"> </span>
|
|
2222
|
-
<span class="cline-any cline-yes">
|
|
2409
|
+
<span class="cline-any cline-yes">2182x</span>
|
|
2223
2410
|
<span class="cline-any cline-no"> </span>
|
|
2224
2411
|
<span class="cline-any cline-neutral"> </span>
|
|
2225
2412
|
<span class="cline-any cline-neutral"> </span>
|
|
2226
|
-
<span class="cline-any cline-yes">
|
|
2227
|
-
<span class="cline-any cline-yes">
|
|
2228
|
-
<span class="cline-any cline-yes">
|
|
2229
|
-
<span class="cline-any cline-yes">
|
|
2413
|
+
<span class="cline-any cline-yes">2182x</span>
|
|
2414
|
+
<span class="cline-any cline-yes">2182x</span>
|
|
2415
|
+
<span class="cline-any cline-yes">48x</span>
|
|
2416
|
+
<span class="cline-any cline-yes">96x</span>
|
|
2230
2417
|
<span class="cline-any cline-neutral"> </span>
|
|
2231
|
-
<span class="cline-any cline-yes">
|
|
2418
|
+
<span class="cline-any cline-yes">48x</span>
|
|
2232
2419
|
<span class="cline-any cline-yes">1x</span>
|
|
2233
2420
|
<span class="cline-any cline-neutral"> </span>
|
|
2234
2421
|
<span class="cline-any cline-neutral"> </span>
|
|
2235
2422
|
<span class="cline-any cline-neutral"> </span>
|
|
2236
2423
|
<span class="cline-any cline-neutral"> </span>
|
|
2237
|
-
<span class="cline-any cline-yes">
|
|
2424
|
+
<span class="cline-any cline-yes">47x</span>
|
|
2238
2425
|
<span class="cline-any cline-no"> </span>
|
|
2239
2426
|
<span class="cline-any cline-neutral"> </span>
|
|
2240
2427
|
<span class="cline-any cline-neutral"> </span>
|
|
2241
2428
|
<span class="cline-any cline-neutral"> </span>
|
|
2242
2429
|
<span class="cline-any cline-neutral"> </span>
|
|
2243
2430
|
<span class="cline-any cline-neutral"> </span>
|
|
2244
|
-
<span class="cline-any cline-yes">
|
|
2431
|
+
<span class="cline-any cline-yes">48x</span>
|
|
2245
2432
|
<span class="cline-any cline-neutral"> </span>
|
|
2246
2433
|
<span class="cline-any cline-neutral"> </span>
|
|
2247
|
-
<span class="cline-any cline-yes">
|
|
2248
|
-
<span class="cline-any cline-yes">
|
|
2249
|
-
<span class="cline-any cline-yes">
|
|
2434
|
+
<span class="cline-any cline-yes">2134x</span>
|
|
2435
|
+
<span class="cline-any cline-yes">2134x</span>
|
|
2436
|
+
<span class="cline-any cline-yes">36x</span>
|
|
2250
2437
|
<span class="cline-any cline-yes">3x</span>
|
|
2251
2438
|
<span class="cline-any cline-neutral"> </span>
|
|
2252
2439
|
<span class="cline-any cline-neutral"> </span>
|
|
2253
2440
|
<span class="cline-any cline-neutral"> </span>
|
|
2254
2441
|
<span class="cline-any cline-neutral"> </span>
|
|
2255
2442
|
<span class="cline-any cline-neutral"> </span>
|
|
2256
|
-
<span class="cline-any cline-yes">
|
|
2443
|
+
<span class="cline-any cline-yes">36x</span>
|
|
2257
2444
|
<span class="cline-any cline-neutral"> </span>
|
|
2258
2445
|
<span class="cline-any cline-neutral"> </span>
|
|
2259
|
-
<span class="cline-any cline-yes">
|
|
2260
|
-
<span class="cline-any cline-yes">
|
|
2261
|
-
<span class="cline-any cline-yes">
|
|
2262
|
-
<span class="cline-any cline-yes">
|
|
2446
|
+
<span class="cline-any cline-yes">2098x</span>
|
|
2447
|
+
<span class="cline-any cline-yes">2098x</span>
|
|
2448
|
+
<span class="cline-any cline-yes">40x</span>
|
|
2449
|
+
<span class="cline-any cline-yes">27x</span>
|
|
2263
2450
|
<span class="cline-any cline-yes">2x</span>
|
|
2264
2451
|
<span class="cline-any cline-neutral"> </span>
|
|
2265
2452
|
<span class="cline-any cline-neutral"> </span>
|
|
2266
2453
|
<span class="cline-any cline-neutral"> </span>
|
|
2267
2454
|
<span class="cline-any cline-neutral"> </span>
|
|
2268
2455
|
<span class="cline-any cline-neutral"> </span>
|
|
2269
|
-
<span class="cline-any cline-yes">
|
|
2456
|
+
<span class="cline-any cline-yes">27x</span>
|
|
2270
2457
|
<span class="cline-any cline-neutral"> </span>
|
|
2271
2458
|
<span class="cline-any cline-neutral"> </span>
|
|
2272
2459
|
<span class="cline-any cline-neutral"> </span>
|
|
2273
|
-
<span class="cline-any cline-yes">
|
|
2460
|
+
<span class="cline-any cline-yes">2071x</span>
|
|
2274
2461
|
<span class="cline-any cline-no"> </span>
|
|
2275
2462
|
<span class="cline-any cline-neutral"> </span>
|
|
2276
2463
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2279,12 +2466,12 @@
|
|
|
2279
2466
|
<span class="cline-any cline-no"> </span>
|
|
2280
2467
|
<span class="cline-any cline-neutral"> </span>
|
|
2281
2468
|
<span class="cline-any cline-neutral"> </span>
|
|
2282
|
-
<span class="cline-any cline-yes">
|
|
2283
|
-
<span class="cline-any cline-yes">
|
|
2469
|
+
<span class="cline-any cline-yes">2071x</span>
|
|
2470
|
+
<span class="cline-any cline-yes">2071x</span>
|
|
2284
2471
|
<span class="cline-any cline-neutral"> </span>
|
|
2285
2472
|
<span class="cline-any cline-neutral"> </span>
|
|
2286
|
-
<span class="cline-any cline-yes">
|
|
2287
|
-
<span class="cline-any cline-yes">
|
|
2473
|
+
<span class="cline-any cline-yes">2071x</span>
|
|
2474
|
+
<span class="cline-any cline-yes">1017x</span>
|
|
2288
2475
|
<span class="cline-any cline-no"> </span>
|
|
2289
2476
|
<span class="cline-any cline-neutral"> </span>
|
|
2290
2477
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2293,26 +2480,26 @@
|
|
|
2293
2480
|
<span class="cline-any cline-no"> </span>
|
|
2294
2481
|
<span class="cline-any cline-neutral"> </span>
|
|
2295
2482
|
<span class="cline-any cline-neutral"> </span>
|
|
2296
|
-
<span class="cline-any cline-yes">
|
|
2297
|
-
<span class="cline-any cline-yes">
|
|
2298
|
-
<span class="cline-any cline-yes">
|
|
2299
|
-
<span class="cline-any cline-yes">
|
|
2483
|
+
<span class="cline-any cline-yes">1017x</span>
|
|
2484
|
+
<span class="cline-any cline-yes">1017x</span>
|
|
2485
|
+
<span class="cline-any cline-yes">1017x</span>
|
|
2486
|
+
<span class="cline-any cline-yes">1017x</span>
|
|
2300
2487
|
<span class="cline-any cline-yes">1x</span>
|
|
2301
2488
|
<span class="cline-any cline-neutral"> </span>
|
|
2302
2489
|
<span class="cline-any cline-neutral"> </span>
|
|
2303
2490
|
<span class="cline-any cline-neutral"> </span>
|
|
2304
2491
|
<span class="cline-any cline-neutral"> </span>
|
|
2305
2492
|
<span class="cline-any cline-neutral"> </span>
|
|
2306
|
-
<span class="cline-any cline-yes">
|
|
2493
|
+
<span class="cline-any cline-yes">1017x</span>
|
|
2307
2494
|
<span class="cline-any cline-yes">2x</span>
|
|
2308
2495
|
<span class="cline-any cline-neutral"> </span>
|
|
2309
2496
|
<span class="cline-any cline-neutral"> </span>
|
|
2310
2497
|
<span class="cline-any cline-neutral"> </span>
|
|
2311
2498
|
<span class="cline-any cline-neutral"> </span>
|
|
2312
2499
|
<span class="cline-any cline-neutral"> </span>
|
|
2313
|
-
<span class="cline-any cline-yes">
|
|
2314
|
-
<span class="cline-any cline-yes">
|
|
2315
|
-
<span class="cline-any cline-yes">
|
|
2500
|
+
<span class="cline-any cline-yes">1017x</span>
|
|
2501
|
+
<span class="cline-any cline-yes">73x</span>
|
|
2502
|
+
<span class="cline-any cline-yes">73x</span>
|
|
2316
2503
|
<span class="cline-any cline-yes">4x</span>
|
|
2317
2504
|
<span class="cline-any cline-neutral"> </span>
|
|
2318
2505
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2324,7 +2511,7 @@
|
|
|
2324
2511
|
<span class="cline-any cline-neutral"> </span>
|
|
2325
2512
|
<span class="cline-any cline-neutral"> </span>
|
|
2326
2513
|
<span class="cline-any cline-neutral"> </span>
|
|
2327
|
-
<span class="cline-any cline-yes">
|
|
2514
|
+
<span class="cline-any cline-yes">1017x</span>
|
|
2328
2515
|
<span class="cline-any cline-neutral"> </span>
|
|
2329
2516
|
<span class="cline-any cline-neutral"> </span>
|
|
2330
2517
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2335,12 +2522,12 @@
|
|
|
2335
2522
|
<span class="cline-any cline-neutral"> </span>
|
|
2336
2523
|
<span class="cline-any cline-neutral"> </span>
|
|
2337
2524
|
<span class="cline-any cline-neutral"> </span>
|
|
2338
|
-
<span class="cline-any cline-yes">
|
|
2525
|
+
<span class="cline-any cline-yes">1017x</span>
|
|
2339
2526
|
<span class="cline-any cline-neutral"> </span>
|
|
2340
2527
|
<span class="cline-any cline-neutral"> </span>
|
|
2341
2528
|
<span class="cline-any cline-neutral"> </span>
|
|
2342
|
-
<span class="cline-any cline-yes">
|
|
2343
|
-
<span class="cline-any cline-yes">
|
|
2529
|
+
<span class="cline-any cline-yes">1054x</span>
|
|
2530
|
+
<span class="cline-any cline-yes">179x</span>
|
|
2344
2531
|
<span class="cline-any cline-no"> </span>
|
|
2345
2532
|
<span class="cline-any cline-neutral"> </span>
|
|
2346
2533
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2348,7 +2535,7 @@
|
|
|
2348
2535
|
<span class="cline-any cline-neutral"> </span>
|
|
2349
2536
|
<span class="cline-any cline-no"> </span>
|
|
2350
2537
|
<span class="cline-any cline-neutral"> </span>
|
|
2351
|
-
<span class="cline-any cline-yes">
|
|
2538
|
+
<span class="cline-any cline-yes">179x</span>
|
|
2352
2539
|
<span class="cline-any cline-no"> </span>
|
|
2353
2540
|
<span class="cline-any cline-neutral"> </span>
|
|
2354
2541
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2356,7 +2543,7 @@
|
|
|
2356
2543
|
<span class="cline-any cline-neutral"> </span>
|
|
2357
2544
|
<span class="cline-any cline-no"> </span>
|
|
2358
2545
|
<span class="cline-any cline-neutral"> </span>
|
|
2359
|
-
<span class="cline-any cline-yes">
|
|
2546
|
+
<span class="cline-any cline-yes">179x</span>
|
|
2360
2547
|
<span class="cline-any cline-no"> </span>
|
|
2361
2548
|
<span class="cline-any cline-neutral"> </span>
|
|
2362
2549
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2364,28 +2551,28 @@
|
|
|
2364
2551
|
<span class="cline-any cline-neutral"> </span>
|
|
2365
2552
|
<span class="cline-any cline-no"> </span>
|
|
2366
2553
|
<span class="cline-any cline-neutral"> </span>
|
|
2367
|
-
<span class="cline-any cline-yes">
|
|
2368
|
-
<span class="cline-any cline-yes">
|
|
2369
|
-
<span class="cline-any cline-yes">
|
|
2554
|
+
<span class="cline-any cline-yes">179x</span>
|
|
2555
|
+
<span class="cline-any cline-yes">179x</span>
|
|
2556
|
+
<span class="cline-any cline-yes">179x</span>
|
|
2370
2557
|
<span class="cline-any cline-yes">2x</span>
|
|
2371
2558
|
<span class="cline-any cline-neutral"> </span>
|
|
2372
2559
|
<span class="cline-any cline-neutral"> </span>
|
|
2373
2560
|
<span class="cline-any cline-neutral"> </span>
|
|
2374
2561
|
<span class="cline-any cline-neutral"> </span>
|
|
2375
2562
|
<span class="cline-any cline-neutral"> </span>
|
|
2376
|
-
<span class="cline-any cline-yes">
|
|
2563
|
+
<span class="cline-any cline-yes">179x</span>
|
|
2377
2564
|
<span class="cline-any cline-yes">8x</span>
|
|
2378
2565
|
<span class="cline-any cline-neutral"> </span>
|
|
2379
2566
|
<span class="cline-any cline-neutral"> </span>
|
|
2380
2567
|
<span class="cline-any cline-neutral"> </span>
|
|
2381
2568
|
<span class="cline-any cline-neutral"> </span>
|
|
2382
2569
|
<span class="cline-any cline-neutral"> </span>
|
|
2383
|
-
<span class="cline-any cline-yes">
|
|
2570
|
+
<span class="cline-any cline-yes">179x</span>
|
|
2384
2571
|
<span class="cline-any cline-neutral"> </span>
|
|
2385
2572
|
<span class="cline-any cline-neutral"> </span>
|
|
2386
2573
|
<span class="cline-any cline-neutral"> </span>
|
|
2387
|
-
<span class="cline-any cline-yes">
|
|
2388
|
-
<span class="cline-any cline-
|
|
2574
|
+
<span class="cline-any cline-yes">875x</span>
|
|
2575
|
+
<span class="cline-any cline-yes">126x</span>
|
|
2389
2576
|
<span class="cline-any cline-no"> </span>
|
|
2390
2577
|
<span class="cline-any cline-neutral"> </span>
|
|
2391
2578
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2393,7 +2580,7 @@
|
|
|
2393
2580
|
<span class="cline-any cline-neutral"> </span>
|
|
2394
2581
|
<span class="cline-any cline-no"> </span>
|
|
2395
2582
|
<span class="cline-any cline-neutral"> </span>
|
|
2396
|
-
<span class="cline-any cline-
|
|
2583
|
+
<span class="cline-any cline-yes">126x</span>
|
|
2397
2584
|
<span class="cline-any cline-no"> </span>
|
|
2398
2585
|
<span class="cline-any cline-neutral"> </span>
|
|
2399
2586
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2401,40 +2588,40 @@
|
|
|
2401
2588
|
<span class="cline-any cline-neutral"> </span>
|
|
2402
2589
|
<span class="cline-any cline-no"> </span>
|
|
2403
2590
|
<span class="cline-any cline-neutral"> </span>
|
|
2404
|
-
<span class="cline-any cline-
|
|
2405
|
-
<span class="cline-any cline-
|
|
2406
|
-
<span class="cline-any cline-
|
|
2591
|
+
<span class="cline-any cline-yes">126x</span>
|
|
2592
|
+
<span class="cline-any cline-yes">126x</span>
|
|
2593
|
+
<span class="cline-any cline-yes">126x</span>
|
|
2407
2594
|
<span class="cline-any cline-no"> </span>
|
|
2408
2595
|
<span class="cline-any cline-neutral"> </span>
|
|
2409
2596
|
<span class="cline-any cline-neutral"> </span>
|
|
2410
2597
|
<span class="cline-any cline-neutral"> </span>
|
|
2411
2598
|
<span class="cline-any cline-neutral"> </span>
|
|
2412
2599
|
<span class="cline-any cline-neutral"> </span>
|
|
2413
|
-
<span class="cline-any cline-
|
|
2600
|
+
<span class="cline-any cline-yes">126x</span>
|
|
2414
2601
|
<span class="cline-any cline-no"> </span>
|
|
2415
2602
|
<span class="cline-any cline-neutral"> </span>
|
|
2416
2603
|
<span class="cline-any cline-neutral"> </span>
|
|
2417
2604
|
<span class="cline-any cline-neutral"> </span>
|
|
2418
2605
|
<span class="cline-any cline-neutral"> </span>
|
|
2419
2606
|
<span class="cline-any cline-neutral"> </span>
|
|
2420
|
-
<span class="cline-any cline-
|
|
2607
|
+
<span class="cline-any cline-yes">126x</span>
|
|
2421
2608
|
<span class="cline-any cline-neutral"> </span>
|
|
2422
2609
|
<span class="cline-any cline-neutral"> </span>
|
|
2423
2610
|
<span class="cline-any cline-neutral"> </span>
|
|
2424
|
-
<span class="cline-any cline-yes">
|
|
2425
|
-
<span class="cline-any cline-yes">
|
|
2611
|
+
<span class="cline-any cline-yes">749x</span>
|
|
2612
|
+
<span class="cline-any cline-yes">119x</span>
|
|
2426
2613
|
<span class="cline-any cline-no"> </span>
|
|
2427
2614
|
<span class="cline-any cline-neutral"> </span>
|
|
2428
2615
|
<span class="cline-any cline-neutral"> </span>
|
|
2429
2616
|
<span class="cline-any cline-neutral"> </span>
|
|
2430
2617
|
<span class="cline-any cline-neutral"> </span>
|
|
2431
2618
|
<span class="cline-any cline-neutral"> </span>
|
|
2432
|
-
<span class="cline-any cline-yes">
|
|
2619
|
+
<span class="cline-any cline-yes">119x</span>
|
|
2433
2620
|
<span class="cline-any cline-neutral"> </span>
|
|
2434
2621
|
<span class="cline-any cline-neutral"> </span>
|
|
2435
2622
|
<span class="cline-any cline-neutral"> </span>
|
|
2436
|
-
<span class="cline-any cline-yes">
|
|
2437
|
-
<span class="cline-any cline-yes">
|
|
2623
|
+
<span class="cline-any cline-yes">630x</span>
|
|
2624
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2438
2625
|
<span class="cline-any cline-no"> </span>
|
|
2439
2626
|
<span class="cline-any cline-neutral"> </span>
|
|
2440
2627
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2442,7 +2629,7 @@
|
|
|
2442
2629
|
<span class="cline-any cline-neutral"> </span>
|
|
2443
2630
|
<span class="cline-any cline-no"> </span>
|
|
2444
2631
|
<span class="cline-any cline-neutral"> </span>
|
|
2445
|
-
<span class="cline-any cline-yes">
|
|
2632
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2446
2633
|
<span class="cline-any cline-neutral"> </span>
|
|
2447
2634
|
<span class="cline-any cline-neutral"> </span>
|
|
2448
2635
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2457,12 +2644,12 @@
|
|
|
2457
2644
|
<span class="cline-any cline-neutral"> </span>
|
|
2458
2645
|
<span class="cline-any cline-neutral"> </span>
|
|
2459
2646
|
<span class="cline-any cline-neutral"> </span>
|
|
2460
|
-
<span class="cline-any cline-yes">
|
|
2647
|
+
<span class="cline-any cline-yes">192x</span>
|
|
2461
2648
|
<span class="cline-any cline-neutral"> </span>
|
|
2462
2649
|
<span class="cline-any cline-neutral"> </span>
|
|
2463
2650
|
<span class="cline-any cline-neutral"> </span>
|
|
2464
|
-
<span class="cline-any cline-yes">
|
|
2465
|
-
<span class="cline-any cline-yes">
|
|
2651
|
+
<span class="cline-any cline-yes">438x</span>
|
|
2652
|
+
<span class="cline-any cline-yes">434x</span>
|
|
2466
2653
|
<span class="cline-any cline-neutral"> </span>
|
|
2467
2654
|
<span class="cline-any cline-neutral"> </span>
|
|
2468
2655
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2474,7 +2661,7 @@
|
|
|
2474
2661
|
<span class="cline-any cline-neutral"> </span>
|
|
2475
2662
|
<span class="cline-any cline-no"> </span>
|
|
2476
2663
|
<span class="cline-any cline-neutral"> </span>
|
|
2477
|
-
<span class="cline-any cline-yes">
|
|
2664
|
+
<span class="cline-any cline-yes">434x</span>
|
|
2478
2665
|
<span class="cline-any cline-neutral"> </span>
|
|
2479
2666
|
<span class="cline-any cline-neutral"> </span>
|
|
2480
2667
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2487,12 +2674,12 @@
|
|
|
2487
2674
|
<span class="cline-any cline-neutral"> </span>
|
|
2488
2675
|
<span class="cline-any cline-neutral"> </span>
|
|
2489
2676
|
<span class="cline-any cline-neutral"> </span>
|
|
2490
|
-
<span class="cline-any cline-yes">
|
|
2677
|
+
<span class="cline-any cline-yes">434x</span>
|
|
2491
2678
|
<span class="cline-any cline-neutral"> </span>
|
|
2492
2679
|
<span class="cline-any cline-neutral"> </span>
|
|
2493
2680
|
<span class="cline-any cline-neutral"> </span>
|
|
2494
|
-
<span class="cline-any cline-
|
|
2495
|
-
<span class="cline-any cline-
|
|
2681
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2682
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2496
2683
|
<span class="cline-any cline-no"> </span>
|
|
2497
2684
|
<span class="cline-any cline-neutral"> </span>
|
|
2498
2685
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2500,10 +2687,10 @@
|
|
|
2500
2687
|
<span class="cline-any cline-neutral"> </span>
|
|
2501
2688
|
<span class="cline-any cline-no"> </span>
|
|
2502
2689
|
<span class="cline-any cline-neutral"> </span>
|
|
2503
|
-
<span class="cline-any cline-
|
|
2504
|
-
<span class="cline-any cline-
|
|
2690
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2691
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2505
2692
|
<span class="cline-any cline-neutral"> </span>
|
|
2506
|
-
<span class="cline-any cline-
|
|
2693
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2507
2694
|
<span class="cline-any cline-no"> </span>
|
|
2508
2695
|
<span class="cline-any cline-no"> </span>
|
|
2509
2696
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2521,7 +2708,7 @@
|
|
|
2521
2708
|
<span class="cline-any cline-neutral"> </span>
|
|
2522
2709
|
<span class="cline-any cline-neutral"> </span>
|
|
2523
2710
|
<span class="cline-any cline-neutral"> </span>
|
|
2524
|
-
<span class="cline-any cline-
|
|
2711
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2525
2712
|
<span class="cline-any cline-neutral"> </span>
|
|
2526
2713
|
<span class="cline-any cline-neutral"> </span>
|
|
2527
2714
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2542,12 +2729,25 @@
|
|
|
2542
2729
|
<span class="cline-any cline-neutral"> </span>
|
|
2543
2730
|
<span class="cline-any cline-neutral"> </span>
|
|
2544
2731
|
<span class="cline-any cline-neutral"> </span>
|
|
2545
|
-
<span class="cline-any cline-yes">8x</span>
|
|
2546
2732
|
<span class="cline-any cline-neutral"> </span>
|
|
2733
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2734
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2735
|
+
<span class="cline-any cline-yes">668x</span>
|
|
2736
|
+
<span class="cline-any cline-yes">71x</span>
|
|
2737
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2738
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2739
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2740
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2741
|
+
<span class="cline-any cline-yes">71x</span>
|
|
2547
2742
|
<span class="cline-any cline-yes">4x</span>
|
|
2743
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2744
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2745
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2746
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2548
2747
|
<span class="cline-any cline-yes">4x</span>
|
|
2549
|
-
<span class="cline-any cline-no"> </span>
|
|
2550
2748
|
<span class="cline-any cline-neutral"> </span>
|
|
2749
|
+
<span class="cline-any cline-yes">67x</span>
|
|
2750
|
+
<span class="cline-any cline-yes">65x</span>
|
|
2551
2751
|
<span class="cline-any cline-neutral"> </span>
|
|
2552
2752
|
<span class="cline-any cline-neutral"> </span>
|
|
2553
2753
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2555,19 +2755,21 @@
|
|
|
2555
2755
|
<span class="cline-any cline-neutral"> </span>
|
|
2556
2756
|
<span class="cline-any cline-neutral"> </span>
|
|
2557
2757
|
<span class="cline-any cline-neutral"> </span>
|
|
2558
|
-
<span class="cline-any cline-yes">4x</span>
|
|
2559
|
-
<span class="cline-any cline-yes">4x</span>
|
|
2560
|
-
<span class="cline-any cline-yes">4x</span>
|
|
2561
|
-
<span class="cline-any cline-yes">4x</span>
|
|
2562
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2563
2758
|
<span class="cline-any cline-neutral"> </span>
|
|
2564
2759
|
<span class="cline-any cline-neutral"> </span>
|
|
2760
|
+
<span class="cline-any cline-yes">67x</span>
|
|
2565
2761
|
<span class="cline-any cline-neutral"> </span>
|
|
2762
|
+
<span class="cline-any cline-yes">597x</span>
|
|
2763
|
+
<span class="cline-any cline-yes">597x</span>
|
|
2764
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2566
2765
|
<span class="cline-any cline-neutral"> </span>
|
|
2567
2766
|
<span class="cline-any cline-neutral"> </span>
|
|
2568
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2569
2767
|
<span class="cline-any cline-neutral"> </span>
|
|
2570
2768
|
<span class="cline-any cline-neutral"> </span>
|
|
2769
|
+
<span class="cline-any cline-yes">5x</span>
|
|
2770
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2771
|
+
<span class="cline-any cline-yes">592x</span>
|
|
2772
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2571
2773
|
<span class="cline-any cline-neutral"> </span>
|
|
2572
2774
|
<span class="cline-any cline-neutral"> </span>
|
|
2573
2775
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2587,22 +2789,27 @@
|
|
|
2587
2789
|
<span class="cline-any cline-neutral"> </span>
|
|
2588
2790
|
<span class="cline-any cline-neutral"> </span>
|
|
2589
2791
|
<span class="cline-any cline-neutral"> </span>
|
|
2792
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2590
2793
|
<span class="cline-any cline-neutral"> </span>
|
|
2794
|
+
<span class="cline-any cline-yes">10x</span>
|
|
2795
|
+
<span class="cline-any cline-yes">10x</span>
|
|
2796
|
+
<span class="cline-any cline-no"> </span>
|
|
2591
2797
|
<span class="cline-any cline-neutral"> </span>
|
|
2592
2798
|
<span class="cline-any cline-neutral"> </span>
|
|
2593
|
-
<span class="cline-any cline-yes">118x</span>
|
|
2594
2799
|
<span class="cline-any cline-neutral"> </span>
|
|
2595
|
-
<span class="cline-any cline-
|
|
2596
|
-
<span class="cline-any cline-
|
|
2800
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2801
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2802
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2803
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2804
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2805
|
+
<span class="cline-any cline-yes">10x</span>
|
|
2597
2806
|
<span class="cline-any cline-yes">6x</span>
|
|
2598
2807
|
<span class="cline-any cline-yes">6x</span>
|
|
2599
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2600
2808
|
<span class="cline-any cline-neutral"> </span>
|
|
2601
2809
|
<span class="cline-any cline-neutral"> </span>
|
|
2602
2810
|
<span class="cline-any cline-neutral"> </span>
|
|
2603
2811
|
<span class="cline-any cline-neutral"> </span>
|
|
2604
2812
|
<span class="cline-any cline-neutral"> </span>
|
|
2605
|
-
<span class="cline-any cline-yes">5x</span>
|
|
2606
2813
|
<span class="cline-any cline-neutral"> </span>
|
|
2607
2814
|
<span class="cline-any cline-neutral"> </span>
|
|
2608
2815
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2616,21 +2823,18 @@
|
|
|
2616
2823
|
<span class="cline-any cline-neutral"> </span>
|
|
2617
2824
|
<span class="cline-any cline-neutral"> </span>
|
|
2618
2825
|
<span class="cline-any cline-neutral"> </span>
|
|
2619
|
-
<span class="cline-any cline-yes">121x</span>
|
|
2620
|
-
<span class="cline-any cline-no"> </span>
|
|
2621
|
-
<span class="cline-any cline-no"> </span>
|
|
2622
2826
|
<span class="cline-any cline-neutral"> </span>
|
|
2623
2827
|
<span class="cline-any cline-neutral"> </span>
|
|
2624
2828
|
<span class="cline-any cline-neutral"> </span>
|
|
2625
2829
|
<span class="cline-any cline-neutral"> </span>
|
|
2626
2830
|
<span class="cline-any cline-neutral"> </span>
|
|
2831
|
+
<span class="cline-any cline-yes">184x</span>
|
|
2627
2832
|
<span class="cline-any cline-neutral"> </span>
|
|
2628
|
-
<span class="cline-any cline-
|
|
2629
|
-
<span class="cline-any cline-
|
|
2833
|
+
<span class="cline-any cline-yes">225x</span>
|
|
2834
|
+
<span class="cline-any cline-yes">46x</span>
|
|
2835
|
+
<span class="cline-any cline-yes">427x</span>
|
|
2630
2836
|
<span class="cline-any cline-neutral"> </span>
|
|
2631
2837
|
<span class="cline-any cline-neutral"> </span>
|
|
2632
|
-
<span class="cline-any cline-no"> </span>
|
|
2633
|
-
<span class="cline-any cline-no"> </span>
|
|
2634
2838
|
<span class="cline-any cline-neutral"> </span>
|
|
2635
2839
|
<span class="cline-any cline-neutral"> </span>
|
|
2636
2840
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2640,11 +2844,21 @@
|
|
|
2640
2844
|
<span class="cline-any cline-neutral"> </span>
|
|
2641
2845
|
<span class="cline-any cline-neutral"> </span>
|
|
2642
2846
|
<span class="cline-any cline-neutral"> </span>
|
|
2643
|
-
<span class="cline-any cline-
|
|
2847
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2848
|
+
<span class="cline-any cline-yes">225x</span>
|
|
2849
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2644
2850
|
<span class="cline-any cline-no"> </span>
|
|
2645
2851
|
<span class="cline-any cline-neutral"> </span>
|
|
2646
2852
|
<span class="cline-any cline-neutral"> </span>
|
|
2647
|
-
<span class="cline-any cline-
|
|
2853
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2854
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2855
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2856
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2857
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2858
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2859
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2860
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2861
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2648
2862
|
<span class="cline-any cline-no"> </span>
|
|
2649
2863
|
<span class="cline-any cline-neutral"> </span>
|
|
2650
2864
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2653,11 +2867,26 @@
|
|
|
2653
2867
|
<span class="cline-any cline-neutral"> </span>
|
|
2654
2868
|
<span class="cline-any cline-neutral"> </span>
|
|
2655
2869
|
<span class="cline-any cline-neutral"> </span>
|
|
2656
|
-
<span class="cline-any cline-no"> </span>
|
|
2657
|
-
<span class="cline-any cline-no"> </span>
|
|
2658
2870
|
<span class="cline-any cline-neutral"> </span>
|
|
2659
2871
|
<span class="cline-any cline-neutral"> </span>
|
|
2872
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2873
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2874
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2875
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2876
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2660
2877
|
<span class="cline-any cline-no"> </span>
|
|
2878
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2879
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2880
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2881
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2882
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2883
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2884
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2885
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2886
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2887
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2888
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2889
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2661
2890
|
<span class="cline-any cline-no"> </span>
|
|
2662
2891
|
<span class="cline-any cline-neutral"> </span>
|
|
2663
2892
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2667,9 +2896,88 @@
|
|
|
2667
2896
|
<span class="cline-any cline-neutral"> </span>
|
|
2668
2897
|
<span class="cline-any cline-neutral"> </span>
|
|
2669
2898
|
<span class="cline-any cline-neutral"> </span>
|
|
2899
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2900
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2901
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2670
2902
|
<span class="cline-any cline-no"> </span>
|
|
2671
2903
|
<span class="cline-any cline-neutral"> </span>
|
|
2904
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2905
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2906
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2907
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2908
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2909
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2910
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2911
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2912
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2913
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2914
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2915
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2916
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2917
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2918
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2919
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2920
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2921
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2922
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2923
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2924
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2925
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2926
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2927
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2928
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2929
|
+
<span class="cline-any cline-yes">363x</span>
|
|
2672
2930
|
<span class="cline-any cline-no"> </span>
|
|
2931
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2932
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2933
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2934
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2935
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2936
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2937
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2938
|
+
<span class="cline-any cline-yes">20x</span>
|
|
2939
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2940
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2941
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2942
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2943
|
+
<span class="cline-any cline-yes">32x</span>
|
|
2944
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2945
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2946
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2947
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2948
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2949
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2950
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2951
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2952
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2953
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2954
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2955
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2956
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2957
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2958
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2959
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2960
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2961
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2962
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2963
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2964
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2965
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2966
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2967
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2968
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2969
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2970
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2971
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2972
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2973
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2974
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2975
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2976
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2977
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2978
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2979
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2980
|
+
<span class="cline-any cline-yes">228x</span>
|
|
2673
2981
|
<span class="cline-any cline-no"> </span>
|
|
2674
2982
|
<span class="cline-any cline-neutral"> </span>
|
|
2675
2983
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2678,67 +2986,69 @@
|
|
|
2678
2986
|
<span class="cline-any cline-neutral"> </span>
|
|
2679
2987
|
<span class="cline-any cline-neutral"> </span>
|
|
2680
2988
|
<span class="cline-any cline-neutral"> </span>
|
|
2989
|
+
<span class="cline-any cline-yes">283x</span>
|
|
2990
|
+
<span class="cline-any cline-yes">228x</span>
|
|
2681
2991
|
<span class="cline-any cline-neutral"> </span>
|
|
2992
|
+
<span class="cline-any cline-no"> </span>
|
|
2993
|
+
<span class="cline-any cline-no"> </span>
|
|
2682
2994
|
<span class="cline-any cline-neutral"> </span>
|
|
2683
2995
|
<span class="cline-any cline-neutral"> </span>
|
|
2684
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2685
2996
|
<span class="cline-any cline-neutral"> </span>
|
|
2686
2997
|
<span class="cline-any cline-neutral"> </span>
|
|
2687
2998
|
<span class="cline-any cline-neutral"> </span>
|
|
2688
2999
|
<span class="cline-any cline-neutral"> </span>
|
|
3000
|
+
<span class="cline-any cline-yes">228x</span>
|
|
3001
|
+
<span class="cline-any cline-yes">228x</span>
|
|
2689
3002
|
<span class="cline-any cline-neutral"> </span>
|
|
2690
3003
|
<span class="cline-any cline-neutral"> </span>
|
|
3004
|
+
<span class="cline-any cline-no"> </span>
|
|
3005
|
+
<span class="cline-any cline-no"> </span>
|
|
2691
3006
|
<span class="cline-any cline-neutral"> </span>
|
|
3007
|
+
<span class="cline-any cline-no"> </span>
|
|
2692
3008
|
<span class="cline-any cline-neutral"> </span>
|
|
2693
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2694
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2695
3009
|
<span class="cline-any cline-neutral"> </span>
|
|
2696
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2697
3010
|
<span class="cline-any cline-neutral"> </span>
|
|
2698
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2699
|
-
<span class="cline-any cline-yes">127x</span>
|
|
2700
|
-
<span class="cline-any cline-no"> </span>
|
|
2701
3011
|
<span class="cline-any cline-neutral"> </span>
|
|
3012
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2702
3013
|
<span class="cline-any cline-neutral"> </span>
|
|
2703
3014
|
<span class="cline-any cline-neutral"> </span>
|
|
2704
3015
|
<span class="cline-any cline-neutral"> </span>
|
|
2705
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2706
3016
|
<span class="cline-any cline-neutral"> </span>
|
|
2707
3017
|
<span class="cline-any cline-neutral"> </span>
|
|
2708
|
-
<span class="cline-any cline-no"> </span>
|
|
2709
3018
|
<span class="cline-any cline-neutral"> </span>
|
|
2710
3019
|
<span class="cline-any cline-neutral"> </span>
|
|
2711
3020
|
<span class="cline-any cline-neutral"> </span>
|
|
2712
3021
|
<span class="cline-any cline-neutral"> </span>
|
|
2713
|
-
<span class="cline-any cline-no"> </span>
|
|
2714
3022
|
<span class="cline-any cline-neutral"> </span>
|
|
2715
3023
|
<span class="cline-any cline-neutral"> </span>
|
|
2716
3024
|
<span class="cline-any cline-neutral"> </span>
|
|
2717
3025
|
<span class="cline-any cline-neutral"> </span>
|
|
2718
|
-
<span class="cline-any cline-no"> </span>
|
|
2719
3026
|
<span class="cline-any cline-neutral"> </span>
|
|
2720
3027
|
<span class="cline-any cline-neutral"> </span>
|
|
2721
3028
|
<span class="cline-any cline-neutral"> </span>
|
|
2722
3029
|
<span class="cline-any cline-neutral"> </span>
|
|
2723
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2724
3030
|
<span class="cline-any cline-neutral"> </span>
|
|
2725
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2726
3031
|
<span class="cline-any cline-neutral"> </span>
|
|
2727
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2728
|
-
<span class="cline-any cline-no"> </span>
|
|
2729
3032
|
<span class="cline-any cline-neutral"> </span>
|
|
2730
3033
|
<span class="cline-any cline-neutral"> </span>
|
|
2731
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2732
3034
|
<span class="cline-any cline-neutral"> </span>
|
|
3035
|
+
<span class="cline-any cline-yes">70x</span>
|
|
3036
|
+
<span class="cline-any cline-yes">116x</span>
|
|
3037
|
+
<span class="cline-any cline-no"> </span>
|
|
2733
3038
|
<span class="cline-any cline-neutral"> </span>
|
|
2734
3039
|
<span class="cline-any cline-neutral"> </span>
|
|
2735
3040
|
<span class="cline-any cline-neutral"> </span>
|
|
2736
3041
|
<span class="cline-any cline-neutral"> </span>
|
|
3042
|
+
<span class="cline-any cline-yes">70x</span>
|
|
3043
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3044
|
+
<span class="cline-any cline-no"> </span>
|
|
2737
3045
|
<span class="cline-any cline-neutral"> </span>
|
|
2738
3046
|
<span class="cline-any cline-neutral"> </span>
|
|
2739
3047
|
<span class="cline-any cline-neutral"> </span>
|
|
2740
3048
|
<span class="cline-any cline-neutral"> </span>
|
|
3049
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2741
3050
|
<span class="cline-any cline-neutral"> </span>
|
|
3051
|
+
<span class="cline-any cline-yes">70x</span>
|
|
2742
3052
|
<span class="cline-any cline-neutral"> </span>
|
|
2743
3053
|
<span class="cline-any cline-neutral"> </span>
|
|
2744
3054
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2747,7 +3057,7 @@
|
|
|
2747
3057
|
<span class="cline-any cline-neutral"> </span>
|
|
2748
3058
|
<span class="cline-any cline-neutral"> </span>
|
|
2749
3059
|
<span class="cline-any cline-neutral"> </span>
|
|
2750
|
-
<span class="cline-any cline-yes">
|
|
3060
|
+
<span class="cline-any cline-yes">124x</span>
|
|
2751
3061
|
<span class="cline-any cline-no"> </span>
|
|
2752
3062
|
<span class="cline-any cline-neutral"> </span>
|
|
2753
3063
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2755,11 +3065,8 @@
|
|
|
2755
3065
|
<span class="cline-any cline-neutral"> </span>
|
|
2756
3066
|
<span class="cline-any cline-neutral"> </span>
|
|
2757
3067
|
<span class="cline-any cline-neutral"> </span>
|
|
3068
|
+
<span class="cline-any cline-yes">114x</span>
|
|
2758
3069
|
<span class="cline-any cline-neutral"> </span>
|
|
2759
|
-
<span class="cline-any cline-yes">121x</span>
|
|
2760
|
-
<span class="cline-any cline-yes">118x</span>
|
|
2761
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2762
|
-
<span class="cline-any cline-no"> </span>
|
|
2763
3070
|
<span class="cline-any cline-no"> </span>
|
|
2764
3071
|
<span class="cline-any cline-neutral"> </span>
|
|
2765
3072
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2767,19 +3074,12 @@
|
|
|
2767
3074
|
<span class="cline-any cline-neutral"> </span>
|
|
2768
3075
|
<span class="cline-any cline-neutral"> </span>
|
|
2769
3076
|
<span class="cline-any cline-neutral"> </span>
|
|
2770
|
-
<span class="cline-any cline-yes">118x</span>
|
|
2771
|
-
<span class="cline-any cline-yes">118x</span>
|
|
2772
3077
|
<span class="cline-any cline-neutral"> </span>
|
|
2773
3078
|
<span class="cline-any cline-neutral"> </span>
|
|
2774
|
-
<span class="cline-any cline-no"> </span>
|
|
2775
|
-
<span class="cline-any cline-no"> </span>
|
|
2776
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2777
|
-
<span class="cline-any cline-no"> </span>
|
|
2778
3079
|
<span class="cline-any cline-neutral"> </span>
|
|
2779
3080
|
<span class="cline-any cline-neutral"> </span>
|
|
2780
3081
|
<span class="cline-any cline-neutral"> </span>
|
|
2781
3082
|
<span class="cline-any cline-neutral"> </span>
|
|
2782
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2783
3083
|
<span class="cline-any cline-neutral"> </span>
|
|
2784
3084
|
<span class="cline-any cline-neutral"> </span>
|
|
2785
3085
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2802,23 +3102,17 @@
|
|
|
2802
3102
|
<span class="cline-any cline-neutral"> </span>
|
|
2803
3103
|
<span class="cline-any cline-neutral"> </span>
|
|
2804
3104
|
<span class="cline-any cline-neutral"> </span>
|
|
2805
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2806
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2807
|
-
<span class="cline-any cline-no"> </span>
|
|
2808
3105
|
<span class="cline-any cline-neutral"> </span>
|
|
2809
3106
|
<span class="cline-any cline-neutral"> </span>
|
|
2810
3107
|
<span class="cline-any cline-neutral"> </span>
|
|
2811
3108
|
<span class="cline-any cline-neutral"> </span>
|
|
2812
|
-
<span class="cline-any cline-yes">
|
|
2813
|
-
<span class="cline-any cline-
|
|
2814
|
-
<span class="cline-any cline-no"> </span>
|
|
3109
|
+
<span class="cline-any cline-yes">58x</span>
|
|
3110
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2815
3111
|
<span class="cline-any cline-neutral"> </span>
|
|
2816
3112
|
<span class="cline-any cline-neutral"> </span>
|
|
2817
3113
|
<span class="cline-any cline-neutral"> </span>
|
|
2818
3114
|
<span class="cline-any cline-neutral"> </span>
|
|
2819
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2820
3115
|
<span class="cline-any cline-neutral"> </span>
|
|
2821
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2822
3116
|
<span class="cline-any cline-neutral"> </span>
|
|
2823
3117
|
<span class="cline-any cline-neutral"> </span>
|
|
2824
3118
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2827,17 +3121,13 @@
|
|
|
2827
3121
|
<span class="cline-any cline-neutral"> </span>
|
|
2828
3122
|
<span class="cline-any cline-neutral"> </span>
|
|
2829
3123
|
<span class="cline-any cline-neutral"> </span>
|
|
2830
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2831
|
-
<span class="cline-any cline-no"> </span>
|
|
2832
3124
|
<span class="cline-any cline-neutral"> </span>
|
|
2833
3125
|
<span class="cline-any cline-neutral"> </span>
|
|
2834
3126
|
<span class="cline-any cline-neutral"> </span>
|
|
2835
3127
|
<span class="cline-any cline-neutral"> </span>
|
|
2836
3128
|
<span class="cline-any cline-neutral"> </span>
|
|
2837
3129
|
<span class="cline-any cline-neutral"> </span>
|
|
2838
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2839
3130
|
<span class="cline-any cline-neutral"> </span>
|
|
2840
|
-
<span class="cline-any cline-no"> </span>
|
|
2841
3131
|
<span class="cline-any cline-neutral"> </span>
|
|
2842
3132
|
<span class="cline-any cline-neutral"> </span>
|
|
2843
3133
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2847,24 +3137,33 @@
|
|
|
2847
3137
|
<span class="cline-any cline-neutral"> </span>
|
|
2848
3138
|
<span class="cline-any cline-neutral"> </span>
|
|
2849
3139
|
<span class="cline-any cline-neutral"> </span>
|
|
3140
|
+
<span class="cline-any cline-yes">264x</span>
|
|
2850
3141
|
<span class="cline-any cline-neutral"> </span>
|
|
3142
|
+
<span class="cline-any cline-yes">264x</span>
|
|
2851
3143
|
<span class="cline-any cline-neutral"> </span>
|
|
2852
3144
|
<span class="cline-any cline-neutral"> </span>
|
|
2853
3145
|
<span class="cline-any cline-neutral"> </span>
|
|
3146
|
+
<span class="cline-any cline-yes">264x</span>
|
|
2854
3147
|
<span class="cline-any cline-neutral"> </span>
|
|
2855
3148
|
<span class="cline-any cline-neutral"> </span>
|
|
3149
|
+
<span class="cline-any cline-yes">264x</span>
|
|
3150
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2856
3151
|
<span class="cline-any cline-neutral"> </span>
|
|
2857
3152
|
<span class="cline-any cline-neutral"> </span>
|
|
2858
3153
|
<span class="cline-any cline-neutral"> </span>
|
|
2859
3154
|
<span class="cline-any cline-neutral"> </span>
|
|
2860
3155
|
<span class="cline-any cline-neutral"> </span>
|
|
3156
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2861
3157
|
<span class="cline-any cline-neutral"> </span>
|
|
3158
|
+
<span class="cline-any cline-yes">263x</span>
|
|
2862
3159
|
<span class="cline-any cline-neutral"> </span>
|
|
3160
|
+
<span class="cline-any cline-yes">57x</span>
|
|
2863
3161
|
<span class="cline-any cline-neutral"> </span>
|
|
2864
3162
|
<span class="cline-any cline-neutral"> </span>
|
|
2865
3163
|
<span class="cline-any cline-neutral"> </span>
|
|
2866
3164
|
<span class="cline-any cline-neutral"> </span>
|
|
2867
3165
|
<span class="cline-any cline-neutral"> </span>
|
|
3166
|
+
<span class="cline-any cline-yes">57x</span>
|
|
2868
3167
|
<span class="cline-any cline-neutral"> </span>
|
|
2869
3168
|
<span class="cline-any cline-neutral"> </span>
|
|
2870
3169
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2872,34 +3171,44 @@
|
|
|
2872
3171
|
<span class="cline-any cline-neutral"> </span>
|
|
2873
3172
|
<span class="cline-any cline-neutral"> </span>
|
|
2874
3173
|
<span class="cline-any cline-neutral"> </span>
|
|
3174
|
+
<span class="cline-any cline-yes">57x</span>
|
|
3175
|
+
<span class="cline-any cline-no"> </span>
|
|
2875
3176
|
<span class="cline-any cline-neutral"> </span>
|
|
2876
3177
|
<span class="cline-any cline-neutral"> </span>
|
|
2877
3178
|
<span class="cline-any cline-neutral"> </span>
|
|
2878
3179
|
<span class="cline-any cline-neutral"> </span>
|
|
2879
|
-
<span class="cline-any cline-yes">9x</span>
|
|
2880
|
-
<span class="cline-any cline-yes">2x</span>
|
|
2881
3180
|
<span class="cline-any cline-neutral"> </span>
|
|
2882
3181
|
<span class="cline-any cline-neutral"> </span>
|
|
3182
|
+
<span class="cline-any cline-yes">57x</span>
|
|
3183
|
+
<span class="cline-any cline-no"> </span>
|
|
2883
3184
|
<span class="cline-any cline-neutral"> </span>
|
|
2884
3185
|
<span class="cline-any cline-neutral"> </span>
|
|
2885
3186
|
<span class="cline-any cline-neutral"> </span>
|
|
2886
3187
|
<span class="cline-any cline-neutral"> </span>
|
|
2887
3188
|
<span class="cline-any cline-neutral"> </span>
|
|
2888
3189
|
<span class="cline-any cline-neutral"> </span>
|
|
3190
|
+
<span class="cline-any cline-yes">57x</span>
|
|
2889
3191
|
<span class="cline-any cline-neutral"> </span>
|
|
3192
|
+
<span class="cline-any cline-yes">206x</span>
|
|
3193
|
+
<span class="cline-any cline-no"> </span>
|
|
2890
3194
|
<span class="cline-any cline-neutral"> </span>
|
|
2891
3195
|
<span class="cline-any cline-neutral"> </span>
|
|
2892
3196
|
<span class="cline-any cline-neutral"> </span>
|
|
2893
3197
|
<span class="cline-any cline-neutral"> </span>
|
|
2894
3198
|
<span class="cline-any cline-neutral"> </span>
|
|
3199
|
+
<span class="cline-any cline-no"> </span>
|
|
2895
3200
|
<span class="cline-any cline-neutral"> </span>
|
|
3201
|
+
<span class="cline-any cline-yes">206x</span>
|
|
3202
|
+
<span class="cline-any cline-no"> </span>
|
|
2896
3203
|
<span class="cline-any cline-neutral"> </span>
|
|
2897
3204
|
<span class="cline-any cline-neutral"> </span>
|
|
2898
3205
|
<span class="cline-any cline-neutral"> </span>
|
|
2899
3206
|
<span class="cline-any cline-neutral"> </span>
|
|
2900
3207
|
<span class="cline-any cline-neutral"> </span>
|
|
3208
|
+
<span class="cline-any cline-no"> </span>
|
|
2901
3209
|
<span class="cline-any cline-neutral"> </span>
|
|
2902
3210
|
<span class="cline-any cline-neutral"> </span>
|
|
3211
|
+
<span class="cline-any cline-yes">206x</span>
|
|
2903
3212
|
<span class="cline-any cline-neutral"> </span>
|
|
2904
3213
|
<span class="cline-any cline-neutral"> </span>
|
|
2905
3214
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2907,33 +3216,24 @@
|
|
|
2907
3216
|
<span class="cline-any cline-neutral"> </span>
|
|
2908
3217
|
<span class="cline-any cline-neutral"> </span>
|
|
2909
3218
|
<span class="cline-any cline-neutral"> </span>
|
|
2910
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2911
3219
|
<span class="cline-any cline-neutral"> </span>
|
|
2912
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2913
3220
|
<span class="cline-any cline-neutral"> </span>
|
|
2914
3221
|
<span class="cline-any cline-neutral"> </span>
|
|
2915
3222
|
<span class="cline-any cline-neutral"> </span>
|
|
2916
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2917
3223
|
<span class="cline-any cline-neutral"> </span>
|
|
2918
3224
|
<span class="cline-any cline-neutral"> </span>
|
|
2919
|
-
<span class="cline-any cline-yes">59x</span>
|
|
2920
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2921
3225
|
<span class="cline-any cline-neutral"> </span>
|
|
2922
3226
|
<span class="cline-any cline-neutral"> </span>
|
|
2923
3227
|
<span class="cline-any cline-neutral"> </span>
|
|
2924
3228
|
<span class="cline-any cline-neutral"> </span>
|
|
2925
3229
|
<span class="cline-any cline-neutral"> </span>
|
|
2926
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2927
3230
|
<span class="cline-any cline-neutral"> </span>
|
|
2928
|
-
<span class="cline-any cline-yes">58x</span>
|
|
2929
3231
|
<span class="cline-any cline-neutral"> </span>
|
|
2930
|
-
<span class="cline-any cline-yes">8x</span>
|
|
2931
3232
|
<span class="cline-any cline-neutral"> </span>
|
|
2932
3233
|
<span class="cline-any cline-neutral"> </span>
|
|
2933
3234
|
<span class="cline-any cline-neutral"> </span>
|
|
2934
3235
|
<span class="cline-any cline-neutral"> </span>
|
|
2935
3236
|
<span class="cline-any cline-neutral"> </span>
|
|
2936
|
-
<span class="cline-any cline-yes">8x</span>
|
|
2937
3237
|
<span class="cline-any cline-neutral"> </span>
|
|
2938
3238
|
<span class="cline-any cline-neutral"> </span>
|
|
2939
3239
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2941,44 +3241,36 @@
|
|
|
2941
3241
|
<span class="cline-any cline-neutral"> </span>
|
|
2942
3242
|
<span class="cline-any cline-neutral"> </span>
|
|
2943
3243
|
<span class="cline-any cline-neutral"> </span>
|
|
2944
|
-
<span class="cline-any cline-yes">8x</span>
|
|
2945
|
-
<span class="cline-any cline-no"> </span>
|
|
2946
3244
|
<span class="cline-any cline-neutral"> </span>
|
|
2947
3245
|
<span class="cline-any cline-neutral"> </span>
|
|
2948
3246
|
<span class="cline-any cline-neutral"> </span>
|
|
2949
3247
|
<span class="cline-any cline-neutral"> </span>
|
|
2950
3248
|
<span class="cline-any cline-neutral"> </span>
|
|
2951
3249
|
<span class="cline-any cline-neutral"> </span>
|
|
2952
|
-
<span class="cline-any cline-yes">8x</span>
|
|
2953
|
-
<span class="cline-any cline-no"> </span>
|
|
2954
3250
|
<span class="cline-any cline-neutral"> </span>
|
|
2955
3251
|
<span class="cline-any cline-neutral"> </span>
|
|
2956
3252
|
<span class="cline-any cline-neutral"> </span>
|
|
2957
3253
|
<span class="cline-any cline-neutral"> </span>
|
|
2958
3254
|
<span class="cline-any cline-neutral"> </span>
|
|
2959
3255
|
<span class="cline-any cline-neutral"> </span>
|
|
2960
|
-
<span class="cline-any cline-yes">
|
|
3256
|
+
<span class="cline-any cline-yes">74x</span>
|
|
3257
|
+
<span class="cline-any cline-yes">35x</span>
|
|
2961
3258
|
<span class="cline-any cline-neutral"> </span>
|
|
2962
|
-
<span class="cline-any cline-
|
|
3259
|
+
<span class="cline-any cline-no"> </span>
|
|
2963
3260
|
<span class="cline-any cline-no"> </span>
|
|
2964
3261
|
<span class="cline-any cline-neutral"> </span>
|
|
2965
3262
|
<span class="cline-any cline-neutral"> </span>
|
|
2966
3263
|
<span class="cline-any cline-neutral"> </span>
|
|
2967
3264
|
<span class="cline-any cline-neutral"> </span>
|
|
2968
3265
|
<span class="cline-any cline-neutral"> </span>
|
|
2969
|
-
<span class="cline-any cline-no"> </span>
|
|
2970
3266
|
<span class="cline-any cline-neutral"> </span>
|
|
2971
|
-
<span class="cline-any cline-yes">50x</span>
|
|
2972
|
-
<span class="cline-any cline-no"> </span>
|
|
2973
3267
|
<span class="cline-any cline-neutral"> </span>
|
|
2974
3268
|
<span class="cline-any cline-neutral"> </span>
|
|
2975
3269
|
<span class="cline-any cline-neutral"> </span>
|
|
2976
3270
|
<span class="cline-any cline-neutral"> </span>
|
|
2977
3271
|
<span class="cline-any cline-neutral"> </span>
|
|
2978
|
-
<span class="cline-any cline-no"> </span>
|
|
2979
3272
|
<span class="cline-any cline-neutral"> </span>
|
|
2980
3273
|
<span class="cline-any cline-neutral"> </span>
|
|
2981
|
-
<span class="cline-any cline-yes">50x</span>
|
|
2982
3274
|
<span class="cline-any cline-neutral"> </span>
|
|
2983
3275
|
<span class="cline-any cline-neutral"> </span>
|
|
2984
3276
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2988,12 +3280,18 @@
|
|
|
2988
3280
|
<span class="cline-any cline-neutral"> </span>
|
|
2989
3281
|
<span class="cline-any cline-neutral"> </span>
|
|
2990
3282
|
<span class="cline-any cline-neutral"> </span>
|
|
3283
|
+
<span class="cline-any cline-yes">114x</span>
|
|
3284
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3285
|
+
<span class="cline-any cline-no"> </span>
|
|
2991
3286
|
<span class="cline-any cline-neutral"> </span>
|
|
2992
3287
|
<span class="cline-any cline-neutral"> </span>
|
|
2993
3288
|
<span class="cline-any cline-neutral"> </span>
|
|
2994
3289
|
<span class="cline-any cline-neutral"> </span>
|
|
2995
3290
|
<span class="cline-any cline-neutral"> </span>
|
|
3291
|
+
<span class="cline-any cline-yes">4x</span>
|
|
2996
3292
|
<span class="cline-any cline-neutral"> </span>
|
|
3293
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3294
|
+
<span class="cline-any cline-no"> </span>
|
|
2997
3295
|
<span class="cline-any cline-neutral"> </span>
|
|
2998
3296
|
<span class="cline-any cline-neutral"> </span>
|
|
2999
3297
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3002,31 +3300,42 @@
|
|
|
3002
3300
|
<span class="cline-any cline-neutral"> </span>
|
|
3003
3301
|
<span class="cline-any cline-neutral"> </span>
|
|
3004
3302
|
<span class="cline-any cline-neutral"> </span>
|
|
3303
|
+
<span class="cline-any cline-yes">114x</span>
|
|
3304
|
+
<span class="cline-any cline-yes">22x</span>
|
|
3005
3305
|
<span class="cline-any cline-neutral"> </span>
|
|
3006
3306
|
<span class="cline-any cline-neutral"> </span>
|
|
3007
3307
|
<span class="cline-any cline-neutral"> </span>
|
|
3008
3308
|
<span class="cline-any cline-neutral"> </span>
|
|
3009
3309
|
<span class="cline-any cline-neutral"> </span>
|
|
3010
3310
|
<span class="cline-any cline-neutral"> </span>
|
|
3311
|
+
<span class="cline-any cline-yes">92x</span>
|
|
3312
|
+
<span class="cline-any cline-yes">92x</span>
|
|
3011
3313
|
<span class="cline-any cline-neutral"> </span>
|
|
3314
|
+
<span class="cline-any cline-yes">92x</span>
|
|
3315
|
+
<span class="cline-any cline-yes">33x</span>
|
|
3316
|
+
<span class="cline-any cline-yes">70x</span>
|
|
3012
3317
|
<span class="cline-any cline-neutral"> </span>
|
|
3013
3318
|
<span class="cline-any cline-neutral"> </span>
|
|
3014
3319
|
<span class="cline-any cline-neutral"> </span>
|
|
3015
3320
|
<span class="cline-any cline-neutral"> </span>
|
|
3321
|
+
<span class="cline-any cline-yes">92x</span>
|
|
3322
|
+
<span class="cline-any cline-yes">92x</span>
|
|
3323
|
+
<span class="cline-any cline-yes">264x</span>
|
|
3016
3324
|
<span class="cline-any cline-neutral"> </span>
|
|
3017
3325
|
<span class="cline-any cline-neutral"> </span>
|
|
3326
|
+
<span class="cline-any cline-yes">264x</span>
|
|
3327
|
+
<span class="cline-any cline-yes">58x</span>
|
|
3018
3328
|
<span class="cline-any cline-neutral"> </span>
|
|
3019
3329
|
<span class="cline-any cline-neutral"> </span>
|
|
3020
3330
|
<span class="cline-any cline-neutral"> </span>
|
|
3331
|
+
<span class="cline-any cline-yes">58x</span>
|
|
3332
|
+
<span class="cline-any cline-yes">3x</span>
|
|
3021
3333
|
<span class="cline-any cline-neutral"> </span>
|
|
3022
3334
|
<span class="cline-any cline-neutral"> </span>
|
|
3023
3335
|
<span class="cline-any cline-neutral"> </span>
|
|
3024
3336
|
<span class="cline-any cline-neutral"> </span>
|
|
3025
|
-
<span class="cline-any cline-yes">26x</span>
|
|
3026
|
-
<span class="cline-any cline-yes">13x</span>
|
|
3027
3337
|
<span class="cline-any cline-neutral"> </span>
|
|
3028
|
-
<span class="cline-any cline-
|
|
3029
|
-
<span class="cline-any cline-no"> </span>
|
|
3338
|
+
<span class="cline-any cline-yes">55x</span>
|
|
3030
3339
|
<span class="cline-any cline-neutral"> </span>
|
|
3031
3340
|
<span class="cline-any cline-neutral"> </span>
|
|
3032
3341
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3036,11 +3345,14 @@
|
|
|
3036
3345
|
<span class="cline-any cline-neutral"> </span>
|
|
3037
3346
|
<span class="cline-any cline-neutral"> </span>
|
|
3038
3347
|
<span class="cline-any cline-neutral"> </span>
|
|
3348
|
+
<span class="cline-any cline-yes">264x</span>
|
|
3349
|
+
<span class="cline-any cline-yes">264x</span>
|
|
3039
3350
|
<span class="cline-any cline-neutral"> </span>
|
|
3040
3351
|
<span class="cline-any cline-neutral"> </span>
|
|
3041
3352
|
<span class="cline-any cline-neutral"> </span>
|
|
3042
3353
|
<span class="cline-any cline-neutral"> </span>
|
|
3043
3354
|
<span class="cline-any cline-neutral"> </span>
|
|
3355
|
+
<span class="cline-any cline-yes">5x</span>
|
|
3044
3356
|
<span class="cline-any cline-neutral"> </span>
|
|
3045
3357
|
<span class="cline-any cline-neutral"> </span>
|
|
3046
3358
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3048,58 +3360,49 @@
|
|
|
3048
3360
|
<span class="cline-any cline-neutral"> </span>
|
|
3049
3361
|
<span class="cline-any cline-neutral"> </span>
|
|
3050
3362
|
<span class="cline-any cline-neutral"> </span>
|
|
3363
|
+
<span class="cline-any cline-yes">264x</span>
|
|
3364
|
+
<span class="cline-any cline-yes">206x</span>
|
|
3365
|
+
<span class="cline-any cline-yes">206x</span>
|
|
3051
3366
|
<span class="cline-any cline-neutral"> </span>
|
|
3052
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3053
|
-
<span class="cline-any cline-no"> </span>
|
|
3054
|
-
<span class="cline-any cline-no"> </span>
|
|
3055
3367
|
<span class="cline-any cline-neutral"> </span>
|
|
3056
3368
|
<span class="cline-any cline-neutral"> </span>
|
|
3057
3369
|
<span class="cline-any cline-neutral"> </span>
|
|
3370
|
+
<span class="cline-any cline-yes">206x</span>
|
|
3058
3371
|
<span class="cline-any cline-neutral"> </span>
|
|
3059
3372
|
<span class="cline-any cline-neutral"> </span>
|
|
3060
|
-
<span class="cline-any cline-no"> </span>
|
|
3061
3373
|
<span class="cline-any cline-neutral"> </span>
|
|
3062
|
-
<span class="cline-any cline-no"> </span>
|
|
3063
|
-
<span class="cline-any cline-no"> </span>
|
|
3064
3374
|
<span class="cline-any cline-neutral"> </span>
|
|
3375
|
+
<span class="cline-any cline-yes">206x</span>
|
|
3065
3376
|
<span class="cline-any cline-neutral"> </span>
|
|
3066
3377
|
<span class="cline-any cline-neutral"> </span>
|
|
3067
3378
|
<span class="cline-any cline-neutral"> </span>
|
|
3068
3379
|
<span class="cline-any cline-neutral"> </span>
|
|
3069
3380
|
<span class="cline-any cline-neutral"> </span>
|
|
3070
3381
|
<span class="cline-any cline-neutral"> </span>
|
|
3382
|
+
<span class="cline-any cline-yes">264x</span>
|
|
3383
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3071
3384
|
<span class="cline-any cline-neutral"> </span>
|
|
3072
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3073
|
-
<span class="cline-any cline-no"> </span>
|
|
3074
3385
|
<span class="cline-any cline-neutral"> </span>
|
|
3075
3386
|
<span class="cline-any cline-neutral"> </span>
|
|
3076
3387
|
<span class="cline-any cline-neutral"> </span>
|
|
3077
3388
|
<span class="cline-any cline-neutral"> </span>
|
|
3078
3389
|
<span class="cline-any cline-neutral"> </span>
|
|
3079
3390
|
<span class="cline-any cline-neutral"> </span>
|
|
3080
|
-
<span class="cline-any cline-yes">
|
|
3081
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3391
|
+
<span class="cline-any cline-yes">264x</span>
|
|
3082
3392
|
<span class="cline-any cline-neutral"> </span>
|
|
3083
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3084
|
-
<span class="cline-any cline-yes">13x</span>
|
|
3085
|
-
<span class="cline-any cline-yes">26x</span>
|
|
3086
3393
|
<span class="cline-any cline-neutral"> </span>
|
|
3087
3394
|
<span class="cline-any cline-neutral"> </span>
|
|
3088
3395
|
<span class="cline-any cline-neutral"> </span>
|
|
3089
3396
|
<span class="cline-any cline-neutral"> </span>
|
|
3090
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3091
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3092
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3093
3397
|
<span class="cline-any cline-neutral"> </span>
|
|
3094
3398
|
<span class="cline-any cline-neutral"> </span>
|
|
3095
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3096
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3097
3399
|
<span class="cline-any cline-neutral"> </span>
|
|
3098
3400
|
<span class="cline-any cline-neutral"> </span>
|
|
3099
3401
|
<span class="cline-any cline-neutral"> </span>
|
|
3402
|
+
<span class="cline-any cline-yes">264x</span>
|
|
3403
|
+
<span class="cline-any cline-yes">5x</span>
|
|
3100
3404
|
<span class="cline-any cline-neutral"> </span>
|
|
3101
3405
|
<span class="cline-any cline-neutral"> </span>
|
|
3102
|
-
<span class="cline-any cline-yes">1x</span>
|
|
3103
3406
|
<span class="cline-any cline-neutral"> </span>
|
|
3104
3407
|
<span class="cline-any cline-neutral"> </span>
|
|
3105
3408
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3107,47 +3410,59 @@
|
|
|
3107
3410
|
<span class="cline-any cline-neutral"> </span>
|
|
3108
3411
|
<span class="cline-any cline-neutral"> </span>
|
|
3109
3412
|
<span class="cline-any cline-neutral"> </span>
|
|
3110
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3111
|
-
<span class="cline-any cline-yes">50x</span>
|
|
3112
|
-
<span class="cline-any cline-yes">50x</span>
|
|
3113
3413
|
<span class="cline-any cline-neutral"> </span>
|
|
3114
3414
|
<span class="cline-any cline-neutral"> </span>
|
|
3115
3415
|
<span class="cline-any cline-neutral"> </span>
|
|
3416
|
+
<span class="cline-any cline-yes">92x</span>
|
|
3417
|
+
<span class="cline-any cline-yes">33x</span>
|
|
3116
3418
|
<span class="cline-any cline-neutral"> </span>
|
|
3117
|
-
<span class="cline-any cline-yes">
|
|
3419
|
+
<span class="cline-any cline-yes">70x</span>
|
|
3420
|
+
<span class="cline-any cline-yes">29x</span>
|
|
3421
|
+
<span class="cline-any cline-yes">235x</span>
|
|
3118
3422
|
<span class="cline-any cline-neutral"> </span>
|
|
3119
3423
|
<span class="cline-any cline-neutral"> </span>
|
|
3120
3424
|
<span class="cline-any cline-neutral"> </span>
|
|
3121
3425
|
<span class="cline-any cline-neutral"> </span>
|
|
3122
|
-
<span class="cline-any cline-yes">50x</span>
|
|
3123
3426
|
<span class="cline-any cline-neutral"> </span>
|
|
3124
3427
|
<span class="cline-any cline-neutral"> </span>
|
|
3125
3428
|
<span class="cline-any cline-neutral"> </span>
|
|
3126
3429
|
<span class="cline-any cline-neutral"> </span>
|
|
3127
3430
|
<span class="cline-any cline-neutral"> </span>
|
|
3128
3431
|
<span class="cline-any cline-neutral"> </span>
|
|
3129
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3130
|
-
<span class="cline-any cline-yes">2x</span>
|
|
3131
3432
|
<span class="cline-any cline-neutral"> </span>
|
|
3132
3433
|
<span class="cline-any cline-neutral"> </span>
|
|
3434
|
+
<span class="cline-any cline-yes">70x</span>
|
|
3435
|
+
<span class="cline-any cline-yes">17x</span>
|
|
3436
|
+
<span class="cline-any cline-yes">35x</span>
|
|
3437
|
+
<span class="cline-any cline-yes">35x</span>
|
|
3438
|
+
<span class="cline-any cline-yes">1x</span>
|
|
3133
3439
|
<span class="cline-any cline-neutral"> </span>
|
|
3134
3440
|
<span class="cline-any cline-neutral"> </span>
|
|
3135
3441
|
<span class="cline-any cline-neutral"> </span>
|
|
3136
3442
|
<span class="cline-any cline-neutral"> </span>
|
|
3443
|
+
<span class="cline-any cline-yes">1x</span>
|
|
3137
3444
|
<span class="cline-any cline-neutral"> </span>
|
|
3138
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3139
3445
|
<span class="cline-any cline-neutral"> </span>
|
|
3446
|
+
<span class="cline-any cline-yes">34x</span>
|
|
3447
|
+
<span class="cline-any cline-yes">34x</span>
|
|
3448
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3140
3449
|
<span class="cline-any cline-neutral"> </span>
|
|
3141
3450
|
<span class="cline-any cline-neutral"> </span>
|
|
3142
3451
|
<span class="cline-any cline-neutral"> </span>
|
|
3452
|
+
<span class="cline-any cline-yes">2x</span>
|
|
3453
|
+
<span class="cline-any cline-no"> </span>
|
|
3143
3454
|
<span class="cline-any cline-neutral"> </span>
|
|
3144
3455
|
<span class="cline-any cline-neutral"> </span>
|
|
3145
3456
|
<span class="cline-any cline-neutral"> </span>
|
|
3146
3457
|
<span class="cline-any cline-neutral"> </span>
|
|
3458
|
+
<span class="cline-any cline-no"> </span>
|
|
3147
3459
|
<span class="cline-any cline-neutral"> </span>
|
|
3148
3460
|
<span class="cline-any cline-neutral"> </span>
|
|
3149
|
-
<span class="cline-any cline-yes">
|
|
3150
|
-
<span class="cline-any cline-yes">
|
|
3461
|
+
<span class="cline-any cline-yes">34x</span>
|
|
3462
|
+
<span class="cline-any cline-yes">34x</span>
|
|
3463
|
+
<span class="cline-any cline-yes">34x</span>
|
|
3464
|
+
<span class="cline-any cline-yes">47x</span>
|
|
3465
|
+
<span class="cline-any cline-yes">47x</span>
|
|
3151
3466
|
<span class="cline-any cline-neutral"> </span>
|
|
3152
3467
|
<span class="cline-any cline-neutral"> </span>
|
|
3153
3468
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3155,52 +3470,50 @@
|
|
|
3155
3470
|
<span class="cline-any cline-neutral"> </span>
|
|
3156
3471
|
<span class="cline-any cline-neutral"> </span>
|
|
3157
3472
|
<span class="cline-any cline-neutral"> </span>
|
|
3473
|
+
<span class="cline-any cline-yes">47x</span>
|
|
3158
3474
|
<span class="cline-any cline-neutral"> </span>
|
|
3159
3475
|
<span class="cline-any cline-neutral"> </span>
|
|
3160
3476
|
<span class="cline-any cline-neutral"> </span>
|
|
3161
3477
|
<span class="cline-any cline-neutral"> </span>
|
|
3478
|
+
<span class="cline-any cline-yes">16x</span>
|
|
3479
|
+
<span class="cline-any cline-yes">16x</span>
|
|
3480
|
+
<span class="cline-any cline-yes">36x</span>
|
|
3481
|
+
<span class="cline-any cline-yes">36x</span>
|
|
3482
|
+
<span class="cline-any cline-no"> </span>
|
|
3162
3483
|
<span class="cline-any cline-neutral"> </span>
|
|
3163
|
-
<span class="cline-any cline-yes">59x</span>
|
|
3164
|
-
<span class="cline-any cline-yes">13x</span>
|
|
3165
3484
|
<span class="cline-any cline-neutral"> </span>
|
|
3166
|
-
<span class="cline-any cline-yes">26x</span>
|
|
3167
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3168
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3169
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3170
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3171
|
-
<span class="cline-any cline-yes">2x</span>
|
|
3172
3485
|
<span class="cline-any cline-neutral"> </span>
|
|
3173
3486
|
<span class="cline-any cline-neutral"> </span>
|
|
3487
|
+
<span class="cline-any cline-no"> </span>
|
|
3174
3488
|
<span class="cline-any cline-neutral"> </span>
|
|
3489
|
+
<span class="cline-any cline-yes">36x</span>
|
|
3175
3490
|
<span class="cline-any cline-neutral"> </span>
|
|
3176
3491
|
<span class="cline-any cline-neutral"> </span>
|
|
3177
|
-
<span class="cline-any cline-yes">3x</span>
|
|
3178
3492
|
<span class="cline-any cline-neutral"> </span>
|
|
3179
3493
|
<span class="cline-any cline-neutral"> </span>
|
|
3494
|
+
<span class="cline-any cline-yes">36x</span>
|
|
3495
|
+
<span class="cline-any cline-yes">6x</span>
|
|
3180
3496
|
<span class="cline-any cline-neutral"> </span>
|
|
3181
3497
|
<span class="cline-any cline-neutral"> </span>
|
|
3182
3498
|
<span class="cline-any cline-neutral"> </span>
|
|
3183
3499
|
<span class="cline-any cline-neutral"> </span>
|
|
3500
|
+
<span class="cline-any cline-yes">6x</span>
|
|
3184
3501
|
<span class="cline-any cline-neutral"> </span>
|
|
3185
3502
|
<span class="cline-any cline-neutral"> </span>
|
|
3503
|
+
<span class="cline-any cline-yes">6x</span>
|
|
3504
|
+
<span class="cline-any cline-yes">6x</span>
|
|
3186
3505
|
<span class="cline-any cline-neutral"> </span>
|
|
3506
|
+
<span class="cline-any cline-no"> </span>
|
|
3187
3507
|
<span class="cline-any cline-neutral"> </span>
|
|
3188
3508
|
<span class="cline-any cline-neutral"> </span>
|
|
3189
3509
|
<span class="cline-any cline-neutral"> </span>
|
|
3190
3510
|
<span class="cline-any cline-neutral"> </span>
|
|
3191
|
-
<span class="cline-any cline-
|
|
3192
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3193
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3194
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3195
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3196
|
-
<span class="cline-any cline-yes">1x</span>
|
|
3511
|
+
<span class="cline-any cline-no"> </span>
|
|
3197
3512
|
<span class="cline-any cline-neutral"> </span>
|
|
3513
|
+
<span class="cline-any cline-yes">30x</span>
|
|
3198
3514
|
<span class="cline-any cline-neutral"> </span>
|
|
3199
3515
|
<span class="cline-any cline-neutral"> </span>
|
|
3200
3516
|
<span class="cline-any cline-neutral"> </span>
|
|
3201
|
-
<span class="cline-any cline-yes">4x</span>
|
|
3202
|
-
<span class="cline-any cline-yes">4x</span>
|
|
3203
|
-
<span class="cline-any cline-yes">5x</span>
|
|
3204
3517
|
<span class="cline-any cline-neutral"> </span>
|
|
3205
3518
|
<span class="cline-any cline-neutral"> </span>
|
|
3206
3519
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3208,6 +3521,7 @@
|
|
|
3208
3521
|
<span class="cline-any cline-neutral"> </span>
|
|
3209
3522
|
<span class="cline-any cline-neutral"> </span>
|
|
3210
3523
|
<span class="cline-any cline-neutral"> </span>
|
|
3524
|
+
<span class="cline-any cline-yes">31x</span>
|
|
3211
3525
|
<span class="cline-any cline-neutral"> </span>
|
|
3212
3526
|
<span class="cline-any cline-neutral"> </span>
|
|
3213
3527
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3223,12 +3537,12 @@
|
|
|
3223
3537
|
<span class="cline-any cline-neutral"> </span>
|
|
3224
3538
|
<span class="cline-any cline-neutral"> </span>
|
|
3225
3539
|
<span class="cline-any cline-neutral"> </span>
|
|
3226
|
-
<span class="cline-any cline-yes">
|
|
3540
|
+
<span class="cline-any cline-yes">92x</span>
|
|
3227
3541
|
<span class="cline-any cline-neutral"> </span>
|
|
3228
|
-
<span class="cline-any cline-yes">
|
|
3542
|
+
<span class="cline-any cline-yes">92x</span>
|
|
3229
3543
|
<span class="cline-any cline-neutral"> </span>
|
|
3230
|
-
<span class="cline-any cline-yes">
|
|
3231
|
-
<span class="cline-any cline-yes">
|
|
3544
|
+
<span class="cline-any cline-yes">184x</span>
|
|
3545
|
+
<span class="cline-any cline-yes">184x</span>
|
|
3232
3546
|
<span class="cline-any cline-neutral"> </span>
|
|
3233
3547
|
<span class="cline-any cline-neutral"> </span>
|
|
3234
3548
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3241,8 +3555,8 @@
|
|
|
3241
3555
|
<span class="cline-any cline-neutral"> </span>
|
|
3242
3556
|
<span class="cline-any cline-neutral"> </span>
|
|
3243
3557
|
<span class="cline-any cline-neutral"> </span>
|
|
3244
|
-
<span class="cline-any cline-yes">
|
|
3245
|
-
<span class="cline-any cline-yes">
|
|
3558
|
+
<span class="cline-any cline-yes">184x</span>
|
|
3559
|
+
<span class="cline-any cline-yes">14x</span>
|
|
3246
3560
|
<span class="cline-any cline-neutral"> </span>
|
|
3247
3561
|
<span class="cline-any cline-neutral"> </span>
|
|
3248
3562
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -3287,12 +3601,18 @@
|
|
|
3287
3601
|
<span class="cline-any cline-neutral"> </span>
|
|
3288
3602
|
<span class="cline-any cline-neutral"> </span>
|
|
3289
3603
|
<span class="cline-any cline-neutral"> </span>
|
|
3290
|
-
<span class="cline-any cline-yes">
|
|
3604
|
+
<span class="cline-any cline-yes">70x</span>
|
|
3291
3605
|
<span class="cline-any cline-neutral"> </span>
|
|
3292
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { Schema } from "@featurevisor/types";
|
|
3606
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { Schema, SchemaType } from "@featurevisor/types";
|
|
3293
3607
|
import { z } from "zod";
|
|
3294
3608
|
|
|
3295
3609
|
import { ProjectConfig } from "../config";
|
|
3610
|
+
import {
|
|
3611
|
+
isMutationKey,
|
|
3612
|
+
validateMutationKey,
|
|
3613
|
+
parsePathMapKey,
|
|
3614
|
+
resolveSchemaAtPath,
|
|
3615
|
+
} from "./mutationNotation";
|
|
3296
3616
|
import {
|
|
3297
3617
|
valueZodSchema,
|
|
3298
3618
|
propertyTypeEnum,
|
|
@@ -3305,16 +3625,16 @@ import {
|
|
|
3305
3625
|
|
|
3306
3626
|
const tagRegex = /^[a-z0-9-]+$/;
|
|
3307
3627
|
|
|
3308
|
-
function
|
|
3309
|
-
|
|
3628
|
+
function isArrayOfStrings(value: unknown): value is string[] {
|
|
3629
|
+
return Array.isArray(value) && value.every((v) => typeof v === "string");
|
|
3310
3630
|
}
|
|
3311
3631
|
|
|
3312
|
-
function
|
|
3313
|
-
|
|
3632
|
+
function isFlatObjectValue(value: unknown): boolean {
|
|
3633
|
+
return (
|
|
3314
3634
|
value === null ||
|
|
3315
3635
|
typeof value === "string" ||
|
|
3316
|
-
typeof value === "number"
|
|
3317
|
-
typeof value === "boolean"
|
|
3636
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > typeof value === "number" </span>||
|
|
3637
|
+
<span class="branch-3 cbranch-no" title="branch not covered" > typeof value === "boolean"</span>
|
|
3318
3638
|
);
|
|
3319
3639
|
}
|
|
3320
3640
|
|
|
@@ -3463,11 +3783,11 @@ function valueMatchesSchema(
|
|
|
3463
3783
|
return true;
|
|
3464
3784
|
}
|
|
3465
3785
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (type === "boolean") <span class="cstat-no" title="statement not covered" >return typeof value === "boolean";</span>
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3786
|
+
if (type === "integer") {
|
|
3787
|
+
if (typeof value !== "number" || !Number.isInteger(value)) return false;
|
|
3788
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (resolved.minimum !== undefined && (<span class="branch-1 cbranch-no" title="branch not covered" >value as number) < resolved.minimum)</span> <span class="cstat-no" title="statement not covered" >return false;</span>
|
|
3789
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (resolved.maximum !== undefined && (<span class="branch-1 cbranch-no" title="branch not covered" >value as number) > resolved.maximum)</span> <span class="cstat-no" title="statement not covered" >return false;</span>
|
|
3790
|
+
return true;
|
|
3471
3791
|
}
|
|
3472
3792
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (type === "double") {
|
|
3473
3793
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof value !== "number") <span class="cstat-no" title="statement not covered" >return false;</span></span>
|
|
@@ -3541,27 +3861,42 @@ function valueDeepEqual(a: unknown, b: unknown): boolean {
|
|
|
3541
3861
|
return false;
|
|
3542
3862
|
}
|
|
3543
3863
|
|
|
3864
|
+
type SchemaLikeForRequired = {
|
|
3865
|
+
type?: string;
|
|
3866
|
+
properties?: Record<string, unknown>;
|
|
3867
|
+
required?: string[];
|
|
3868
|
+
items?: unknown;
|
|
3869
|
+
schema?: string;
|
|
3870
|
+
oneOf?: unknown[];
|
|
3871
|
+
};
|
|
3872
|
+
|
|
3544
3873
|
/**
|
|
3545
3874
|
* Recursively validates that every `required` array (at this level and in nested
|
|
3546
3875
|
* object/array schemas) only contains keys that exist in the same level's `properties`.
|
|
3547
3876
|
* Adds Zod issues with the correct path for invalid required field names.
|
|
3877
|
+
* When schemasByKey is provided, resolves schema references (schema: key) so that
|
|
3878
|
+
* referenced and nested schemas are validated too.
|
|
3548
3879
|
*/
|
|
3549
3880
|
function refineRequiredKeysInSchema(
|
|
3550
|
-
schema:
|
|
3551
|
-
type?: string;
|
|
3552
|
-
properties?: Record<string, unknown>;
|
|
3553
|
-
required?: string[];
|
|
3554
|
-
items?: unknown;
|
|
3555
|
-
},
|
|
3881
|
+
schema: SchemaLikeForRequired,
|
|
3556
3882
|
pathPrefix: (string | number)[],
|
|
3557
3883
|
ctx: z.RefinementCtx,
|
|
3884
|
+
schemasByKey?: Record<string, Schema>,
|
|
3558
3885
|
): void {
|
|
3559
3886
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!schema || typeof schema !== "object") <span class="cstat-no" title="statement not covered" >return;</span>
|
|
3560
3887
|
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3888
|
+
// Resolve schema reference so we validate the referenced schema (and can recurse into it)
|
|
3889
|
+
let current: SchemaLikeForRequired = schema;
|
|
3890
|
+
if (schema.schema && schemasByKey?.[schema.schema]) {
|
|
3891
|
+
current = schemasByKey[schema.schema] as SchemaLikeForRequired;
|
|
3892
|
+
refineRequiredKeysInSchema(current, pathPrefix, ctx, schemasByKey);
|
|
3893
|
+
return;
|
|
3894
|
+
}
|
|
3895
|
+
|
|
3896
|
+
const effectiveType = current.type;
|
|
3897
|
+
const properties = current.properties;
|
|
3898
|
+
const required = current.required;
|
|
3899
|
+
const items = current.items;
|
|
3565
3900
|
|
|
3566
3901
|
if (
|
|
3567
3902
|
effectiveType === "object" &&
|
|
@@ -3587,9 +3922,10 @@ function refineRequiredKeysInSchema(
|
|
|
3587
3922
|
const nested = properties[key];
|
|
3588
3923
|
if (nested && typeof nested === "object") {
|
|
3589
3924
|
refineRequiredKeysInSchema(
|
|
3590
|
-
nested as
|
|
3925
|
+
nested as SchemaLikeForRequired,
|
|
3591
3926
|
[...pathPrefix, "properties", key],
|
|
3592
3927
|
ctx,
|
|
3928
|
+
schemasByKey,
|
|
3593
3929
|
);
|
|
3594
3930
|
}
|
|
3595
3931
|
}
|
|
@@ -3597,20 +3933,22 @@ function refineRequiredKeysInSchema(
|
|
|
3597
3933
|
|
|
3598
3934
|
if (items && typeof items === "object" && !Array.isArray(items)) {
|
|
3599
3935
|
refineRequiredKeysInSchema(
|
|
3600
|
-
items as
|
|
3936
|
+
items as SchemaLikeForRequired,
|
|
3601
3937
|
[...pathPrefix, "items"],
|
|
3602
3938
|
ctx,
|
|
3939
|
+
schemasByKey,
|
|
3603
3940
|
);
|
|
3604
3941
|
}
|
|
3605
3942
|
|
|
3606
|
-
const oneOf = (
|
|
3943
|
+
const oneOf = (current as { oneOf?: unknown[] }).oneOf;
|
|
3607
3944
|
if (oneOf && Array.isArray(oneOf)) {
|
|
3608
3945
|
oneOf.forEach((branch, i) => {
|
|
3609
3946
|
if (branch && typeof branch === "object") {
|
|
3610
3947
|
refineRequiredKeysInSchema(
|
|
3611
|
-
branch as
|
|
3948
|
+
branch as SchemaLikeForRequired,
|
|
3612
3949
|
[...pathPrefix, "oneOf", i],
|
|
3613
3950
|
ctx,
|
|
3951
|
+
schemasByKey,
|
|
3614
3952
|
);
|
|
3615
3953
|
}
|
|
3616
3954
|
});
|
|
@@ -3690,8 +4028,8 @@ function refineVariableValueArray(
|
|
|
3690
4028
|
schemasByKey,
|
|
3691
4029
|
);
|
|
3692
4030
|
});
|
|
3693
|
-
} else
|
|
3694
|
-
|
|
4031
|
+
} else {
|
|
4032
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!isArrayOfStrings(variableValue)) {
|
|
3695
4033
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
3696
4034
|
code: z.ZodIssueCode.custom,
|
|
3697
4035
|
message: `Variable "${label}" (type array): when \`items\` is not set, array must contain only strings; found non-string element.`,
|
|
@@ -3770,10 +4108,10 @@ function refineVariableValueObject(
|
|
|
3770
4108
|
);
|
|
3771
4109
|
}
|
|
3772
4110
|
}
|
|
3773
|
-
} else
|
|
3774
|
-
|
|
3775
|
-
const propValue =
|
|
3776
|
-
|
|
4111
|
+
} else {
|
|
4112
|
+
for (const key of Object.keys(variableValue)) {
|
|
4113
|
+
const propValue = variableValue[key];
|
|
4114
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!isFlatObjectValue(propValue)) {
|
|
3777
4115
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
3778
4116
|
code: z.ZodIssueCode.custom,
|
|
3779
4117
|
message: `Variable "${label}" is a flat object (no \`properties\` in schema); property "${key}" must be a primitive (string, number, boolean, or null), got: ${typeof propValue}`,
|
|
@@ -3795,15 +4133,21 @@ function refineVariableValueObject(
|
|
|
3795
4133
|
}
|
|
3796
4134
|
}
|
|
3797
4135
|
|
|
4136
|
+
/** Schema or variable schema (e.g. type "json", defaultValue); used for value validation. */
|
|
4137
|
+
type VariableSchemaLike =
|
|
4138
|
+
| (Omit<Schema, "type"> & { type?: SchemaType | "json" })
|
|
4139
|
+
| null
|
|
4140
|
+
| undefined;
|
|
4141
|
+
|
|
3798
4142
|
function superRefineVariableValue(
|
|
3799
4143
|
projectConfig: ProjectConfig,
|
|
3800
|
-
variableSchema,
|
|
3801
|
-
variableValue,
|
|
3802
|
-
path,
|
|
3803
|
-
ctx,
|
|
4144
|
+
variableSchema: VariableSchemaLike,
|
|
4145
|
+
variableValue: unknown,
|
|
4146
|
+
path: (string | number)[],
|
|
4147
|
+
ctx: z.RefinementCtx,
|
|
3804
4148
|
variableKey?: string,
|
|
3805
4149
|
schemasByKey?: Record<string, Schema>,
|
|
3806
|
-
) {
|
|
4150
|
+
): void {
|
|
3807
4151
|
const label = getVariableLabel(variableSchema, variableKey, path);
|
|
3808
4152
|
|
|
3809
4153
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!variableSchema) {
|
|
@@ -3997,8 +4341,8 @@ function superRefineVariableValue(
|
|
|
3997
4341
|
}
|
|
3998
4342
|
|
|
3999
4343
|
// double — only finite number allowed
|
|
4000
|
-
|
|
4001
|
-
|
|
4344
|
+
if (expectedType === "double") {
|
|
4345
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof variableValue !== "number") {
|
|
4002
4346
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4003
4347
|
code: z.ZodIssueCode.custom,
|
|
4004
4348
|
message: `Variable "${label}" (type double) must be a number; got ${gotType}.`,
|
|
@@ -4006,7 +4350,7 @@ function superRefineVariableValue(
|
|
|
4006
4350
|
});
|
|
4007
4351
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
4008
4352
|
}
|
|
4009
|
-
|
|
4353
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Number.isFinite(variableValue)) {
|
|
4010
4354
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4011
4355
|
code: z.ZodIssueCode.custom,
|
|
4012
4356
|
message: `Variable "${label}" (type double) must be a finite number; got ${variableValue}.`,
|
|
@@ -4014,23 +4358,23 @@ function superRefineVariableValue(
|
|
|
4014
4358
|
});
|
|
4015
4359
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
4016
4360
|
}
|
|
4017
|
-
const doubleMin = (
|
|
4018
|
-
const doubleMax = (
|
|
4019
|
-
|
|
4361
|
+
const doubleMin = (effectiveSchema as { minimum?: number }).minimum;
|
|
4362
|
+
const doubleMax = (effectiveSchema as { maximum?: number }).maximum;
|
|
4363
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (doubleMin !== undefined && variableValue < doubleMin) {
|
|
4020
4364
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4021
4365
|
code: z.ZodIssueCode.custom,
|
|
4022
4366
|
message: `Variable "${label}" (type double) must be >= minimum (${doubleMin}); got ${variableValue}.`,
|
|
4023
4367
|
path,
|
|
4024
4368
|
});
|
|
4025
4369
|
}
|
|
4026
|
-
|
|
4370
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (doubleMax !== undefined && variableValue > doubleMax) {
|
|
4027
4371
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4028
4372
|
code: z.ZodIssueCode.custom,
|
|
4029
4373
|
message: `Variable "${label}" (type double) must be <= maximum (${doubleMax}); got ${variableValue}.`,
|
|
4030
4374
|
path,
|
|
4031
4375
|
});
|
|
4032
4376
|
}
|
|
4033
|
-
|
|
4377
|
+
return;
|
|
4034
4378
|
}
|
|
4035
4379
|
|
|
4036
4380
|
// boolean — only boolean allowed
|
|
@@ -4104,8 +4448,8 @@ function superRefineVariableValue(
|
|
|
4104
4448
|
}
|
|
4105
4449
|
|
|
4106
4450
|
// json — only string containing valid JSON allowed
|
|
4107
|
-
|
|
4108
|
-
|
|
4451
|
+
if (expectedType === "json") {
|
|
4452
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof variableValue !== "string") {
|
|
4109
4453
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4110
4454
|
code: z.ZodIssueCode.custom,
|
|
4111
4455
|
message: `Variable "${label}" (type json) must be a string (JSON string); got ${gotType}.`,
|
|
@@ -4113,10 +4457,10 @@ function superRefineVariableValue(
|
|
|
4113
4457
|
});
|
|
4114
4458
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
4115
4459
|
}
|
|
4116
|
-
|
|
4117
|
-
|
|
4460
|
+
try {
|
|
4461
|
+
JSON.parse(variableValue);
|
|
4118
4462
|
|
|
4119
|
-
|
|
4463
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (projectConfig.maxVariableJSONStringifiedLength) {
|
|
4120
4464
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (variableValue.length > projectConfig.maxVariableJSONStringifiedLength) {</span>
|
|
4121
4465
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4122
4466
|
code: z.ZodIssueCode.custom,
|
|
@@ -4134,7 +4478,7 @@ function superRefineVariableValue(
|
|
|
4134
4478
|
});
|
|
4135
4479
|
}
|
|
4136
4480
|
|
|
4137
|
-
|
|
4481
|
+
return;
|
|
4138
4482
|
}
|
|
4139
4483
|
|
|
4140
4484
|
// Unknown variable type — schema is invalid or unsupported
|
|
@@ -4145,6 +4489,66 @@ function superRefineVariableValue(
|
|
|
4145
4489
|
});
|
|
4146
4490
|
}
|
|
4147
4491
|
|
|
4492
|
+
/**
|
|
4493
|
+
* Validate a single variable entry (key + value) in variables map.
|
|
4494
|
+
* Key may be a root variable name or mutation notation (e.g. "config.width", "items[0].name").
|
|
4495
|
+
*/
|
|
4496
|
+
function refineVariableEntry(
|
|
4497
|
+
projectConfig: ProjectConfig,
|
|
4498
|
+
variableSchemaByKey: Record<string, unknown>,
|
|
4499
|
+
variableKey: string,
|
|
4500
|
+
variableValue: unknown,
|
|
4501
|
+
path: (string | number)[],
|
|
4502
|
+
ctx: z.RefinementCtx,
|
|
4503
|
+
schemasByKey?: Record<string, Schema>,
|
|
4504
|
+
): void {
|
|
4505
|
+
if (isMutationKey(variableKey)) {
|
|
4506
|
+
const validation = validateMutationKey(
|
|
4507
|
+
variableKey,
|
|
4508
|
+
variableSchemaByKey as Record<string, Schema>,
|
|
4509
|
+
schemasByKey,
|
|
4510
|
+
);
|
|
4511
|
+
if (!validation.valid && validation.error) {
|
|
4512
|
+
ctx.addIssue({
|
|
4513
|
+
code: z.ZodIssueCode.custom,
|
|
4514
|
+
message: validation.error,
|
|
4515
|
+
path,
|
|
4516
|
+
});
|
|
4517
|
+
return;
|
|
4518
|
+
}
|
|
4519
|
+
if (validation.valueSchema) {
|
|
4520
|
+
superRefineVariableValue(
|
|
4521
|
+
projectConfig,
|
|
4522
|
+
validation.valueSchema,
|
|
4523
|
+
variableValue,
|
|
4524
|
+
path,
|
|
4525
|
+
ctx,
|
|
4526
|
+
variableKey,
|
|
4527
|
+
schemasByKey,
|
|
4528
|
+
);
|
|
4529
|
+
}
|
|
4530
|
+
return;
|
|
4531
|
+
}
|
|
4532
|
+
const variableSchema = variableSchemaByKey[variableKey];
|
|
4533
|
+
if (!variableSchema) {
|
|
4534
|
+
ctx.addIssue({
|
|
4535
|
+
code: z.ZodIssueCode.custom,
|
|
4536
|
+
message: `Variable "${variableKey}" is not defined in \`variablesSchema\`.`,
|
|
4537
|
+
path,
|
|
4538
|
+
});
|
|
4539
|
+
return;
|
|
4540
|
+
}
|
|
4541
|
+
superRefineVariableValue(
|
|
4542
|
+
projectConfig,
|
|
4543
|
+
variableSchema as Parameters<typeof superRefineVariableValue>[1],
|
|
4544
|
+
variableValue,
|
|
4545
|
+
path,
|
|
4546
|
+
ctx,
|
|
4547
|
+
variableKey,
|
|
4548
|
+
schemasByKey,
|
|
4549
|
+
);
|
|
4550
|
+
}
|
|
4551
|
+
|
|
4148
4552
|
function refineForce({
|
|
4149
4553
|
ctx,
|
|
4150
4554
|
parsedFeature, // eslint-disable-line
|
|
@@ -4170,24 +4574,15 @@ function refineForce({
|
|
|
4170
4574
|
// force[n].variables[key]
|
|
4171
4575
|
if (f.variables) {
|
|
4172
4576
|
Object.keys(f.variables).forEach((variableKey) => {
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
projectConfig,
|
|
4183
|
-
variableSchema,
|
|
4184
|
-
f.variables[variableKey],
|
|
4185
|
-
pathPrefix.concat([fN, "variables", variableKey]),
|
|
4186
|
-
ctx,
|
|
4187
|
-
variableKey,
|
|
4188
|
-
schemasByKey,
|
|
4189
|
-
);
|
|
4190
|
-
}
|
|
4577
|
+
refineVariableEntry(
|
|
4578
|
+
projectConfig,
|
|
4579
|
+
variableSchemaByKey,
|
|
4580
|
+
variableKey,
|
|
4581
|
+
f.variables[variableKey],
|
|
4582
|
+
pathPrefix.concat([fN, "variables", variableKey]),
|
|
4583
|
+
ctx,
|
|
4584
|
+
schemasByKey,
|
|
4585
|
+
);
|
|
4191
4586
|
});
|
|
4192
4587
|
}
|
|
4193
4588
|
});
|
|
@@ -4207,30 +4602,21 @@ function refineRules({
|
|
|
4207
4602
|
// rules[n].variables[key]
|
|
4208
4603
|
if (rule.variables) {
|
|
4209
4604
|
Object.keys(rule.variables).forEach((variableKey) => {
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
projectConfig,
|
|
4220
|
-
variableSchema,
|
|
4221
|
-
rule.variables[variableKey],
|
|
4222
|
-
pathPrefix.concat([ruleN, "variables", variableKey]),
|
|
4223
|
-
ctx,
|
|
4224
|
-
variableKey,
|
|
4225
|
-
schemasByKey,
|
|
4226
|
-
);
|
|
4227
|
-
}
|
|
4605
|
+
refineVariableEntry(
|
|
4606
|
+
projectConfig,
|
|
4607
|
+
variableSchemaByKey,
|
|
4608
|
+
variableKey,
|
|
4609
|
+
rule.variables[variableKey],
|
|
4610
|
+
pathPrefix.concat([ruleN, "variables", variableKey]),
|
|
4611
|
+
ctx,
|
|
4612
|
+
schemasByKey,
|
|
4613
|
+
);
|
|
4228
4614
|
});
|
|
4229
4615
|
}
|
|
4230
4616
|
|
|
4231
4617
|
// rules[n].variationWeights
|
|
4232
|
-
|
|
4233
|
-
<span class="
|
|
4618
|
+
if (rule.variationWeights) {
|
|
4619
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!parsedFeature.variations) {
|
|
4234
4620
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4235
4621
|
code: z.ZodIssueCode.custom,
|
|
4236
4622
|
message:
|
|
@@ -4238,11 +4624,11 @@ function refineRules({
|
|
|
4238
4624
|
path: pathPrefix.concat([ruleN, "variationWeights"]),
|
|
4239
4625
|
});
|
|
4240
4626
|
} else {
|
|
4241
|
-
const overriddenVariationValues =
|
|
4242
|
-
const overriddenVariationWeights: number[] =
|
|
4627
|
+
const overriddenVariationValues = Object.keys(rule.variationWeights);
|
|
4628
|
+
const overriddenVariationWeights: number[] = Object.values(rule.variationWeights);
|
|
4243
4629
|
|
|
4244
4630
|
// unique keys
|
|
4245
|
-
|
|
4631
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (overriddenVariationValues.length !== new Set(overriddenVariationValues).size) {
|
|
4246
4632
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4247
4633
|
code: z.ZodIssueCode.custom,
|
|
4248
4634
|
message:
|
|
@@ -4253,11 +4639,11 @@ function refineRules({
|
|
|
4253
4639
|
}
|
|
4254
4640
|
|
|
4255
4641
|
// all original variations must be used
|
|
4256
|
-
const missingVariations =
|
|
4257
|
-
|
|
4642
|
+
const missingVariations = variationValues.filter(
|
|
4643
|
+
(v) => !overriddenVariationValues.includes(v),
|
|
4258
4644
|
);
|
|
4259
4645
|
|
|
4260
|
-
|
|
4646
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (missingVariations.length > 0) {
|
|
4261
4647
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4262
4648
|
code: z.ZodIssueCode.custom,
|
|
4263
4649
|
message: "Missing variations: " + missingVariations.join(", "),
|
|
@@ -4266,11 +4652,11 @@ function refineRules({
|
|
|
4266
4652
|
}
|
|
4267
4653
|
|
|
4268
4654
|
// unknown variations
|
|
4269
|
-
const unknownVariations =
|
|
4270
|
-
|
|
4655
|
+
const unknownVariations = overriddenVariationValues.filter(
|
|
4656
|
+
(v) => !variationValues.includes(v),
|
|
4271
4657
|
);
|
|
4272
4658
|
|
|
4273
|
-
|
|
4659
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (unknownVariations.length > 0) {
|
|
4274
4660
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4275
4661
|
code: z.ZodIssueCode.custom,
|
|
4276
4662
|
message:
|
|
@@ -4280,9 +4666,9 @@ function refineRules({
|
|
|
4280
4666
|
}
|
|
4281
4667
|
|
|
4282
4668
|
// weights sum must be 100
|
|
4283
|
-
const weightsSum =
|
|
4669
|
+
const weightsSum = overriddenVariationWeights.reduce((sum, weight) => sum + weight, 0);
|
|
4284
4670
|
|
|
4285
|
-
|
|
4671
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (weightsSum !== 100) {
|
|
4286
4672
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4287
4673
|
code: z.ZodIssueCode.custom,
|
|
4288
4674
|
message: "Variation weights must sum to 100",
|
|
@@ -4305,6 +4691,7 @@ export function getFeatureZodSchema(
|
|
|
4305
4691
|
) {
|
|
4306
4692
|
const schemaZodSchema = getSchemaZodSchema(availableSchemaKeys);
|
|
4307
4693
|
const variableValueZodSchema = valueZodSchema;
|
|
4694
|
+
const variableValueOrNullZodSchema = z.union([valueZodSchema, z.null()]);
|
|
4308
4695
|
|
|
4309
4696
|
const variationValueZodSchema = z.string().min(1);
|
|
4310
4697
|
|
|
@@ -4318,17 +4705,17 @@ export function getFeatureZodSchema(
|
|
|
4318
4705
|
const andOrNotGroupSegment = z.union([
|
|
4319
4706
|
z
|
|
4320
4707
|
.object({
|
|
4321
|
-
and: z.array(z.lazy(
|
|
4708
|
+
and: z.array(z.lazy(() => groupSegmentZodSchema)),
|
|
4322
4709
|
})
|
|
4323
4710
|
.strict(),
|
|
4324
4711
|
z
|
|
4325
4712
|
.object({
|
|
4326
|
-
or: z.array(z.lazy(
|
|
4713
|
+
or: z.array(z.lazy(() => groupSegmentZodSchema)),
|
|
4327
4714
|
})
|
|
4328
4715
|
.strict(),
|
|
4329
4716
|
z
|
|
4330
4717
|
.object({
|
|
4331
|
-
not: z.array(z.lazy(
|
|
4718
|
+
not: z.array(z.lazy(() => groupSegmentZodSchema)),
|
|
4332
4719
|
})
|
|
4333
4720
|
.strict(),
|
|
4334
4721
|
]);
|
|
@@ -4338,7 +4725,7 @@ export function getFeatureZodSchema(
|
|
|
4338
4725
|
const groupSegmentsZodSchema = z.union([z.array(groupSegmentZodSchema), groupSegmentZodSchema]);
|
|
4339
4726
|
|
|
4340
4727
|
const exposeSchema = z
|
|
4341
|
-
.union([z.boolean(), z.array(z.string().refine(
|
|
4728
|
+
.union([z.boolean(), z.array(z.string().refine((value) => projectConfig.tags.includes(value)))])
|
|
4342
4729
|
.optional();
|
|
4343
4730
|
|
|
4344
4731
|
const rulesSchema = z
|
|
@@ -4352,7 +4739,7 @@ export function getFeatureZodSchema(
|
|
|
4352
4739
|
|
|
4353
4740
|
enabled: z.boolean().optional(),
|
|
4354
4741
|
variation: variationValueZodSchema.optional(),
|
|
4355
|
-
variables: z.record(
|
|
4742
|
+
variables: z.record(variableValueOrNullZodSchema).optional(),
|
|
4356
4743
|
variationWeights: z.record(z.number().min(0).max(100)).optional(),
|
|
4357
4744
|
})
|
|
4358
4745
|
.strict(),
|
|
@@ -4400,7 +4787,7 @@ export function getFeatureZodSchema(
|
|
|
4400
4787
|
segments: groupSegmentsZodSchema,
|
|
4401
4788
|
enabled: z.boolean().optional(),
|
|
4402
4789
|
variation: variationValueZodSchema.optional(),
|
|
4403
|
-
variables: z.record(
|
|
4790
|
+
variables: z.record(variableValueOrNullZodSchema).optional(),
|
|
4404
4791
|
})
|
|
4405
4792
|
.strict(),
|
|
4406
4793
|
z
|
|
@@ -4408,7 +4795,7 @@ export function getFeatureZodSchema(
|
|
|
4408
4795
|
conditions: conditionsZodSchema,
|
|
4409
4796
|
enabled: z.boolean().optional(),
|
|
4410
4797
|
variation: variationValueZodSchema.optional(),
|
|
4411
|
-
variables: z.record(
|
|
4798
|
+
variables: z.record(variableValueOrNullZodSchema).optional(),
|
|
4412
4799
|
})
|
|
4413
4800
|
.strict(),
|
|
4414
4801
|
]),
|
|
@@ -4423,7 +4810,7 @@ export function getFeatureZodSchema(
|
|
|
4423
4810
|
);
|
|
4424
4811
|
|
|
4425
4812
|
const featureKeyZodSchema = z.string().refine(
|
|
4426
|
-
|
|
4813
|
+
(value) => availableFeatureKeys.includes(value),
|
|
4427
4814
|
<span class="fstat-no" title="function not covered" > (v</span>alue) => (<span class="cstat-no" title="statement not covered" >{</span>
|
|
4428
4815
|
message: `Unknown feature "${value}"`,
|
|
4429
4816
|
}),
|
|
@@ -4590,11 +4977,12 @@ export function getFeatureZodSchema(
|
|
|
4590
4977
|
});
|
|
4591
4978
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
4592
4979
|
}
|
|
4593
|
-
// Validate required ⊆ properties at this level and in all nested object schemas
|
|
4980
|
+
// Validate required ⊆ properties at this level and in all nested object schemas (resolve refs when schemasByKey provided)
|
|
4594
4981
|
refineRequiredKeysInSchema(
|
|
4595
|
-
variableSchema as
|
|
4982
|
+
variableSchema as SchemaLikeForRequired,
|
|
4596
4983
|
[],
|
|
4597
4984
|
ctx,
|
|
4985
|
+
schemasByKey,
|
|
4598
4986
|
);
|
|
4599
4987
|
}),
|
|
4600
4988
|
)
|
|
@@ -4609,7 +4997,7 @@ export function getFeatureZodSchema(
|
|
|
4609
4997
|
description: z.string().optional(),
|
|
4610
4998
|
value: variationValueZodSchema,
|
|
4611
4999
|
weight: z.number().min(0).max(100),
|
|
4612
|
-
variables: z.record(
|
|
5000
|
+
variables: z.record(variableValueOrNullZodSchema).optional(),
|
|
4613
5001
|
variableOverrides: z
|
|
4614
5002
|
.record(
|
|
4615
5003
|
z.array(
|
|
@@ -4662,17 +5050,17 @@ export function getFeatureZodSchema(
|
|
|
4662
5050
|
.strict()
|
|
4663
5051
|
.superRefine((value, ctx) => {
|
|
4664
5052
|
// disabledVariationValue
|
|
4665
|
-
|
|
4666
|
-
<span class="
|
|
5053
|
+
if (value.disabledVariationValue) {
|
|
5054
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!value.variations) {
|
|
4667
5055
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4668
5056
|
code: z.ZodIssueCode.custom,
|
|
4669
5057
|
message: "Disabled variation value is set, but no variations are present in feature.",
|
|
4670
5058
|
path: ["disabledVariationValue"],
|
|
4671
5059
|
});
|
|
4672
5060
|
} else {
|
|
4673
|
-
const variationValues =
|
|
5061
|
+
const variationValues = value.variations.map((v) => v.value);
|
|
4674
5062
|
|
|
4675
|
-
|
|
5063
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (variationValues.indexOf(value.disabledVariationValue) === -1) {
|
|
4676
5064
|
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
4677
5065
|
code: z.ZodIssueCode.custom,
|
|
4678
5066
|
message: `Disabled variation value "${value.disabledVariationValue}" is not one of the defined variations: ${variationValues.join(", ")}`,
|
|
@@ -4682,8 +5070,8 @@ export function getFeatureZodSchema(
|
|
|
4682
5070
|
}
|
|
4683
5071
|
}
|
|
4684
5072
|
|
|
4685
|
-
|
|
4686
|
-
|
|
5073
|
+
if (!value.variablesSchema) {
|
|
5074
|
+
return;
|
|
4687
5075
|
}
|
|
4688
5076
|
|
|
4689
5077
|
// Every variable value is validated against its schema from variablesSchema. Sources covered:
|
|
@@ -4703,6 +5091,28 @@ export function getFeatureZodSchema(
|
|
|
4703
5091
|
const variableKeys = Object.keys(variableSchemaByKey);
|
|
4704
5092
|
variableKeys.forEach((variableKey) => {
|
|
4705
5093
|
const variableSchema = variableSchemaByKey[variableKey];
|
|
5094
|
+
|
|
5095
|
+
// When variable references a schema by name, ensure it resolves and validate the referenced schema
|
|
5096
|
+
if ("schema" in variableSchema && variableSchema.schema) {
|
|
5097
|
+
const resolvedSchema = resolveVariableSchema(
|
|
5098
|
+
variableSchema as Parameters<typeof resolveVariableSchema>[0],
|
|
5099
|
+
schemasByKey,
|
|
5100
|
+
);
|
|
5101
|
+
if (!resolvedSchema) {
|
|
5102
|
+
ctx.addIssue({
|
|
5103
|
+
code: z.ZodIssueCode.custom,
|
|
5104
|
+
message: `Schema "${variableSchema.schema}" could not be loaded for variable "${variableKey}".`,
|
|
5105
|
+
path: ["variablesSchema", variableKey],
|
|
5106
|
+
});
|
|
5107
|
+
} else {
|
|
5108
|
+
refineRequiredKeysInSchema(
|
|
5109
|
+
resolvedSchema as SchemaLikeForRequired,
|
|
5110
|
+
["variablesSchema", variableKey],
|
|
5111
|
+
ctx,
|
|
5112
|
+
schemasByKey,
|
|
5113
|
+
);
|
|
5114
|
+
}
|
|
5115
|
+
}
|
|
4706
5116
|
|
|
4707
5117
|
// When type and enum are both present, all enum values must match the type
|
|
4708
5118
|
const effectiveSchema = resolveVariableSchema(variableSchema, schemasByKey);
|
|
@@ -4778,32 +5188,21 @@ export function getFeatureZodSchema(
|
|
|
4778
5188
|
// variations[n].variables[key]
|
|
4779
5189
|
if (variation.variables) {
|
|
4780
5190
|
for (const variableKey of Object.keys(variation.variables)) {
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
4785
|
-
|
|
4786
|
-
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
|
|
4790
|
-
superRefineVariableValue(
|
|
4791
|
-
projectConfig,
|
|
4792
|
-
variableSchema,
|
|
4793
|
-
variableValue,
|
|
4794
|
-
["variations", variationN, "variables", variableKey],
|
|
4795
|
-
ctx,
|
|
4796
|
-
variableKey,
|
|
4797
|
-
schemasByKey,
|
|
4798
|
-
);
|
|
4799
|
-
}
|
|
5191
|
+
refineVariableEntry(
|
|
5192
|
+
projectConfig,
|
|
5193
|
+
variableSchemaByKey,
|
|
5194
|
+
variableKey,
|
|
5195
|
+
variation.variables[variableKey],
|
|
5196
|
+
["variations", variationN, "variables", variableKey],
|
|
5197
|
+
ctx,
|
|
5198
|
+
schemasByKey,
|
|
5199
|
+
);
|
|
4800
5200
|
}
|
|
4801
5201
|
}
|
|
4802
5202
|
|
|
4803
|
-
// variations[n].variableOverrides[key][].value (
|
|
5203
|
+
// variations[n].variableOverrides[key][].value (path-map or full value)
|
|
4804
5204
|
if (variation.variableOverrides) {
|
|
4805
5205
|
for (const variableKey of Object.keys(variation.variableOverrides)) {
|
|
4806
|
-
const overrides = variation.variableOverrides[variableKey];
|
|
4807
5206
|
const variableSchema = variableSchemaByKey[variableKey];
|
|
4808
5207
|
if (!variableSchema) {
|
|
4809
5208
|
ctx.addIssue({
|
|
@@ -4811,26 +5210,98 @@ export function getFeatureZodSchema(
|
|
|
4811
5210
|
message: `Variable "${variableKey}" is not defined in \`variablesSchema\`.`,
|
|
4812
5211
|
path: ["variations", variationN, "variableOverrides", variableKey],
|
|
4813
5212
|
});
|
|
4814
|
-
|
|
4815
|
-
|
|
5213
|
+
continue;
|
|
5214
|
+
}
|
|
5215
|
+
// When variable references a schema by name, ensure it can be resolved
|
|
5216
|
+
const variableSchemaWithRef = variableSchema as { schema?: string };
|
|
5217
|
+
if (variableSchemaWithRef.schema) {
|
|
5218
|
+
const resolvedVarSchema = resolveVariableSchema(
|
|
5219
|
+
variableSchema as Parameters<typeof resolveVariableSchema>[0],
|
|
5220
|
+
schemasByKey,
|
|
5221
|
+
);
|
|
5222
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!resolvedVarSchema) {
|
|
5223
|
+
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
5224
|
+
code: z.ZodIssueCode.custom,
|
|
5225
|
+
message: `Schema "${variableSchemaWithRef.schema}" could not be loaded for variable "${variableKey}".`,
|
|
5226
|
+
path: ["variations", variationN, "variableOverrides", variableKey],
|
|
5227
|
+
});
|
|
5228
|
+
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
5229
|
+
}
|
|
5230
|
+
}
|
|
5231
|
+
const overrides = variation.variableOverrides[variableKey];
|
|
5232
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Array.isArray(overrides)) <span class="cstat-no" title="statement not covered" >continue;</span>
|
|
5233
|
+
overrides.forEach((override, overrideN) => {
|
|
5234
|
+
const overrideValue = override.value;
|
|
5235
|
+
const valuePath = [
|
|
5236
|
+
"variations",
|
|
5237
|
+
variationN,
|
|
5238
|
+
"variableOverrides",
|
|
5239
|
+
variableKey,
|
|
5240
|
+
overrideN,
|
|
5241
|
+
"value",
|
|
5242
|
+
];
|
|
5243
|
+
if (
|
|
5244
|
+
typeof overrideValue === "object" &&
|
|
5245
|
+
overrideValue !== null &&
|
|
5246
|
+
!Array.isArray(overrideValue)
|
|
5247
|
+
) {
|
|
5248
|
+
const pathMap = overrideValue as Record<string, unknown>;
|
|
5249
|
+
for (const pathKey of Object.keys(pathMap)) {
|
|
5250
|
+
const pathSegments = parsePathMapKey(pathKey);
|
|
5251
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!pathSegments || pathSegments.length === 0) {
|
|
5252
|
+
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
5253
|
+
code: z.ZodIssueCode.custom,
|
|
5254
|
+
message: `Invalid mutation path "${pathKey}" in variableOverride for "${variableKey}".`,
|
|
5255
|
+
path: [...valuePath, pathKey],
|
|
5256
|
+
});
|
|
5257
|
+
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
5258
|
+
}
|
|
5259
|
+
const atPathSchema = resolveSchemaAtPath(
|
|
5260
|
+
variableSchema as Schema,
|
|
5261
|
+
pathSegments,
|
|
5262
|
+
schemasByKey,
|
|
5263
|
+
);
|
|
5264
|
+
if (!atPathSchema) {
|
|
5265
|
+
const effectiveSchema = resolveVariableSchema(
|
|
5266
|
+
variableSchema as Parameters<typeof resolveVariableSchema>[0],
|
|
5267
|
+
schemasByKey,
|
|
5268
|
+
);
|
|
5269
|
+
const isFlatObject =
|
|
5270
|
+
effectiveSchema?.type === "object" &&
|
|
5271
|
+
(!effectiveSchema.properties ||
|
|
5272
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > Object.keys(effectiveSchema.properties).length === 0)</span>;
|
|
5273
|
+
if (isFlatObject) {
|
|
5274
|
+
continue;
|
|
5275
|
+
}
|
|
5276
|
+
<span class="cstat-no" title="statement not covered" > ctx.addIssue({</span>
|
|
5277
|
+
code: z.ZodIssueCode.custom,
|
|
5278
|
+
message: `Path "${pathKey}" is invalid for variable "${variableKey}" (not in schema).`,
|
|
5279
|
+
path: [...valuePath, pathKey],
|
|
5280
|
+
});
|
|
5281
|
+
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
5282
|
+
}
|
|
5283
|
+
superRefineVariableValue(
|
|
5284
|
+
projectConfig,
|
|
5285
|
+
atPathSchema,
|
|
5286
|
+
pathMap[pathKey],
|
|
5287
|
+
[...valuePath, pathKey],
|
|
5288
|
+
ctx,
|
|
5289
|
+
pathKey,
|
|
5290
|
+
schemasByKey,
|
|
5291
|
+
);
|
|
5292
|
+
}
|
|
5293
|
+
} else {
|
|
4816
5294
|
superRefineVariableValue(
|
|
4817
5295
|
projectConfig,
|
|
4818
|
-
variableSchema,
|
|
4819
|
-
|
|
4820
|
-
|
|
4821
|
-
"variations",
|
|
4822
|
-
variationN,
|
|
4823
|
-
"variableOverrides",
|
|
4824
|
-
variableKey,
|
|
4825
|
-
overrideN,
|
|
4826
|
-
"value",
|
|
4827
|
-
],
|
|
5296
|
+
variableSchema as Parameters<typeof superRefineVariableValue>[1],
|
|
5297
|
+
overrideValue,
|
|
5298
|
+
valuePath,
|
|
4828
5299
|
ctx,
|
|
4829
5300
|
variableKey,
|
|
4830
5301
|
schemasByKey,
|
|
4831
5302
|
);
|
|
4832
|
-
}
|
|
4833
|
-
}
|
|
5303
|
+
}
|
|
5304
|
+
});
|
|
4834
5305
|
}
|
|
4835
5306
|
}
|
|
4836
5307
|
});
|
|
@@ -4909,7 +5380,7 @@ export function getFeatureZodSchema(
|
|
|
4909
5380
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
4910
5381
|
Code coverage generated by
|
|
4911
5382
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
4912
|
-
at 2026-02-
|
|
5383
|
+
at 2026-02-24T19:50:30.107Z
|
|
4913
5384
|
</div>
|
|
4914
5385
|
<script src="../prettify.js"></script>
|
|
4915
5386
|
<script>
|