<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>144409</bug_id>
          
          <creation_ts>2015-04-29 14:31:56 -0700</creation_ts>
          <short_desc>DFG Is&lt;Blah&gt; versions of TypeOf should fold based on proven input type</short_desc>
          <delta_ts>2015-04-30 13:57:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>144456</blocked>
    
    <blocked>144396</blocked>
    
    <blocked>144457</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1090155</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-29 14:31:56 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090292</commentid>
    <comment_count>1</comment_count>
      <attachid>252024</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-29 19:09:00 -0700</bug_when>
    <thetext>Created attachment 252024
the patch

Still testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090334</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-29 20:23:20 -0700</bug_when>
    <thetext>It does what it&apos;s supposed to do:


Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on dethklok (MacBookPro9,1).

VMs tested:
&quot;TipOfTree&quot; at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r183602)
&quot;FoldIsBlah&quot; at /Volumes/Data/pizlo/primary/OpenSource/WebKitBuild/Release/jsc (r183602)

Collected 6 samples per benchmark/VM, with 6 VM invocations per benchmark. Emitted a call to gc() between sample measurements.
Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level
timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds.

                                                        TipOfTree                 FoldIsBlah                                    
SunSpider:
   3d-cube                                            5.2610+-0.1213     ?      5.2811+-0.2528        ?
   3d-morph                                           5.7855+-0.1552            5.7697+-0.0938        
   3d-raytrace                                        6.5436+-0.0971            6.5284+-0.1011        
   access-binary-trees                                2.2102+-0.1125     ?      2.3667+-0.1526        ? might be 1.0708x slower
   access-fannkuch                                    6.1268+-0.1568            6.0251+-0.1672          might be 1.0169x faster
   access-nbody                                       2.9449+-0.2493            2.9333+-0.1166        
   access-nsieve                                      3.5039+-0.3858            3.3274+-0.0819          might be 1.0530x faster
   bitops-3bit-bits-in-byte                           1.5420+-0.0198     ?      1.6050+-0.1333        ? might be 1.0408x slower
   bitops-bits-in-byte                                3.5162+-0.3204            3.3079+-0.0479          might be 1.0630x faster
   bitops-bitwise-and                                 2.1493+-0.0512     ?      2.1748+-0.1285        ? might be 1.0119x slower
   bitops-nsieve-bits                                 3.3182+-0.0456     !      3.5651+-0.1523        ! definitely 1.0744x slower
   controlflow-recursive                              2.2133+-0.0352     ?      2.5216+-0.2904        ? might be 1.1393x slower
   crypto-aes                                         4.5183+-0.1988     ?      5.0359+-1.5961        ? might be 1.1146x slower
   crypto-md5                                         2.7415+-0.0895     ?      2.7568+-0.0833        ?
   crypto-sha1                                        2.6805+-0.2632     ?      2.7939+-0.2711        ? might be 1.0423x slower
   date-format-tofte                                  9.4432+-0.3644     ?      9.4707+-0.2448        ?
   date-format-xparb                                  5.7747+-0.1343     ?      6.2277+-1.1668        ? might be 1.0784x slower
   math-cordic                                        3.1809+-0.1085            3.0951+-0.0874          might be 1.0278x faster
   math-partial-sums                                  5.1880+-0.0965     ?      5.6412+-0.6819        ? might be 1.0873x slower
   math-spectral-norm                                 1.9288+-0.0801     ?      2.1010+-0.5351        ? might be 1.0893x slower
   regexp-dna                                         7.1833+-0.1074     ?      7.2404+-0.1635        ?
   string-base64                                      4.8807+-0.6855            4.7254+-0.1520          might be 1.0329x faster
   string-fasta                                       6.6701+-0.1634     ?      6.7811+-0.1199        ? might be 1.0166x slower
   string-tagcloud                                   10.1338+-1.2562            9.7338+-0.7593          might be 1.0411x faster
   string-unpack-code                                19.3707+-0.5095           19.2923+-0.5401        
   string-validate-input                              4.8741+-0.0724     ?      4.9320+-0.1224        ? might be 1.0119x slower

   &lt;arithmetic&gt;                                       5.1417+-0.0295     ?      5.2013+-0.0988        ? might be 1.0116x slower

                                                        TipOfTree                 FoldIsBlah                                    
LongSpider:
   3d-cube                                          868.6934+-6.8360     ?    871.6991+-10.5941       ?
   3d-morph                                        1544.5434+-17.3147        1535.7220+-11.7650       
   3d-raytrace                                      736.0288+-8.4675          733.5576+-3.5679        
   access-binary-trees                             1029.4556+-10.9870    ?   1036.4010+-6.6175        ?
   access-fannkuch                                  336.1115+-10.7271         327.2042+-10.8364         might be 1.0272x faster
   access-nbody                                     613.7266+-5.4490          610.9593+-1.0358        
   access-nsieve                                    875.0171+-10.5312         865.8153+-6.7859          might be 1.0106x faster
   bitops-3bit-bits-in-byte                          44.4884+-0.3732     ?     44.6268+-1.1091        ?
   bitops-bits-in-byte                              101.7821+-2.2440          101.7027+-0.7973        
   bitops-nsieve-bits                               639.3554+-6.6857          635.5459+-4.4406        
   controlflow-recursive                            481.0785+-6.7660     ?    486.2969+-5.7704        ? might be 1.0108x slower
   crypto-aes                                       705.5277+-6.6785          703.4562+-6.3806        
   crypto-md5                                       526.6530+-7.8721          526.3613+-2.7357        
   crypto-sha1                                      601.4713+-7.1349     ?    605.9780+-6.8395        ?
   date-format-tofte                                758.7179+-21.3598         752.3047+-9.0901        
   date-format-xparb                                789.2549+-20.7571         779.7400+-19.6860         might be 1.0122x faster
   math-cordic                                      591.1934+-2.8824     ?    594.9815+-5.9344        ?
   math-partial-sums                                505.2236+-2.1672     ?    506.8837+-3.1804        ?
   math-spectral-norm                               568.1899+-4.6489          567.1621+-7.2049        
   string-base64                                    382.0851+-8.5571     ?    382.7267+-5.8275        ?
   string-fasta                                     435.7965+-3.2067     ?    447.3440+-9.4899        ? might be 1.0265x slower
   string-tagcloud                                  199.5548+-3.8283          195.6214+-2.2307          might be 1.0201x faster

   &lt;geometric&gt;                                      495.1639+-2.5517          494.3915+-1.2266          might be 1.0016x faster

                                                        TipOfTree                 FoldIsBlah                                    
V8Spider:
   crypto                                            56.9185+-0.3052           56.1290+-1.2766          might be 1.0141x faster
   deltablue                                         96.6147+-6.3703     ?     99.0321+-5.8147        ? might be 1.0250x slower
   earley-boyer                                      45.2196+-1.2658           44.6857+-0.7687          might be 1.0119x faster
   raytrace                                          43.3547+-3.7774           40.9347+-2.4339          might be 1.0591x faster
   regexp                                            81.5682+-2.2262     ?     83.2183+-1.4530        ? might be 1.0202x slower
   richards                                          80.3209+-1.3411           79.6392+-1.7077        
   splay                                             39.7518+-2.2404     ?     40.6357+-1.1468        ? might be 1.0222x slower

   &lt;geometric&gt;                                       59.9732+-0.6617           59.7836+-0.7339          might be 1.0032x faster

                                                        TipOfTree                 FoldIsBlah                                    
Octane:
   encrypt                                           0.20366+-0.00330    ?     0.20477+-0.00285       ?
   decrypt                                           3.56541+-0.03834    ?     3.56699+-0.03218       ?
   deltablue                                x2       0.20864+-0.00129    ?     0.21020+-0.00216       ?
   earley                                            0.54143+-0.00471          0.53910+-0.00371       
   boyer                                             6.68674+-0.05515    ?     6.69482+-0.05382       ?
   navier-stokes                            x2       5.18831+-0.02146    ?     5.24120+-0.06621       ? might be 1.0102x slower
   raytrace                                 x2       1.28965+-0.03072          1.26824+-0.04897         might be 1.0169x faster
   richards                                 x2       0.12335+-0.00154    ?     0.12448+-0.00157       ?
   splay                                    x2       0.40000+-0.00391    ?     0.40837+-0.00549       ? might be 1.0209x slower
   regexp                                   x2      32.04929+-0.45371         31.99113+-0.36325       
   pdfjs                                    x2      43.87325+-0.25958         43.83434+-0.29194       
   mandreel                                 x2      50.31402+-0.48082    ?    50.32067+-0.53803       ?
   gbemu                                    x2      41.73607+-0.82586    ?    43.38834+-3.02163       ? might be 1.0396x slower
   closure                                           0.58709+-0.07663          0.55757+-0.00956         might be 1.0529x faster
   jquery                                            7.11774+-0.05949    ?     7.11924+-0.08514       ?
   box2d                                    x2      12.29127+-0.10848         12.27133+-0.06598       
   zlib                                     x2     395.10438+-3.31505        393.50321+-1.42687       
   typescript                               x2     844.99215+-3.33247        841.41182+-19.68099      

   &lt;geometric&gt;                                       6.75079+-0.02566    ?     6.76592+-0.05121       ? might be 1.0022x slower

                                                        TipOfTree                 FoldIsBlah                                    
Kraken:
   ai-astar                                          271.942+-3.198      ?     272.878+-5.767         ?
   audio-beat-detection                              107.501+-0.846            106.814+-0.939         
   audio-dft                                         151.276+-2.275      ?     193.630+-111.157       ? might be 1.2800x slower
   audio-fft                                          85.567+-4.584      ?      88.278+-0.439         ? might be 1.0317x slower
   audio-oscillator                                  207.813+-1.983      ?     208.504+-1.708         ?
   imaging-darkroom                                  105.783+-2.479      ?     106.436+-1.390         ?
   imaging-desaturate                                 63.263+-1.156             63.134+-1.569         
   imaging-gaussian-blur                             124.920+-32.832           112.924+-2.749           might be 1.1062x faster
   json-parse-financial                               44.339+-1.020      ?      45.028+-1.365         ? might be 1.0156x slower
   json-stringify-tinderbox                           57.321+-2.138      ?      57.583+-2.523         ?
   stanford-crypto-aes                                63.625+-0.681      ?      63.664+-1.978         ?
   stanford-crypto-ccm                                58.618+-6.446      ?      60.403+-6.447         ? might be 1.0305x slower
   stanford-crypto-pbkdf2                            169.979+-4.976            167.222+-2.439           might be 1.0165x faster
   stanford-crypto-sha256-iterative                   56.589+-2.118      ?      57.910+-3.978         ? might be 1.0234x slower

   &lt;arithmetic&gt;                                      112.038+-2.104      ?     114.601+-7.899         ? might be 1.0229x slower

                                                        TipOfTree                 FoldIsBlah                                    
JSRegress:
   abs-boolean                                        2.6576+-0.0622     ?      2.6859+-0.0981        ? might be 1.0106x slower
   adapt-to-double-divide                            16.6764+-0.2840     ?     16.6771+-0.1814        ?
   aliased-arguments-getbyval                         1.2059+-0.0473     ?      1.2826+-0.1462        ? might be 1.0636x slower
   allocate-big-object                                2.9055+-0.1524            2.7994+-0.1188          might be 1.0379x faster
   arguments-named-and-reflective                    13.5117+-1.2725           13.3837+-1.6732        
   arguments-out-of-bounds                           15.1315+-0.6946           14.8483+-0.2693          might be 1.0191x faster
   arguments-strict-mode                             12.2786+-1.2116     ?     12.3051+-0.8687        ?
   arguments                                         10.9340+-0.5914     ?     10.9540+-1.3167        ?
   arity-mismatch-inlining                            0.8319+-0.0310     ?      0.9137+-0.1515        ? might be 1.0983x slower
   array-access-polymorphic-structure                 6.8551+-0.1090     ?      6.8722+-0.1701        ?
   array-nonarray-polymorhpic-access                 35.1698+-1.1291           34.3298+-1.6032          might be 1.0245x faster
   array-prototype-every                             85.4472+-1.9845     ?     87.7153+-2.2740        ? might be 1.0265x slower
   array-prototype-forEach                           86.4113+-2.2794           86.2933+-1.3926        
   array-prototype-map                               94.1704+-0.9604     ?     95.3857+-4.1657        ? might be 1.0129x slower
   array-prototype-some                              88.1468+-3.5634     ?     89.9835+-2.7073        ? might be 1.0208x slower
   array-splice-contiguous                           41.2075+-0.4822     !     44.0875+-1.2279        ! definitely 1.0699x slower
   array-with-double-add                              4.3391+-0.5129            4.2444+-0.3134          might be 1.0223x faster
   array-with-double-increment                        3.2355+-0.1160            3.2003+-0.0431          might be 1.0110x faster
   array-with-double-mul-add                          5.0886+-0.1228            5.0696+-0.1935        
   array-with-double-sum                              3.2782+-0.0427     ?      3.4124+-0.2946        ? might be 1.0409x slower
   array-with-int32-add-sub                           6.8074+-0.1059     ?      6.8462+-0.2516        ?
   array-with-int32-or-double-sum                     3.3016+-0.0244     ?      3.3654+-0.1779        ? might be 1.0193x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     34.3882+-1.5373           33.3022+-2.3218          might be 1.0326x faster
   ArrayBuffer-DataView-alloc-long-lived             14.4486+-1.3930           14.0585+-1.3957          might be 1.0277x faster
   ArrayBuffer-Int32Array-byteOffset                  3.9732+-0.5173            3.8178+-0.0324          might be 1.0407x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     34.6740+-1.9976           34.3195+-1.5334          might be 1.0103x faster
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     23.8030+-1.8852           22.4767+-1.6632          might be 1.0590x faster
   ArrayBuffer-Int8Array-alloc-long-lived            14.1178+-1.7080     ?     14.5058+-1.4409        ? might be 1.0275x slower
   ArrayBuffer-Int8Array-alloc                       12.8990+-1.3015           11.1895+-1.1278          might be 1.1528x faster
   asmjs_bool_bug                                     7.6908+-0.1702            7.6796+-0.1195        
   assign-custom-setter-polymorphic                   3.6495+-0.5814            3.4661+-0.7953          might be 1.0529x faster
   assign-custom-setter                               4.4061+-0.0532     ?      4.6346+-0.5924        ? might be 1.0519x slower
   basic-set                                          8.4917+-0.1894     ?      8.5509+-0.2291        ?
   big-int-mul                                        4.0031+-0.0700     ?      4.0511+-0.1338        ? might be 1.0120x slower
   boolean-test                                       3.0793+-0.1168            3.0550+-0.0651        
   branch-fold                                        3.7983+-0.1182            3.6663+-0.0164          might be 1.0360x faster
   branch-on-string-as-boolean                       19.4959+-1.7217           18.8952+-0.3727          might be 1.0318x faster
   by-val-generic                                     8.0457+-0.1962     ?      8.1750+-0.4530        ? might be 1.0161x slower
   call-spread-apply                                 31.0175+-1.3321           30.7705+-1.0941        
   call-spread-call                                  26.2174+-1.6686           25.4056+-1.0949          might be 1.0320x faster
   captured-assignments                               0.4519+-0.0490            0.4516+-0.0434        
   cast-int-to-double                                 5.3283+-0.1321     ?      5.3783+-0.1624        ?
   cell-argument                                      8.7884+-0.7384     ?      9.1040+-1.3719        ? might be 1.0359x slower
   cfg-simplify                                       3.1684+-0.1403            2.9930+-0.1533          might be 1.0586x faster
   chain-getter-access                                9.8873+-0.2174     ?      9.9914+-0.1270        ? might be 1.0105x slower
   cmpeq-obj-to-obj-other                            11.4972+-0.9663     ?     11.8498+-0.9773        ? might be 1.0307x slower
   constant-test                                      4.9467+-0.0332     ?      5.1197+-0.3400        ? might be 1.0350x slower
   create-lots-of-functions                          11.8760+-0.3358           11.7226+-0.4166          might be 1.0131x faster
   DataView-custom-properties                        38.6459+-2.4500     ?     43.0361+-11.5513       ? might be 1.1136x slower
   deconstructing-parameters-overridden-by-function   
                                                      0.4847+-0.0153     ?      0.5122+-0.0591        ? might be 1.0568x slower
   delay-tear-off-arguments-strictmode               13.9255+-0.2830     ?     14.4712+-0.9842        ? might be 1.0392x slower
   deltablue-varargs                                202.3660+-4.4151          201.3988+-1.7813        
   destructuring-arguments                           17.9991+-0.2734     ?     18.1127+-0.6722        ?
   destructuring-swap                                 5.1476+-0.1274            5.0725+-0.0693          might be 1.0148x faster
   direct-arguments-getbyval                          1.1880+-0.0455     ?      1.3286+-0.2541        ? might be 1.1184x slower
   div-boolean-double                                 5.2109+-0.0196            5.2099+-0.0416        
   div-boolean                                        7.8565+-0.1031            7.8395+-0.1848        
   double-get-by-val-out-of-bounds                    4.7616+-0.3240            4.6103+-0.1077          might be 1.0328x faster
   double-pollution-getbyval                          8.8204+-0.0555     ?      8.9080+-0.1094        ?
   double-pollution-putbyoffset                       4.4505+-0.2939            4.3272+-0.1393          might be 1.0285x faster
   double-to-int32-typed-array-no-inline              2.2884+-0.0680     ?      2.3346+-0.1510        ? might be 1.0202x slower
   double-to-int32-typed-array                        1.9030+-0.1340            1.8853+-0.0265        
   double-to-uint32-typed-array-no-inline             2.3720+-0.1044            2.3204+-0.0858          might be 1.0222x faster
   double-to-uint32-typed-array                       2.0135+-0.0995     ?      2.1860+-0.2923        ? might be 1.0857x slower
   elidable-new-object-dag                           43.9347+-1.2466     ?     45.0214+-1.0428        ? might be 1.0247x slower
   elidable-new-object-roflcopter                    46.9397+-1.7342           46.4719+-1.5962          might be 1.0101x faster
   elidable-new-object-then-call                     40.3896+-2.5322           39.5664+-1.6921          might be 1.0208x faster
   elidable-new-object-tree                          46.1445+-1.1312           45.7276+-1.3513        
   empty-string-plus-int                              5.4235+-0.0891     ?      5.4489+-0.1078        ?
   emscripten-cube2hash                              39.0290+-0.6292           38.2794+-1.3493          might be 1.0196x faster
   exit-length-on-plain-object                       14.2246+-0.4898     ?     14.2627+-1.1455        ?
   external-arguments-getbyval                        1.2017+-0.0482     ?      1.2048+-0.0828        ?
   external-arguments-putbyval                        2.3820+-0.2210            2.3343+-0.0830          might be 1.0204x faster
   fixed-typed-array-storage-var-index                1.1840+-0.0284     ?      1.2260+-0.0500        ? might be 1.0355x slower
   fixed-typed-array-storage                          0.9203+-0.0296     ?      0.9364+-0.0473        ? might be 1.0176x slower
   Float32Array-matrix-mult                           4.6278+-0.1766            4.4976+-0.1987          might be 1.0290x faster
   Float32Array-to-Float64Array-set                  54.9849+-2.0625           52.9318+-2.1678          might be 1.0388x faster
   Float64Array-alloc-long-lived                     74.4717+-1.7357           74.1218+-1.7699        
   Float64Array-to-Int16Array-set                    70.8234+-0.9020           68.9178+-1.7952          might be 1.0277x faster
   fold-double-to-int                                13.4824+-0.3441     ?     13.5234+-0.2073        ?
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.8145+-0.9158     ?     10.9875+-1.7530        ? might be 1.0160x slower
   fold-get-by-id-to-multi-get-by-offset             10.4703+-0.9141            9.9562+-0.6480          might be 1.0516x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      9.6538+-0.9802            9.3356+-0.9043          might be 1.0341x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      9.4618+-1.1665            9.1536+-0.8509          might be 1.0337x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      8.0766+-1.8154     ?      8.1603+-2.0506        ? might be 1.0104x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                      4.9979+-0.3844     ?      6.0584+-1.0555        ? might be 1.2122x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.9265+-0.5881            9.4904+-0.3691          might be 1.0459x faster
   fold-put-by-id-to-multi-put-by-offset              9.7052+-1.3129     ?     10.6948+-2.3605        ? might be 1.1020x slower
   fold-put-structure                                 5.2018+-1.3240     ?      5.2837+-0.7865        ? might be 1.0157x slower
   for-of-iterate-array-entries                       4.7422+-0.3224     ?      4.7495+-0.1511        ?
   for-of-iterate-array-keys                          3.8935+-0.2601     ?      3.9462+-0.3051        ? might be 1.0135x slower
   for-of-iterate-array-values                        3.8407+-0.4328            3.7636+-0.1787          might be 1.0205x faster
   fround                                            20.9087+-0.8683     ?     21.2120+-0.6869        ? might be 1.0145x slower
   ftl-library-inlining-dataview                     70.9073+-2.1370     ?     75.6340+-3.9097        ? might be 1.0667x slower
   ftl-library-inlining                              68.2472+-5.8347     ?     73.1604+-17.2495       ? might be 1.0720x slower
   function-dot-apply                                 2.2190+-0.0903     ?      2.2461+-0.1111        ? might be 1.0122x slower
   function-test                                      3.3764+-0.0502            3.3555+-0.0441        
   function-with-eval                               103.8232+-1.6769     ?    107.6781+-3.4381        ? might be 1.0371x slower
   gcse-poly-get-less-obvious                        19.3468+-1.5737           18.8837+-0.4572          might be 1.0245x faster
   gcse-poly-get                                     23.8755+-2.3392           20.9290+-1.3896          might be 1.1408x faster
   gcse                                               4.3862+-0.1743     ?      4.5142+-0.3840        ? might be 1.0292x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.8381+-0.3450            2.7202+-0.0270          might be 1.0433x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.1273+-0.2016     ?      6.4647+-0.8681        ? might be 1.0551x slower
   get-by-id-chain-from-try-block                     6.8701+-0.5861     ?      7.0145+-1.0968        ? might be 1.0210x slower
   get-by-id-check-structure-elimination              5.2145+-0.1571            5.1291+-0.1123          might be 1.0167x faster
   get-by-id-proto-or-self                           16.9018+-0.3993     ?     17.0398+-0.7763        ?
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.1590+-0.0409     ?      3.1592+-0.0752        ?
   get-by-id-self-or-proto                           17.4526+-0.6151     ?     17.5573+-0.4369        ?
   get-by-val-out-of-bounds                           4.3864+-0.0987     ?      4.4825+-0.1771        ? might be 1.0219x slower
   get_callee_monomorphic                             2.8551+-0.0287            2.8525+-0.0626        
   get_callee_polymorphic                             3.9913+-0.3747            3.9897+-0.3701        
   getter-no-activation                               5.1497+-0.2868     ?      5.1563+-0.3623        ?
   getter-richards                                  128.4798+-5.5793          125.1778+-8.5036          might be 1.0264x faster
   getter                                             5.5380+-0.5822            5.2870+-0.0816          might be 1.0475x faster
   global-var-const-infer-fire-from-opt               0.9585+-0.0880     ?      0.9976+-0.1074        ? might be 1.0409x slower
   global-var-const-infer                             0.8036+-0.1625            0.7875+-0.0897          might be 1.0204x faster
   HashMap-put-get-iterate-keys                      25.8281+-0.3680           25.5144+-0.3283          might be 1.0123x faster
   HashMap-put-get-iterate                           25.8216+-0.6348     ?     26.1025+-0.8089        ? might be 1.0109x slower
   HashMap-string-put-get-iterate                    27.5682+-1.2896     ?     27.7568+-0.9607        ?
   hoist-make-rope                                   12.5433+-0.9591           12.0017+-0.9200          might be 1.0451x faster
   hoist-poly-check-structure-effectful-loop   
                                                      5.0051+-0.0302            4.9889+-0.0800        
   hoist-poly-check-structure                         3.7888+-0.2620            3.7878+-0.3036        
   imul-double-only                                   9.0203+-0.2175            8.9681+-0.0967        
   imul-int-only                                     10.0196+-1.0350            9.8348+-0.1542          might be 1.0188x faster
   imul-mixed                                         8.8040+-0.5540            8.1346+-0.7197          might be 1.0823x faster
   in-four-cases                                     20.8022+-0.3605           20.7765+-0.3384        
   in-one-case-false                                 10.0623+-0.4273     ?     10.1017+-0.4241        ?
   in-one-case-true                                  10.3684+-0.7062     ?     10.4381+-0.8373        ?
   in-two-cases                                      10.5227+-0.5210     ?     10.6548+-0.4627        ? might be 1.0125x slower
   indexed-properties-in-objects                      3.1468+-0.2926            2.9322+-0.0735          might be 1.0732x faster
   infer-closure-const-then-mov-no-inline             4.1066+-0.5415            3.9011+-0.0490          might be 1.0527x faster
   infer-closure-const-then-mov                      20.0209+-0.4314           19.7923+-0.2651          might be 1.0115x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     14.7142+-1.5015           14.1711+-0.2605          might be 1.0383x faster
   infer-closure-const-then-put-to-scope             24.3993+-1.7550           22.7433+-0.3291          might be 1.0728x faster
   infer-closure-const-then-reenter-no-inline   
                                                     62.0204+-0.6946     ?     63.8149+-3.2131        ? might be 1.0289x slower
   infer-closure-const-then-reenter                  24.2881+-1.9825           22.6379+-1.1500          might be 1.0729x faster
   infer-constant-global-property                    31.7634+-2.0068           30.6290+-1.8043          might be 1.0370x faster
   infer-constant-property                            2.7424+-0.1451            2.6933+-0.0405          might be 1.0182x faster
   infer-one-time-closure-ten-vars                   12.6663+-0.8497     ?     12.8798+-1.7744        ? might be 1.0169x slower
   infer-one-time-closure-two-vars                   12.7852+-0.9268           12.1309+-0.2812          might be 1.0539x faster
   infer-one-time-closure                            12.1813+-0.2177     ?     12.5691+-0.8221        ? might be 1.0318x slower
   infer-one-time-deep-closure                       21.4611+-1.4856     ?     21.7780+-1.8407        ? might be 1.0148x slower
   inline-arguments-access                            4.7032+-0.1891            4.6945+-0.1278        
   inline-arguments-aliased-access                    4.6884+-0.1585            4.6560+-0.0713        
   inline-arguments-local-escape                      4.6879+-0.2062     ?      5.0073+-0.4371        ? might be 1.0681x slower
   inline-get-scoped-var                              4.8397+-0.2344            4.8105+-0.1567        
   inlined-put-by-id-transition                      11.5747+-0.4792     ?     11.8219+-0.6791        ? might be 1.0214x slower
   int-or-other-abs-then-get-by-val                   4.7325+-0.1123     ?      4.7459+-0.1350        ?
   int-or-other-abs-zero-then-get-by-val             18.0419+-1.6808           17.7602+-1.2442          might be 1.0159x faster
   int-or-other-add-then-get-by-val                   4.2987+-0.1367            4.2637+-0.1247        
   int-or-other-add                                   5.3776+-0.1156            5.2940+-0.0385          might be 1.0158x faster
   int-or-other-div-then-get-by-val                   4.4419+-0.2560            4.3608+-0.2073          might be 1.0186x faster
   int-or-other-max-then-get-by-val                   4.4617+-0.3489     ?      4.5244+-0.4704        ? might be 1.0141x slower
   int-or-other-min-then-get-by-val                   4.3472+-0.0565     ?      4.3489+-0.0359        ?
   int-or-other-mod-then-get-by-val                   3.9375+-0.0471     ?      4.0462+-0.3314        ? might be 1.0276x slower
   int-or-other-mul-then-get-by-val                   4.0022+-0.1286            3.9799+-0.0497        
   int-or-other-neg-then-get-by-val                   4.4675+-0.0295     ?      4.5227+-0.1101        ? might be 1.0124x slower
   int-or-other-neg-zero-then-get-by-val             17.1338+-0.8893     ?     17.4510+-0.5830        ? might be 1.0185x slower
   int-or-other-sub-then-get-by-val                   4.6231+-0.1877            4.6073+-0.1823        
   int-or-other-sub                                   3.5216+-0.1098            3.5027+-0.0668        
   int-overflow-local                                 4.6921+-0.3901            4.6120+-0.1922          might be 1.0174x faster
   Int16Array-alloc-long-lived                       53.7392+-1.8850     ?     54.4996+-1.3866        ? might be 1.0142x slower
   Int16Array-bubble-sort-with-byteLength            20.5927+-0.6093     ?     20.7932+-0.8476        ?
   Int16Array-bubble-sort                            20.0695+-0.6877           19.8360+-0.4930          might be 1.0118x faster
   Int16Array-load-int-mul                            1.5050+-0.0788     ?      1.5509+-0.0862        ? might be 1.0305x slower
   Int16Array-to-Int32Array-set                      61.9548+-2.4041           58.1052+-1.9099          might be 1.0663x faster
   Int32Array-alloc-large                            24.4725+-0.9827           24.1066+-0.3357          might be 1.0152x faster
   Int32Array-alloc-long-lived                       57.5936+-1.2319     ?     58.2113+-2.1739        ? might be 1.0107x slower
   Int32Array-alloc                                   3.6345+-0.1338     ?      3.7371+-0.5404        ? might be 1.0282x slower
   Int32Array-Int8Array-view-alloc                    7.3162+-1.1495     ?      7.3319+-1.1637        ?
   int52-spill                                        6.3260+-0.1092     ?      6.5047+-0.4289        ? might be 1.0282x slower
   Int8Array-alloc-long-lived                        48.1070+-1.5969           47.2887+-1.4996          might be 1.0173x faster
   Int8Array-load-with-byteLength                     3.4161+-0.3352     ?      3.4886+-0.4271        ? might be 1.0212x slower
   Int8Array-load                                     3.3034+-0.0434     ?      3.6947+-0.4725        ? might be 1.1184x slower
   integer-divide                                    11.1332+-0.1493     ?     13.0127+-4.1950        ? might be 1.1688x slower
   integer-modulo                                     1.9992+-0.0466     ?      2.1167+-0.2469        ? might be 1.0588x slower
   is-boolean-fold-tricky                             5.3254+-0.1103     ^      4.4845+-0.2330        ^ definitely 1.1875x faster
   is-boolean-fold                                    2.8415+-0.0277     ?      3.0622+-0.3728        ? might be 1.0777x slower
   is-function-fold-tricky-internal-function   
                                                     15.2441+-0.5253           11.9410+-3.6012          might be 1.2766x faster
   is-function-fold-tricky                           16.2594+-2.4491     ^      4.5770+-0.1619        ^ definitely 3.5524x faster
   is-function-fold                                  12.5079+-0.1675     ^      2.8848+-0.0402        ^ definitely 4.3359x faster
   is-number-fold-tricky                              5.1844+-0.1885     ^      4.4674+-0.1355        ^ definitely 1.1605x faster
   is-number-fold                                     2.9054+-0.1235            2.8795+-0.0305        
   is-object-or-null-fold-functions                  18.8031+-0.2281     ^      2.9311+-0.0453        ^ definitely 6.4151x faster
   is-object-or-null-fold-less-tricky                16.6032+-0.2791     ^      4.9160+-0.5560        ^ definitely 3.3774x faster
   is-object-or-null-fold-tricky                     14.6773+-0.5991     ^     10.2738+-0.1510        ^ definitely 1.4286x faster
   is-object-or-null-fold                            10.4629+-0.1587     ^      2.8806+-0.0421        ^ definitely 3.6322x faster
   is-object-or-null-trickier-function               21.3890+-2.3949     ^      4.7566+-0.4651        ^ definitely 4.4967x faster
   is-object-or-null-trickier-internal-function   
                                                     31.5799+-0.5380     ^     12.2450+-0.1646        ^ definitely 2.5790x faster
   is-object-or-null-tricky-function                 18.6182+-0.2800     ^      4.7802+-0.5477        ^ definitely 3.8949x faster
   is-object-or-null-tricky-internal-function   
                                                     18.6525+-0.3458     ^     11.2524+-0.8940        ^ definitely 1.6577x faster
   is-string-fold-tricky                              5.1039+-0.0668     ^      4.4264+-0.0747        ^ definitely 1.1531x faster
   is-string-fold                                     2.8575+-0.1055     ?      2.8850+-0.1186        ?
   is-undefined-fold-tricky                           5.1275+-0.1105     ^      3.7208+-0.0757        ^ definitely 1.3781x faster
   is-undefined-fold                                  2.8188+-0.0120     ?      2.8588+-0.0433        ? might be 1.0142x slower
   large-int-captured                                 4.6454+-0.1038            4.6146+-0.0457        
   large-int-neg                                     16.9751+-0.8886           16.2770+-0.2843          might be 1.0429x faster
   large-int                                         15.6923+-1.0037           14.8199+-0.2996          might be 1.0589x faster
   logical-not                                        4.4917+-0.0485     ?      4.6403+-0.3471        ? might be 1.0331x slower
   lots-of-fields                                    13.1913+-0.3255     ?     13.2432+-1.3816        ?
   make-indexed-storage                               3.2306+-0.2434            3.1528+-0.0420          might be 1.0247x faster
   make-rope-cse                                      4.7127+-0.0523     ?      5.1588+-0.4929        ? might be 1.0947x slower
   marsaglia-larger-ints                             36.8829+-1.0653           36.7664+-1.6635        
   marsaglia-osr-entry                               23.9945+-1.6797     ?     24.2979+-1.8659        ? might be 1.0126x slower
   max-boolean                                        2.6837+-0.2960     ?      2.7535+-0.4027        ? might be 1.0260x slower
   method-on-number                                  17.6158+-1.4936           17.3346+-0.9374          might be 1.0162x faster
   min-boolean                                        2.6106+-0.3014            2.5965+-0.2698        
   minus-boolean-double                               3.1605+-0.0757     ?      3.2035+-0.1225        ? might be 1.0136x slower
   minus-boolean                                      2.3108+-0.0523     ?      2.3136+-0.0432        ?
   misc-strict-eq                                    37.6885+-0.4912     ?     39.0426+-3.0718        ? might be 1.0359x slower
   mod-boolean-double                                10.9871+-0.2617     ?     11.5501+-1.4258        ? might be 1.0512x slower
   mod-boolean                                        8.0769+-0.3018            7.8550+-0.0971          might be 1.0282x faster
   mul-boolean-double                                 3.7809+-0.1535     ?      3.8528+-0.3510        ? might be 1.0190x slower
   mul-boolean                                        2.9122+-0.0474     ?      3.0124+-0.3611        ? might be 1.0344x slower
   neg-boolean                                        3.2286+-0.1270            3.1429+-0.0143          might be 1.0273x faster
   negative-zero-divide                               0.3510+-0.0284     ?      0.3739+-0.0735        ? might be 1.0652x slower
   negative-zero-modulo                               0.3623+-0.0298     ?      0.3695+-0.0537        ? might be 1.0198x slower
   negative-zero-negate                               0.3493+-0.0443            0.3444+-0.0308          might be 1.0143x faster
   nested-function-parsing                           38.9496+-0.6625     ?     39.5966+-1.8867        ? might be 1.0166x slower
   new-array-buffer-dead                            113.4202+-2.7946          112.5261+-3.2346        
   new-array-buffer-push                              7.0386+-0.4097     ?      7.5841+-1.0423        ? might be 1.0775x slower
   new-array-dead                                    19.4706+-0.3007     ?     19.6048+-0.5205        ?
   new-array-push                                     4.1698+-0.4449            4.0487+-0.2515          might be 1.0299x faster
   no-inline-constructor                            127.5508+-2.0751     ?    132.9125+-7.1980        ? might be 1.0420x slower
   number-test                                        3.1493+-0.3174            3.0531+-0.0944          might be 1.0315x faster
   object-closure-call                                5.5728+-0.0536     ?      5.6597+-0.1439        ? might be 1.0156x slower
   object-test                                        3.1213+-0.0474     ?      3.1589+-0.0663        ? might be 1.0120x slower
   obvious-sink-pathology-taken                     139.8889+-2.9859     ?    139.9379+-3.8448        ?
   obvious-sink-pathology                           131.5461+-2.5137          130.6448+-1.9774        
   obviously-elidable-new-object                     35.5238+-0.9458     ?     35.7701+-1.1617        ?
   plus-boolean-arith                                 2.6013+-0.3267     ?      2.6067+-0.2130        ?
   plus-boolean-double                                3.2231+-0.1366     ?      3.3150+-0.4066        ? might be 1.0285x slower
   plus-boolean                                       2.3724+-0.0516     ?      2.5158+-0.2942        ? might be 1.0605x slower
   poly-chain-access-different-prototypes-simple   
                                                      3.2810+-0.0423            3.2753+-0.0382        
   poly-chain-access-different-prototypes             2.7953+-0.3338            2.7623+-0.3150          might be 1.0120x faster
   poly-chain-access-simpler                          3.3210+-0.0482     ?      3.3302+-0.1086        ?
   poly-chain-access                                  2.6801+-0.3106     ?      2.6832+-0.3573        ?
   poly-stricteq                                     62.6142+-0.7110     ?     63.0232+-1.6454        ?
   polymorphic-array-call                             1.2470+-0.0678     ?      1.2670+-0.1422        ? might be 1.0160x slower
   polymorphic-get-by-id                              3.0627+-0.0106     ?      3.1496+-0.1146        ? might be 1.0284x slower
   polymorphic-put-by-id                             29.7663+-1.8799     ?     30.2827+-2.4614        ? might be 1.0173x slower
   polymorphic-structure                             14.8317+-0.2456     ?     15.3431+-1.4701        ? might be 1.0345x slower
   polyvariant-monomorphic-get-by-id                  8.4925+-0.1342     ?      8.6759+-0.2780        ? might be 1.0216x slower
   proto-getter-access                               10.0197+-0.2692            9.8596+-0.1270          might be 1.0162x faster
   put-by-id-replace-and-transition                   9.0693+-0.1742     ?      9.3987+-0.4029        ? might be 1.0363x slower
   put-by-id-slightly-polymorphic                     2.9847+-0.3461            2.8353+-0.0921          might be 1.0527x faster
   put-by-id                                         12.5900+-0.2189     ?     12.8452+-0.7343        ? might be 1.0203x slower
   put-by-val-direct                                  0.4535+-0.0147     ?      0.4564+-0.0434        ?
   put-by-val-large-index-blank-indexing-type   
                                                      6.1099+-0.4299     ?      6.2212+-0.7840        ? might be 1.0182x slower
   put-by-val-machine-int                             2.7474+-0.0535     ?      2.8089+-0.1045        ? might be 1.0224x slower
   rare-osr-exit-on-local                            15.0739+-0.7923     ?     15.3748+-0.6131        ? might be 1.0200x slower
   register-pressure-from-osr                        21.7426+-0.9407     ?     22.2926+-1.0330        ? might be 1.0253x slower
   setter                                             5.2087+-0.0346     ?      5.9162+-0.7676        ? might be 1.1358x slower
   simple-activation-demo                            25.0866+-0.5542     ?     25.4041+-0.7005        ? might be 1.0127x slower
   simple-getter-access                              12.9369+-0.2851           12.7710+-0.2335          might be 1.0130x faster
   simple-poly-call-nested                            8.3642+-0.1590     ?      8.3660+-0.7276        ?
   simple-poly-call                                   1.3731+-0.1653            1.2997+-0.0231          might be 1.0564x faster
   sin-boolean                                       22.0888+-1.7627     ?     23.2227+-1.3773        ? might be 1.0513x slower
   singleton-scope                                   68.1133+-2.6654     ?     68.3182+-1.7892        ?
   sink-function                                     12.3454+-0.4233     ?     12.4138+-0.3970        ?
   sinkable-new-object-dag                           71.5422+-2.7663           70.3277+-0.9832          might be 1.0173x faster
   sinkable-new-object-taken                         51.0653+-2.0103     ?     52.2318+-2.2021        ? might be 1.0228x slower
   sinkable-new-object                               38.7879+-1.3308           38.0119+-0.8948          might be 1.0204x faster
   slow-array-profile-convergence                     2.8068+-0.2177     ?      2.8963+-0.3720        ? might be 1.0319x slower
   slow-convergence                                   3.0997+-0.7265            2.6854+-0.1173          might be 1.1543x faster
   sorting-benchmark                                 21.0481+-0.3171     ?     21.1734+-1.3632        ?
   sparse-conditional                                 1.1396+-0.0661            1.1111+-0.0314          might be 1.0256x faster
   splice-to-remove                                  19.3599+-5.6715           17.3307+-1.3943          might be 1.1171x faster
   string-char-code-at                               17.1925+-0.8202     ?     17.3648+-0.6923        ? might be 1.0100x slower
   string-concat-object                               2.6449+-0.3336            2.5447+-0.1113          might be 1.0394x faster
   string-concat-pair-object                          2.5611+-0.1124            2.4989+-0.1287          might be 1.0249x faster
   string-concat-pair-simple                         12.1210+-0.6257           11.5645+-0.3517          might be 1.0481x faster
   string-concat-simple                              12.1548+-0.3215     ?     13.2000+-1.2656        ? might be 1.0860x slower
   string-cons-repeat                                 8.6606+-0.7869     ?      9.0474+-1.2839        ? might be 1.0447x slower
   string-cons-tower                                  8.8308+-1.3643            8.7208+-0.6768          might be 1.0126x faster
   string-equality                                   17.2805+-0.2012     ?     17.9952+-0.8864        ? might be 1.0414x slower
   string-get-by-val-big-char                         7.1317+-0.0413     ?      7.1510+-0.0830        ?
   string-get-by-val-out-of-bounds-insane             3.6396+-0.0694     ?      3.6996+-0.3935        ? might be 1.0165x slower
   string-get-by-val-out-of-bounds                    5.4450+-0.4571     ?      5.5499+-0.5893        ? might be 1.0193x slower
   string-get-by-val                                  3.3460+-0.2189            3.2503+-0.0548          might be 1.0295x faster
   string-hash                                        2.0713+-0.0826            2.0677+-0.0906        
   string-long-ident-equality                        14.8522+-0.1387     ?     15.3895+-1.2405        ? might be 1.0362x slower
   string-out-of-bounds                              15.0181+-0.2470           14.7878+-0.1805          might be 1.0156x faster
   string-repeat-arith                               35.0349+-1.8949           34.2918+-3.1736          might be 1.0217x faster
   string-sub                                        67.2918+-1.5786     ?     69.9045+-2.2325        ? might be 1.0388x slower
   string-test                                        2.9464+-0.0811            2.9163+-0.0629          might be 1.0103x faster
   string-var-equality                               31.0881+-1.7767     ?     31.0886+-1.7123        ?
   structure-hoist-over-transitions                   2.6212+-0.1064            2.6111+-0.0352        
   substring-concat-weird                            41.0883+-1.6963           40.9155+-2.1529        
   substring-concat                                  42.2189+-1.8803           41.3888+-1.4836          might be 1.0201x faster
   substring                                         50.8811+-11.8398          46.7756+-2.4094          might be 1.0878x faster
   switch-char-constant                               2.9069+-0.3947            2.8508+-0.2873          might be 1.0197x faster
   switch-char                                        6.3633+-0.4313     ?      7.1713+-1.1663        ? might be 1.1270x slower
   switch-constant                                    8.4736+-0.2512            8.4186+-0.1651        
   switch-string-basic-big-var                       17.9438+-0.2023     ?     18.0757+-0.4195        ?
   switch-string-basic-big                           14.5613+-0.2968           14.3669+-0.2037          might be 1.0135x faster
   switch-string-basic-var                           14.7063+-0.3132           14.5467+-0.1882          might be 1.0110x faster
   switch-string-basic                               13.6425+-0.1949     ?     13.9233+-0.8417        ? might be 1.0206x slower
   switch-string-big-length-tower-var                21.0173+-1.2625           19.9904+-0.3106          might be 1.0514x faster
   switch-string-length-tower-var                    15.0854+-0.2331           15.0344+-0.2002        
   switch-string-length-tower                        12.9213+-0.2369     ?     12.9533+-0.2459        ?
   switch-string-short                               12.9173+-0.1752     ?     13.1503+-0.7745        ? might be 1.0180x slower
   switch                                            12.8895+-0.4363           12.7389+-0.2431          might be 1.0118x faster
   tear-off-arguments-simple                          3.5260+-0.1324     ?      3.6181+-0.3585        ? might be 1.0261x slower
   tear-off-arguments                                 4.7555+-0.1425            4.7000+-0.0655          might be 1.0118x faster
   temporal-structure                                12.2438+-0.1357     ?     12.7726+-0.7764        ? might be 1.0432x slower
   to-int32-boolean                                  13.6422+-0.2302     ?     13.7109+-0.2328        ?
   try-catch-get-by-val-cloned-arguments             14.2351+-0.3125     ?     14.9941+-1.2235        ? might be 1.0533x slower
   try-catch-get-by-val-direct-arguments              7.0021+-0.9508            6.7189+-0.4487          might be 1.0422x faster
   try-catch-get-by-val-scoped-arguments              8.1255+-1.2016            7.6999+-0.0669          might be 1.0553x faster
   typed-array-get-set-by-val-profiling              32.9836+-1.8624           32.2769+-1.3573          might be 1.0219x faster
   undefined-property-access                        356.0950+-4.0361     ?    357.7859+-4.8363        ?
   undefined-test                                     2.9857+-0.0304     ?      3.1329+-0.3297        ? might be 1.0493x slower
   unprofiled-licm                                   22.7273+-0.4916     ?     23.2182+-1.3617        ? might be 1.0216x slower
   varargs-call                                      16.2501+-0.9024     ?     17.1578+-1.6560        ? might be 1.0559x slower
   varargs-construct-inline                          23.6442+-1.2437     ?     23.6948+-1.2821        ?
   varargs-construct                                 32.4065+-1.1448           32.0650+-0.6574          might be 1.0106x faster
   varargs-inline                                     9.4469+-0.2503            9.4359+-0.3915        
   varargs-strict-mode                               10.7025+-0.5020           10.4381+-0.3853          might be 1.0253x faster
   varargs                                           10.4140+-0.3348           10.3570+-0.3704        
   weird-inlining-const-prop                          2.4380+-0.1603            2.4024+-0.1703          might be 1.0148x faster

   &lt;geometric&gt;                                        8.9439+-0.0364     ^      8.6154+-0.0321        ^ definitely 1.0381x faster

                                                        TipOfTree                 FoldIsBlah                                    
AsmBench:
   bigfib.cpp                                       494.9396+-3.0249     ?    496.1057+-3.0249        ?
   cray.c                                           426.6335+-3.8815          426.4317+-2.9753        
   dry.c                                            483.3765+-11.3398    ?    487.5221+-6.9016        ?
   FloatMM.c                                        726.2237+-4.8028     ?    726.6427+-3.9020        ?
   gcc-loops.cpp                                   4278.7570+-10.0808    ?   4287.4281+-30.6797       ?
   n-body.c                                         986.5729+-20.9032         986.2310+-6.4806        
   Quicksort.c                                      418.2278+-4.3793     ?    423.6383+-5.5653        ? might be 1.0129x slower
   stepanov_container.cpp                          3613.3713+-19.0866    ?   3625.7378+-26.7286       ?
   Towers.c                                         260.1858+-1.5542     ?    260.7797+-3.3409        ?

   &lt;geometric&gt;                                      792.2613+-2.6007     ?    795.0406+-4.8638        ? might be 1.0035x slower

                                                        TipOfTree                 FoldIsBlah                                    
CompressionBench:
   huffman                                          365.5846+-1.6193          365.0130+-1.0424        
   arithmetic-simple                                399.3677+-4.4459          396.8178+-3.5564        
   arithmetic-precise                               300.6885+-4.0480     ?    302.8547+-3.5969        ?
   arithmetic-complex-precise                       301.8206+-4.2207          300.8603+-5.0576        
   arithmetic-precise-order-0                       430.4602+-8.6024          422.7170+-8.8515          might be 1.0183x faster
   arithmetic-precise-order-1                       331.5404+-5.9680          327.1903+-3.7770          might be 1.0133x faster
   arithmetic-precise-order-2                       363.9191+-10.8945         360.1700+-4.5883          might be 1.0104x faster
   arithmetic-simple-order-1                        429.9393+-6.9327          423.8622+-2.6469          might be 1.0143x faster
   arithmetic-simple-order-2                        478.3743+-17.1646    ?    478.5802+-12.7627       ?
   lz-string                                        328.2728+-7.3738          326.4020+-3.4708        

   &lt;geometric&gt;                                      368.6826+-2.8366          366.3101+-1.9391          might be 1.0065x faster

                                                        TipOfTree                 FoldIsBlah                                    
Geomean of preferred means:
   &lt;scaled-result&gt;                                   64.5559+-0.1593           64.4738+-0.6063          might be 1.0013x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090467</commentid>
    <comment_count>3</comment_count>
      <attachid>252024</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-30 10:16:21 -0700</bug_when>
    <thetext>Comment on attachment 252024
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090476</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-30 10:38:05 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/183629</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090558</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-04-30 13:46:59 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Landed in http://trac.webkit.org/changeset/183629

The followinf new tests assert on Apple Debug bots:
regress/script-tests/is-string-fold-tricky.js
regress/script-tests/is-string-fold.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090560</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-30 13:54:07 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Landed in http://trac.webkit.org/changeset/183629
&gt; 
&gt; The followinf new tests assert on Apple Debug bots:
&gt; regress/script-tests/is-string-fold-tricky.js
&gt; regress/script-tests/is-string-fold.js

Yup.  The new tests revealed a preexisting bug.  I&apos;m skipping them, and I&apos;m looking into the issue.  I&apos;ll probably fix and unskip soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090563</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-30 13:57:00 -0700</bug_when>
    <thetext>Had to skip some tests in http://trac.webkit.org/changeset/183638 and http://trac.webkit.org/changeset/183643.  webkit.org/b/144463 tracks the fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252024</attachid>
            <date>2015-04-29 19:09:00 -0700</date>
            <delta_ts>2015-04-30 10:16:21 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>50667</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgzNjAyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE1LTA0LTI5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIElzPEJsYWg+IHZlcnNpb25zIG9mIFR5cGVPZiBzaG91bGQgZm9sZCBiYXNlZCBvbiBwcm92
ZW4gaW5wdXQgdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ0NDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAg
ICAgIAorICAgICAgICBXZSB3ZXJlIG1pc3Npbmcgc29tZSBvYnZpb3VzIGZvbGRpbmcgb3Bwb3J0
dW5pdGllcyBoZXJlLiBJIGRvbid0IGtub3cgaG93IHRoaXMgYWZmZWN0cyByZWFsCisgICAgICAg
IGNvZGUsIGJ1dCBpbiBnZW5lcmFsLCB3ZSBsaWtlIHRvIGVuc3VyZSB0aGF0IG91ciBjb25zdGFu
dCBmb2xkaW5nIGlzIGNvbXByZWhlbnNpdmUuIFNvIHRoaXMKKyAgICAgICAgaXMgbW9yZSBhYm91
dCBwbGFjYXRpbmcgbXkgc3RhdGljIGFuYWx5c2lzIE9DRCB0aGFuIGFueXRoaW5nIGVsc2UuCisg
ICAgICAgIAorICAgICAgICBJIGFkZGVkIGEgYnVuY2ggb2Ygc3BlZWQvY29ycmVjdG5lc3MgdGVz
dHMgZm9yIHRoaXMgaW4gTGF5b3V0VGVzdHMvanMvcmVncmVzcy4KKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisKIDIw
MTUtMDQtMjkgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBHcmFjZWZ1bGx5IGhhbmRsZSBtaXNzaW5nIGF1dG8gcGF1c2Uga2V5IG9uIHJlbW90ZSBpbnNw
ZWN0b3Igc2V0dXAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJ
bnRlcnByZXRlcklubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHJldmlzaW9uIDE4MzU3NSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtODM0LDM0ICs4MzQsNTEgQEAgYm9vbCBBYnN0cmFjdEludGVy
cHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgIGNhc2UgSXNPYmplY3Q6CiAgICAgY2FzZSBJc09i
amVjdE9yTnVsbDoKICAgICBjYXNlIElzRnVuY3Rpb246IHsKLSAgICAgICAgSlNWYWx1ZSBjaGls
ZCA9IGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLnZhbHVlKCk7Ci0gICAgICAgIGlmIChjaGlsZCkg
eworICAgICAgICBBYnN0cmFjdFZhbHVlIGNoaWxkID0gZm9yTm9kZShub2RlLT5jaGlsZDEoKSk7
CisgICAgICAgIGlmIChjaGlsZC52YWx1ZSgpKSB7CiAgICAgICAgICAgICBib29sIGNvbnN0YW50
V2FzU2V0ID0gdHJ1ZTsKICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgewogICAgICAg
ICAgICAgY2FzZSBJc1VuZGVmaW5lZDoKICAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2Rl
LCBqc0Jvb2xlYW4oCi0gICAgICAgICAgICAgICAgICAgIGNoaWxkLmlzQ2VsbCgpCi0gICAgICAg
ICAgICAgICAgICAgID8gY2hpbGQuYXNDZWxsKCktPnN0cnVjdHVyZSgpLT5tYXNxdWVyYWRlc0Fz
VW5kZWZpbmVkKG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFu
dGljKSkKLSAgICAgICAgICAgICAgICAgICAgOiBjaGlsZC5pc1VuZGVmaW5lZCgpKSk7CisgICAg
ICAgICAgICAgICAgICAgIGNoaWxkLnZhbHVlKCkuaXNDZWxsKCkKKyAgICAgICAgICAgICAgICAg
ICAgPyBjaGlsZC52YWx1ZSgpLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKS0+bWFzcXVlcmFkZXNBc1Vu
ZGVmaW5lZChtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRp
YykpCisgICAgICAgICAgICAgICAgICAgIDogY2hpbGQudmFsdWUoKS5pc1VuZGVmaW5lZCgpKSk7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIElzQm9vbGVhbjoKLSAg
ICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jvb2xlYW4oY2hpbGQuaXNCb29sZWFu
KCkpKTsKKyAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jvb2xlYW4oY2hpbGQu
dmFsdWUoKS5pc0Jvb2xlYW4oKSkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgY2FzZSBJc051bWJlcjoKLSAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jv
b2xlYW4oY2hpbGQuaXNOdW1iZXIoKSkpOworICAgICAgICAgICAgICAgIHNldENvbnN0YW50KG5v
ZGUsIGpzQm9vbGVhbihjaGlsZC52YWx1ZSgpLmlzTnVtYmVyKCkpKTsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGNhc2UgSXNTdHJpbmc6Ci0gICAgICAgICAgICAgICAgc2V0
Q29uc3RhbnQobm9kZSwganNCb29sZWFuKGlzSlNTdHJpbmcoY2hpbGQpKSk7CisgICAgICAgICAg
ICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKGlzSlNTdHJpbmcoY2hpbGQudmFsdWUo
KSkpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgSXNPYmplY3Q6
Ci0gICAgICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKGNoaWxkLmlzT2Jq
ZWN0KCkpKTsKKyAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jvb2xlYW4oY2hp
bGQudmFsdWUoKS5pc09iamVjdCgpKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBjYXNlIElzT2JqZWN0T3JOdWxsOgotICAgICAgICAgICAgICAgIGlmIChjaGlsZC5pc051
bGwoKSB8fCAhY2hpbGQuaXNPYmplY3QoKSkgewotICAgICAgICAgICAgICAgICAgICBzZXRDb25z
dGFudChub2RlLCBqc0Jvb2xlYW4oY2hpbGQuaXNOdWxsKCkpKTsKLSAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNvbnN0YW50V2Fz
U2V0ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgaWYgKGNoaWxkLnZhbHVlKCkuaXNPYmplY3Qo
KSkgeworICAgICAgICAgICAgICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY2hp
bGQudmFsdWUoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChvYmplY3QtPnR5cGUoKSA9PSBK
U0Z1bmN0aW9uVHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldENvbnN0YW50KG5vZGUs
IGpzQm9vbGVhbihmYWxzZSkpOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICghKG9iamVj
dC0+aW5saW5lVHlwZUZsYWdzKCkgJiBUeXBlT2ZTaG91bGRDYWxsR2V0Q2FsbERhdGEpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKCFjaGlsZC52
YWx1ZSgpLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKS0+bWFzcXVlcmFkZXNBc1VuZGVmaW5lZChtX2Nv
ZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYykpKSk7CisgICAg
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0YW50V2Fz
U2V0ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAg
IHNldENvbnN0YW50KG5vZGUsIGpzQm9vbGVhbihjaGlsZC52YWx1ZSgpLmlzTnVsbCgpKSk7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIElzRnVuY3Rpb246CisgICAg
ICAgICAgICAgICAgaWYgKGNoaWxkLnZhbHVlKCkuaXNPYmplY3QoKSkgeworICAgICAgICAgICAg
ICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY2hpbGQudmFsdWUoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChvYmplY3QtPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHNldENvbnN0YW50KG5vZGUsIGpzQm9vbGVhbih0cnVlKSk7
CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCEob2JqZWN0LT5pbmxpbmVUeXBlRmxhZ3Mo
KSAmIFR5cGVPZlNob3VsZENhbGxHZXRDYWxsRGF0YSkpCisgICAgICAgICAgICAgICAgICAgICAg
ICBzZXRDb25zdGFudChub2RlLCBqc0Jvb2xlYW4oZmFsc2UpKTsKKyAgICAgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RhbnRXYXNTZXQgPSBmYWxzZTsK
KyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgc2V0Q29uc3RhbnQo
bm9kZSwganNCb29sZWFuKGZhbHNlKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGNvbnN0YW50V2FzU2V0ID0gZmFsc2U7CkBA
IC04NzAsNyArODg3LDExMCBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0
ZVR5CiAgICAgICAgICAgICBpZiAoY29uc3RhbnRXYXNTZXQpCiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KLQorICAgICAgICAKKyAgICAgICAgYm9vbCBjb25zdGFudFdhc1NldCA9
IGZhbHNlOworICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKKyAgICAgICAgY2FzZSBJc1Vu
ZGVmaW5lZDoKKyAgICAgICAgICAgIC8vIEZJWE1FOiBVc2UgdGhlIG1hc3F1ZXJhZGVzLWFzLXVu
ZGVmaW5lZCB3YXRjaHBvaW50IHRoaW5neS4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYg
KCEoY2hpbGQubV90eXBlICYgKFNwZWNPdGhlciB8IFNwZWNPYmplY3RPdGhlcikpKSB7CisgICAg
ICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKGZhbHNlKSk7CisgICAgICAg
ICAgICAgICAgY29uc3RhbnRXYXNTZXQgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBJc0Jvb2xlYW46CisgICAgICAgICAgICBpZiAoIShjaGlsZC5tX3R5cGUgJiB+U3BlY0Jv
b2xlYW4pKSB7CisgICAgICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKHRy
dWUpKTsKKyAgICAgICAgICAgICAgICBjb25zdGFudFdhc1NldCA9IHRydWU7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlm
ICghKGNoaWxkLm1fdHlwZSAmIFNwZWNCb29sZWFuKSkgeworICAgICAgICAgICAgICAgIHNldENv
bnN0YW50KG5vZGUsIGpzQm9vbGVhbihmYWxzZSkpOworICAgICAgICAgICAgICAgIGNvbnN0YW50
V2FzU2V0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSXNOdW1iZXI6Cisg
ICAgICAgICAgICBpZiAoIShjaGlsZC5tX3R5cGUgJiB+U3BlY0Z1bGxOdW1iZXIpKSB7CisgICAg
ICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKHRydWUpKTsKKyAgICAgICAg
ICAgICAgICBjb25zdGFudFdhc1NldCA9IHRydWU7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghKGNoaWxkLm1fdHlw
ZSAmIFNwZWNGdWxsTnVtYmVyKSkgeworICAgICAgICAgICAgICAgIHNldENvbnN0YW50KG5vZGUs
IGpzQm9vbGVhbihmYWxzZSkpOworICAgICAgICAgICAgICAgIGNvbnN0YW50V2FzU2V0ID0gdHJ1
ZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSXNTdHJpbmc6CisgICAgICAgICAgICBp
ZiAoIShjaGlsZC5tX3R5cGUgJiB+U3BlY1N0cmluZykpIHsKKyAgICAgICAgICAgICAgICBzZXRD
b25zdGFudChub2RlLCBqc0Jvb2xlYW4odHJ1ZSkpOworICAgICAgICAgICAgICAgIGNvbnN0YW50
V2FzU2V0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCEoY2hpbGQubV90eXBlICYgU3BlY1N0cmluZykp
IHsKKyAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jvb2xlYW4oZmFsc2UpKTsK
KyAgICAgICAgICAgICAgICBjb25zdGFudFdhc1NldCA9IHRydWU7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIElzT2JqZWN0OgorICAgICAgICAgICAgaWYgKCEoY2hpbGQubV90eXBlICYg
flNwZWNPYmplY3QpKSB7CisgICAgICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29s
ZWFuKHRydWUpKTsKKyAgICAgICAgICAgICAgICBjb25zdGFudFdhc1NldCA9IHRydWU7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAg
ICAgIGlmICghKGNoaWxkLm1fdHlwZSAmIFNwZWNPYmplY3QpKSB7CisgICAgICAgICAgICAgICAg
c2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKGZhbHNlKSk7CisgICAgICAgICAgICAgICAgY29u
c3RhbnRXYXNTZXQgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBJc09iamVj
dE9yTnVsbDoKKyAgICAgICAgICAgIC8vIEZJWE1FOiBVc2UgdGhlIG1hc3F1ZXJhZGVzLWFzLXVu
ZGVmaW5lZCB3YXRjaHBvaW50IHRoaW5neS4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYg
KCEoY2hpbGQubV90eXBlICYgfihTcGVjT2JqZWN0IC0gU3BlY09iamVjdE90aGVyIC0gU3BlY0Z1
bmN0aW9uKSkpIHsKKyAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jvb2xlYW4o
dHJ1ZSkpOworICAgICAgICAgICAgICAgIGNvbnN0YW50V2FzU2V0ID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAg
aWYgKCEoY2hpbGQubV90eXBlICYgKFNwZWNPYmplY3QgLSBTcGVjRnVuY3Rpb24pKSkgeworICAg
ICAgICAgICAgICAgIHNldENvbnN0YW50KG5vZGUsIGpzQm9vbGVhbihmYWxzZSkpOworICAgICAg
ICAgICAgICAgIGNvbnN0YW50V2FzU2V0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgSXNGdW5jdGlvbjoKKyAgICAgICAgICAgIGlmICghKGNoaWxkLm1fdHlwZSAmIH5TcGVj
RnVuY3Rpb24pKSB7CisgICAgICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFu
KHRydWUpKTsKKyAgICAgICAgICAgICAgICBjb25zdGFudFdhc1NldCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IGlmICghKGNoaWxkLm1fdHlwZSAmIChTcGVjRnVuY3Rpb24gfCBTcGVjT2JqZWN0T3RoZXIpKSkg
eworICAgICAgICAgICAgICAgIHNldENvbnN0YW50KG5vZGUsIGpzQm9vbGVhbihmYWxzZSkpOwor
ICAgICAgICAgICAgICAgIGNvbnN0YW50V2FzU2V0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNvbnN0YW50V2Fz
U2V0KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIAogICAgICAgICBmb3JOb2RlKG5vZGUp
LnNldFR5cGUoU3BlY0Jvb2xlYW4pOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC04OTUsNyAr
MTAxNSw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAoaXNGaW5hbE9i
amVjdFNwZWN1bGF0aW9uKGFic3RyYWN0Q2hpbGQubV90eXBlKSB8fCBpc0FycmF5U3BlY3VsYXRp
b24oYWJzdHJhY3RDaGlsZC5tX3R5cGUpIHx8IGlzRGlyZWN0QXJndW1lbnRzU3BlY3VsYXRpb24o
YWJzdHJhY3RDaGlsZC5tX3R5cGUpIHx8IGlzU2NvcGVkQXJndW1lbnRzU3BlY3VsYXRpb24oYWJz
dHJhY3RDaGlsZC5tX3R5cGUpKSB7CisgICAgICAgIGlmICghKGFic3RyYWN0Q2hpbGQubV90eXBl
ICYgfihTcGVjT2JqZWN0IC0gU3BlY09iamVjdE90aGVyKSkpIHsKICAgICAgICAgICAgIHNldENv
bnN0YW50KG5vZGUsICptX2dyYXBoLmZyZWV6ZSh2bS0+c21hbGxTdHJpbmdzLm9iamVjdFN0cmlu
ZygpKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTgzNjAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsNzcgQEAKKzIwMTUtMDQtMjkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBERkcgSXM8QmxhaD4gdmVyc2lvbnMgb2YgVHlwZU9mIHNob3VsZCBmb2xkIGJhc2Vk
IG9uIHByb3ZlbiBpbnB1dCB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDQ0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtYm9vbGVhbi1mb2xkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9pcy1ib29sZWFuLWZvbGQtdHJpY2t5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9pcy1ib29sZWFuLWZvbGQtdHJp
Y2t5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtYm9vbGVhbi1mb2xkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtZnVuY3Rpb24tZm9sZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtZnVuY3Rpb24tZm9sZC10cmlj
a3ktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL2lzLWZ1bmN0aW9u
LWZvbGQtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICoganMvcmVncmVzcy9pcy1mdW5jdGlvbi1mb2xkLXRyaWNreS1pbnRlcm5hbC1mdW5jdGlv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL2lzLWZ1bmN0aW9uLWZvbGQtdHJp
Y2t5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtZnVuY3Rpb24tZm9sZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL2lzLW51bWJlci1mb2xkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9pcy1udW1iZXItZm9sZC10cmlja3kt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL2lzLW51bWJlci1mb2xk
LXRyaWNreS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL2lzLW51bWJlci1mb2xk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtZm9s
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9y
LW51bGwtZm9sZC1mdW5jdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9y
ZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtZnVuY3Rpb25zLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGpzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtZm9sZC1sZXNzLXRyaWNreS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwt
Zm9sZC1sZXNzLXRyaWNreS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL2lzLW9i
amVjdC1vci1udWxsLWZvbGQtdHJpY2t5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
anMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkLXRyaWNreS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBqcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQuaHRtbDogQWRkZWQuCisg
ICAgICAgICoganMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC10cmlja2llci1mdW5jdGlvbi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51
bGwtdHJpY2tpZXItZnVuY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9p
cy1vYmplY3Qtb3ItbnVsbC10cmlja2llci1pbnRlcm5hbC1mdW5jdGlvbi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtdHJpY2tpZXIt
aW50ZXJuYWwtZnVuY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9pcy1v
YmplY3Qtb3ItbnVsbC10cmlja3ktZnVuY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBqcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLXRyaWNreS1mdW5jdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLXRyaWNreS1pbnRl
cm5hbC1mdW5jdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3Mv
aXMtb2JqZWN0LW9yLW51bGwtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9uLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtc3RyaW5nLWZvbGQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBqcy9yZWdyZXNzL2lzLXN0cmluZy1mb2xkLXRyaWNreS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtc3RyaW5nLWZvbGQtdHJpY2t5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtc3RyaW5nLWZvbGQuaHRtbDogQWRkZWQu
CisgICAgICAgICoganMvcmVncmVzcy9pcy11bmRlZmluZWQtZm9sZC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvaXMtdW5kZWZpbmVkLWZvbGQtdHJpY2t5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9pcy11bmRlZmluZWQtZm9sZC10
cmlja3kuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9pcy11bmRlZmluZWQtZm9s
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1ib29s
ZWFuLWZvbGQtdHJpY2t5LmpzOiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10
ZXN0cy9pcy1ib29sZWFuLWZvbGQuanM6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2Ny
aXB0LXRlc3RzL2lzLWZ1bmN0aW9uLWZvbGQtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9uLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1mdW5jdGlvbi1mb2xk
LXRyaWNreS5qczogQWRkZWQuCisgICAgICAgIChmdW5jKToKKyAgICAgICAgKGZ1bmMyKToKKyAg
ICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1mdW5jdGlvbi1mb2xkLmpzOiBBZGRl
ZC4KKyAgICAgICAgKHZhbHVlMSk6CisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQtdGVzdHMv
aXMtbnVtYmVyLWZvbGQtdHJpY2t5LmpzOiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL3Nj
cmlwdC10ZXN0cy9pcy1udW1iZXItZm9sZC5qczogQWRkZWQuCisgICAgICAgICoganMvcmVncmVz
cy9zY3JpcHQtdGVzdHMvaXMtb2JqZWN0LW9yLW51bGwtZm9sZC1mdW5jdGlvbnMuanM6IEFkZGVk
LgorICAgICAgICAodmFsdWUyKToKKyAgICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9p
cy1vYmplY3Qtb3ItbnVsbC1mb2xkLWxlc3MtdHJpY2t5LmpzOiBBZGRlZC4KKyAgICAgICAgKiBq
cy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkLXRyaWNreS5qczog
QWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtb2JqZWN0LW9yLW51
bGwtZm9sZC5qczogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMt
b2JqZWN0LW9yLW51bGwtdHJpY2tpZXItZnVuY3Rpb24uanM6IEFkZGVkLgorICAgICAgICAoZnVu
Yyk6CisgICAgICAgIChmdW5jMik6CisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQtdGVzdHMv
aXMtb2JqZWN0LW9yLW51bGwtdHJpY2tpZXItaW50ZXJuYWwtZnVuY3Rpb24uanM6IEFkZGVkLgor
ICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLW9iamVjdC1vci1udWxsLXRyaWNr
eS1mdW5jdGlvbi5qczogQWRkZWQuCisgICAgICAgIChmdW5jKToKKyAgICAgICAgKiBqcy9yZWdy
ZXNzL3NjcmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC10cmlja3ktaW50ZXJuYWwtZnVuY3Rp
b24uanM6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLXN0cmlu
Zy1mb2xkLXRyaWNreS5qczogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQtdGVz
dHMvaXMtc3RyaW5nLWZvbGQuanM6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0
LXRlc3RzL2lzLXVuZGVmaW5lZC1mb2xkLXRyaWNreS5qczogQWRkZWQuCisgICAgICAgICoganMv
cmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtdW5kZWZpbmVkLWZvbGQuanM6IEFkZGVkLgorICAgICAg
ICAqIGpzL3JlZ3Jlc3Mvc2luay1mdW5jdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGpzL3JlZ3Jlc3Mvc2luay1mdW5jdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxNS0wNC0yOSAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWJhc2Vs
aW5lIGFmdGVyIHIxODM1OTcuCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLWJvb2xl
YW4tZm9sZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVz
cy9pcy1ib29sZWFuLWZvbGQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9pcy1ib29sZWFuLWZvbGQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTAgQEAKK0pTUmVncmVzcy9pcy1ib29sZWFuLWZvbGQKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRl
c3RzL2pzL3JlZ3Jlc3MvaXMtYm9vbGVhbi1mb2xkLXRyaWNreS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1ib29sZWFuLWZvbGQtdHJpY2t5LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtYm9v
bGVhbi1mb2xkLXRyaWNreS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MCBAQAorSlNSZWdyZXNzL2lzLWJvb2xlYW4tZm9sZC10cmlja3kKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2pz
L3JlZ3Jlc3MvaXMtYm9vbGVhbi1mb2xkLXRyaWNreS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtYm9vbGVhbi1mb2xkLXRyaWNreS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1ib29sZWFuLWZvbGQtdHJpY2t5Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaXMtYm9vbGVhbi1mb2xkLXRyaWNreS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLWJv
b2xlYW4tZm9sZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMt
Ym9vbGVhbi1mb2xkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L2lzLWJvb2xlYW4tZm9sZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNz
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lzLWJvb2xlYW4t
Zm9sZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3Mt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9q
cy9yZWdyZXNzL2lzLWZ1bmN0aW9uLWZvbGQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtZnVuY3Rpb24tZm9sZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLWZ1bmN0aW9uLWZvbGQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK0pTUmVncmVzcy9pcy1mdW5j
dGlvbi1mb2xkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4Y2Vw
dGlvbiB0aHJvd24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLWZ1bmN0aW9uLWZvbGQtdHJp
Y2t5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lz
LWZ1bmN0aW9uLWZvbGQtdHJpY2t5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtZnVuY3Rpb24tZm9sZC10cmlja3ktZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK0pTUmVncmVzcy9pcy1mdW5jdGlvbi1mb2xk
LXRyaWNreQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBubyBleGNlcHRp
b24gdGhyb3duCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1mdW5jdGlvbi1mb2xkLXRyaWNr
eS1pbnRlcm5hbC1mdW5jdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9pcy1mdW5jdGlvbi1mb2xkLXRyaWNreS1pbnRlcm5hbC1mdW5jdGlvbi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLWZ1
bmN0aW9uLWZvbGQtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvaXMtZnVuY3Rpb24tZm9sZC10cmlj
a3ktaW50ZXJuYWwtZnVuY3Rpb24KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtZnVuY3Rp
b24tZm9sZC10cmlja3ktaW50ZXJuYWwtZnVuY3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9qcy9yZWdyZXNzL2lzLWZ1bmN0aW9uLWZvbGQtdHJpY2t5LWludGVybmFsLWZ1bmN0
aW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLWZ1bmN0
aW9uLWZvbGQtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvaXMtZnVuY3Rpb24tZm9sZC10cmlja3ktaW50ZXJuYWwtZnVuY3Rpb24uanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1m
dW5jdGlvbi1mb2xkLXRyaWNreS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3Jl
Z3Jlc3MvaXMtZnVuY3Rpb24tZm9sZC10cmlja3kuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtZnVuY3Rpb24tZm9sZC10cmlja3kuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9pcy1mdW5jdGlvbi1mb2xkLXRyaWNreS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLWZ1bmN0aW9uLWZv
bGQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLWZ1bmN0aW9u
LWZvbGQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtZnVu
Y3Rpb24tZm9sZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lzLWZ1bmN0aW9uLWZvbGQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVn
cmVzcy9pcy1udW1iZXItZm9sZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9pcy1udW1iZXItZm9sZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW51bWJlci1mb2xkLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvaXMtbnVtYmVyLWZvbGQKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0aW9uIHRocm93bgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtbnVtYmVyLWZvbGQtdHJpY2t5LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW51bWJlci1mb2xkLXRy
aWNreS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L2lzLW51bWJlci1mb2xkLXRyaWNreS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMCBAQAorSlNSZWdyZXNzL2lzLW51bWJlci1mb2xkLXRyaWNreQorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBubyBleGNlcHRpb24gdGhyb3duCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9pcy1udW1iZXItZm9sZC10cmlja3kuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW51bWJlci1mb2xkLXRyaWNreS5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1udW1iZXItZm9sZC10cmlja3kuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9pcy1udW1iZXItZm9sZC10cmlja3kuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1u
dW1iZXItZm9sZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMt
bnVtYmVyLWZvbGQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
aXMtbnVtYmVyLWZvbGQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9pcy1udW1iZXItZm9s
ZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9y
ZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtZm9sZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1u
dWxsLWZvbGQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK0pT
UmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIG5vIGV4Y2VwdGlvbiB0aHJvd24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L2lzLW9iamVjdC1vci1udWxsLWZvbGQtZnVuY3Rpb25zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtZnVuY3Rp
b25zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
aXMtb2JqZWN0LW9yLW51bGwtZm9sZC1mdW5jdGlvbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTAgQEAKK0pTUmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkLWZ1
bmN0aW9ucworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBubyBleGNlcHRp
b24gdGhyb3duCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xk
LWZ1bmN0aW9ucy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMt
b2JqZWN0LW9yLW51bGwtZm9sZC1mdW5jdGlvbnMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtZm9sZC1mdW5jdGlvbnMuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkLWZ1bmN0aW9ucy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdy
ZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtbGVzcy10cmlja3ktZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtZm9sZC1s
ZXNzLXRyaWNreS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9y
ZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtbGVzcy10cmlja3ktZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK0pTUmVncmVzcy9pcy1vYmplY3Qtb3ItbnVs
bC1mb2xkLWxlc3MtdHJpY2t5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IG5vIGV4Y2VwdGlvbiB0aHJvd24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1v
ci1udWxsLWZvbGQtbGVzcy10cmlja3kuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9q
cy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtbGVzcy10cmlja3kuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtZm9sZC1s
ZXNzLXRyaWNreS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lzLW9iamVjdC1vci1udWxs
LWZvbGQtbGVzcy10cmlja3kuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkLXRyaWNreS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1vYmplY3Qt
b3ItbnVsbC1mb2xkLXRyaWNreS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtdHJpY2t5LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvaXMtb2JqZWN0LW9y
LW51bGwtZm9sZC10cmlja3kKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
bm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9y
LW51bGwtZm9sZC10cmlja3kuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdy
ZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtdHJpY2t5Lmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtdHJpY2t5Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaXMtb2JqZWN0LW9yLW51bGwtZm9sZC10cmlja3kuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVz
cy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLWZvbGQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wb3N0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9y
LW51bGwtdHJpY2tpZXItZnVuY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtdHJpY2tpZXItZnVuY3Rpb24tZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1vYmpl
Y3Qtb3ItbnVsbC10cmlja2llci1mdW5jdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMCBAQAorSlNSZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLXRyaWNraWVyLWZ1
bmN0aW9uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4Y2VwdGlv
biB0aHJvd24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLXRyaWNr
aWVyLWZ1bmN0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9p
cy1vYmplY3Qtb3ItbnVsbC10cmlja2llci1mdW5jdGlvbi5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC10cmlja2llci1mdW5jdGlv
bi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lzLW9iamVjdC1vci1udWxsLXRyaWNraWVy
LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVn
cmVzcy1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtdHJpY2tpZXItaW50ZXJuYWwtZnVuY3Rp
b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMt
b2JqZWN0LW9yLW51bGwtdHJpY2tpZXItaW50ZXJuYWwtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC10
cmlja2llci1pbnRlcm5hbC1mdW5jdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMCBAQAorSlNSZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLXRyaWNraWVyLWludGVy
bmFsLWZ1bmN0aW9uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4
Y2VwdGlvbiB0aHJvd24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxs
LXRyaWNraWVyLWludGVybmFsLWZ1bmN0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC10cmlja2llci1pbnRlcm5hbC1mdW5jdGlv
bi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1vYmplY3Qt
b3ItbnVsbC10cmlja2llci1pbnRlcm5hbC1mdW5jdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9yZWdyZXNzLXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL2lzLW9iamVjdC1vci1udWxsLXRyaWNraWVyLWludGVybmFsLWZ1bmN0aW9uLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wb3N0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
aXMtb2JqZWN0LW9yLW51bGwtdHJpY2t5LWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLXRyaWNreS1mdW5j
dGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L2lzLW9iamVjdC1vci1udWxsLXRyaWNreS1mdW5jdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxMCBAQAorSlNSZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLXRyaWNr
eS1mdW5jdGlvbgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBubyBleGNl
cHRpb24gdGhyb3duCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC10
cmlja3ktZnVuY3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L2lzLW9iamVjdC1vci1udWxsLXRyaWNreS1mdW5jdGlvbi5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC10cmlja3ktZnVuY3Rpb24u
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC10cmlja3ktZnVu
Y3Rpb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNz
LXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9pcy1vYmplY3Qtb3ItbnVsbC10cmlja3ktaW50ZXJuYWwtZnVuY3Rpb24tZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0
LW9yLW51bGwtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtdHJpY2t5LWlu
dGVybmFsLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEw
IEBACitKU1JlZ3Jlc3MvaXMtb2JqZWN0LW9yLW51bGwtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9u
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4Y2VwdGlvbiB0aHJv
d24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCklu
ZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLXRyaWNreS1pbnRl
cm5hbC1mdW5jdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
aXMtb2JqZWN0LW9yLW51bGwtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9uLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLW9iamVjdC1vci1udWxsLXRyaWNreS1p
bnRlcm5hbC1mdW5jdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNz
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2lzLW9iamVjdC1v
ci1udWxsLXRyaWNreS1pbnRlcm5hbC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLXN0cmluZy1mb2xkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLXN0cmluZy1m
b2xkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
aXMtc3RyaW5nLWZvbGQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAg
QEAKK0pTUmVncmVzcy9pcy1zdHJpbmctZm9sZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBubyBleGNlcHRpb24gdGhyb3duCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9p
cy1zdHJpbmctZm9sZC10cmlja3ktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2pzL3JlZ3Jlc3MvaXMtc3RyaW5nLWZvbGQtdHJpY2t5LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtc3RyaW5nLWZvbGQtdHJpY2t5LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvaXMt
c3RyaW5nLWZvbGQtdHJpY2t5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IG5vIGV4Y2VwdGlvbiB0aHJvd24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLXN0cmluZy1m
b2xkLXRyaWNreS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMt
c3RyaW5nLWZvbGQtdHJpY2t5Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9y
ZWdyZXNzL2lzLXN0cmluZy1mb2xkLXRyaWNreS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9yZWdyZXNzLXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L2lzLXN0cmluZy1mb2xkLXRyaWNreS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3JlZ3Jlc3MtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2lzLXN0cmluZy1mb2xkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1zdHJpbmctZm9sZC5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy1zdHJpbmctZm9sZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL2lzLXN0cmluZy1mb2xkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtdW5kZWZpbmVkLWZvbGQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtdW5k
ZWZpbmVkLWZvbGQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMv
cmVncmVzcy9pcy11bmRlZmluZWQtZm9sZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMCBAQAorSlNSZWdyZXNzL2lzLXVuZGVmaW5lZC1mb2xkCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4Y2VwdGlvbiB0aHJvd24KK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0
cy9qcy9yZWdyZXNzL2lzLXVuZGVmaW5lZC1mb2xkLXRyaWNreS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy11bmRlZmluZWQtZm9sZC10cmlja3kt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy11
bmRlZmluZWQtZm9sZC10cmlja3ktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTAgQEAKK0pTUmVncmVzcy9pcy11bmRlZmluZWQtZm9sZC10cmlja3kKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRl
c3RzL2pzL3JlZ3Jlc3MvaXMtdW5kZWZpbmVkLWZvbGQtdHJpY2t5Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9pcy11bmRlZmluZWQtZm9sZC10cmlja3kuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvaXMtdW5kZWZpbmVkLWZvbGQt
dHJpY2t5Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaXMtdW5kZWZpbmVkLWZvbGQtdHJp
Y2t5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1w
b3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2pz
L3JlZ3Jlc3MvaXMtdW5kZWZpbmVkLWZvbGQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9qcy9yZWdyZXNzL2lzLXVuZGVmaW5lZC1mb2xkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9qcy9yZWdyZXNzL2lzLXVuZGVmaW5lZC1mb2xkLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvaXMtdW5kZWZpbmVkLWZvbGQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zaW5rLWZ1bmN0aW9uLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmstZnVuY3Rpb24tZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zaW5rLWZ1
bmN0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1Jl
Z3Jlc3Mvc2luay1mdW5jdGlvbgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBubyBleGNlcHRpb24gdGhyb3duCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zaW5rLWZ1bmN0
aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zaW5rLWZ1bmN0
aW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NpbmstZnVu
Y3Rpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zaW5rLWZ1bmN0aW9uLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcmVncmVzcy1wb3N0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2Ny
aXB0LXRlc3RzL2lzLWJvb2xlYW4tZm9sZC10cmlja3kuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtYm9vbGVhbi1mb2xkLXRyaWNreS5qcwko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLWJv
b2xlYW4tZm9sZC10cmlja3kuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAordmFy
IG9iamVjdCA9IHt9OworKGZ1bmN0aW9uKCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgICAgIHZhciB2YWx1ZTEgPSAo
aSAmIDEpID8gdHJ1ZSA6IGZhbHNlOworICAgICAgICB2YXIgdmFsdWUyID0gKGkgJiAxKSA/ICJo
ZWxsbyIgOiBvYmplY3Q7CisgICAgICAgIHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMSA9PSAiYm9v
bGVhbiIpOworICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2YWx1ZTIgPT0gImJvb2xlYW4iKSA8
PCAxOworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9IDEwMDAwMDApCisgICAgICAgIHRocm93ICJF
cnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30pKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9q
cy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1ib29sZWFuLWZvbGQuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtYm9vbGVhbi1mb2xkLmpzCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtYm9v
bGVhbi1mb2xkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKK3ZhciB2YWx1ZTEg
PSB0cnVlOwordmFyIHZhbHVlMiA9ICJoZWxsbyI7CisoZnVuY3Rpb24oKSB7CisgICAgdmFyIHJl
c3VsdCA9IDA7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICAg
ICAgcmVzdWx0ICs9ICh0eXBlb2YgdmFsdWUxID09ICJib29sZWFuIik7CisgICAgICAgIHJlc3Vs
dCArPSAodHlwZW9mIHZhbHVlMiA9PSAiYm9vbGVhbiIpIDw8IDE7CisgICAgfQorICAgIGlmIChy
ZXN1bHQgIT0gMTAwMDAwMCkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworfSkoKTsKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3Rz
L2lzLWZ1bmN0aW9uLWZvbGQtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9uLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLWZ1bmN0aW9uLWZvbGQt
dHJpY2t5LWludGVybmFsLWZ1bmN0aW9uLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtZnVuY3Rpb24tZm9sZC10cmlja3ktaW50ZXJuYWwt
ZnVuY3Rpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAordmFyIG9iamVjdCA9
IHt9OworKGZ1bmN0aW9uKCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgICAgIHZhciB2YWx1ZTEgPSAoaSAmIDEpID8g
TWFwIDogU2V0OworICAgICAgICB2YXIgdmFsdWUyID0gKGkgJiAxKSA/IG9iamVjdCA6ICJoZWxs
byI7CisgICAgICAgIHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMSA9PSAiZnVuY3Rpb24iKTsKKyAg
ICAgICAgcmVzdWx0ICs9ICh0eXBlb2YgdmFsdWUyID09ICJmdW5jdGlvbiIpIDw8IDE7CisgICAg
fQorICAgIGlmIChyZXN1bHQgIT0gMTAwMDAwMCkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworfSkoKTsKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
c2NyaXB0LXRlc3RzL2lzLWZ1bmN0aW9uLWZvbGQtdHJpY2t5LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLWZ1bmN0aW9uLWZvbGQtdHJpY2t5
LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMv
aXMtZnVuY3Rpb24tZm9sZC10cmlja3kuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBA
QAordmFyIG9iamVjdCA9IHt9OwordmFyIGZ1bmMgPSBmdW5jdGlvbigpIHsgfTsKK3ZhciBmdW5j
MiA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gNDI7IH07CisoZnVuY3Rpb24oKSB7CisgICAgdmFyIHJl
c3VsdCA9IDA7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICAg
ICAgdmFyIHZhbHVlMSA9IChpICYgMSkgPyBmdW5jIDogZnVuYzI7CisgICAgICAgIHZhciB2YWx1
ZTIgPSAoaSAmIDEpID8gb2JqZWN0IDogImhlbGxvIjsKKyAgICAgICAgcmVzdWx0ICs9ICh0eXBl
b2YgdmFsdWUxID09ICJmdW5jdGlvbiIpOworICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2YWx1
ZTIgPT0gImZ1bmN0aW9uIikgPDwgMTsKKyAgICB9CisgICAgaWYgKHJlc3VsdCAhPSAxMDAwMDAw
KQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9KSgpOwpJ
bmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtZnVuY3Rpb24tZm9s
ZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9p
cy1mdW5jdGlvbi1mb2xkLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVz
cy9zY3JpcHQtdGVzdHMvaXMtZnVuY3Rpb24tZm9sZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDExIEBACit2YXIgdmFsdWUxID0gZnVuY3Rpb24oKSB7IH07Cit2YXIgdmFsdWUyID0gNDI7
CisoZnVuY3Rpb24oKSB7CisgICAgdmFyIHJlc3VsdCA9IDA7CisgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICAgICAgcmVzdWx0ICs9ICh0eXBlb2YgdmFsdWUxID09
ICJmdW5jdGlvbiIpOworICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2YWx1ZTIgPT0gImZ1bmN0
aW9uIikgPDwgMTsKKyAgICB9CisgICAgaWYgKHJlc3VsdCAhPSAxMDAwMDAwKQorICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9KSgpOwpJbmRleDogTGF5b3V0
VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtbnVtYmVyLWZvbGQtdHJpY2t5LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLW51bWJl
ci1mb2xkLXRyaWNreS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
c2NyaXB0LXRlc3RzL2lzLW51bWJlci1mb2xkLXRyaWNreS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEyIEBACit2YXIgb2JqZWN0ID0ge307CisoZnVuY3Rpb24oKSB7CisgICAgdmFyIHJl
c3VsdCA9IDA7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICAg
ICAgdmFyIHZhbHVlMSA9IChpICYgMSkgPyA0Mi41IDogNDI7CisgICAgICAgIHZhciB2YWx1ZTIg
PSAoaSAmIDEpID8gImhlbGxvIiA6IG9iamVjdDsKKyAgICAgICAgcmVzdWx0ICs9ICh0eXBlb2Yg
dmFsdWUxID09ICJudW1iZXIiKTsKKyAgICAgICAgcmVzdWx0ICs9ICh0eXBlb2YgdmFsdWUyID09
ICJudW1iZXIiKSA8PCAxOworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9IDEwMDAwMDApCisgICAg
ICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30pKCk7CkluZGV4OiBM
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1udW1iZXItZm9sZC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1udW1iZXIt
Zm9sZC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRl
c3RzL2lzLW51bWJlci1mb2xkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKK3Zh
ciB2YWx1ZTEgPSA0MjsKK3ZhciB2YWx1ZTIgPSAiaGVsbG8iOworKGZ1bmN0aW9uKCkgeworICAg
IHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7
CisgICAgICAgIHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMSA9PSAibnVtYmVyIik7CisgICAgICAg
IHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMiA9PSAibnVtYmVyIikgPDwgMTsKKyAgICB9CisgICAg
aWYgKHJlc3VsdCAhPSAxMDAwMDAwKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6
ICIgKyByZXN1bHQ7Cit9KSgpOwpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQt
dGVzdHMvaXMtb2JqZWN0LW9yLW51bGwtZm9sZC1mdW5jdGlvbnMuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtb2JqZWN0LW9yLW51bGwtZm9s
ZC1mdW5jdGlvbnMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Nj
cmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xkLWZ1bmN0aW9ucy5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDExIEBACit2YXIgdmFsdWUxID0ge307Cit2YXIgdmFsdWUyID0gZnVu
Y3Rpb24oKSB7IH07CisoZnVuY3Rpb24oKSB7CisgICAgdmFyIHJlc3VsdCA9IDA7CisgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICAgICAgcmVzdWx0ICs9ICh0eXBl
b2YgdmFsdWUxID09ICJvYmplY3QiKTsKKyAgICAgICAgcmVzdWx0ICs9ICh0eXBlb2YgdmFsdWUy
ID09ICJvYmplY3QiKSA8PCAxOworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9IDEwMDAwMDApCisg
ICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30pKCk7CkluZGV4
OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC1m
b2xkLWxlc3MtdHJpY2t5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
c2NyaXB0LXRlc3RzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtbGVzcy10cmlja3kuanMJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1vYmplY3Qt
b3ItbnVsbC1mb2xkLWxlc3MtdHJpY2t5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMg
QEAKK3ZhciBvYmplY3QgPSB7fTsKK3ZhciBhcnJheSA9IFtdOworKGZ1bmN0aW9uKCkgeworICAg
IHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7
CisgICAgICAgIHZhciB2YWx1ZTEgPSAoaSAmIDEpID8gYXJyYXkgOiBvYmplY3Q7CisgICAgICAg
IHZhciB2YWx1ZTIgPSAoaSAmIDEpID8gNDIgOiAiaGVsbG8iOworICAgICAgICByZXN1bHQgKz0g
KHR5cGVvZiB2YWx1ZTEgPT0gIm9iamVjdCIpOworICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2
YWx1ZTIgPT0gIm9iamVjdCIpIDw8IDE7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gMTAwMDAw
MCkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfSkoKTsK
SW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLW9iamVjdC1vci1u
dWxsLWZvbGQtdHJpY2t5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
c2NyaXB0LXRlc3RzL2lzLW9iamVjdC1vci1udWxsLWZvbGQtdHJpY2t5LmpzCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtb2JqZWN0LW9yLW51
bGwtZm9sZC10cmlja3kuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAordmFyIG9i
amVjdCA9IHt9OworKGZ1bmN0aW9uKCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgICAgIHZhciB2YWx1ZTEgPSAoaSAm
IDEpID8gbnVsbCA6IG9iamVjdDsKKyAgICAgICAgdmFyIHZhbHVlMiA9IChpICYgMSkgPyA0MiA6
ICJoZWxsbyI7CisgICAgICAgIHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMSA9PSAib2JqZWN0Iik7
CisgICAgICAgIHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMiA9PSAib2JqZWN0IikgPDwgMTsKKyAg
ICB9CisgICAgaWYgKHJlc3VsdCAhPSAxMDAwMDAwKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJh
ZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9KSgpOwpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVz
cy9zY3JpcHQtdGVzdHMvaXMtb2JqZWN0LW9yLW51bGwtZm9sZC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC1mb2xk
LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMv
aXMtb2JqZWN0LW9yLW51bGwtZm9sZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBA
Cit2YXIgdmFsdWUxID0ge307Cit2YXIgdmFsdWUyID0gNDI7CisoZnVuY3Rpb24oKSB7CisgICAg
dmFyIHJlc3VsdCA9IDA7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsK
KyAgICAgICAgcmVzdWx0ICs9ICh0eXBlb2YgdmFsdWUxID09ICJvYmplY3QiKTsKKyAgICAgICAg
cmVzdWx0ICs9ICh0eXBlb2YgdmFsdWUyID09ICJvYmplY3QiKSA8PCAxOworICAgIH0KKyAgICBp
ZiAocmVzdWx0ICE9IDEwMDAwMDApCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDog
IiArIHJlc3VsdDsKK30pKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10
ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC10cmlja2llci1mdW5jdGlvbi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC10
cmlja2llci1mdW5jdGlvbi5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pzL3JlZ3Jl
c3Mvc2NyaXB0LXRlc3RzL2lzLW9iamVjdC1vci1udWxsLXRyaWNraWVyLWZ1bmN0aW9uLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKK3ZhciBvYmplY3QgPSB7fTsKK3ZhciBhcnJh
eSA9IFtdOwordmFyIGZ1bmMgPSBmdW5jdGlvbigpIHsgfTsKK3ZhciBmdW5jMiA9IGZ1bmN0aW9u
KCkgeyByZXR1cm4gMzI7IH07CisoZnVuY3Rpb24oKSB7CisgICAgdmFyIHJlc3VsdCA9IDA7Cisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICAgICAgdmFyIHZhbHVl
MSA9IChpICYgMSkgPyBhcnJheSA6IG9iamVjdDsKKyAgICAgICAgdmFyIHZhbHVlMiA9IChpICYg
MSkgPyBmdW5jIDogZnVuYzI7CisgICAgICAgIHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMSA9PSAi
b2JqZWN0Iik7CisgICAgICAgIHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMiA9PSAib2JqZWN0Iikg
PDwgMTsKKyAgICB9CisgICAgaWYgKHJlc3VsdCAhPSAxMDAwMDAwKQorICAgICAgICB0aHJvdyAi
RXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9KSgpOwpJbmRleDogTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtb2JqZWN0LW9yLW51bGwtdHJpY2tpZXItaW50ZXJu
YWwtZnVuY3Rpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3Jp
cHQtdGVzdHMvaXMtb2JqZWN0LW9yLW51bGwtdHJpY2tpZXItaW50ZXJuYWwtZnVuY3Rpb24uanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1v
YmplY3Qtb3ItbnVsbC10cmlja2llci1pbnRlcm5hbC1mdW5jdGlvbi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEzIEBACit2YXIgb2JqZWN0ID0ge307Cit2YXIgYXJyYXkgPSBbXTsKKyhm
dW5jdGlvbigpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDEwMDAwMDA7ICsraSkgeworICAgICAgICB2YXIgdmFsdWUxID0gKGkgJiAxKSA/IGFycmF5IDog
b2JqZWN0OworICAgICAgICB2YXIgdmFsdWUyID0gKGkgJiAxKSA/IE1hcCA6IFNldDsKKyAgICAg
ICAgcmVzdWx0ICs9ICh0eXBlb2YgdmFsdWUxID09ICJvYmplY3QiKTsKKyAgICAgICAgcmVzdWx0
ICs9ICh0eXBlb2YgdmFsdWUyID09ICJvYmplY3QiKSA8PCAxOworICAgIH0KKyAgICBpZiAocmVz
dWx0ICE9IDEwMDAwMDApCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJl
c3VsdDsKK30pKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9p
cy1vYmplY3Qtb3ItbnVsbC10cmlja3ktZnVuY3Rpb24uanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtb2JqZWN0LW9yLW51bGwtdHJpY2t5LWZ1
bmN0aW9uLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQt
dGVzdHMvaXMtb2JqZWN0LW9yLW51bGwtdHJpY2t5LWZ1bmN0aW9uLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTQgQEAKK3ZhciBvYmplY3QgPSB7fTsKK3ZhciBhcnJheSA9IFtdOwordmFy
IGZ1bmMgPSBmdW5jdGlvbigpIHsgfTsKKyhmdW5jdGlvbigpIHsKKyAgICB2YXIgcmVzdWx0ID0g
MDsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDA7ICsraSkgeworICAgICAgICB2YXIg
dmFsdWUxID0gKGkgJiAxKSA/IGFycmF5IDogb2JqZWN0OworICAgICAgICB2YXIgdmFsdWUyID0g
KGkgJiAxKSA/IGZ1bmMgOiAiaGVsbG8iOworICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2YWx1
ZTEgPT0gIm9iamVjdCIpOworICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2YWx1ZTIgPT0gIm9i
amVjdCIpIDw8IDE7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gMTAwMDAwMCkKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfSkoKTsKSW5kZXg6IExheW91
dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLW9iamVjdC1vci1udWxsLXRyaWNreS1p
bnRlcm5hbC1mdW5jdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L3NjcmlwdC10ZXN0cy9pcy1vYmplY3Qtb3ItbnVsbC10cmlja3ktaW50ZXJuYWwtZnVuY3Rpb24u
anMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9p
cy1vYmplY3Qtb3ItbnVsbC10cmlja3ktaW50ZXJuYWwtZnVuY3Rpb24uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMyBAQAordmFyIG9iamVjdCA9IHt9OwordmFyIGFycmF5ID0gW107Ciso
ZnVuY3Rpb24oKSB7CisgICAgdmFyIHJlc3VsdCA9IDA7CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDAwOyArK2kpIHsKKyAgICAgICAgdmFyIHZhbHVlMSA9IChpICYgMSkgPyBhcnJheSA6
IG9iamVjdDsKKyAgICAgICAgdmFyIHZhbHVlMiA9IChpICYgMSkgPyBNYXAgOiAiaGVsbG8iOwor
ICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2YWx1ZTEgPT0gIm9iamVjdCIpOworICAgICAgICBy
ZXN1bHQgKz0gKHR5cGVvZiB2YWx1ZTIgPT0gIm9iamVjdCIpIDw8IDE7CisgICAgfQorICAgIGlm
IChyZXN1bHQgIT0gMTAwMDAwMCkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAi
ICsgcmVzdWx0OworfSkoKTsKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRl
c3RzL2lzLXN0cmluZy1mb2xkLXRyaWNreS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9q
cy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1zdHJpbmctZm9sZC10cmlja3kuanMJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1zdHJpbmctZm9s
ZC10cmlja3kuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAordmFyIG9iamVjdCA9
IHt9OworKGZ1bmN0aW9uKCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgICAgIHZhciB2YWx1ZTEgPSAoaSAmIDEpID8g
ImhlbGxvIiA6ICJ3b3JsZCI7CisgICAgICAgIHZhciB2YWx1ZTIgPSAoaSAmIDEpID8gNDIgOiBv
YmplY3Q7CisgICAgICAgIHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMSA9PSAic3RyaW5nIik7Cisg
ICAgICAgIHJlc3VsdCArPSAodHlwZW9mIHZhbHVlMiA9PSAic3RyaW5nIikgPDwgMTsKKyAgICB9
CisgICAgaWYgKHJlc3VsdCAhPSAxMDAwMDAwKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCBy
ZXN1bHQ6ICIgKyByZXN1bHQ7Cit9KSgpOwpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9z
Y3JpcHQtdGVzdHMvaXMtc3RyaW5nLWZvbGQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9zY3JpcHQtdGVzdHMvaXMtc3RyaW5nLWZvbGQuanMJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy1zdHJpbmctZm9sZC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACit2YXIgdmFsdWUxID0gImhlbGxvIjsKK3Zh
ciB2YWx1ZTIgPSA0MjsKKyhmdW5jdGlvbigpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDA7ICsraSkgeworICAgICAgICByZXN1bHQgKz0gKHR5
cGVvZiB2YWx1ZTEgPT0gInN0cmluZyIpOworICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2YWx1
ZTIgPT0gInN0cmluZyIpIDw8IDE7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gMTAwMDAwMCkK
KyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfSkoKTsKSW5k
ZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLXVuZGVmaW5lZC1mb2xk
LXRyaWNreS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10
ZXN0cy9pcy11bmRlZmluZWQtZm9sZC10cmlja3kuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy11bmRlZmluZWQtZm9sZC10cmlja3kuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAordmFyIG9iamVjdCA9IHt9OworKGZ1bmN0
aW9uKCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAw
MDAwMDsgKytpKSB7CisgICAgICAgIHZhciB2YWx1ZTEgPSB2b2lkIDA7CisgICAgICAgIHZhciB2
YWx1ZTIgPSAoaSAmIDEpID8gImhlbGxvIiA6IG9iamVjdDsKKyAgICAgICAgcmVzdWx0ICs9ICh0
eXBlb2YgdmFsdWUxID09ICJ1bmRlZmluZWQiKTsKKyAgICAgICAgcmVzdWx0ICs9ICh0eXBlb2Yg
dmFsdWUyID09ICJ1bmRlZmluZWQiKSA8PCAxOworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9IDEw
MDAwMDApCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30p
KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9pcy11bmRlZmlu
ZWQtZm9sZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10
ZXN0cy9pcy11bmRlZmluZWQtZm9sZC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2pz
L3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2lzLXVuZGVmaW5lZC1mb2xkLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTEgQEAKK3ZhciB2YWx1ZTEgPSB2b2lkIDA7Cit2YXIgdmFsdWUyID0gImhl
bGxvIjsKKyhmdW5jdGlvbigpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwMDA7ICsraSkgeworICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2YWx1
ZTEgPT0gInVuZGVmaW5lZCIpOworICAgICAgICByZXN1bHQgKz0gKHR5cGVvZiB2YWx1ZTIgPT0g
InVuZGVmaW5lZCIpIDw8IDE7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gMTAwMDAwMCkKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfSkoKTsK
</data>
<flag name="review"
          id="276856"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>