<?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>152539</bug_id>
          
          <creation_ts>2015-12-23 15:14:27 -0800</creation_ts>
          <short_desc>FTL B3 should be able to run crypto-sha1 in eager mode</short_desc>
          <delta_ts>2015-12-23 16:26:41 -0800</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>WebKit 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>150279</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>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1151160</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-23 15:14:27 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151190</commentid>
    <comment_count>1</comment_count>
      <attachid>267876</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-23 15:40:06 -0800</bug_when>
    <thetext>Created attachment 267876
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151194</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-23 15:41:56 -0800</bug_when>
    <thetext>Attachment 267876 did not pass style-queue:


ERROR: Source/JavaScriptCore/b3/air/AirFixSpillSlotZDef.h:46:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/b3/air/AirTmpWidth.cpp:56:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151202</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-23 15:56:52 -0800</bug_when>
    <thetext>The list of failures after this fix:

** The following JSC stress test failures have been introduced:
	cdjs-tests.yaml/main.js.ftl-eager-no-cjit
	cdjs-tests.yaml/red_black_tree_test.js.ftl-eager-no-cjit
	cdjs-tests.yaml/reduce_collision_set_test.js.ftl-eager-no-cjit
	internal-js-tests.yaml/Kraken/stanford-crypto-aes.js.ftl-no-cjit-no-access-inlining
	internal-js-tests.yaml/Kraken/stanford-crypto-aes.js.ftl-no-cjit-no-simple-opt
	internal-js-tests.yaml/Kraken/stanford-crypto-aes.js.ftl-no-cjit-validate
	internal-js-tests.yaml/Kraken/stanford-crypto-ccm.js.ftl-no-cjit-no-access-inlining
	internal-js-tests.yaml/Kraken/stanford-crypto-ccm.js.ftl-no-cjit-no-simple-opt
	internal-js-tests.yaml/Kraken/stanford-crypto-ccm.js.ftl-no-cjit-osr-validation
	internal-js-tests.yaml/Kraken/stanford-crypto-ccm.js.ftl-no-cjit-validate
	internal-js-tests.yaml/Kraken/stanford-crypto-pbkdf2.js.default-ftl
	internal-js-tests.yaml/Kraken/stanford-crypto-pbkdf2.js.ftl-no-cjit-no-access-inlining
	internal-js-tests.yaml/Kraken/stanford-crypto-pbkdf2.js.ftl-no-cjit-no-simple-opt
	internal-js-tests.yaml/Kraken/stanford-crypto-pbkdf2.js.ftl-no-cjit-osr-validation
	internal-js-tests.yaml/Kraken/stanford-crypto-pbkdf2.js.ftl-no-cjit-validate
	internal-js-tests.yaml/V8v7/splay.js.default-ftl
	internal-js-tests.yaml/V8v7/splay.js.ftl-no-cjit-no-simple-opt
	internal-js-tests.yaml/V8v7/splay.js.ftl-no-cjit-osr-validation
	internal-js-tests.yaml/V8v7/splay.js.ftl-no-cjit-validate
	jsc-layout-tests.yaml/js/script-tests/apply-varargs.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/array-enumerators-functions.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/array-filter.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/array-functions-non-arrays.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/arrowfunction-syntax.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/class-syntax-method-names.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/comparefn-sort-stability.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-abs-backwards-propagation.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-activation-register-overwritten-in-throw.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-escape.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-osr-exit.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-osr-exit.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-osr-exit.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-overwrite-arguments.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-overwrite-arguments.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-overwrite-arguments.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block-overwrite.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-one-block.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-cross-code-origin.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-mixed-alias.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-osr-exit-multiple-blocks-before-exit.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-osr-exit-multiple-blocks.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-osr-exit.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-out-of-bounds.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arguments-unexpected-escape.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-arith-add-overflow-check-elimination-tower-of-large-numbers.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-array-dead.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-array-length-dead.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-array-pop-side-effects.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-array-pop-value-clearing.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-array-push-bad-time.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-arrayify-when-late-prevent-extensions.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-bool-to-int32-reuse.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-branch-logical-not-peephole-around-osr-exit.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-branch-not-fail.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-call-function-hit-watchpoint.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-call-method-hit-watchpoint.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-cfa-merge-with-dead-use-at-tail.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null-and-decrement.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-cfg-simplify-eliminate-set-local-type-check-then-branch-not-null.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-cfg-simplify-eliminate-set-local-type-check-then-typeof.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-cfg-simplify-phantom-get-local-on-same-block-set-local.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-cfg-simplify-phantom-get-local-on-same-block-set-local.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-cfg-simplify-redundant-dead-get-local.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-check-array-non-array.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-check-array-non-array.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-check-array-non-array.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-check-function-change-structure.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-check-structure-elimination-for-non-cell.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-check-two-structures.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-constant-fold-first-local-read-after-block-merge.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-constant-fold-logical-not-branch.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-constant-fold-logical-not-branch.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-constant-fold-logical-not-branch.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-constant-fold-misprediction.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-constant-fold-uncaptured-variable-that-is-later-captured.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-dom-window.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-dom-window.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-dom-window.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-object-then-exit-on-other.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-other-then-exit-on-object.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-other.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-string.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-cos-constant.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-create-inlined-arguments-in-closure-inline.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-cse-cfa-discrepancy.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-cse-dead-get-scoped-var.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-dead-min-one-arg.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-dead-min-two-args.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-dead-speculation.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-dead-variable-on-exit.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-dead-variable-on-exit.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-dead-variable-on-exit.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-double-addition-simplify-to-int.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-double-use-of-post-simplification-double-prediction.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-double-use-of-post-simplification-double-prediction.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-double-use-of-post-simplification-double-prediction.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-double-vote-fuzz.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-double-vote-fuzz.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-double-vote-fuzz.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-ensure-array-storage-on-string.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-ensure-contiguous-on-string.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-get-by-id-unset-then-proto-less-warmup.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-get-by-id-unset-then-proto.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-use-from-all-the-places-broken.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-int-overflow-large-constants-in-a-line.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-int52-change-format.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-int52-spill-trickier.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-int52-spill-trickier.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-int52-spill.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-int52-spill.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-mod-1.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-osr-exit-between-create-and-tearoff-arguments.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-osr-exit-between-create-and-tearoff-arguments.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-osr-exit-between-create-and-tearoff-arguments.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-put-scoped-var-backward-flow.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-sin-constant.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-strict-mode-to-this.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/exception-propagate-from-dfg-to-llint.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/intl-collator.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/regress-139533.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/regress-140033.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/regress-150434.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/regress-150434.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/regress-150434.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/regress-150580.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/regress-150580.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/stack-trace.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/slow-stress/script-tests/array-prototype-filter.js.ftl-no-cjit-validate
	modules.yaml/modules/aliasing.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/caching-should-not-make-ambiguous.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/cyclic-may-produce-tdz.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/default-value-case-should-be-copied.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/defaults.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/destructuring-export.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/different-view.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/execution-order-cyclic.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/execution-order-dag.js.ftl-eager-modules
	modules.yaml/modules/execution-order-dag.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/execution-order-depth.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/execution-order-self.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/execution-order-sibling.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/execution-order-tree.js.ftl-eager-modules
	modules.yaml/modules/execution-order-tree.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/export-conflict-ok.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/export-from.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/export-with-declarations-list.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/exported-function-may-be-called-before-module-is-executed.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/fallback-ambiguous.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/import-error.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/imported-bindings-are-immutable.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/imported-bindings-can-be-changed-in-original-module.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/indirect-export-error.js.ftl-eager-modules
	modules.yaml/modules/indirect-export-error.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/module-eval.js.ftl-eager-modules
	modules.yaml/modules/module-eval.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/module-is-strict-code.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/namespace-ambiguous.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/namespace-error.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/namespace-tdz.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/namespace.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/scopes.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/self-star-link.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/this-should-be-undefined.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/uncacheable-when-see-star.js.ftl-eager-no-cjit-modules
	mozilla-tests.yaml/ecma/Date/15.9.4.3.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-1.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-10.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-11.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-12.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-13.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-2.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-3.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-4.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-5.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-6.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-7.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-8.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.10-9.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.11-1.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.11-2.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.11-3.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.11-4.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.11-5.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.11-6.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.11-7.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.23-10.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.23-12.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.23-13.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.23-14.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.23-16.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.23-18.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.24-3.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.24-4.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.24-6.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.24-8.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.30-1.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.33-1.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.34-1.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.36-1.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.36-2.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.36-3.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.36-4.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.36-5.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.36-6.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.36-7.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.37-2.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.37-3.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.37-4.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.37-5.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.8.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma/Date/15.9.5.9.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/ecma_2/String/split-003.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/js1_5/Regress/regress-159334.js.mozilla-ftl
	mozilla-tests.yaml/js1_5/Regress/regress-159334.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/js1_5/Regress/regress-39309.js.mozilla-ftl-eager-no-cjit-validate-phases
	profiler-test.yaml/tests/sunspider-1.0/crypto-sha1.js.profiler
	profiler-test.yaml/tests/sunspider-1.0/math-cordic.js.profiler
	regress/script-tests/Float32Array-matrix-mult.js.ftl-eager-no-cjit
	regress/script-tests/array-prototype-every.js.ftl-eager
	regress/script-tests/array-prototype-every.js.ftl-eager-no-cjit
	regress/script-tests/array-prototype-every.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/array-prototype-forEach.js.ftl-eager
	regress/script-tests/array-prototype-forEach.js.ftl-eager-no-cjit
	regress/script-tests/array-prototype-forEach.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/array-prototype-reduce.js.ftl-eager
	regress/script-tests/array-prototype-reduce.js.ftl-eager-no-cjit
	regress/script-tests/array-prototype-reduce.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/array-prototype-reduceRight.js.ftl-eager
	regress/script-tests/array-prototype-reduceRight.js.ftl-eager-no-cjit
	regress/script-tests/array-prototype-reduceRight.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/array-prototype-some.js.ftl-eager
	regress/script-tests/array-prototype-some.js.ftl-eager-no-cjit
	regress/script-tests/array-prototype-some.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/assign-custom-setter-polymorphic.js.ftl-eager-no-cjit
	regress/script-tests/call-spread-apply.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/call-spread-call.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/deltablue-varargs.js.ftl-eager-no-cjit
	regress/script-tests/deltablue-varargs.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/deltablue-varargs.js.ftl-no-cjit-validate
	regress/script-tests/emscripten-cube2hash.js.default-ftl
	regress/script-tests/emscripten-cube2hash.js.ftl-eager
	regress/script-tests/emscripten-cube2hash.js.ftl-eager-no-cjit
	regress/script-tests/emscripten-cube2hash.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/ftl-polymorphic-bitand.js.ftl-no-cjit
	regress/script-tests/ftl-polymorphic-bitor.js.ftl-no-cjit
	regress/script-tests/ftl-polymorphic-bitxor.js.ftl-no-cjit
	regress/script-tests/ftl-polymorphic-div.js.ftl-no-cjit
	regress/script-tests/ftl-polymorphic-lshift.js.ftl-no-cjit
	regress/script-tests/ftl-polymorphic-mul.js.ftl-no-cjit
	regress/script-tests/ftl-polymorphic-rshift.js.ftl-no-cjit
	regress/script-tests/ftl-polymorphic-sub.js.ftl-no-cjit
	regress/script-tests/ftl-polymorphic-urshift.js.ftl-no-cjit
	regress/script-tests/generator-fib.js.ftl-eager
	regress/script-tests/generator-fib.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/generator-fib.js.ftl-no-cjit-small-pool
	regress/script-tests/generator-sunspider-access-nsieve.js.ftl-eager
	regress/script-tests/generator-sunspider-access-nsieve.js.ftl-eager-no-cjit
	regress/script-tests/generator-with-several-types.js.default-ftl
	regress/script-tests/getter-richards-try-catch.js.default-ftl
	regress/script-tests/getter-richards-try-catch.js.ftl-no-cjit-validate
	regress/script-tests/in-four-cases.js.default-ftl
	regress/script-tests/in-four-cases.js.ftl-eager
	regress/script-tests/in-four-cases.js.ftl-eager-no-cjit
	regress/script-tests/in-four-cases.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/in-four-cases.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/in-four-cases.js.ftl-no-cjit-small-pool
	regress/script-tests/in-four-cases.js.ftl-no-cjit-validate
	regress/script-tests/in-one-case-false.js.default-ftl
	regress/script-tests/in-one-case-false.js.ftl-eager
	regress/script-tests/in-one-case-false.js.ftl-eager-no-cjit
	regress/script-tests/in-one-case-false.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/in-one-case-false.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/in-one-case-false.js.ftl-no-cjit-small-pool
	regress/script-tests/in-one-case-false.js.ftl-no-cjit-validate
	regress/script-tests/in-one-case-true.js.default-ftl
	regress/script-tests/in-one-case-true.js.ftl-eager
	regress/script-tests/in-one-case-true.js.ftl-eager-no-cjit
	regress/script-tests/in-one-case-true.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/in-one-case-true.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/in-one-case-true.js.ftl-no-cjit-small-pool
	regress/script-tests/in-one-case-true.js.ftl-no-cjit-validate
	regress/script-tests/in-two-cases.js.default-ftl
	regress/script-tests/in-two-cases.js.ftl-eager
	regress/script-tests/in-two-cases.js.ftl-eager-no-cjit
	regress/script-tests/in-two-cases.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/in-two-cases.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/in-two-cases.js.ftl-no-cjit-small-pool
	regress/script-tests/in-two-cases.js.ftl-no-cjit-validate
	regress/script-tests/int-or-other-neg-then-get-by-val.js.ftl-eager-no-cjit
	regress/script-tests/int-or-other-neg-then-get-by-val.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/large-int-neg.js.default-ftl
	regress/script-tests/large-int-neg.js.ftl-eager
	regress/script-tests/large-int-neg.js.ftl-eager-no-cjit
	regress/script-tests/large-int-neg.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/large-int-neg.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/large-int-neg.js.ftl-no-cjit-small-pool
	regress/script-tests/large-int-neg.js.ftl-no-cjit-validate
	regress/script-tests/raytrace-with-empty-try-catch.js.ftl-eager-no-cjit
	regress/script-tests/raytrace-with-try-catch.js.ftl-eager
	regress/script-tests/raytrace-with-try-catch.js.ftl-eager-no-cjit
	regress/script-tests/raytrace-with-try-catch.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/raytrace-with-try-catch.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/raytrace-with-try-catch.js.ftl-no-cjit-validate
	regress/script-tests/richards-try-catch.js.default-ftl
	regress/script-tests/richards-try-catch.js.ftl-eager
	regress/script-tests/richards-try-catch.js.ftl-eager-no-cjit
	regress/script-tests/richards-try-catch.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/richards-try-catch.js.ftl-no-cjit-validate
	regress/script-tests/string-get-by-val-big-char.js.default-ftl
	regress/script-tests/string-get-by-val-big-char.js.ftl-eager
	regress/script-tests/string-get-by-val-big-char.js.ftl-eager-no-cjit
	regress/script-tests/string-get-by-val-big-char.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/string-get-by-val-big-char.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/string-get-by-val-big-char.js.ftl-no-cjit-small-pool
	regress/script-tests/string-get-by-val-big-char.js.ftl-no-cjit-validate
	regress/script-tests/switch-string-basic-big-var.js.default-ftl
	regress/script-tests/switch-string-basic-big-var.js.ftl-eager
	regress/script-tests/switch-string-basic-big-var.js.ftl-eager-no-cjit
	regress/script-tests/switch-string-basic-big-var.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/switch-string-basic-big-var.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/switch-string-basic-big-var.js.ftl-no-cjit-small-pool
	regress/script-tests/switch-string-basic-big-var.js.ftl-no-cjit-validate
	regress/script-tests/switch-string-basic-var.js.default-ftl
	regress/script-tests/switch-string-basic-var.js.ftl-eager
	regress/script-tests/switch-string-basic-var.js.ftl-eager-no-cjit
	regress/script-tests/switch-string-basic-var.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/switch-string-basic-var.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/switch-string-basic-var.js.ftl-no-cjit-small-pool
	regress/script-tests/switch-string-basic-var.js.ftl-no-cjit-validate
	regress/script-tests/switch-string-big-length-tower-var.js.default-ftl
	regress/script-tests/switch-string-big-length-tower-var.js.ftl-eager
	regress/script-tests/switch-string-big-length-tower-var.js.ftl-eager-no-cjit
	regress/script-tests/switch-string-big-length-tower-var.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/switch-string-big-length-tower-var.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/switch-string-big-length-tower-var.js.ftl-no-cjit-small-pool
	regress/script-tests/switch-string-big-length-tower-var.js.ftl-no-cjit-validate
	regress/script-tests/switch-string-length-tower-var.js.default-ftl
	regress/script-tests/switch-string-length-tower-var.js.ftl-eager
	regress/script-tests/switch-string-length-tower-var.js.ftl-eager-no-cjit
	regress/script-tests/switch-string-length-tower-var.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/switch-string-length-tower-var.js.ftl-no-cjit-no-put-stack-validate
	regress/script-tests/switch-string-length-tower-var.js.ftl-no-cjit-small-pool
	regress/script-tests/switch-string-length-tower-var.js.ftl-no-cjit-validate
	regress/script-tests/v8-raytrace-with-try-catch.js.ftl-eager-no-cjit
	regress/script-tests/varargs-strict-mode.js.ftl-no-cjit-no-inline-validate
	stress/arguments-inlined-exit-strict-mode-fixed.js.ftl-no-cjit-no-inline-validate
	stress/arguments-inlined-exit-strict-mode.js.ftl-no-cjit-no-inline-validate
	stress/array-copywithin.js.ftl-eager-no-cjit
	stress/capture-escape-and-throw.js.ftl-eager-no-cjit
	stress/capture-escape-and-throw.js.ftl-no-cjit-no-inline-validate
	stress/capture-escape-and-throw.js.ftl-no-cjit-no-put-stack-validate
	stress/capture-escape-and-throw.js.ftl-no-cjit-validate
	stress/const-loop-semantics.js.ftl-eager
	stress/dfg-put-accessors-by-id-class.js.default-ftl
	stress/dfg-put-accessors-by-id-class.js.ftl-eager
	stress/dfg-put-accessors-by-id-class.js.ftl-eager-no-cjit
	stress/dfg-put-accessors-by-id-class.js.ftl-no-cjit-no-inline-validate
	stress/dfg-put-accessors-by-id-class.js.ftl-no-cjit-no-put-stack-validate
	stress/dfg-put-accessors-by-id-class.js.ftl-no-cjit-small-pool
	stress/dfg-put-accessors-by-id-class.js.ftl-no-cjit-validate
	stress/dfg-put-accessors-by-id.js.ftl-eager
	stress/dfg-put-accessors-by-id.js.ftl-eager-no-cjit
	stress/dfg-put-accessors-by-id.js.ftl-no-cjit-no-inline-validate
	stress/dfg-put-accessors-by-id.js.ftl-no-cjit-no-put-stack-validate
	stress/dfg-put-accessors-by-id.js.ftl-no-cjit-small-pool
	stress/dfg-put-accessors-by-id.js.ftl-no-cjit-validate
	stress/dfg-put-by-val-direct-with-edge-numbers.js.default-ftl
	stress/dfg-put-by-val-direct-with-edge-numbers.js.ftl-eager
	stress/dfg-put-by-val-direct-with-edge-numbers.js.ftl-eager-no-cjit
	stress/dfg-put-by-val-direct-with-edge-numbers.js.ftl-no-cjit-no-inline-validate
	stress/dfg-put-by-val-direct-with-edge-numbers.js.ftl-no-cjit-no-put-stack-validate
	stress/dfg-put-by-val-direct-with-edge-numbers.js.ftl-no-cjit-validate
	stress/dfg-put-getter-by-id-class.js.default-ftl
	stress/dfg-put-getter-by-id-class.js.ftl-eager
	stress/dfg-put-getter-by-id-class.js.ftl-eager-no-cjit
	stress/dfg-put-getter-by-id-class.js.ftl-no-cjit-no-inline-validate
	stress/dfg-put-getter-by-id-class.js.ftl-no-cjit-no-put-stack-validate
	stress/dfg-put-getter-by-id-class.js.ftl-no-cjit-validate
	stress/dfg-put-getter-by-id.js.ftl-eager-no-cjit
	stress/dfg-put-getter-by-val-class.js.ftl-eager
	stress/dfg-put-getter-by-val-class.js.ftl-eager-no-cjit
	stress/dfg-put-getter-by-val.js.ftl-eager-no-cjit
	stress/dfg-put-setter-by-id-class.js.ftl-eager
	stress/dfg-put-setter-by-id-class.js.ftl-eager-no-cjit
	stress/dfg-put-setter-by-id-class.js.ftl-no-cjit-no-inline-validate
	stress/dfg-put-setter-by-id-class.js.ftl-no-cjit-no-put-stack-validate
	stress/dfg-put-setter-by-id-class.js.ftl-no-cjit-validate
	stress/dfg-put-setter-by-id.js.ftl-eager-no-cjit
	stress/dfg-put-setter-by-val-class.js.ftl-eager
	stress/dfg-put-setter-by-val-class.js.ftl-eager-no-cjit
	stress/dfg-put-setter-by-val.js.ftl-eager
	stress/dfg-put-setter-by-val.js.ftl-eager-no-cjit
	stress/dfg-tail-calls.js.default-ftl
	stress/dfg-tail-calls.js.ftl-eager
	stress/dfg-tail-calls.js.ftl-eager-no-cjit
	stress/dfg-tail-calls.js.ftl-no-cjit-no-inline-validate
	stress/dfg-tail-calls.js.ftl-no-cjit-no-put-stack-validate
	stress/dfg-tail-calls.js.ftl-no-cjit-small-pool
	stress/dfg-tail-calls.js.ftl-no-cjit-validate
	stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js.ftl-eager-no-cjit
	stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js.ftl-no-cjit-no-inline-validate
	stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js.ftl-no-cjit-no-put-stack-validate
	stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js.ftl-no-cjit-validate
	stress/double-rep-with-non-cell.js.ftl-eager-no-cjit
	stress/double-rep-with-non-cell.js.ftl-no-cjit-no-inline-validate
	stress/double-rep-with-non-cell.js.ftl-no-cjit-no-put-stack-validate
	stress/double-rep-with-non-cell.js.ftl-no-cjit-small-pool
	stress/double-rep-with-non-cell.js.ftl-no-cjit-validate
	stress/double-rep-with-null.js.ftl-eager-no-cjit
	stress/double-rep-with-null.js.ftl-no-cjit-no-inline-validate
	stress/double-rep-with-null.js.ftl-no-cjit-no-put-stack-validate
	stress/double-rep-with-null.js.ftl-no-cjit-validate
	stress/double-rep-with-undefined.js.ftl-eager
	stress/double-rep-with-undefined.js.ftl-eager-no-cjit
	stress/double-rep-with-undefined.js.ftl-no-cjit-no-inline-validate
	stress/double-rep-with-undefined.js.ftl-no-cjit-no-put-stack-validate
	stress/double-rep-with-undefined.js.ftl-no-cjit-small-pool
	stress/double-rep-with-undefined.js.ftl-no-cjit-validate
	stress/exception-effect-strcat.js.ftl-eager-no-cjit
	stress/exception-effect-strcat.js.ftl-no-cjit-no-inline-validate
	stress/exception-effect-strcat.js.ftl-no-cjit-no-put-stack-validate
	stress/exception-effect-strcat.js.ftl-no-cjit-validate
	stress/exception-in-strcat-string-overflow.js.ftl-eager-no-cjit
	stress/exception-in-strcat-string-overflow.js.ftl-no-cjit-no-inline-validate
	stress/exception-in-strcat-string-overflow.js.ftl-no-cjit-no-put-stack-validate
	stress/exception-in-strcat-string-overflow.js.ftl-no-cjit-validate
	stress/exception-in-strcat.js.ftl-eager
	stress/exception-in-strcat.js.ftl-eager-no-cjit
	stress/exception-in-strcat.js.ftl-no-cjit-no-inline-validate
	stress/exception-in-strcat.js.ftl-no-cjit-no-put-stack-validate
	stress/exception-in-strcat.js.ftl-no-cjit-validate
	stress/exception-in-to-property-key-should-be-handled-early.js.ftl-eager
	stress/exception-in-to-property-key-should-be-handled-early.js.ftl-eager-no-cjit
	stress/exception-in-to-property-key-should-be-handled-early.js.ftl-no-cjit-no-inline-validate
	stress/exception-in-to-property-key-should-be-handled-early.js.ftl-no-cjit-no-put-stack-validate
	stress/exception-in-to-property-key-should-be-handled-early.js.ftl-no-cjit-validate
	stress/for-in-array-mode.js.default-ftl
	stress/for-in-array-mode.js.ftl-eager
	stress/for-in-array-mode.js.ftl-eager-no-cjit
	stress/for-in-array-mode.js.ftl-no-cjit-no-inline-validate
	stress/for-in-array-mode.js.ftl-no-cjit-no-put-stack-validate
	stress/for-in-array-mode.js.ftl-no-cjit-small-pool
	stress/for-in-array-mode.js.ftl-no-cjit-validate
	stress/for-in-modify-int-loop-var.js.ftl-eager
	stress/for-in-modify-int-loop-var.js.ftl-eager-no-cjit
	stress/for-in-modify-int-loop-var.js.ftl-no-cjit-no-inline-validate
	stress/for-in-modify-int-loop-var.js.ftl-no-cjit-no-put-stack-validate
	stress/for-in-modify-int-loop-var.js.ftl-no-cjit-validate
	stress/for-in-proxy-target-changed-structure.js.default-ftl
	stress/for-in-proxy-target-changed-structure.js.ftl-eager
	stress/for-in-proxy-target-changed-structure.js.ftl-eager-no-cjit
	stress/for-in-proxy-target-changed-structure.js.ftl-no-cjit-no-inline-validate
	stress/for-in-proxy-target-changed-structure.js.ftl-no-cjit-no-put-stack-validate
	stress/for-in-proxy-target-changed-structure.js.ftl-no-cjit-validate
	stress/for-in-proxy.js.ftl-eager
	stress/for-in-proxy.js.ftl-eager-no-cjit
	stress/for-in-proxy.js.ftl-no-cjit-no-inline-validate
	stress/for-in-proxy.js.ftl-no-cjit-no-put-stack-validate
	stress/for-in-proxy.js.ftl-no-cjit-validate
	stress/for-in-tests.js.default-ftl
	stress/for-in-tests.js.ftl-eager
	stress/for-in-tests.js.ftl-eager-no-cjit
	stress/for-in-tests.js.ftl-no-cjit-no-inline-validate
	stress/for-in-tests.js.ftl-no-cjit-no-put-stack-validate
	stress/for-in-tests.js.ftl-no-cjit-validate
	stress/ftl-checkin-variable.js.default-ftl
	stress/ftl-checkin-variable.js.ftl-eager
	stress/ftl-checkin-variable.js.ftl-eager-no-cjit
	stress/ftl-checkin-variable.js.ftl-no-cjit-no-inline-validate
	stress/ftl-checkin-variable.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-checkin-variable.js.ftl-no-cjit-small-pool
	stress/ftl-checkin-variable.js.ftl-no-cjit-validate
	stress/ftl-checkin.js.default-ftl
	stress/ftl-checkin.js.ftl-eager
	stress/ftl-checkin.js.ftl-eager-no-cjit
	stress/ftl-checkin.js.ftl-no-cjit-no-inline-validate
	stress/ftl-checkin.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-checkin.js.ftl-no-cjit-small-pool
	stress/ftl-checkin.js.ftl-no-cjit-validate
	stress/ftl-in-overflow.js.default-ftl
	stress/ftl-in-overflow.js.ftl-eager
	stress/ftl-in-overflow.js.ftl-eager-no-cjit
	stress/ftl-in-overflow.js.ftl-no-cjit-no-inline-validate
	stress/ftl-in-overflow.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-in-overflow.js.ftl-no-cjit-small-pool
	stress/ftl-in-overflow.js.ftl-no-cjit-validate
	stress/ftl-tail-call.js.ftl-no-cjit-no-inline-validate
	stress/ftl-tail-call.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-tail-call.js.ftl-no-cjit-validate
	stress/ftl-try-catch-arith-sub-exception.js.ftl-eager-no-cjit
	stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js.ftl-eager
	stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js.ftl-eager-no-cjit
	stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js.ftl-no-cjit-no-inline-validate
	stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js.ftl-no-cjit-small-pool
	stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js.ftl-no-cjit-validate
	stress/ftl-try-catch-getter-throw.js.default-ftl
	stress/ftl-try-catch-getter-throw.js.ftl-eager
	stress/ftl-try-catch-getter-throw.js.ftl-eager-no-cjit
	stress/ftl-try-catch-getter-throw.js.ftl-no-cjit-no-inline-validate
	stress/ftl-try-catch-getter-throw.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-try-catch-getter-throw.js.ftl-no-cjit-validate
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.default-ftl
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-eager
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-eager-no-cjit
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-no-cjit-no-inline-validate
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-no-cjit-small-pool
	stress/ftl-try-catch-oom-error-lazy-slow-path.js.ftl-no-cjit-validate
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.default-ftl
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.ftl-eager-no-cjit
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.ftl-no-cjit-no-inline-validate
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-try-catch-patchpoint-with-volatile-registers.js.ftl-no-cjit-validate
	stress/ftl-try-catch-setter-throw.js.default-ftl
	stress/ftl-try-catch-setter-throw.js.ftl-eager
	stress/ftl-try-catch-setter-throw.js.ftl-eager-no-cjit
	stress/ftl-try-catch-setter-throw.js.ftl-no-cjit-no-inline-validate
	stress/ftl-try-catch-setter-throw.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-try-catch-setter-throw.js.ftl-no-cjit-small-pool
	stress/ftl-try-catch-setter-throw.js.ftl-no-cjit-validate
	stress/ftl-try-catch-tail-call-inilned-caller.js.ftl-eager
	stress/ftl-try-catch-tail-call-inilned-caller.js.ftl-eager-no-cjit
	stress/ftl-try-catch-tail-call-inilned-caller.js.ftl-no-cjit-no-inline-validate
	stress/ftl-try-catch-tail-call-inilned-caller.js.ftl-no-cjit-no-put-stack-validate
	stress/ftl-try-catch-tail-call-inilned-caller.js.ftl-no-cjit-small-pool
	stress/ftl-try-catch-tail-call-inilned-caller.js.ftl-no-cjit-validate
	stress/generator-arguments.js.ftl-eager-no-cjit
	stress/generator-function-declaration-sinking-osrexit.js.ftl-eager-no-cjit
	stress/generator-function-declaration-sinking-osrexit.js.ftl-no-cjit-no-inline-validate
	stress/generator-function-declaration-sinking-put.js.ftl-eager-no-cjit
	stress/generator-function-declaration-sinking-put.js.ftl-no-cjit-no-inline-validate
	stress/generator-function-declaration-sinking-put.js.ftl-no-cjit-no-put-stack-validate
	stress/generator-function-expression-sinking-osrexit.js.ftl-eager-no-cjit
	stress/generator-function-expression-sinking-put.js.ftl-eager-no-cjit
	stress/generator-function-expression-sinking-put.js.ftl-no-cjit-no-put-stack-validate
	stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js.ftl-eager-no-cjit
	stress/ic-throw-through-optimized-code.js.default-ftl
	stress/ic-throw-through-optimized-code.js.ftl-eager
	stress/ic-throw-through-optimized-code.js.ftl-eager-no-cjit
	stress/ic-throw-through-optimized-code.js.ftl-no-cjit-no-inline-validate
	stress/ic-throw-through-optimized-code.js.ftl-no-cjit-no-put-stack-validate
	stress/ic-throw-through-optimized-code.js.ftl-no-cjit-small-pool
	stress/ic-throw-through-optimized-code.js.ftl-no-cjit-validate
	stress/int52-ai-neg-then-filter-int32.js.ftl-eager-no-cjit
	stress/lexical-let-semantics.js.ftl-eager-no-cjit
	stress/lexical-scoping-break-continue.js.ftl-eager
	stress/lexical-scoping-break-continue.js.ftl-eager-no-cjit
	stress/load-varargs-then-inlined-call-and-exit-strict.js.ftl-no-cjit-no-inline-validate
	stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-eager-no-cjit
	stress/math-pow-basics.js.ftl-eager-no-cjit
	stress/math-pow-integer-exponent-fastpath.js.ftl-eager-no-cjit
	stress/new-array-with-size-throw-exception-and-tear-off-arguments.js.ftl-eager-no-cjit
	stress/new-array-with-size-throw-exception-and-tear-off-arguments.js.ftl-no-cjit-no-inline-validate
	stress/new-array-with-size-throw-exception-and-tear-off-arguments.js.ftl-no-cjit-no-put-stack-validate
	stress/new-array-with-size-throw-exception-and-tear-off-arguments.js.ftl-no-cjit-validate
	stress/op_add.js.ftl-no-cjit
	stress/op_negate.js.ftl-no-cjit
	stress/phantom-direct-arguments-clobber-argument-count.js.ftl-eager
	stress/phantom-direct-arguments-clobber-argument-count.js.ftl-eager-no-cjit
	stress/phantom-direct-arguments-clobber-argument-count.js.ftl-no-cjit-no-put-stack-validate
	stress/phantom-direct-arguments-clobber-argument-count.js.ftl-no-cjit-validate
	stress/put-by-id-on-new-object-after-prototype-transition-strict.js.default-ftl
	stress/put-by-id-on-new-object-after-prototype-transition-strict.js.ftl-eager
	stress/put-by-id-on-new-object-after-prototype-transition-strict.js.ftl-eager-no-cjit
	stress/put-by-id-on-new-object-after-prototype-transition-strict.js.ftl-no-cjit-no-inline-validate
	stress/put-by-id-on-new-object-after-prototype-transition-strict.js.ftl-no-cjit-no-put-stack-validate
	stress/put-by-id-on-new-object-after-prototype-transition-strict.js.ftl-no-cjit-small-pool
	stress/put-by-id-on-new-object-after-prototype-transition-strict.js.ftl-no-cjit-validate
	stress/put-by-id-throw-through-optimized-code.js.ftl-eager-no-cjit
	stress/reflect-apply.js.ftl-eager-no-cjit
	stress/reflect-has.js.ftl-eager-no-cjit
	stress/runtime-throw-through-optimized-code.js.ftl-eager
	stress/runtime-throw-through-optimized-code.js.ftl-eager-no-cjit
	stress/runtime-throw-through-optimized-code.js.ftl-no-cjit-no-inline-validate
	stress/runtime-throw-through-optimized-code.js.ftl-no-cjit-no-put-stack-validate
	stress/runtime-throw-through-optimized-code.js.ftl-no-cjit-small-pool
	stress/runtime-throw-through-optimized-code.js.ftl-no-cjit-validate
	stress/string-raw.js.ftl-eager-no-cjit
	stress/tail-call-no-stack-overflow.js.ftl-eager
	stress/tail-call-no-stack-overflow.js.ftl-eager-no-cjit
	stress/tail-call-no-stack-overflow.js.ftl-no-cjit-no-put-stack-validate
	stress/tail-call-no-stack-overflow.js.ftl-no-cjit-small-pool
	stress/tail-call-no-stack-overflow.js.ftl-no-cjit-validate
	stress/tail-call-recognize.js.default-ftl
	stress/tail-call-recognize.js.ftl-eager
	stress/tail-call-recognize.js.ftl-eager-no-cjit
	stress/tail-call-recognize.js.ftl-no-cjit-no-inline-validate
	stress/tail-call-recognize.js.ftl-no-cjit-no-put-stack-validate
	stress/tail-call-recognize.js.ftl-no-cjit-validate
	stress/tail-call-varargs-no-stack-overflow.js.default-ftl
	stress/tail-call-varargs-no-stack-overflow.js.ftl-eager
	stress/tail-call-varargs-no-stack-overflow.js.ftl-eager-no-cjit
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-no-inline-validate
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-no-put-stack-validate
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-small-pool
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-validate
	stress/tail-calls-dont-overwrite-live-stack.js.ftl-eager-no-cjit
	stress/tail-calls-dont-overwrite-live-stack.js.ftl-no-cjit-no-inline-validate
	stress/tail-calls-dont-overwrite-live-stack.js.ftl-no-cjit-no-put-stack-validate
	stress/tail-calls-dont-overwrite-live-stack.js.ftl-no-cjit-validate
	stress/toprimitive-speculated-types.js.ftl-eager
	stress/toprimitive-speculated-types.js.ftl-eager-no-cjit
	stress/toprimitive-speculated-types.js.ftl-no-cjit-no-inline-validate
	stress/try-catch-stub-routine-replaced.js.ftl-eager
	stress/try-catch-stub-routine-replaced.js.ftl-eager-no-cjit
	stress/type-of-functions-and-objects.js.default-ftl
	stress/type-of-functions-and-objects.js.ftl-eager
	stress/type-of-functions-and-objects.js.ftl-eager-no-cjit
	stress/type-of-functions-and-objects.js.ftl-no-cjit-no-inline-validate
	stress/type-of-functions-and-objects.js.ftl-no-cjit-no-put-stack-validate
	stress/type-of-functions-and-objects.js.ftl-no-cjit-validate
	stress/uint32-to-number-fold-constant-with-do-overflow.js.ftl-eager
	stress/uint32-to-number-fold-constant-with-do-overflow.js.ftl-eager-no-cjit
	stress/uint32-to-number-fold-constant-with-do-overflow.js.ftl-no-cjit-no-inline-validate
	stress/uint32-to-number-fold-constant-with-do-overflow.js.ftl-no-cjit-no-put-stack-validate
	stress/uint32-to-number-fold-constant-with-do-overflow.js.ftl-no-cjit-small-pool
	stress/uint32-to-number-fold-constant-with-do-overflow.js.ftl-no-cjit-validate
	stress/v8-crypto-strict.js.ftl-eager
	stress/v8-crypto-strict.js.ftl-eager-no-cjit
	stress/v8-deltablue-strict.js.ftl-eager
	stress/v8-deltablue-strict.js.ftl-eager-no-cjit
	stress/v8-deltablue-strict.js.ftl-no-cjit-no-inline-validate
	stress/v8-earley-boyer-strict.js.default-ftl
	stress/v8-earley-boyer-strict.js.ftl-eager
	stress/v8-earley-boyer-strict.js.ftl-eager-no-cjit
	stress/v8-earley-boyer-strict.js.ftl-no-cjit-no-inline-validate
	stress/v8-earley-boyer-strict.js.ftl-no-cjit-no-put-stack-validate
	stress/v8-earley-boyer-strict.js.ftl-no-cjit-validate
	stress/v8-raytrace-strict.js.ftl-eager-no-cjit
	stress/v8-richards-strict.js.default-ftl
	stress/v8-richards-strict.js.ftl-eager-no-cjit
	stress/v8-richards-strict.js.ftl-no-cjit-no-inline-validate
	stress/v8-splay-strict.js.ftl-eager
	stress/v8-splay-strict.js.ftl-eager-no-cjit
	stress/varargs-closure-inlined-exit-strict-mode.js.ftl-no-cjit-no-inline-validate
	stress/varargs-varargs-inlined-exit-strict-mode.js.ftl-no-cjit-no-inline-validate
	sunspider-1.0/3d-raytrace.js.ftl-eager-no-cjit
	v8-v6/v8-crypto.js.ftl-eager
	v8-v6/v8-crypto.js.ftl-eager-no-cjit
	v8-v6/v8-raytrace.js.ftl-eager-no-cjit
	v8-v6/v8-splay.js.ftl-eager
	v8-v6/v8-splay.js.ftl-eager-no-cjit

Results for JSC stress tests:
    653 failures found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151208</commentid>
    <comment_count>4</comment_count>
      <attachid>267876</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-12-23 16:21:46 -0800</bug_when>
    <thetext>Comment on attachment 267876
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151210</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-12-23 16:26:41 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/194402</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267876</attachid>
            <date>2015-12-23 15:40:06 -0800</date>
            <delta_ts>2015-12-23 16:21:46 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>23913</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk0Mzk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc1IEBA
CisyMDE1LTEyLTIzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RlRMIEIzIHNob3VsZCBiZSBhYmxlIHRvIHJ1biBjcnlwdG8tc2hhMSBpbiBlYWdlciBtb2RlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI1MzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGNvbnRhaW5zIG9uZSByZWFsIGJ1ZyBmaXggYW5kIHNvbWUgb3RoZXIgZml4ZXMgdGhhdCBhcmUg
cHJpbWFyaWx5IHRoZXJlIGZvciBzYW5pdHkKKyAgICAgICAgYmVjYXVzZSBJIGRvbid0IGJlbGll
dmUgdGhleSBhcmUgc3ltcHRvbWF0aWMuCisKKyAgICAgICAgVGhlIHJlYWwgZml4IGlzIHRoZSBp
bnN0cnVjdGlvbiBzZWxlY3RvcidzIGhhbmRsaW5nIG9mIFBoaS4gSXQgd2FzIGFzc3VtaW5nIHRo
YXQgdGhlIGNvcnJlY3QKKyAgICAgICAgbG93ZXJpbmcgb2YgUGhpIGlzIHRvIGRvIG5vdGhpbmcg
YW5kIHRoZSBjb3JyZWN0IGxvd2VyaW5nIG9mIFVwc2lsb24gaXMgdG8gc3RvcmUgaW50byB0aGUg
dG1wCisgICAgICAgIHRoYXQgdGhlIFBoaSB1c2VzLiBCdXQgdGhpcyBmYWlscyBmb3IgY29kZSBw
YXR0ZXJucyBsaWtlOgorCisgICAgICAgICAgICBAYSA9IFBoaSgpCisgICAgICAgICAgICBVcHNp
bG9uKEB4LCBeYSkKKyAgICAgICAgICAgIHVzZShAYSkgLy8gdGhpcyBzaG91bGQgc2VlIHRoZSB2
YWx1ZSB0aGF0IEBhIGhhZCBhdCB0aGUgcG9pbnQgdGhhdCAiQGEgPSBQaGkoKSIgZXhlY3V0ZWQu
CisKKyAgICAgICAgVGhpcyBhcmlzZXMgd2hlbiB3ZSBoYXZlIGEgbG90IG9mIFVwc2lsb25zIGlu
IGEgcm93IGFuZCB0aGV5IGFyZSB0cnlpbmcgdG8gcGVyZm9ybSBhCisgICAgICAgIHNodWZmbGlu
Zy4gUHJpb3IgdG8gdGhpcyBjaGFuZ2UsICJ1c2UoQGEpIiB3b3VsZCBzZWUgdGhlIG5ldyB2YWx1
ZSBvZiBAYSwgaS5lLiBAeC4gVGhhdCdzCisgICAgICAgIHdyb25nLiBTbywgdGhpcyBjaGFuZ2Vz
IHRoZSBsb3dlcmluZyB0byBtYWtlIGVhY2ggUGhpIGhhdmUgYSBzcGVjaWFsIHNoYWRvdyBUbXAs
IGFuZCBVcHNpbG9uCisgICAgICAgIHN0b3JlcyB0byBpdCB3aGlsZSBQaGkgbG9hZHMgZnJvbSBp
dC4gTW9zdCBvZiB0aGVzZSBhc3NpZ25tZW50cyBnZXQgY29weS1wcm9wYWdhdGVkIGJ5IElSQywK
KyAgICAgICAgc28gaXQgZG9lc24ndCByZWFsbHkgaHVydCB1cy4gSSBjb3VsZG4ndCBmaW5kIGFu
eSBiZW5jaG1hcmtzIHRoYXQgc2xvd2VkIGRvd24gYmVjYXVzZSBvZgorICAgICAgICB0aGlzLiBJ
biBmYWN0LCBJIGJlbGlldmUgdGhhdCB0aGUgb25seSB0aW1lIHRoYXQgdGhpcyB3b3VsZCBsZWFk
IHRvIGV4dHJhIGludGVyZmVyZW5jZSBvcgorICAgICAgICBleHRyYSBhc3NpZ25tZW50cyBpcyB3
aGVuIGl0J3MgYWN0dWFsbHkgbmVlZGVkIHRvIGJlIGNvcnJlY3QuCisKKyAgICAgICAgVGhpcyBh
bHNvIGNvbnRhaW5zIG90aGVyIGZpeGVzLCB3aGljaCBhcmUgcHJvYmFibHkgbm90IGZvciByZWFs
IGJ1Z3MsIGJ1dCB0aGV5IG1ha2UgbWUgZmVlbAorICAgICAgICBhbGwgd2FybSBhbmQgZnV6enk6
CisKKyAgICAgICAgLSBzcGlsbEV2ZXJ5dGhpbmcoKSB3b3JrcyBhZ2Fpbi4gIFByZXZpb3VzbHks
IGl0IGRpZG4ndCBoYXZlIGFsbCBvZiBJUkMncyBzbWFydHMgZm9yIGhhbmRsaW5nCisgICAgICAg
ICAgYSBzcGlsbCBvZiBhIFpEZWYuICBJIGZpeGVkIHRoaXMgYnkgY3JlYXRpbmcgYSBoZWxwZXIg
cGhhc2UgdGhhdCBmaW5kcyBhbGwgc3Vid2lkdGggWkRlZnMKKyAgICAgICAgICB0byBzcGlsbCBz
bG90cyBhbmQgYW1lbmRzIHRoZW0gd2l0aCB6ZXJvLWZpbGxzIG9mIHRoZSB0b3AgYml0cy4KKwor
ICAgICAgICAtIElSQyBubyBsb25nZXIgcmVxdWlyZXMgcHJlY2lzZSBUbXBXaWR0aCBhbmFseXNp
cy4gIFByZXZpb3VzbHksIGlmIFRtcFdpZHRoIGdhdmUgcGVzc2ltaXN0aWMKKyAgICAgICAgICBy
ZXN1bHRzLCB0aGUgc3Vid2lkdGggWkRlZiBidWcgd291bGQgcmV0dXJuLiAgVGhhdCBwcm9iYWJs
eSBtZWFucyB0aGF0IGl0IHdhcyBuZXZlciBmaXhlZAorICAgICAgICAgIHRvIGJlZ2luIHdpdGgs
IHNpbmNlIGl0J3MgdG90YWxseSBjb29sIGZvciBqdXN0IGEgc2luZ2xlIGRlZiBvciB1c2Ugb2Yg
YSB0bXAgdG8gY2F1c2UgaXQKKyAgICAgICAgICB0byBiZWNvbWUgcGVzc2ltaXN0aWMuIEJ1dCB0
aGVyZSBtYXkgc3RpbGwgaGF2ZSBiZWVuIHNvbWUgc3Vid2lkdGggWkRlZnMuICBUaGUgd2F5IHRo
YXQgSQorICAgICAgICAgIGZpeGVkIHRoaXMgYnVnIGlzIHRvIGhhdmUgSVJDIGFsc28gcnVuIHRo
ZSBaRGVmIGZpeHVwIGNvZGUgdGhhdCBzcGlsbEV2ZXJ5dGhpbmcoKSB1c2VzLgorICAgICAgICAg
IFRoaXMgaXMgYWJzdHJhY3RlZCBiZWhpbmQgdGhlIGJlYXV0aWZ1bGx5IG5hbWVkIEFpcjo6Zml4
U3BpbGxTbG93WkRlZigpLgorCisgICAgICAgIC0gQjM6OnZhbGlkYXRlKCkgZG9lcyBkb21pbmFu
Y2UgY2hlY2tzISAgU28sIGlmIHlvdSBzaG9vdCB5b3Vyc2VsZiBpbiB0aGUgZm9vdCBieSB1c2lu
ZworICAgICAgICAgIHNvbWV0aGluZyBiZWZvcmUgZGVmaW5pbmcgaXQsIHZhbGlkYXRlKCkgd2ls
bCB0ZWxsIHlvdS4KKworICAgICAgICAtIEFpcjo6VG1wV2lkdGggaXMgbm93IGVhc3kgdG8gInR1
cm4gb2ZmIiAtIGkuZS4gdG8gbWFrZSBpdCBnbyBmdWxseSBjb25zZXJ2YXRpdmUuIEl0J3Mgbm90
CisgICAgICAgICAgYW4gT3B0aW9uOyB5b3UgaGF2ZSB0byBoYWNrIGNvZGUuIEJ1dCB0aGF0J3Mg
YmV0dGVyIHRoYW4gbm90aGluZywgYW5kIGl0J3MgY29uc2lzdGVudCB3aXRoCisgICAgICAgICAg
d2hhdCB3ZSBkbyBmb3Igb3RoZXIgc3VwZXItaW50ZXJuYWwgY29tcGlsZXIgb3B0aW9ucyB0aGF0
IHdlIHVzZSByYXJlbHkuCisKKyAgICAgICAgLSBZb3UgY2FuIG5vdyBydW4gc3BpbGxFdmVyeXRo
aW5nKCkgd2l0aG91dCBoYWNraW5nIGNvZGUuICBKdXN0IHVzZQorICAgICAgICAgIE9wdGlvbnM6
OmFpclNwaWxsU2V2ZXJ5dGhpbmcoKS4KKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYjMvQjNMb3dlclRvQWlyLmNwcDoKKyAg
ICAgICAgKEpTQzo6QjM6OkFpcjo6TG93ZXJUb0Fpcjo6TG93ZXJUb0Fpcik6CisgICAgICAgIChK
U0M6OkIzOjpBaXI6Okxvd2VyVG9BaXI6OnJ1bik6CisgICAgICAgIChKU0M6OkIzOjpBaXI6Okxv
d2VyVG9BaXI6Omxvd2VyKToKKyAgICAgICAgKiBiMy9CM1ZhbGlkYXRlLmNwcDoKKyAgICAgICAg
KiBiMy9haXIvQWlyQ29kZS5oOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpDb2RlOjpzcGVjaWFs
cyk6CisgICAgICAgIChKU0M6OkIzOjpBaXI6OkNvZGU6OmZvckFsbFRtcHMpOgorICAgICAgICAo
SlNDOjpCMzo6QWlyOjpDb2RlOjppc0Zhc3RUbXApOgorICAgICAgICAqIGIzL2Fpci9BaXJGaXhT
cGlsbFNsb3RaRGVmLmg6IEFkZGVkLgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpmaXhTcGlsbFNs
b3RaRGVmKToKKyAgICAgICAgKiBiMy9haXIvQWlyR2VuZXJhdGUuY3BwOgorICAgICAgICAoSlND
OjpCMzo6QWlyOjpwcmVwYXJlRm9yR2VuZXJhdGlvbik6CisgICAgICAgICogYjMvYWlyL0Fpckl0
ZXJhdGVkUmVnaXN0ZXJDb2FsZXNjaW5nLmNwcDoKKyAgICAgICAgKiBiMy9haXIvQWlyU3BpbGxF
dmVyeXRoaW5nLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6c3BpbGxFdmVyeXRoaW5nKToK
KyAgICAgICAgKiBiMy9haXIvQWlyVG1wV2lkdGguY3BwOgorICAgICAgICAoSlNDOjpCMzo6QWly
OjpUbXBXaWR0aDo6cmVjb21wdXRlKToKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6
CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisKIDIwMTUtMTItMjMgIEFuZHkgVmFuV2Fn
b25lciAgPGFuZHlAaW5zdHJ1Y3R1cmUuY29tPgogCiAgICAgICAgIFtJTlRMXSBJbXBsZW1lbnQg
RGF0ZVRpbWUgRm9ybWF0IEZ1bmN0aW9ucwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDE5NDM4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zNzQsNiAr
Mzc0LDcgQEAKIAkJMEY0OTNBRkExNkQwQ0FEMzAwODQ1MDhCIC8qIFNvdXJjZVByb3ZpZGVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDkzQUY4
MTZEMENBRDEwMDg0NTA4QiAvKiBTb3VyY2VQcm92aWRlci5jcHAgKi87IH07CiAJCTBGNEI5NERD
MTdCOUYwNzUwMEREMDNBNCAvKiBUeXBlZEFycmF5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0Qjk0REIxN0I5RjA3NTAwREQwM0E0IC8q
IFR5cGVkQXJyYXlJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMEY0QzkxNjYxQzI5RjRGMjAwNDM0MUE2IC8qIEIzT3JpZ2luRHVtcC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0QzkxNjUx
QzI5RjRGMjAwNDM0MUE2IC8qIEIzT3JpZ2luRHVtcC5oICovOyB9OworCQkwRjRDOTE2ODFDMkIz
RDY4MDA0MzQxQTYgLyogQWlyRml4U3BpbGxTbG90WkRlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0QzkxNjcxQzJCM0Q2ODAwNDM0MUE2IC8qIEFp
ckZpeFNwaWxsU2xvdFpEZWYuaCAqLzsgfTsKIAkJMEY0RjI5REYxOEI2QUQxQzAwNTdCQzE1IC8q
IERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNEYyOUREMThCNkFEMUMwMDU3QkMx
NSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5jcHAgKi87IH07CiAJ
CTBGNEYyOUUwMThCNkFEMUMwMDU3QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGlt
YXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY0RjI5REUxOEI2QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0
aW1hdGlvblBoYXNlLmggKi87IH07CiAJCTBGNTBBRjNDMTkzRThCMzkwMDY3NEVFOCAvKiBERkdT
dHJ1Y3R1cmVDbG9iYmVyU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNTBBRjNCMTkzRThCMzkwMDY3NEVFOCAvKiBERkdTdHJ1Y3R1cmVDbG9i
YmVyU3RhdGUuaCAqLzsgfTsKQEAgLTI1MDgsNiArMjUwOSw3IEBACiAJCTBGNDkzQUY4MTZEMENB
RDEwMDg0NTA4QiAvKiBTb3VyY2VQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTb3VyY2VQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTBGNEI5NERCMTdCOUYwNzUwMEREMDNBNCAvKiBUeXBlZEFycmF5SW5saW5lcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUeXBlZEFycmF5SW5saW5lcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjRDOTE2NTFDMjlGNEYyMDA0MzQxQTYgLyogQjNP
cmlnaW5EdW1wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEIzT3JpZ2luRHVt
cC5oOyBwYXRoID0gYjMvQjNPcmlnaW5EdW1wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGNEM5MTY3MUMyQjNENjgwMDQzNDFBNiAvKiBBaXJGaXhTcGlsbFNsb3RaRGVmLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFpckZpeFNwaWxsU2xvdFpEZWYuaDsgcGF0
aCA9IGIzL2Fpci9BaXJGaXhTcGlsbFNsb3RaRGVmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTBGNEYyOUREMThCNkFEMUMwMDU3QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3Vu
dEVzdGltYXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcv
REZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRjRGMjlERTE4QjZBRDFDMDA1N0JDMTUgLyogREZHU3RhdGljRXhl
Y3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuaDsgcGF0aCA9IGRm
Zy9ERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRjUwQUYzQjE5M0U4QjM5MDA2NzRFRTggLyogREZHU3RydWN0dXJl
Q2xvYmJlclN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1N0cnVj
dHVyZUNsb2JiZXJTdGF0ZS5oOyBwYXRoID0gZGZnL0RGR1N0cnVjdHVyZUNsb2JiZXJTdGF0ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDc3NSw2ICs0Nzc3LDcgQEAKIAkJCQkw
RjQ1NzAzNzFCRTQ0QzkxMDA2MkE2MjkgLyogQWlyRWxpbWluYXRlRGVhZENvZGUuaCAqLywKIAkJ
CQkyNjJEODVCNDFDMEQ2NTBGMDA2QUNCNjEgLyogQWlyRml4UGFydGlhbFJlZ2lzdGVyU3RhbGxz
LmNwcCAqLywKIAkJCQkyNjJEODVCNTFDMEQ2NTBGMDA2QUNCNjEgLyogQWlyRml4UGFydGlhbFJl
Z2lzdGVyU3RhbGxzLmggKi8sCisJCQkJMEY0QzkxNjcxQzJCM0Q2ODAwNDM0MUE2IC8qIEFpckZp
eFNwaWxsU2xvdFpEZWYuaCAqLywKIAkJCQkwRkVDODU1MjFCREFDREM3MDA4MEZGNzQgLyogQWly
RnJlcXVlbnRlZEJsb2NrLmggKi8sCiAJCQkJMEZFQzg1NTMxQkRBQ0RDNzAwODBGRjc0IC8qIEFp
ckdlbmVyYXRlLmNwcCAqLywKIAkJCQkwRkVDODU1NDFCREFDREM3MDA4MEZGNzQgLyogQWlyR2Vu
ZXJhdGUuaCAqLywKQEAgLTcyMTQsNiArNzIxNyw3IEBACiAJCQkJREMwMDAzOTMxOUQ4QkU2RjAw
MDIzRUIwIC8qIERGR1ByZWNpc2VMb2NhbENsb2JiZXJpemUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGQkUwRjc1MTZDMURCMEIwMDgyQzVFOCAvKiBERkdQcmVkaWN0aW9uSW5qZWN0aW9uUGhhc2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGRkZDOTVFMTRFRjkwQjcwMEM3MjUzMiAvKiBERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY0QzkxNjgxQzJC
M0Q2ODAwNDM0MUE2IC8qIEFpckZpeFNwaWxsU2xvdFpEZWYuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGM0UwMUFCMTlEMzUzQTUwMEY2MUI3RiAvKiBERkdQcmVQb3N0TnVtYmVyaW5nLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjJCOUNFRDE5RDBCQTdEMDBCMUQxQjUgLyogREZHUHJvbW90ZWRIZWFw
TG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRkM5MjE2MUI5NEZCM0UwMDcxREQ2NiAv
KiBERkdQcm9wZXJ0eVR5cGVLZXkuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAJKHJldmlzaW9uIDE5NDM4NSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9BaXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02
NCw2ICs2NCw3IEBAIGNsYXNzIExvd2VyVG9BaXIgewogcHVibGljOgogICAgIExvd2VyVG9BaXIo
UHJvY2VkdXJlJiBwcm9jZWR1cmUpCiAgICAgICAgIDogbV92YWx1ZVRvVG1wKHByb2NlZHVyZS52
YWx1ZXMoKS5zaXplKCkpCisgICAgICAgICwgbV9waGlUb1RtcChwcm9jZWR1cmUudmFsdWVzKCku
c2l6ZSgpKQogICAgICAgICAsIG1fYmxvY2tUb0Jsb2NrKHByb2NlZHVyZS5zaXplKCkpCiAgICAg
ICAgICwgbV91c2VDb3VudHMocHJvY2VkdXJlKQogICAgICAgICAsIG1fcGhpQ2hpbGRyZW4ocHJv
Y2VkdXJlKQpAQCAtNzYsOSArNzcsMjEgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgZm9yIChC
Mzo6QmFzaWNCbG9jayogYmxvY2sgOiBtX3Byb2NlZHVyZSkKICAgICAgICAgICAgIG1fYmxvY2tU
b0Jsb2NrW2Jsb2NrXSA9IG1fY29kZS5hZGRCbG9jayhibG9jay0+ZnJlcXVlbmN5KCkpOworICAg
ICAgICAKICAgICAgICAgZm9yIChWYWx1ZSogdmFsdWUgOiBtX3Byb2NlZHVyZS52YWx1ZXMoKSkg
ewotICAgICAgICAgICAgaWYgKFN0YWNrU2xvdFZhbHVlKiBzdGFja1Nsb3RWYWx1ZSA9IHZhbHVl
LT5hczxTdGFja1Nsb3RWYWx1ZT4oKSkKKyAgICAgICAgICAgIHN3aXRjaCAodmFsdWUtPm9wY29k
ZSgpKSB7CisgICAgICAgICAgICBjYXNlIFBoaTogeworICAgICAgICAgICAgICAgIG1fcGhpVG9U
bXBbdmFsdWVdID0gbV9jb2RlLm5ld1RtcChBcmc6OnR5cGVGb3JCM1R5cGUodmFsdWUtPnR5cGUo
KSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Y2FzZSBCMzo6U3RhY2tTbG90OiB7CisgICAgICAgICAgICAgICAgU3RhY2tTbG90VmFsdWUqIHN0
YWNrU2xvdFZhbHVlID0gdmFsdWUtPmFzPFN0YWNrU2xvdFZhbHVlPigpOwogICAgICAgICAgICAg
ICAgIG1fc3RhY2tUb1N0YWNrLmFkZChzdGFja1Nsb3RWYWx1ZSwgbV9jb2RlLmFkZFN0YWNrU2xv
dChzdGFja1Nsb3RWYWx1ZSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIG1fcHJvY2VkdXJlLnJlc2V0VmFsdWVPd25lcnMo
KTsgLy8gVXNlZCBieSBjcm9zc2VzSW50ZXJmZXJlbmNlKCkuCkBAIC0yMDk4LDEyICsyMTExLDE3
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlLT5jaGlsZCgw
KTsKICAgICAgICAgICAgIGFwcGVuZCgKICAgICAgICAgICAgICAgICByZWxheGVkTW92ZUZvclR5
cGUodmFsdWUtPnR5cGUoKSksIGltbU9yVG1wKHZhbHVlKSwKLSAgICAgICAgICAgICAgICB0bXAo
bV92YWx1ZS0+YXM8VXBzaWxvblZhbHVlPigpLT5waGkoKSkpOworICAgICAgICAgICAgICAgIG1f
cGhpVG9UbXBbbV92YWx1ZS0+YXM8VXBzaWxvblZhbHVlPigpLT5waGkoKV0pOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgY2FzZSBQaGk6IHsKLSAgICAgICAgICAg
IC8vIE91ciBzZW1hbnRpY3MgYXJlIGRldGVybWluZWQgYnkgVXBzaWxvbnMsIHNvIHdlIGhhdmUg
bm90aGluZyB0byBkbyBoZXJlLgorICAgICAgICAgICAgLy8gU25hcHNob3QgdGhlIHZhbHVlIG9m
IHRoZSBQaGkuIEl0IG1heSBjaGFuZ2UgdW5kZXIgdXMgYmVjYXVzZSB5b3UgY291bGQgZG86Cisg
ICAgICAgICAgICAvLyBhID0gUGhpKCkKKyAgICAgICAgICAgIC8vIFVwc2lsb24oQHgsIF5hKQor
ICAgICAgICAgICAgLy8gQGEgPT4gdGhpcyBzaG91bGQgZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgUGhp
IGJlZm9yZSB0aGUgVXBzaWxvbiwgaS5lLiBub3QgQHguCisKKyAgICAgICAgICAgIGFwcGVuZChy
ZWxheGVkTW92ZUZvclR5cGUobV92YWx1ZS0+dHlwZSgpKSwgbV9waGlUb1RtcFttX3ZhbHVlXSwg
dG1wKG1fdmFsdWUpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC0yMTc5
LDYgKzIxOTcsNyBAQCBwcml2YXRlOgogICAgIAogICAgIEluZGV4U2V0PFZhbHVlPiBtX2xvY2tl
ZDsgLy8gVGhlc2UgYXJlIHZhbHVlcyB0aGF0IHdpbGwgaGF2ZSBubyBUbXAgaW4gQWlyLgogICAg
IEluZGV4TWFwPFZhbHVlLCBUbXA+IG1fdmFsdWVUb1RtcDsgLy8gVGhlc2UgYXJlIHZhbHVlcyB0
aGF0IG11c3QgaGF2ZSBhIFRtcCBpbiBBaXIuIFdlIHNheSB0aGF0IGEgVmFsdWUqIHdpdGggYSBu
b24tbnVsbCBUbXAgaXMgInBpbm5lZCIuCisgICAgSW5kZXhNYXA8VmFsdWUsIFRtcD4gbV9waGlU
b1RtcDsgLy8gRWFjaCBQaGkgZ2V0cyBpdHMgb3duIFRtcC4KICAgICBJbmRleE1hcDxCMzo6QmFz
aWNCbG9jaywgQWlyOjpCYXNpY0Jsb2NrKj4gbV9ibG9ja1RvQmxvY2s7CiAgICAgSGFzaE1hcDxT
dGFja1Nsb3RWYWx1ZSosIEFpcjo6U3RhY2tTbG90Kj4gbV9zdGFja1RvU3RhY2s7CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbGlkYXRlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNWYWxpZGF0ZS5jcHAJKHJldmlzaW9uIDE5NDM4NSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbGlkYXRlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiQjNBcmd1bWVudFJlZ1ZhbHVlLmgiCiAj
aW5jbHVkZSAiQjNCYXNpY0Jsb2NrSW5saW5lcy5oIgorI2luY2x1ZGUgIkIzRG9taW5hdG9ycy5o
IgogI2luY2x1ZGUgIkIzTWVtb3J5VmFsdWUuaCIKICNpbmNsdWRlICJCM1Byb2NlZHVyZS5oIgog
I2luY2x1ZGUgIkIzU3RhY2tTbG90VmFsdWUuaCIKQEAgLTYyLDExICs2MywxNyBAQCBwdWJsaWM6
CiAgICAgICAgIEhhc2hTZXQ8QmFzaWNCbG9jayo+IGJsb2NrczsKICAgICAgICAgSGFzaFNldDxW
YWx1ZSo+IHZhbHVlSW5Qcm9jOwogICAgICAgICBIYXNoTWFwPFZhbHVlKiwgdW5zaWduZWQ+IHZh
bHVlSW5CbG9jazsKKyAgICAgICAgSGFzaE1hcDxWYWx1ZSosIEJhc2ljQmxvY2sqPiB2YWx1ZU93
bmVyOworICAgICAgICBIYXNoTWFwPFZhbHVlKiwgdW5zaWduZWQ+IHZhbHVlSW5kZXg7CiAKICAg
ICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fcHJvY2VkdXJlKSB7CiAgICAgICAgICAg
ICBibG9ja3MuYWRkKGJsb2NrKTsKLSAgICAgICAgICAgIGZvciAoVmFsdWUqIHZhbHVlIDogKmJs
b2NrKQorICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJsb2NrLT5zaXplKCk7
ICsraSkgeworICAgICAgICAgICAgICAgIFZhbHVlKiB2YWx1ZSA9IGJsb2NrLT5hdChpKTsKICAg
ICAgICAgICAgICAgICB2YWx1ZUluQmxvY2suYWRkKHZhbHVlLCAwKS5pdGVyYXRvci0+dmFsdWUr
KzsKKyAgICAgICAgICAgICAgICB2YWx1ZU93bmVyLmFkZCh2YWx1ZSwgYmxvY2spOworICAgICAg
ICAgICAgICAgIHZhbHVlSW5kZXguYWRkKHZhbHVlLCBpKTsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgfQogCiAgICAgICAgIGZvciAoVmFsdWUqIHZhbHVlIDogbV9wcm9jZWR1cmUudmFsdWVzKCkp
CkBAIC03OSwxMCArODYsMTcgQEAgcHVibGljOgogICAgICAgICAgICAgVkFMSURBVEUoZW50cnku
dmFsdWUgPT0gMSwgKCJBdCAiLCAqZW50cnkua2V5KSk7CiAgICAgICAgIH0KIAorICAgICAgICAv
LyBDb21wdXRlIGRvbWluYXRvcnMgb3Vyc2VsdmVzIHRvIGF2b2lkIHBlcnR1cmJpbmcgUHJvY2Vk
dXJlLgorICAgICAgICBEb21pbmF0b3JzIGRvbWluYXRvcnMobV9wcm9jZWR1cmUpOworCiAgICAg
ICAgIGZvciAoVmFsdWUqIHZhbHVlIDogdmFsdWVJblByb2MpIHsKICAgICAgICAgICAgIGZvciAo
VmFsdWUqIGNoaWxkIDogdmFsdWUtPmNoaWxkcmVuKCkpIHsKICAgICAgICAgICAgICAgICBWQUxJ
REFURShjaGlsZCwgKCJBdCAiLCAqdmFsdWUpKTsKICAgICAgICAgICAgICAgICBWQUxJREFURSh2
YWx1ZUluUHJvYy5jb250YWlucyhjaGlsZCksICgiQXQgIiwgKnZhbHVlLCAiLT4iLCBwb2ludGVy
RHVtcChjaGlsZCkpKTsKKyAgICAgICAgICAgICAgICBpZiAodmFsdWVPd25lci5nZXQoY2hpbGQp
ID09IHZhbHVlT3duZXIuZ2V0KHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUo
dmFsdWVJbmRleC5nZXQodmFsdWUpID4gdmFsdWVJbmRleC5nZXQoY2hpbGQpLCAoIkF0ICIsICp2
YWx1ZSwgIi0+IiwgcG9pbnRlckR1bXAoY2hpbGQpKSk7CisgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICBWQUxJREFURShkb21pbmF0b3JzLmRvbWluYXRlcyh2YWx1ZU93
bmVyLmdldChjaGlsZCksIHZhbHVlT3duZXIuZ2V0KHZhbHVlKSksICgiYXQgIiwgKnZhbHVlLCAi
LT4iLCBwb2ludGVyRHVtcChjaGlsZCkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuaAkocmV2aXNpb24gMTk0Mzg1
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDb2RlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTU3LDYgKzU3LDkgQEAgcHVibGljOgogCiAgICAgQmFzaWNCbG9jayogYWRkQmxvY2so
ZG91YmxlIGZyZXF1ZW5jeSA9IDEpOwogCisgICAgLy8gTm90ZSB0aGF0IHlvdSBjYW4gcmVseSBv
biBzdGFjayBzbG90cyBhbHdheXMgZ2V0dGluZyBpbmRpY2VzIHRoYXQgYXJlIGxhcmdlciB0aGFu
IHRoZSBpbmRleAorICAgIC8vIG9mIGFueSBwcmlvciBzdGFjayBzbG90LiBJbiBmYWN0LCBhbGwg
c3RhY2sgc2xvdHMgeW91IGNyZWF0ZSBpbiB0aGUgZnV0dXJlIHdpbGwgaGF2ZSBhbiBpbmRleAor
ICAgIC8vIHRoYXQgaXMgPj0gc3RhY2tTbG90cygpLnNpemUoKS4KICAgICBTdGFja1Nsb3QqIGFk
ZFN0YWNrU2xvdCh1bnNpZ25lZCBieXRlU2l6ZSwgU3RhY2tTbG90S2luZCwgU3RhY2tTbG90VmFs
dWUqID0gbnVsbHB0cik7CiAgICAgU3RhY2tTbG90KiBhZGRTdGFja1Nsb3QoU3RhY2tTbG90VmFs
dWUqKTsKIApAQCAtMjkxLDYgKzI5NCwxNSBAQCBwdWJsaWM6CiAKICAgICBTcGVjaWFsc0NvbGxl
Y3Rpb24gc3BlY2lhbHMoKSBjb25zdCB7IHJldHVybiBTcGVjaWFsc0NvbGxlY3Rpb24oKnRoaXMp
OyB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDYWxsYmFjaz4KKyAgICB2b2lkIGZvckFsbFRt
cHMoY29uc3QgQ2FsbGJhY2smIGNhbGxiYWNrKSBjb25zdAorICAgIHsKKyAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gbV9udW1HUFRtcHM7IGktLTspCisgICAgICAgICAgICBjYWxsYmFjayhUbXA6
OmdwVG1wRm9ySW5kZXgoaSkpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtX251bUZQVG1w
czsgaS0tOykKKyAgICAgICAgICAgIGNhbGxiYWNrKFRtcDo6ZnBUbXBGb3JJbmRleChpKSk7Cisg
ICAgfQorCiAgICAgdm9pZCBhZGRGYXN0VG1wKFRtcCk7CiAgICAgYm9vbCBpc0Zhc3RUbXAoVG1w
IHRtcCkgY29uc3QgeyByZXR1cm4gbV9mYXN0VG1wcy5jb250YWlucyh0bXApOyB9CiAgICAgCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckZpeFNwaWxsU2xvdFpEZWYuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckZpeFNwaWxsU2xv
dFpEZWYuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWly
Rml4U3BpbGxTbG90WkRlZi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBBaXJGaXhT
cGlsbFNsb3RaRGVmX2gKKyNkZWZpbmUgQWlyRml4U3BpbGxTbG90WkRlZl9oCisKKyNpbmNsdWRl
ICJBaXJDb2RlLmgiCisjaW5jbHVkZSAiQWlySW5zZXJ0aW9uU2V0LmgiCisjaW5jbHVkZSAiQWly
SW5zdElubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7IG5hbWVzcGFj
ZSBBaXIgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBJc1NwaWxsU2xvdD4KK3ZvaWQgZml4U3BpbGxT
bG90WkRlZihDb2RlJiBjb2RlLCBjb25zdCBJc1NwaWxsU2xvdCYgaXNTcGlsbFNsb3QpCit7Cisg
ICAgLy8gV2UgY291bGQgaGF2ZSBpbnRyb2R1Y2VkIFpEZWYncyB0byBTdGFja1Nsb3RzIHRoYXQg
YXJlIHdpZGVyIHRoYW4gdGhlIGRlZi4gSW4gdGhhdCBjYXNlLCB3ZQorICAgIC8vIG5lZWQgdG8g
ZW1pdCBjb2RlIHRvIHplcm8tZmlsbCB0aGUgdG9wIGJpdHMgb2YgdGhlIFN0YWNrU2xvdC4KKyAg
ICBJbnNlcnRpb25TZXQgaW5zZXJ0aW9uU2V0KGNvZGUpOworICAgIGZvciAoQmFzaWNCbG9jayog
YmxvY2sgOiBjb2RlKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgaW5zdEluZGV4ID0gMDsgaW5z
dEluZGV4IDwgYmxvY2stPnNpemUoKTsgKytpbnN0SW5kZXgpIHsKKyAgICAgICAgICAgIEluc3Qm
IGluc3QgPSBibG9jay0+YXQoaW5zdEluZGV4KTsKKworICAgICAgICAgICAgaW5zdC5mb3JFYWNo
QXJnKAorICAgICAgICAgICAgICAgIFsmXSAoQXJnJiBhcmcsIEFyZzo6Um9sZSByb2xlLCBBcmc6
OlR5cGUsIEFyZzo6V2lkdGggd2lkdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFBcmc6
OmlzWkRlZihyb2xlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCFhcmcuaXNTdGFjaygpKQorICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgICAgICAgICBpZiAoIWlzU3BpbGxTbG90KGFyZy5zdGFja1Ns
b3QoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
ICAgIGlmIChhcmcuc3RhY2tTbG90KCktPmJ5dGVTaXplKCkgPT0gQXJnOjpieXRlcyh3aWR0aCkp
CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAg
Ly8gQ3VycmVudGx5IHdlIG9ubHkgaGFuZGxlIHRoaXMgc2ltcGxlIGNhc2UgYmVjYXVzZSBpdCdz
IHRoZSBvbmx5IG9uZSB0aGF0CisgICAgICAgICAgICAgICAgICAgIC8vIGFyaXNlczogWkRlZidz
IGFyZSBvbmx5IDMyLWJpdCByaWdodCBub3cuIFNvLCB3aGVuIHdlIGhpdCB0aGVzZQorICAgICAg
ICAgICAgICAgICAgICAvLyBhc3NlcnRpb25zIGl0IG1lYW5zIHRoYXQgd2UgbmVlZCB0byBpbXBs
ZW1lbnQgdGhvc2Ugb3RoZXIga2luZHMgb2YgemVybworICAgICAgICAgICAgICAgICAgICAvLyBm
aWxscy4KKyAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoYXJnLnN0YWNrU2xvdCgp
LT5ieXRlU2l6ZSgpID09IDgpOworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCh3
aWR0aCA9PSBBcmc6OldpZHRoMzIpOworCisgICAgICAgICAgICAgICAgICAgIC8vIFdlIHJlbHkg
b24gdGhlIGZhY3QgdGhhdCB0aGVyZSBtdXN0IGJlIHNvbWUgd2F5IHRvIG1vdmUgemVybyB0byBh
IG1lbW9yeQorICAgICAgICAgICAgICAgICAgICAvLyBsb2NhdGlvbiB3aXRob3V0IGZpcnN0IGJ1
cm5pbmcgYSByZWdpc3Rlci4gT24gQVJNLCB3ZSB3b3VsZCBkbyB0aGlzIHVzaW5nCisgICAgICAg
ICAgICAgICAgICAgIC8vIHpyLgorICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChp
c1ZhbGlkRm9ybShNb3ZlMzIsIEFyZzo6SW1tLCBBcmc6OlN0YWNrKSk7CisgICAgICAgICAgICAg
ICAgICAgIGluc2VydGlvblNldC5pbnNlcnQoCisgICAgICAgICAgICAgICAgICAgICAgICBpbnN0
SW5kZXggKyAxLCBNb3ZlMzIsIGluc3Qub3JpZ2luLCBBcmc6OmltbSgwKSwgYXJnLndpdGhPZmZz
ZXQoNCkpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgICAgIGluc2VydGlv
blNldC5leGVjdXRlKGJsb2NrKTsKKyAgICB9Cit9CisKK30gfSB9IC8vIG5hbWVzcGFjZSBKU0M6
OkIzOjpBaXIKKworI2VuZGlmIC8vIEFpckZpeFNwaWxsU2xvdFpEZWZfaAorCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckdlbmVyYXRlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckdlbmVyYXRlLmNwcAkocmV2aXNpb24gMTk0
Mzg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJHZW5lcmF0ZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTc0LDcgKzc0LDcgQEAgdm9pZCBwcmVwYXJlRm9yR2VuZXJhdGlvbihD
b2RlJiBjb2RlKQogICAgIC8vIEFmdGVyIHRoaXMgcGhhc2UsIGV2ZXJ5IFRtcCBoYXMgYSByZWcu
CiAgICAgLy8KICAgICAvLyBGb3IgZGVidWdnaW5nLCB5b3UgY2FuIHVzZSBzcGlsbEV2ZXJ5dGhp
bmcoKSB0byBwdXQgZXZlcnl0aGluZyB0byB0aGUgc3RhY2sgYmV0d2VlbiBlYWNoIEluc3QuCi0g
ICAgaWYgKGZhbHNlKQorICAgIGlmIChPcHRpb25zOjphaXJTcGlsbHNFdmVyeXRoaW5nKCkpCiAg
ICAgICAgIHNwaWxsRXZlcnl0aGluZyhjb2RlKTsKICAgICBlbHNlCiAgICAgICAgIGl0ZXJhdGVk
UmVnaXN0ZXJDb2FsZXNjaW5nKGNvZGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L2Fpci9BaXJJdGVyYXRlZFJlZ2lzdGVyQ29hbGVzY2luZy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJJdGVyYXRlZFJlZ2lzdGVyQ29hbGVzY2luZy5j
cHAJKHJldmlzaW9uIDE5NDM4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWly
SXRlcmF0ZWRSZWdpc3RlckNvYWxlc2NpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsy
OSw3IEBACiAjaWYgRU5BQkxFKEIzX0pJVCkKIAogI2luY2x1ZGUgIkFpckNvZGUuaCIKKyNpbmNs
dWRlICJBaXJGaXhTcGlsbFNsb3RaRGVmLmgiCiAjaW5jbHVkZSAiQWlySW5zZXJ0aW9uU2V0Lmgi
CiAjaW5jbHVkZSAiQWlySW5zdElubGluZXMuaCIKICNpbmNsdWRlICJBaXJMaXZlbmVzcy5oIgpA
QCAtMTE2NCw2ICsxMTY1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZFNwaWxsQW5kRmlsbChj
b25zdCBDb2xvcmluZ0FsbG9jYXRvcjx0eXBlPiYgYWxsb2NhdG9yLCBIYXNoU2V0PHVuc2lnbmVk
PiYgdW5zcGlsbGFibGVUbXBzKQogICAgIHsKICAgICAgICAgSGFzaE1hcDxUbXAsIFN0YWNrU2xv
dCo+IHN0YWNrU2xvdHM7CisgICAgICAgIHVuc2lnbmVkIG5ld1N0YWNrU2xvdFRocmVzaG9sZCA9
IG1fY29kZS5zdGFja1Nsb3RzKCkuc2l6ZSgpOwogICAgICAgICBmb3IgKFRtcCB0bXAgOiBhbGxv
Y2F0b3Iuc3BpbGxlZFRtcHMoKSkgewogICAgICAgICAgICAgLy8gQWxsIHRoZSBzcGlsbGVkIHZh
bHVlcyBiZWNvbWUgdW5zcGlsbGFibGUuCiAgICAgICAgICAgICB1bnNwaWxsYWJsZVRtcHMuYWRk
KEFic29sdXRlVG1wTWFwcGVyPHR5cGU+OjphYnNvbHV0ZUluZGV4KHRtcCkpOwpAQCAtMTI2MCw2
ICsxMjYyLDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KKworICAgICAgICBmaXhTcGlsbFNsb3RaRGVmKAorICAgICAgICAgICAgbV9j
b2RlLAorICAgICAgICAgICAgWyZdIChTdGFja1Nsb3QqIHN0YWNrU2xvdCkgLT4gYm9vbCB7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHN0YWNrU2xvdC0+aW5kZXgoKSA+PSBuZXdTdGFja1Nsb3RU
aHJlc2hvbGQ7CisgICAgICAgICAgICB9KTsKICAgICB9CiAKICAgICBDb2RlJiBtX2NvZGU7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclNwaWxsRXZlcnl0aGluZy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJTcGlsbEV2ZXJ5
dGhpbmcuY3BwCShyZXZpc2lvbiAxOTQzODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0FpclNwaWxsRXZlcnl0aGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKICNpZiBFTkFCTEUoQjNfSklUKQogCiAjaW5jbHVkZSAiQWlyQ29kZS5oIgorI2luY2x1ZGUg
IkFpckZpeFNwaWxsU2xvdFpEZWYuaCIKICNpbmNsdWRlICJBaXJJbnNlcnRpb25TZXQuaCIKICNp
bmNsdWRlICJBaXJJbnN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkFpckxpdmVuZXNzLmgiCkBAIC04
Niw2ICs4Nyw3IEBAIHZvaWQgc3BpbGxFdmVyeXRoaW5nKENvZGUmIGNvZGUpCiAKICAgICAvLyBB
bGxvY2F0ZSBhIHN0YWNrIHNsb3QgZm9yIGVhY2ggdG1wLgogICAgIFZlY3RvcjxTdGFja1Nsb3Qq
PiBhbGxTdGFja1Nsb3RzW0FyZzo6bnVtVHlwZXNdOworICAgIHVuc2lnbmVkIG5ld1N0YWNrU2xv
dFRocmVzaG9sZCA9IGNvZGUuc3RhY2tTbG90cygpLnNpemUoKTsKICAgICBmb3IgKHVuc2lnbmVk
IHR5cGVJbmRleCA9IDA7IHR5cGVJbmRleCA8IEFyZzo6bnVtVHlwZXM7ICsrdHlwZUluZGV4KSB7
CiAgICAgICAgIFZlY3RvcjxTdGFja1Nsb3QqPiYgc3RhY2tTbG90cyA9IGFsbFN0YWNrU2xvdHNb
dHlwZUluZGV4XTsKICAgICAgICAgQXJnOjpUeXBlIHR5cGUgPSBzdGF0aWNfY2FzdDxBcmc6OlR5
cGU+KHR5cGVJbmRleCk7CkBAIC0xMDksNyArMTExLDcgQEAgdm9pZCBzcGlsbEV2ZXJ5dGhpbmco
Q29kZSYgY29kZSkKICAgICAgICAgICAgICAgICAgICAgaWYgKGFyZy5pc1JlZygpKQogICAgICAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgICAgICAgICAgaWYgKGlu
c3QuYWRtaXRzU3RhY2soaSkpIHsgCisgICAgICAgICAgICAgICAgICAgIGlmIChpbnN0LmFkbWl0
c1N0YWNrKGkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBTdGFja1Nsb3QqIHN0YWNrU2xv
dCA9IGFsbFN0YWNrU2xvdHNbYXJnLnR5cGUoKV1bYXJnLnRtcEluZGV4KCldOwogICAgICAgICAg
ICAgICAgICAgICAgICAgYXJnID0gQXJnOjpzdGFjayhzdGFja1Nsb3QpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7CkBAIC0xODQsNiArMTg2LDEyIEBAIHZvaWQgc3BpbGxFdmVy
eXRoaW5nKENvZGUmIGNvZGUpCiAgICAgICAgIH0KICAgICAgICAgaW5zZXJ0aW9uU2V0LmV4ZWN1
dGUoYmxvY2spOwogICAgIH0KKworICAgIGZpeFNwaWxsU2xvdFpEZWYoCisgICAgICAgIGNvZGUs
CisgICAgICAgIFsmXSAoU3RhY2tTbG90KiBzdGFja1Nsb3QpIC0+IGJvb2wgeworICAgICAgICAg
ICAgcmV0dXJuIHN0YWNrU2xvdC0+aW5kZXgoKSA+PSBuZXdTdGFja1Nsb3RUaHJlc2hvbGQ7Cisg
ICAgICAgIH0pOwogfQogCiB9IH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMzo6QWlyCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclRtcFdpZHRoLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclRtcFdpZHRoLmNwcAkocmV2aXNpb24g
MTk0Mzg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJUbXBXaWR0aC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ4LDE3ICs0OCwzMSBAQCBUbXBXaWR0aDo6flRtcFdpZHRoKCkK
IAogdm9pZCBUbXBXaWR0aDo6cmVjb21wdXRlKENvZGUmIGNvZGUpCiB7CisgICAgLy8gU2V0IHRo
aXMgdG8gdHJ1ZSB0byBjYXVzZSB0aGlzIGFuYWx5c2lzIHRvIGFsd2F5cyByZXR1cm4gcGVzc2lt
aXN0aWMgcmVzdWx0cy4KKyAgICBjb25zdCBib29sIGJlQ2FyZWZ1bCA9IGZhbHNlOworICAgIAog
ICAgIG1fd2lkdGguY2xlYXIoKTsKICAgICAKKyAgICBhdXRvIGFzc3VtZVRoZVdvcnN0ID0gWyZd
IChUbXAgdG1wKSB7CisgICAgICAgIFdpZHRocyYgd2lkdGhzID0gbV93aWR0aC5hZGQodG1wLCBX
aWR0aHMoKSkuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICBBcmc6OlR5cGUgdHlwZSA9IEFyZyh0
bXApLnR5cGUoKTsKKyAgICAgICAgd2lkdGhzLnVzZSA9IEFyZzo6Y29uc2VydmF0aXZlV2lkdGgo
dHlwZSk7CisgICAgICAgIHdpZHRocy5kZWYgPSBBcmc6OmNvbnNlcnZhdGl2ZVdpZHRoKHR5cGUp
OworICAgIH07CisgICAgCiAgICAgLy8gQXNzdW1lIHRoZSB3b3JzdCBmb3IgcmVnaXN0ZXJzLgog
ICAgIFJlZ2lzdGVyU2V0OjphbGxSZWdpc3RlcnMoKS5mb3JFYWNoKAogICAgICAgICBbJl0gKFJl
ZyByZWcpIHsKLSAgICAgICAgICAgIFdpZHRocyYgd2lkdGhzID0gbV93aWR0aC5hZGQoVG1wKHJl
ZyksIFdpZHRocygpKS5pdGVyYXRvci0+dmFsdWU7Ci0gICAgICAgICAgICBBcmc6OlR5cGUgdHlw
ZSA9IEFyZyhUbXAocmVnKSkudHlwZSgpOwotICAgICAgICAgICAgd2lkdGhzLnVzZSA9IEFyZzo6
Y29uc2VydmF0aXZlV2lkdGgodHlwZSk7Ci0gICAgICAgICAgICB3aWR0aHMuZGVmID0gQXJnOjpj
b25zZXJ2YXRpdmVXaWR0aCh0eXBlKTsKKyAgICAgICAgICAgIGFzc3VtZVRoZVdvcnN0KFRtcChy
ZWcpKTsKICAgICAgICAgfSk7Ci0gICAgCisKKyAgICBpZiAoYmVDYXJlZnVsKSB7CisgICAgICAg
IGNvZGUuZm9yQWxsVG1wcyhhc3N1bWVUaGVXb3JzdCk7CisgICAgICAgIAorICAgICAgICAvLyBX
ZSBmYWxsIHRocm91Z2ggYmVjYXVzZSB0aGUgZml4cG9pbnQgdGhhdCBmb2xsb3dzIGNhbiBvbmx5
IG1ha2UgdGhpbmdzIGV2ZW4gbW9yZQorICAgICAgICAvLyBjb25zZXJ2YXRpdmUuIFRoaXMgbW9k
ZSBpc24ndCBtZWFudCB0byBiZSBmYXN0LCBqdXN0IHNhZmUuCisgICAgfQorCiAgICAgLy8gTm93
IHJlYWxseSBhbmFseXplIGV2ZXJ5dGhpbmcgYnV0IE1vdmUncyBvdmVyIFRtcCdzLCBidXQgc2V0
IGFzaWRlIHRob3NlIE1vdmUncyBzbyB3ZSBjYW4gZmluZAogICAgIC8vIHRoZW0gcXVpY2tseSBk
dXJpbmcgdGhlIGZpeHBvaW50IGJlbG93LiBOb3RlIHRoYXQgd2UgY2FuIG1ha2UgdGhpcyBhbmFs
eXNpcyBzdHJvbmdlciBieQogICAgIC8vIHJlY29nbml6aW5nIG1vcmUga2luZHMgb2YgTW92ZSdz
IG9yIGFueXRoaW5nIHRoYXQgaGFzIE1vdmUtbGlrZSBiZWhhdmlvciwgdGhvdWdoIGl0J3MgcHJv
YmFibHkgbm90CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShy
ZXZpc2lvbiAxOTQzODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM0MCw2ICszNDAsNyBAQCB0eXBlZGVmIGNvbnN0IGNoYXIq
IG9wdGlvblN0cmluZzsKICAgICBcCiAgICAgdihib29sLCBsb2dCM1BoYXNlVGltZXMsIGZhbHNl
LCBudWxscHRyKSBcCiAgICAgdihkb3VibGUsIHJhcmVCbG9ja1BlbmFsdHksIDAuMDAxLCBudWxs
cHRyKSBcCisgICAgdihib29sLCBhaXJTcGlsbHNFdmVyeXRoaW5nLCBmYWxzZSwgbnVsbHB0cikg
XAogICAgIFwKICAgICB2KGJvb2wsIHVzZURvbGxhclZNLCBmYWxzZSwgImluc3RhbGxzIHRoZSAk
dm0gZGVidWdnaW5nIHRvb2wgaW4gZ2xvYmFsIG9iamVjdHMiKSBcCiAgICAgdihvcHRpb25TdHJp
bmcsIGZ1bmN0aW9uT3ZlcnJpZGVzLCBudWxscHRyLCAiZmlsZSB3aXRoIGRlYnVnZ2luZyBvdmVy
cmlkZXMgZm9yIGZ1bmN0aW9uIGJvZGllcyIpIFwK
</data>
<flag name="review"
          id="292857"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>