JAVASCRIPT 18
CavalryLogger.js Guest on 4th April 2021 09:28:26 AM
  1. if (self.CavalryLogger) {
  2.     CavalryLogger.start_js(["\/nn2hvs"]);
  3. }
  4.  
  5. __d("TabbableElements", ["Style"], (function (a, b, c, d, e, f) {
  6.     f.find = a;
  7.     f.findFirst = c;
  8.     f.findLast = d;
  9.     f.isTabbable = i;
  10.     f.isVisible = e;
  11.  
  12.     function g(a) {
  13.         if (a.tabIndex < 0) return !1;
  14.         if (a.tabIndex > 0 || a.tabIndex === 0 && a.getAttribute("tabIndex") !== null) return !0;
  15.         var b = a;
  16.         switch (a.tagName) {
  17.         case "A":
  18.             a = b;
  19.             return !!a.href && a.rel != "ignore";
  20.         case "INPUT":
  21.             a = b;
  22.             return a.type != "hidden" && a.type != "file" && !a.disabled;
  23.         case "BUTTON":
  24.         case "SELECT":
  25.         case "TEXTAREA":
  26.             a = b;
  27.             return !a.disabled
  28.         }
  29.         return !1
  30.     }
  31.  
  32.     function h(a) {
  33.         a = a;
  34.         while (a && a !== document && b("Style").get(a, "visibility") != "hidden" && b("Style").get(a, "display") != "none") a = a.parentNode;
  35.         return a === document
  36.     }
  37.  
  38.     function a(a) {
  39.         return Array.from(a.getElementsByTagName("*")).filter(i)
  40.     }
  41.  
  42.     function c(a) {
  43.         return Array.from(a.getElementsByTagName("*")).find(i)
  44.     }
  45.  
  46.     function d(a) {
  47.         a = Array.from(a.getElementsByTagName("*"));
  48.         for (var b = a.length - 1; b >= 0; b--)
  49.             if (i(a[b])) return a[b];
  50.         return null
  51.     }
  52.  
  53.     function i(a) {
  54.         return g(a) && h(a)
  55.     }
  56.  
  57.     function e(a) {
  58.         return h(a)
  59.     }
  60. }), null);
  61. __d("clamp", [], (function (a, b, c, d, e, f) {
  62.     e.exports = a;
  63.  
  64.     function a(a, b, c) {
  65.         if (a < b) return b;
  66.         return a > c ? c : a
  67.     }
  68. }), null);
  69. __d("MFlyout", ["cx", "CSS", "DOM", "Locale", "MContextualThing", "MJSEnvironment", "MLayer", "MLegacyDataStore", "MParent", "MViewport", "Scroll", "Stratcom", "TabbableElements", "Vector", "clamp", "emptyFunction", "mixInEventEmitter"], (function (a, b, c, d, e, f, g) {
  70.     var h = 52,
  71.         i = 26,
  72.         j = 10,
  73.         k = 22,
  74.         l = 20,
  75.         m = 10,
  76.         n = 14,
  77.         o = 44,
  78.         p = 3,
  79.         q = 400,
  80.         r = 320,
  81.         s = ["resize", "m:schedulable:loaded", "m:viewport:orientation-change", "m:orientation-resize:complete", "m:hideout:reflow", "m:landscape-cover-crop:complete"],
  82.         t = "flyout-causal";
  83.  
  84.     function u() {
  85.         return document.body
  86.     }
  87.     var v = [];
  88.     a = function (a) {
  89.         "use strict";
  90.         babelHelpers.inheritsLoose(c, a);
  91.  
  92.         function c(b, c) {
  93.             b = a.call(this, b) || this;
  94.             b._contentRoot = null;
  95.             b._overlay = null;
  96.             b._contentWrapper = null;
  97.             b._nubNode = null;
  98.             b._nubAlignment = null;
  99.             b._content = null;
  100.             b._contextNode = null;
  101.             b._parentLayer = null;
  102.             b._parentSubscription = null;
  103.             b._orientation = null;
  104.             b._orientationClass = null;
  105.             b._width = null;
  106.             b._modal = null;
  107.             b._contentPositioner = null;
  108.             b._heightConstraint = null;
  109.             b._autoflipTopOffset = null;
  110.             b._coverZIndex = null;
  111.             b._cover = null;
  112.             b._supportFixedPosition = !1;
  113.             b._contentContainer = null;
  114.             b._useContentAsBounds = !1;
  115.             b._contentAlignLeft = !1;
  116.             b._contentAlignRight = !1;
  117.             b._customMaxWidth = null;
  118.             b.init(c);
  119.             return b
  120.         }
  121.         var d = c.prototype;
  122.         d.configure = function (c, d) {
  123.             a.prototype.configure.call(this, c, d);
  124.             if (c.context) {
  125.                 this.setContext(c.context);
  126.                 this.setParentSubscription();
  127.                 b("Stratcom").addSigil(this.getCausalElement(), t);
  128.                 var e = b("MLegacyDataStore").get(this.getCausalElement());
  129.                 e.flyout = this
  130.             }
  131.             c.contentAlignLeft ? this.setContentAlignLeft(c.contentAlignLeft) : c.contentAlignRight && this.setContentAlignRight(c.contentAlignRight);
  132.             this.setMargin(c.margin);
  133.             this.setPosition(c.position);
  134.             this.setNubAlign(c.nubalign);
  135.             this.setOffsetY(c.offsetY);
  136.             this._content = d;
  137.             this.setWidth(c.width);
  138.             this.setModal(!!c.modal);
  139.             this.setAutoflipTopOffset(c.autoFlipTopOffset);
  140.             this.setCoverZIndex(c.coverZIndex);
  141.             this.setUseContentAsBounds(c.useContentAsBounds || !1);
  142.             this._supportFixedPosition = c.supportFixedPosition != null ? c.supportFixedPosition : !1;
  143.             this._customMaxWidth = c.customMaxWidth
  144.         };
  145.         d.setCoverZIndex = function (a) {
  146.             this._coverZIndex = a
  147.         };
  148.         d.setWidth = function (a) {
  149.             this._width = a
  150.         };
  151.         d.setModal = function (a) {
  152.             this._modal = a
  153.         };
  154.         d.getModal = function () {
  155.             return this._modal
  156.         };
  157.         d.setAutoflipTopOffset = function (a) {
  158.             this._autoflipTopOffset = a
  159.         };
  160.         d.getAutoflipTopOffset = function () {
  161.             return this._autoflipTopOffset
  162.         };
  163.         d._getLayerParentWidth = function () {
  164.             return b("Vector").getDim(this.getRoot().offsetParent).x
  165.         };
  166.         d.getMaxWidth = function () {
  167.             return Math.min(this._getLayerParentWidth(), b("MJSEnvironment").IS_TABLET ? r : q)
  168.         };
  169.         d._maxWidthIsApplicable = function () {
  170.             return this.getMaxWidth() !== this._getLayerParentWidth()
  171.         };
  172.         d._isCustomWidth = function () {
  173.             return this._width === "auto" || this._maxWidthIsApplicable()
  174.         };
  175.         d.setContentAlignLeft = function (a) {
  176.             this._contentAlignLeft = a
  177.         };
  178.         d.setContentAlignRight = function (a) {
  179.             this._contentAlignRight = a
  180.         };
  181.         d._isContentAlignLeft = function () {
  182.             return this._contentAlignLeft
  183.         };
  184.         d._isContentAlignRight = function () {
  185.             return this._contentAlignRight
  186.         };
  187.         d.getCustomMaxWidth = function () {
  188.             return this._customMaxWidth != null ? this._customMaxWidth : -1
  189.         };
  190.         d.applyWidth = function () {
  191.             var a = this._contentRoot.style;
  192.             a.width = "";
  193.             a.maxWidth = "";
  194.             if (this._maxWidthIsApplicable() && this.getCustomMaxWidth() <= 0) {
  195.                 var c = this.getMaxWidth() + "px";
  196.                 this._width === "auto" ? a.maxWidth = c : a.width = c
  197.             }
  198.             b("CSS").conditionClass(this._contentRoot, "_556f", this._isCustomWidth());
  199.             b("CSS").conditionClass(this._contentRoot, "_99wx", this._isContentAlignLeft() && this.getCustomMaxWidth() === 50);
  200.             b("CSS").conditionClass(this._contentRoot, "_99wy", this._isContentAlignLeft() && this.getCustomMaxWidth() === 60)
  201.         };
  202.         d.buildWrapper = function (a, c) {
  203.             this._nubNode = (a = b("DOM")).create("div", {
  204.                 className: "_5bn_"
  205.             });
  206.             this._backgroundNode = a.create("div", {
  207.                 className: "_5c0e"
  208.             }, this._nubNode);
  209.             this._contentContainer = a.create("div", {
  210.                 className: "_5c0f"
  211.             }, c);
  212.             this._contentRoot = a.create("div", {
  213.                 className: "_5bo0"
  214.             }, [this._backgroundNode, this._contentContainer]);
  215.             b("Locale").isRTL() && (this._contentRoot.style.direction = "rtl");
  216.             this._contentWrapper = b("DOM").create("div", {
  217.                 className: "_544k"
  218.             }, this._contentRoot);
  219.             this._contentPositioner = b("DOM").create("div", {
  220.                 className: "_544l _7a_1"
  221.             }, this._contentWrapper);
  222.             return this._contentPositioner
  223.         };
  224.         d.setMargin = function (a) {
  225.             b("CSS").conditionClass(this._contentRoot, "_54wl", a === "large"), b("CSS").conditionClass(this._contentRoot, "_55kj", a === "medium")
  226.         };
  227.         d.getInsertParent = function () {
  228.             var c = this.insertParent;
  229.             if (!c) {
  230.                 var d = this.getContext();
  231.                 d && (c = b("MParent").bySigil(d, "context-layer-root") || u())
  232.             }
  233.             return c || a.prototype.getInsertParent.call(this)
  234.         };
  235.         d.setContent = function (a) {
  236.             this._content = a;
  237.             b("DOM").setContent(this._contentRoot, this._content);
  238.             this.updateIfShown();
  239.             return this
  240.         };
  241.         d.setContext = function (a) {
  242.             this._contextNode = a
  243.         };
  244.         d.getCausalElement = function () {
  245.             return a.prototype.getCausalElement.call(this) || this.getContext()
  246.         };
  247.         d.setParentSubscription = function () {
  248.             var a = this.getContext(),
  249.                 c = null,
  250.                 d = u().parentNode;
  251.             while (a && a !== d) {
  252.                 c = b("MLegacyDataStore").get(a).layer;
  253.                 if (c) break;
  254.                 a = a.parentNode
  255.             }
  256.             if (c === this._parentLayer) return;
  257.             this._parentLayer && this._parentSubscription && (this._parentSubscription.remove(), this._parentSubscription = null);
  258.             c && (this._parentSubscription = c.subscribe("hide", this.hide.bind(this)));
  259.             this._parentLayer = c
  260.         };
  261.         d.setPosition = function (a) {
  262.             this.getOrientation().setDefaultPosition(a) && (this.getOrientation().setPosition(a), this.updateIfShown());
  263.             return this
  264.         };
  265.         d.setNubAlign = function (a) {
  266.             x(a), this._nubAlignment = a || "center"
  267.         };
  268.         d.setOffsetX = function (a) {
  269.             a = parseInt(a, 10);
  270.             this.getOrientation().setDefaultOffsetX(a) && this.updateIfShown();
  271.             return this
  272.         };
  273.         d.setOffsetY = function (a) {
  274.             a = parseInt(a, 10);
  275.             this.getOrientation().setDefaultOffsetY(a) && this.updateIfShown();
  276.             return this
  277.         };
  278.         d.setUseContentAsBounds = function (a) {
  279.             this._useContentAsBounds = a
  280.         };
  281.         d.getOrientation = function () {
  282.             this._orientation || (this._orientation = new y());
  283.             return this._orientation
  284.         };
  285.         d.getContentRoot = function () {
  286.             return this._contentRoot
  287.         };
  288.         d.getContent = function () {
  289.             return this._content
  290.         };
  291.         d.getContext = function () {
  292.             return this._contextNode
  293.         };
  294.         d.getContextBounds = function () {
  295.             return this.getContext().getBoundingClientRect()
  296.         };
  297.         d.causalClickShow = function () {
  298.             this.getContent() && this.show()
  299.         };
  300.         d.show = function () {
  301.             if (this.isShown()) return this;
  302.             this._cover || (this._cover = b("DOM").create("div", {
  303.                 className: "_5so _2wyb",
  304.                 style: this._coverZIndex ? {
  305.                     zIndex: this._coverZIndex
  306.                 } : {}
  307.             }));
  308.             a.prototype.show.call(this);
  309.             this.getModal() && b("DOM").insertAfter(this._contentPositioner, this._cover);
  310.             if (this.isShown()) {
  311.                 this.config && this.config.logShown && b("Stratcom").invoke("m:flyout:show", null, {
  312.                     type: this.config.logShown
  313.                 });
  314.                 b("MContextualThing").register(this.getRoot(), this.getContext());
  315.                 v.push(this);
  316.                 if (!this.resizeListeners) {
  317.                     var c = this.updatePosition.bind(this);
  318.                     this.resizeListeners = s.map(function (a) {
  319.                         return b("Stratcom").listen(a, null, c)
  320.                     })
  321.                 }
  322.                 var d = document.getElementById("viewport"),
  323.                     e = this.getContentRoot();
  324.                 if (d && e) {
  325.                     e = e.parentNode;
  326.                     var f = 0,
  327.                         g = e;
  328.                     while (g && g !== d) f += g.offsetTop, g = g.offsetParent;
  329.                     g = f + e.clientHeight;
  330.                     this._heightConstraint = b("MViewport").addMinHeightConstraint(g)
  331.                 }
  332.             }
  333.             d = b("TabbableElements").findFirst(this._contentContainer);
  334.             d && d.focus();
  335.             return this
  336.         };
  337.         d.finishHide = function () {
  338.             v.splice(v.indexOf(this), 1);
  339.             while (this.resizeListeners && this.resizeListeners.length) this.resizeListeners.pop().remove();
  340.             this.resizeListeners = null;
  341.             b("Stratcom").invoke("m:flyout:close", null, {
  342.                 flyout: this
  343.             });
  344.             this.getModal() && this._cover && b("DOM").remove(this._cover);
  345.             this._heightConstraint && (this._heightConstraint.release(), this._heightConstraint = null);
  346.             return a.prototype.finishHide.call(this)
  347.         };
  348.         d.updatePosition = function () {
  349.             var a = this.getContext();
  350.             if (!a) return !1;
  351.             var c = a.offsetParent;
  352.             if (!c && this._supportFixedPosition) {
  353.                 var d = getComputedStyle(a);
  354.                 d.position === "fixed" && (c = parseInt(d.top, 10))
  355.             }
  356.             if (!c) return !1;
  357.             this.applyWidth();
  358.             this.emit("adjustDimensions");
  359.             d = this.getRoot();
  360.             c = this.getOrientation();
  361.             this.emit("adjust", c.reset());
  362.             var e = d.offsetParent;
  363.             e = e.getBoundingClientRect();
  364.             var f = this.getContextBounds(),
  365.                 g = f.left - e.left,
  366.                 q = f.right / 3,
  367.                 r = f.top - e.top,
  368.                 s = window.innerHeight,
  369.                 t = this.getContentRoot(),
  370.                 u = b("MParent").bySigil(a, "feed-ufi-comments"),
  371.                 v = u !== null ? t.clientHeight + k + o + m : t.clientHeight + k + o;
  372.             v = v < f.top;
  373.             var w = u !== null ? t.clientHeight + j + l + (s - u.getBoundingClientRect().bottom) : t.clientHeight + j + l;
  374.             t.clientHeight + j + l;
  375.             var x = s - f.bottom >= w;
  376.             c.getPosition() === "below" && (!u && f.height <= s - w - o || u && f.height <= s - w ? r += f.height : v ? c.setPosition("above") : !x ? r = u !== null ? e.top * -1 + u.clientHeight / 2 : e.top * -1 + s / 2 - o : r += f.height + l);
  377.             this.updateWrapperClass(c);
  378.             w = 0;
  379.             v = c.getOffsetX();
  380.             x = t.clientWidth;
  381.             u = Math.round(x / 2);
  382.             if (this._isCustomWidth()) {
  383.                 if (v) w = v - u;
  384.                 else if (this._isContentAlignLeft()) w = g;
  385.                 else if (this._isContentAlignRight()) w = q;
  386.                 else {
  387.                     s = g + Math.round(f.width / 2);
  388.                     w = s - u
  389.                 }
  390.                 w = b("clamp")(Math.round(w), 0, this._getLayerParentWidth() - x)
  391.             }
  392.             t.style.left = w + "px";
  393.             v = c.getOffsetY();
  394.             q = 0;
  395.             b("Stratcom").hasSigil(a, "kaios-like-react-trigger") && (c.getPosition() === "above" ? q = n : c.getPosition() === "below" && (q = -n));
  396.             d.style.top = r + v + q + "px";
  397.             s = this._nubAlignment;
  398.             f.width < i && (s = "center");
  399.             x = i / 2;
  400.             a = g;
  401.             d = Math.round(f.width / 2);
  402.             this._useContentAsBounds && (a = w, d = u);
  403.             s === "center" ? a += d : s === "left" ? a += x : a += f.width - x;
  404.             this._isContentAlignRight() && (a = d);
  405.             r = t.getBoundingClientRect();
  406.             v = {
  407.                 left: r.left,
  408.                 width: r.width
  409.             };
  410.             v.left -= e.left;
  411.             q = p + i / 2;
  412.             a = b("clamp")(a, v.left + q, v.left + v.width - q);
  413.             g = this._isContentAlignLeft() || this._isContentAlignRight() ? a - v.left : a - h / 2 - v.left;
  414.             this._nubNode.style.left = g + "px";
  415.             this.emit("reposition", c);
  416.             return !0
  417.         };
  418.         d.updateNubPosition = function (a) {
  419.             this._nubNode && (this._nubNode.style.left = a + "px")
  420.         };
  421.         d._toggleOrientationClass = function (a, c) {
  422.             b("CSS").conditionClass(this._contentWrapper, c || this._orientationClass, a)
  423.         };
  424.         d.updateWrapperClass = function (a) {
  425.             a = a.getClassName();
  426.             if (a === this._orientationClass) return;
  427.             this._orientationClass && this._toggleOrientationClass(!1);
  428.             this._orientationClass = a;
  429.             this._toggleOrientationClass(!0)
  430.         };
  431.         d.simulateOrientation = function (a, b) {
  432.             a = a.getClassName();
  433.             if (a === this._orientationClass) return b();
  434.             else {
  435.                 this._orientationClass && this._toggleOrientationClass(!1);
  436.                 this._toggleOrientationClass(!0, a);
  437.                 b = b();
  438.                 this._toggleOrientationClass(!1, a);
  439.                 this._orientationClass && this._toggleOrientationClass(!0);
  440.                 return b
  441.             }
  442.         };
  443.         d.destroy = function () {
  444.             a.prototype.destroy.call(this);
  445.             this._contextNode = null;
  446.             this._contextSigil = null;
  447.             this._contentRoot = null;
  448.             this._contentWrapper = null;
  449.             this._contentContainer = null;
  450.             this._content = null;
  451.             this._nubNode = null;
  452.             this._width = null;
  453.             this._cover = null;
  454.             this._overlay = null;
  455.             return this
  456.         };
  457.         d.shouldBlurOnTouchEnd = function () {
  458.             return this.getModal() == null
  459.         };
  460.         return c
  461.     }(b("MLayer"));
  462.     b("mixInEventEmitter")(a, {
  463.         adjustDimensions: !0,
  464.         adjust: !0,
  465.         reposition: !0
  466.     });
  467.     var w = b("emptyFunction").thatReturnsArgument,
  468.         x = b("emptyFunction").thatReturnsArgument,
  469.         y = function () {
  470.             "use strict";
  471.  
  472.             function a() {
  473.                 this._default = {
  474.                     _position: "above",
  475.                     _offsetX: 0,
  476.                     _offsetY: 0
  477.                 }, this.reset()
  478.             }
  479.             var b = a.prototype;
  480.             b.setPosition = function (a) {
  481.                 this._position = w(a);
  482.                 return this
  483.             };
  484.             b.getOppositePosition = function () {
  485.                 return a.OPPOSITE[this.getPosition()]
  486.             };
  487.             b.getPosition = function () {
  488.                 return this._position || "above"
  489.             };
  490.             b.getOffsetX = function () {
  491.                 return this._offsetX || 0
  492.             };
  493.             b.getOffsetY = function () {
  494.                 var a = this._offsetY || 0;
  495.                 this._position === "above" ? (a -= k, a *= -1) : this._position === "below" && (a -= j);
  496.                 return a
  497.             };
  498.             b.getClassName = function () {
  499.                 var a = this.getPosition();
  500.                 if (a === "below") return "_5bo1";
  501.                 else if (a === "above") return "_5bo2"
  502.             };
  503.             b.reset = function () {
  504.                 Object.assign(this, this._default);
  505.                 return this
  506.             };
  507.             b.setDefaultPosition = function (a) {
  508.                 var b = this._default._position;
  509.                 this._default._position = w(a);
  510.                 return b !== a
  511.             };
  512.             b.setDefaultOffsetX = function (a) {
  513.                 var b = this._default._offsetX;
  514.                 this._default._offsetX = a;
  515.                 return b !== a
  516.             };
  517.             b.setDefaultOffsetY = function (a) {
  518.                 var b = this._default._offsetY;
  519.                 this._default._offsetY = a;
  520.                 return b !== a
  521.             };
  522.             return a
  523.         }();
  524.     y.OPPOSITE = {
  525.         above: "below",
  526.         below: "above"
  527.     };
  528.     b("Stratcom").listen("click", t, function (a) {
  529.         b("MLegacyDataStore").get(a.getNode(t)).flyout.causalClickShow()
  530.     });
  531.     b("Stratcom").listen("click", ["m-layer-root", "mflyout-remove-on-click"], function (a) {
  532.         a = a.getNode("m-layer-root");
  533.         b("MLegacyDataStore").get(a).layer.hide()
  534.     });
  535.     e.exports = a
  536. }), null);
  537. __d("MLayerDestroyOnHide", [], (function (a, b, c, d, e, f) {
  538.     a = function () {
  539.         "use strict";
  540.  
  541.         function a(a) {
  542.             this.$1 = a, this.$2
  543.         }
  544.         var b = a.prototype;
  545.         b.enable = function () {
  546.             this.$2 = this.$1.addListener("hide", this.$1.destroy.bind(this.$1))
  547.         };
  548.         b.disable = function () {
  549.             this.$1 = null, this.$2.remove(), this.$2 = null
  550.         };
  551.         return a
  552.     }();
  553.     e.exports = a
  554. }), null);
  555. __d("MUFIActorSelectorBootloader", ["Bootloader", "Event", "MFlyout", "MLayerDestroyOnHide", "MLayerHideOnBlur", "destroyOnUnload"], (function (a, b, c, d, e, f) {
  556.     "use strict";
  557.     var g = {
  558.         _buildLoadingFlyout: function (a, c) {
  559.             return new(b("MFlyout"))({
  560.                 position: "below",
  561.                 context: a,
  562.                 addedBehaviors: [b("MLayerDestroyOnHide"), b("MLayerHideOnBlur")],
  563.                 classNames: ["accelerate"],
  564.                 margin: "none",
  565.                 nubalign: "center",
  566.                 offsetY: 0,
  567.                 width: "100%"
  568.             }, c)
  569.         },
  570.         initBootloadHook: function (a) {
  571.             var c = b("Event").listen(a.container, "click", function () {
  572.                 var d = g._buildLoadingFlyout(a.loadingFlyoutContext, a.loadingFlyoutContent);
  573.                 d.show();
  574.                 b("Bootloader").loadModules(["MUFIActorSelector.react", "ReactRenderer"], function (b, e) {
  575.                     e.constructAndRenderComponentAcrossTransitions(b, a.reactElementProps, a.container), d.destroy(), c.remove()
  576.                 }, "MUFIActorSelectorBootloader")
  577.             });
  578.             b("destroyOnUnload")(c.remove)
  579.         }
  580.     };
  581.     e.exports = g
  582. }), null);
  583. __d("MCompositionStoreID", [], (function (a, b, c, d, e, f) {
  584.     a = Object.freeze({
  585.         CONFIG: "CONFIG",
  586.         FORMAT: "FORMAT",
  587.         GROUP_SELL: "GROUP_SELL",
  588.         MINUTIAE: "MINUTIAE",
  589.         PHOTO: "PHOTO",
  590.         PLACE: "PLACE",
  591.         PAGE_RECOMMENDATIONS: "PAGE_RECOMMENDATIONS",
  592.         SHARE: "SHARE",
  593.         STATUS: "STATUS",
  594.         WITH_TAGS: "WITH_TAGS",
  595.         PRIVACY: "PRIVACY",
  596.         SLIDESHOW: "SLIDESHOW"
  597.     });
  598.     e.exports = a
  599. }), null);
  600. __d("MComposition", ["invariant", "MCompositionStoreID"], (function (a, b, c, d, e, f, g) {
  601.     a = function () {
  602.         "use strict";
  603.  
  604.         function a(a) {
  605.             a = a || {};
  606.             this.$1 = {};
  607.             for (var b in a) this.setStoreData(b, a[b])
  608.         }
  609.         var c = a.prototype;
  610.         c.serialize = function () {
  611.             return this.$1
  612.         };
  613.         c.$2 = function (a) {
  614.             Object.prototype.hasOwnProperty.call(b("MCompositionStoreID"), a) || g(0, 11921, a)
  615.         };
  616.         c.setStoreData = function (a, b) {
  617.             this.$2(a);
  618.             Object.prototype.hasOwnProperty.call(this.$1, a) && g(0, 11922, a);
  619.             this.$1[a] = b;
  620.             return this
  621.         };
  622.         return a
  623.     }();
  624.     e.exports = a
  625. }), null);
  626. __d("MComposerPresence", ["invariant", "$", "DOM", "EventEmitter", "MLegacyDataStore"], (function (a, b, c, d, e, f, g) {
  627.     var h = "REGISTERED",
  628.         i = null,
  629.         j = new(b("EventEmitter"))();
  630.     a = {
  631.         addRegistrationListener: function (a) {
  632.             return j.addListener(h, a)
  633.         },
  634.         hasRegisteredInstance: function () {
  635.             return !!i
  636.         },
  637.         hasLoadedPrivacyValue: function (a) {
  638.             return !this.hasRegisteredInstance() ? !1 : b("DOM").scry(b("DOM").find(b("$")("static_templates"), "div", "composer-main-view"), "tr", "privacy-option").some(function (c) {
  639.                 return b("MLegacyDataStore").get(c).value === a
  640.             })
  641.         },
  642.         register: function (a) {
  643.             i && g(0, 5767), i = a, j.emit(h)
  644.         },
  645.         unregister: function (a) {
  646.             i === a || g(0, 5768), i = null
  647.         },
  648.         cleanup: function () {
  649.             i !== null && i.cleanup()
  650.         }
  651.     };
  652.     e.exports = a
  653. }), null);
  654. __d("MComposerAsyncLoadRequest", ["MComposerPresence", "MRequest", "Promise"], (function (a, b, c, d, e, f) {
  655.     a = function () {
  656.         "use strict";
  657.  
  658.         function a() {
  659.             this.$1 = null, this.$2 = null, this.$3 = null
  660.         }
  661.         var c = a.prototype;
  662.         c.$4 = function () {
  663.             this.$1 && (this.$1.remove(), this.$1 = null), this.$3 && (this.$3.abort(), this.$3 = null)
  664.         };
  665.         c.$5 = function (a) {
  666.             var c = this;
  667.             return new(b("Promise"))(function (d, e) {
  668.                 c.$1 = b("MComposerPresence").addRegistrationListener(d), c.$3 = new(b("MRequest"))(a), c.$3.setAutoRetry(!1), c.$3.listen("fail", e), c.$3.send()
  669.             })
  670.         };
  671.         c.send = function (a) {
  672.             var b = this;
  673.             this.$2 || (this.$2 = this.$5(a), this.$2["finally"](function () {
  674.                 return b.$4()
  675.             }));
  676.             return this.$2
  677.         };
  678.         return a
  679.     }();
  680.     e.exports = a
  681. }), null);
  682. __d("XComposerAsyncLoaderController", ["XController"], (function (a, b, c, d, e, f) {
  683.     e.exports = b("XController").create("/composer/async_loader/", {
  684.         targetid: {
  685.             type: "Int"
  686.         },
  687.         photo_url: {
  688.             type: "String"
  689.         },
  690.         video_url: {
  691.             type: "String"
  692.         },
  693.         attachment_id: {
  694.             type: "String"
  695.         }
  696.     })
  697. }), null);
  698. __d("MComposerEntry", ["ErrorUtils", "LoadingIndicator", "MComposerAsyncLoadRequest", "MComposerPresence", "MComposition", "MLegacyDataStore", "Promise", "Stratcom", "XComposerAsyncLoaderController"], (function (a, b, c, d, e, f) {
  699.     var g, h = new(b("Promise"))(function (a, b) {
  700.             return b()
  701.         }),
  702.         i = new(b("Promise"))(function (a) {
  703.             return a()
  704.         }),
  705.         j = (g || (g = b("ErrorUtils"))).guard(function (a) {
  706.             if (a) throw a
  707.         }, "MComposerEntry");
  708.  
  709.     function a(a) {
  710.         if (o) return;
  711.         p.invoke(new(b("MComposition"))(b("MLegacyDataStore").get(a.getNode("composer_entry_trigger")).COMPOSITION))
  712.     }
  713.  
  714.     function k(a, c, d, e, f) {
  715.         e === void 0 && (e = !0);
  716.         o = !0;
  717.         var g = null;
  718.         b("MComposerPresence").hasRegisteredInstance() ? g = n(a, d) : g = m(a, c, e).then(function () {
  719.             var b = !0;
  720.             f && (b = f());
  721.             if (b) return n(a, d)
  722.         }, j);
  723.         g["finally"](function () {
  724.             return o = !1
  725.         });
  726.         return g
  727.     }
  728.  
  729.     function l(a, c) {
  730.         return b("MComposerPresence").hasRegisteredInstance() ? i : new(b("MComposerAsyncLoadRequest"))().send(c)
  731.     }
  732.  
  733.     function m(a, c, d) {
  734.         d === void 0 && (d = !0);
  735.         d && b("LoadingIndicator").show();
  736.         a = l(a, c);
  737.         d && a["finally"](function () {
  738.             return b("LoadingIndicator").hide()
  739.         });
  740.         return a
  741.     }
  742.  
  743.     function n(a, c) {
  744.         return new(b("Promise"))(function (d, e) {
  745.             var f = {};
  746.             f.COMPOSITION = a.serialize();
  747.             f.ON_CANCEL = e;
  748.             f.ON_SUBMIT = d;
  749.             f.ON_OPEN = c;
  750.             b("Stratcom").invoke("MComposer:entry:js", null, f)
  751.         })
  752.     }
  753.     var o = !1;
  754.     b("XComposerAsyncLoaderController").getURIBuilder().getURI();
  755.     b("Stratcom").listen("click", "composer_entry_trigger", a);
  756.     b("Stratcom").listen("m:page:unload", null, function () {
  757.         o = !1
  758.     });
  759.     var p = {
  760.         invoke: function (a, c, d, e, f) {
  761.             if (o || p.blockNavigateToComposer()) return h;
  762.             c = b("XComposerAsyncLoaderController").getURIBuilder().setInt("targetid", c);
  763.             d !== void 0 && (c = c.setString("photo_url", d));
  764.             e !== void 0 && (c = c.setString("video_url", e));
  765.             f !== void 0 && (c = c.setString("attachment_id", f));
  766.             return k(a || new(b("MComposition"))(), c.getURI())
  767.         },
  768.         invokeOcelot: function (a, c, d, e) {
  769.             if (o || p.blockNavigateToComposer()) return h;
  770.             var f = new(b("MComposition"))();
  771.             return k(f, a, d, c, e)
  772.         },
  773.         blockNavigateToComposer: function () {
  774.             return window.bgUploadInlineComposerCallback ? window.bgUploadInlineComposerCallback() : !1
  775.         }
  776.     };
  777.     e.exports = p
  778. }), 3);
  779. __d("XFeedNUXSaveSeenStateController", ["XController"], (function (a, b, c, d, e, f) {
  780.     e.exports = b("XController").create("/feed/nux/seen/save/", {
  781.         link_id: {
  782.             type: "String"
  783.         },
  784.         key: {
  785.             type: "String",
  786.             required: !0
  787.         },
  788.         seen: {
  789.             type: "Bool",
  790.             defaultValue: !1
  791.         },
  792.         env: {
  793.             type: "Enum",
  794.             enumType: 0
  795.         }
  796.     })
  797. }), null);
  798. __d("MFeedNUXTooltip", ["DOM", "MRequest", "MViewport", "Stratcom", "SubscriptionsHandler", "XFeedNUXSaveSeenStateController", "destroyOnUnload", "mixInEventEmitter"], (function (a, b, c, d, e, f) {
  799.     var g = {},
  800.         h, i = {},
  801.         j, k = 0,
  802.         l = 100,
  803.         m = 1,
  804.         n = 0;
  805.  
  806.     function o() {
  807.         h = b("Stratcom").listen("scroll", null, q), b("destroyOnUnload")(p)
  808.     }
  809.  
  810.     function p() {
  811.         h && h.remove(), h = null, window.clearTimeout(j), j = null
  812.     }
  813.  
  814.     function q() {
  815.         var a = b("MViewport").getHeight();
  816.         j && (window.clearTimeout(j), j = null);
  817.         for (var c in g) {
  818.             var d = g[c],
  819.                 e = d.getNodes(),
  820.                 f = d.getHeadRoom();
  821.             for (var h = 0; h < e.length; h++) {
  822.                 var i = e[h].getBoundingClientRect();
  823.                 if (i.top >= f && i.bottom <= a) {
  824.                     r(e[h], d);
  825.                     break
  826.                 }
  827.             }
  828.         }
  829.     }
  830.  
  831.     function r(a, b) {
  832.         j = window.setTimeout(function () {
  833.             b.getContext() !== a && (b.setContext(a), b.show())
  834.         }, k)
  835.     }
  836.     a = function () {
  837.         "use strict";
  838.  
  839.         function a(a, c, d, e) {
  840.             g.length || o();
  841.             if (g[c] || i[c]) {
  842.                 d.destroy();
  843.                 return
  844.             }
  845.             this.$1 = c;
  846.             this.$2 = b("DOM").scry(document.getElementById("page"), "*", a);
  847.             this.$3 = a;
  848.             this.$4 = n;
  849.             this.$5 = d;
  850.             this.$6 = e === 0 ? 0 : e || l;
  851.             g[c] = this;
  852.             var f = new(b("SubscriptionsHandler"))();
  853.             f.addSubscriptions(this.$5.addListener("show", this.emit.bind(this, "show")), this.$5.addListener("hide", function () {
  854.                 this.emit("hide"), f.release()
  855.             }.bind(this)));
  856.             q()
  857.         }
  858.         var c = a.prototype;
  859.         c.destroy = function () {
  860.             delete g[this.$1], Object.keys(g).length || p()
  861.         };
  862.         c.getContext = function () {
  863.             return this.$5.getContext()
  864.         };
  865.         c.getNodes = function () {
  866.             return this.$2
  867.         };
  868.         c.getHeadRoom = function () {
  869.             return this.$6
  870.         };
  871.         c.getIsUnseen = function () {
  872.             return this.$4 === n
  873.         };
  874.         c.setContext = function (a) {
  875.             this.$5 && this.$5.setContext(a)
  876.         };
  877.         c.show = function () {
  878.             if (!this.$5 || this.$4 === m) return;
  879.             i[this.$1] = !0;
  880.             this.$4 = m;
  881.             this.$5.show();
  882.             var a = b("XFeedNUXSaveSeenStateController").getURIBuilder().setString("key", this.$1).setBool("seen", !0);
  883.             new(b("MRequest"))(a.getURI()).setMethod("POST").send();
  884.             this.destroy()
  885.         };
  886.         c.hide = function () {
  887.             this.$5 && this.$5.hide()
  888.         };
  889.         return a
  890.     }();
  891.     b("mixInEventEmitter")(a, {
  892.         show: !0,
  893.         hide: !0
  894.     });
  895.     e.exports = a
  896. }), null);
  897. __d("MFeedReactionsNUX", ["BanzaiLogger", "MLegacyDataStore", "MLiveData", "Stratcom", "SubscriptionsHandler", "requestAnimationFrame"], (function (a, b, c, d, e, f) {
  898.     "use strict";
  899.     f.init = a;
  900.  
  901.     function a(a, c) {
  902.         var d = c && c.isCommentNUX;
  903.         if (a) {
  904.             var e = new(b("SubscriptionsHandler"))();
  905.             e.addSubscriptions(b("Stratcom").listen("click", "like-reaction-flyout", function (c) {
  906.                 var f = c.getNode("like-reaction-flyout"),
  907.                     h = c.getNode("feed-ufi-comments");
  908.                 if (!f || h) return;
  909.                 h = b("MLegacyDataStore").get(f);
  910.                 if (d && !h.isComment || !d && h.isComment) return;
  911.                 var i = h.feedback_target || h.feedbackTarget;
  912.                 if (i) {
  913.                     var j = b("MLiveData").get(i);
  914.                     e.addSubscriptions(j.listen("change", function () {
  915.                         j.getData().has_viewer_liked && b("requestAnimationFrame")(function () {
  916.                             a.setContext(c.getTarget()), a.show(), g(i)
  917.                         })
  918.                     }))
  919.                 }
  920.             }), a.once("hide", function () {
  921.                 e.release()
  922.             }));
  923.             d || e.addSubscriptions(b("Stratcom").listen("click", "reactions-bling-bar", function (c) {
  924.                 var d = c.getNode("mufi-inline").querySelector('a[data-sigil*="like-reaction-flyout"]');
  925.                 if (d) {
  926.                     var e = c.getNode("feed-ufi-metadata");
  927.                     e = b("MLegacyDataStore").get(e).feedback_target.toString();
  928.                     g(e);
  929.                     a.setContext(d);
  930.                     a.show();
  931.                     c.kill()
  932.                 }
  933.             }));
  934.             b("Stratcom").listen("m:page:unload", null, function () {
  935.                 b("Stratcom").removeCurrentListener(), e.release()
  936.             })
  937.         }
  938.     }
  939.  
  940.     function g(a) {
  941.         b("BanzaiLogger").log("WebReactionsNuxLoggerConfig", {
  942.             feedback_id: a,
  943.             "interface": "mTouch"
  944.         })
  945.     }
  946. }), null);
  947. __d("NTAnnounceSubscription", ["Stratcom"], (function (a, b, c, d, e, f) {
  948.     "use strict";
  949.     f.subscribe = a;
  950.  
  951.     function a(a, c) {
  952.         b("Stratcom").listen(a, null, function (a) {
  953.             c(a.getData())
  954.         })
  955.     }
  956. }), null);
  957. __d("XUFIReactionController", ["XController"], (function (a, b, c, d, e, f) {
  958.     e.exports = b("XController").create("/ufi/reaction/", {
  959.         client_id: {
  960.             type: "String"
  961.         },
  962.         ft_ent_identifier: {
  963.             type: "String"
  964.         },
  965.         reaction_type: {
  966.             type: "Enum",
  967.             enumType: 0
  968.         },
  969.         story_render_location: {
  970.             type: "Enum",
  971.             enumType: 1
  972.         },
  973.         is_inline: {
  974.             type: "Bool",
  975.             defaultValue: !1
  976.         },
  977.         is_comment: {
  978.             type: "Bool",
  979.             defaultValue: !1
  980.         },
  981.         is_permalink: {
  982.             type: "Bool",
  983.             defaultValue: !1
  984.         },
  985.         action_source: {
  986.             type: "String"
  987.         },
  988.         feedback_source: {
  989.             type: "Int"
  990.         },
  991.         feedback_referrer: {
  992.             type: "String"
  993.         },
  994.         is_sponsored: {
  995.             type: "Bool",
  996.             defaultValue: !1
  997.         },
  998.         basic_origin_uri: {
  999.             type: "String"
  1000.         },
  1001.         basic_reload: {
  1002.             type: "Exists",
  1003.             defaultValue: !1
  1004.         },
  1005.         bgsync_id: {
  1006.             type: "String"
  1007.         },
  1008.         aftercursor: {
  1009.             type: "String"
  1010.         },
  1011.         tab: {
  1012.             type: "String"
  1013.         },
  1014.         _ft_: {
  1015.             type: "String"
  1016.         }
  1017.     })
  1018. }), null);
  1019. __d("MReactionsFlyout", ["cx", "fbt", "ActorURI", "BanzaiLogger", "CSS", "CancelableEventListener", "DOM", "MBlockingTouchable", "MLegacyDataStore", "MLiveData", "MParent", "MUFIConfig", "MUFIReactionsUtils", "MUFIRequest", "Stratcom", "SubscriptionsHandler", "TouchEventType", "URI", "XUFIReactionController", "clearTimeout", "gkx", "setTimeout"], (function (a, b, c, d, e, f, g, h) {
  1020.     f.init = a;
  1021.     f.addAnchor = c;
  1022.     f.initNUX = d;
  1023.     var i, j = 17,
  1024.         k = "_ft_",
  1025.         l = {
  1026.             top: .3,
  1027.             bottom: .6
  1028.         },
  1029.         m, n = [],
  1030.         o = function () {
  1031.             function a(a) {
  1032.                 var c = this,
  1033.                     d;
  1034.                 this.autoHideOnScroll = function (a) {
  1035.                     a = c.flyout;
  1036.                     if (!a || !a.isShown()) {
  1037.                         b("Stratcom").removeCurrentListener();
  1038.                         return
  1039.                     }
  1040.                     var d;
  1041.                     window.innerHeight ? d = window.innerHeight : document.body && (d = document.body.clientHeight);
  1042.                     if (!d) return;
  1043.                     var e = a.getContext().getBoundingClientRect().top,
  1044.                         f = d * l.top,
  1045.                         g = d * l.bottom;
  1046.                     (e < f || e > g) && a.hide()
  1047.                 };
  1048.                 this.onUnload = function () {
  1049.                     c.onHide(), c.pageSubscriptions.release()
  1050.                 };
  1051.                 this.onClick = function (a) {
  1052.                     a = a.getNode("reaction-item");
  1053.                     a instanceof HTMLElement && c.select(a)
  1054.                 };
  1055.                 this.onScreenReaderTrigger = function (a) {
  1056.                     a = a.getTarget();
  1057.                     if (!a) return;
  1058.                     a = a.previousSibling;
  1059.                     if (!a) return;
  1060.                     c.flyout.setContext(a);
  1061.                     c.setSupported();
  1062.                     c.flyout.show();
  1063.                     c.flyoutSubscriptions.addSubscriptions(b("Stratcom").listen("click", "reaction-item", c.onClick));
  1064.                     a = b("MLiveData").get(b("MLegacyDataStore").get(c.flyout.getContext()).feedbackTarget).getData();
  1065.                     a = a.viewerreaction;
  1066.                     var d = null;
  1067.                     for (var e = 0, f = c.reactionElements.length; e < f; e++) {
  1068.                         var g = b("MLegacyDataStore").get(c.reactionElements[e]);
  1069.                         g = g.reaction;
  1070.                         g === a && (d = c.reactionElements[e])
  1071.                     }
  1072.                     d || (d = c.reactionElements[0]);
  1073.                     d.focus()
  1074.                 };
  1075.                 this.onClickTrigger = function (a) {
  1076.                     a = a.getTarget();
  1077.                     if (!(a instanceof HTMLElement)) return;
  1078.                     var d = c.flyout;
  1079.                     if (d.isShown()) {
  1080.                         d.hide();
  1081.                         return
  1082.                     }
  1083.                     b("Stratcom").hasSigil(a, "like-reaction-flyout") || (a = b("MParent").bySigil(a, "like-reaction-flyout"));
  1084.                     a && c.setupFlyout(d, a)
  1085.                 };
  1086.                 this.onClickCapture = function (a) {
  1087.                     var d = c.flyout;
  1088.                     if (d) {
  1089.                         var e = b("MLegacyDataStore").get(d.getContext());
  1090.                         e = e.kaiOSReactions;
  1091.                         if (e && d.isShown()) {
  1092.                             d.hide();
  1093.                             return
  1094.                         }
  1095.                     }
  1096.                     a.stop()
  1097.                 };
  1098.                 this.onTouchStart = function (a) {
  1099.                     var d = c.flyout;
  1100.                     if (!d.isShown()) {
  1101.                         var e = document;
  1102.                         e = e.body;
  1103.                         e && b("CSS").addClass(e, "_70ol");
  1104.                         c.touchStartX = a.getTouch().clientX;
  1105.                         c.timing.touchStartTime = Date.now();
  1106.                         c.preventScrollTimeout = b("setTimeout")(function () {
  1107.                             c.canScroll = !1
  1108.                         }, 200);
  1109.                         c.longpressTimeout = b("setTimeout")(function () {
  1110.                             c.timing.shownTime = Date.now();
  1111.                             var e = a.getTarget();
  1112.                             if (!(e instanceof HTMLElement)) return;
  1113.                             b("Stratcom").hasSigil(e, "like-reaction-flyout") || (e = b("MParent").bySigil(e, "like-reaction-flyout"));
  1114.                             e && c.setupFlyout(d, e)
  1115.                         }, 300)
  1116.                     }
  1117.                 };
  1118.                 this.onTouchMove = function (a) {
  1119.                     var d = c.flyout,
  1120.                         e = d.getContext() && b("MLegacyDataStore").get(d.getContext()).isComment;
  1121.                     c.canScroll || (e ? a.kill() : a.prevent());
  1122.                     if (!d.isShown()) return;
  1123.                     a = a.getTouch();
  1124.                     var f = a.clientX;
  1125.                     a = a.clientY;
  1126.                     a = document.elementFromPoint(f, a);
  1127.                     if (a) {
  1128.                         var g = a.nodeName === "I" || a.nodeName === "IMG";
  1129.                         if (!(g || c.canScrub)) {
  1130.                             c.canScrub = Math.abs(c.touchStartX - f) >= 25;
  1131.                             return
  1132.                         }
  1133.                         d.getContentRoot().setAttribute("data-longpress", !0);
  1134.                         if (d.getContentRoot().contains(a)) {
  1135.                             if (g) {
  1136.                                 a = (f = a) != null ? (f = f.parentNode) != null ? f.parentNode : f : f
  1137.                             }
  1138.                             c.active !== a && b("MLegacyDataStore").get(a).reaction && (c.isUpdatedDock || e ? c.showOverlay(c.overlay && c.overlay.slide) : c.showOverlay(c.overlay && c.overlay.dots), c.removeActive(), c.active = a, a && a.setAttribute("data-active", "true"))
  1139.                         } else(!c.overlay || !c.overlay.container.contains(a)) && (c.removeActive(), c.showOverlay(c.overlay && c.overlay.release))
  1140.                     }
  1141.                 };
  1142.                 this.onTouchEnd = function (a) {
  1143.                     var d = c.active;
  1144.                     if (d) c.log({
  1145.                         finalReaction: b("MLegacyDataStore").get(d).reaction,
  1146.                         viaScrubbing: !0
  1147.                     }), c.select(d);
  1148.                     else {
  1149.                         d = a.getTouch();
  1150.                         a = d.clientX;
  1151.                         d = d.clientY;
  1152.                         a = document.elementFromPoint(a, d);
  1153.                         d = c.flyout;
  1154.                         a && !(d.getContentRoot().contains(a) || d.getContext().contains(a) || c.overlay && c.overlay.container.contains(a)) && d.hide()
  1155.                     }
  1156.                 };
  1157.                 this.onWindowClick = function (a) {
  1158.                     var d;
  1159.                     a = a.getNode("reaction-item");
  1160.                     a && (d = b("MLegacyDataStore").get(a).reaction);
  1161.                     c.log({
  1162.                         finalReaction: d,
  1163.                         viaScrubbing: !1
  1164.                     })
  1165.                 };
  1166.                 this.onWindowTouchEnd = function () {
  1167.                     var a = c.flyout;
  1168.                     a.isShown() ? (c.timing.touchEndTime = Date.now(), a.getContentRoot().removeAttribute("data-longpress")) : (c.canScroll = !0, b("clearTimeout")(c.longpressTimeout), b("clearTimeout")(c.preventScrollTimeout))
  1169.                 };
  1170.                 this.onHide = function () {
  1171.                     var a = document;
  1172.                     a = a.body;
  1173.                     a && b("CSS").addClass(a, "_70ol");
  1174.                     c.canScroll = !0;
  1175.                     c.canScrub = !1;
  1176.                     c.removeActive();
  1177.                     c.removeUFIOverlay();
  1178.                     c.flyout.hide();
  1179.                     c.flyoutSubscriptions.release();
  1180.                     c.flyoutSubscriptions = new(b("SubscriptionsHandler"))()
  1181.                 };
  1182.                 this.onWindowTouchMove = function () {
  1183.                     c.flyout.isShown() || (c.canScroll = !0, b("clearTimeout")(c.longpressTimeout), b("clearTimeout")(c.preventScrollTimeout))
  1184.                 };
  1185.                 this.flyout = a;
  1186.                 this.active = null;
  1187.                 this.canScroll = !0;
  1188.                 this.canScrub = !1;
  1189.                 this.preventScrollTimeout = null;
  1190.                 this.longpressTimeout = null;
  1191.                 this.nuxTooltip = null;
  1192.                 this.overlay = null;
  1193.                 this.timing = {
  1194.                     touchStartTime: null,
  1195.                     touchEndTime: null,
  1196.                     shownTime: null
  1197.                 };
  1198.                 this.touchStartX = 0;
  1199.                 this.isUpdatedDock = b("MUFIConfig").hasUpdatedDock;
  1200.                 this.pageSubscriptions = new(b("SubscriptionsHandler"))();
  1201.                 this.flyoutSubscriptions = new(b("SubscriptionsHandler"))();
  1202.                 this.assignFlyoutContent();
  1203.                 this.pageSubscriptions.addSubscriptions(a.addListener("hide", this.onHide), (d = b("Stratcom")).listen("m:page:unload", null, this.onUnload), d.listen("m:viewport:orientation-change", null, this.onHide), d.listen(b("TouchEventType").END, null, this.onWindowTouchEnd), d.listen("click", "screenreader-reactions-trigger", this.onScreenReaderTrigger), b("CancelableEventListener").listen(a.getContentRoot(), "touchmove", "reaction-item", this.onTouchMove));
  1204.                 n.forEach(function (a) {
  1205.                     return c.addAnchor(a)
  1206.                 });
  1207.                 m && this.setNUXTooltip(m);
  1208.                 b("MUFIConfig").hasIEMobileFixes ? this.pageSubscriptions.addSubscriptions(b("Stratcom").listen("touchcancel", null, this.onWindowTouchEnd)) : this.pageSubscriptions.addSubscriptions(b("Stratcom").listen("touchmove", null, this.onWindowTouchMove))
  1209.             }
  1210.             var c = a.prototype;
  1211.             c.addAnchor = function (a) {
  1212.                 var c = b("Stratcom").hasSigil(a, "kaios-like-react-trigger");
  1213.                 c ? this.pageSubscriptions.addSubscriptions(b("CancelableEventListener").listen(a, "click", null, this.onClickTrigger)) : this.pageSubscriptions.addSubscriptions(b("CancelableEventListener").listen(a, b("TouchEventType").START, null, this.onTouchStart));
  1214.                 b("MUFIConfig").hasIEMobileFixes || this.pageSubscriptions.addSubscriptions(b("CancelableEventListener").listen(a, "touchmove", "like-reaction-flyout", this.onTouchMove), b("CancelableEventListener").listen(a, "touchmove", "reaction-item", this.onTouchMove))
  1215.             };
  1216.             c.assignFlyoutContent = function () {
  1217.                 (!this.reactionElements || this.reactionElements.length === 0) && (this.reactionElements = document.getElementsByClassName("_1-kd"), Array.prototype.forEach.call(this.reactionElements, function (a) {
  1218.                     return b("MBlockingTouchable").init(a)
  1219.                 }))
  1220.             };
  1221.             c.setupFlyout = function (a, c) {
  1222.                 var d = b("MLegacyDataStore").get(c);
  1223.                 a.setContext(c);
  1224.                 this.setSupported();
  1225.                 c = this.nuxTooltip;
  1226.                 c && c.hide();
  1227.                 c = a.getContentRoot();
  1228.                 c = b("MParent").bySigil(c, "m-layer-root");
  1229.                 c && (this.isUpdatedDock && !d.isComment && (this.applyMultilineFlyout(), b("CSS").addClass(c, "_5xt_")), d.isComment && b("CSS").addClass(c, "_31rl"));
  1230.                 a.show();
  1231.                 c = b("MLegacyDataStore").get(a.getContext());
  1232.                 a = c.kaiOSReactions;
  1233.                 a || this.createUFIOverlay();
  1234.                 this.isUpdatedDock || d.isComment ? this.showOverlay(this.overlay && this.overlay.tap) : this.showOverlay(this.overlay && this.overlay.dots);
  1235.                 this.flyoutSubscriptions.addSubscriptions(b("Stratcom").listen("click", "reaction-item", this.onClick), b("Stratcom").listenCapture("click", "like-reaction-flyout", this.onClickCapture), b("Stratcom").listenCapture("click", null, this.onWindowClick));
  1236.                 a && this.flyoutSubscriptions.addSubscriptions(b("Stratcom").listen("scroll", null, this.autoHideOnScroll));
  1237.                 b("MUFIConfig").hasIEMobileFixes || this.flyoutSubscriptions.addSubscriptions(b("Stratcom").listen("touchend", "like-reaction-flyout", this.onTouchEnd), b("Stratcom").listen("touchend", "reaction-item", this.onTouchEnd))
  1238.             };
  1239.             c.select = function (a) {
  1240.                 var c = this.flyout;
  1241.                 c.hide();
  1242.                 if (!a) return;
  1243.                 a = b("MLegacyDataStore").get(a);
  1244.                 a = a.reaction;
  1245.                 c = c.getContext();
  1246.                 var d = b("MLegacyDataStore").get(c),
  1247.                     e = d.feedbackTarget;
  1248.                 d = d.isComment;
  1249.                 var f = b("MLiveData").get(e).getData();
  1250.                 if (f.viewerreaction === a) return;
  1251.                 if (d) {
  1252.                     d = c.getAttribute("data-uri") || c.getAttribute("href");
  1253.                     d = b("MUFIRequest").getURI(d);
  1254.                     d.addQueryData("reaction_comment_id", e.split("_")[1]);
  1255.                     d.addQueryData("viewer_reaction", a);
  1256.                     b("MUFIRequest").send(e, b("MUFIReactionsUtils").getReactionDataForComment(f, a), d)
  1257.                 } else {
  1258.                     d = f.actor_for_post;
  1259.                     d !== 0 && !d && (d = null);
  1260.                     var g = b("MParent").bySigil(c, "story-div"),
  1261.                         h = null;
  1262.                     if (g) {
  1263.                         g = b("MLegacyDataStore").get(g).linkdata;
  1264.                         if (g && b("gkx")("816008")) {
  1265.                             var j;
  1266.                             h = (j = {}, j[k] = g, j)
  1267.                         }
  1268.                     }
  1269.                     j = Object.assign({}, (g = {}, g[b("ActorURI").PARAMETER_ACTOR] = d, g.ft_ent_identifier = e, g.reaction_type = a, g.feedback_source = new(i || (i = b("URI")))(c.getAttribute("data-uri")).getQueryData().feedback_source, g), h);
  1270.                     b("MUFIRequest").send(e, b("MUFIReactionsUtils").getReactionData(f, a), b("XUFIReactionController").getURIBuilder().getURI(), j, b("MUFIReactionsUtils").getConfigForBackgroundRetry(e))
  1271.                 }
  1272.             };
  1273.             c.removeActive = function () {
  1274.                 var a = this.active;
  1275.                 if (a) {
  1276.                     this.active = null;
  1277.                     a.removeAttribute("data-active");
  1278.                     a = a.parentElement;
  1279.                     a && a.classList.remove("mReactionInAnimation")
  1280.                 }
  1281.             };
  1282.             c.applyMultilineFlyout = function () {
  1283.                 var a = this.flyout,
  1284.                     c = a.getContext();
  1285.                 c = b("MParent").bySigil(c, "mufi-inline");
  1286.                 a = a.getContentRoot();
  1287.                 c = b("DOM").scry(c, "div", "reactions-bling-bar");
  1288.                 if (c.length == 0) {
  1289.                     b("CSS").addClass(a, "_5xu1");
  1290.                     return
  1291.                 }
  1292.                 c = c[0].getBoundingClientRect().height;
  1293.                 c > j ? b("CSS").addClass(a, "_5xu0") : c < j ? b("CSS").addClass(a, "_5xu1") : (b("CSS").removeClass(a, "_5xu0"), b("CSS").removeClass(a, "_5xu1"))
  1294.             };
  1295.             c.showOverlay = function (a) {
  1296.                 var c = this.overlay;
  1297.                 if (c && a) {
  1298.                     b("CSS").show(a);
  1299.                     for (var d in c) {
  1300.                         var e = c[d];
  1301.                         e != a && e != c.container && b("CSS").hide(e)
  1302.                     }
  1303.                 }
  1304.             };
  1305.             c.log = function (a) {
  1306.                 var c = b("MLiveData").get(b("MLegacyDataStore").get(this.flyout.getContext()).feedbackTarget).getData(),
  1307.                     d = c.ft_ent_identifier;
  1308.                 c = c.viewerreaction;
  1309.                 var e = this.timing,
  1310.                     f = e.touchEndTime,
  1311.                     g = e.touchStartTime;
  1312.                 e = e.shownTime;
  1313.                 if (!f || !g || !e) return;
  1314.                 f = f - g;
  1315.                 b("BanzaiLogger").log("UserReactionsLoggerConfig", {
  1316.                     feedback_id: d,
  1317.                     final_reaction: a.finalReaction || c,
  1318.                     initial_reaction: c,
  1319.                     "interface": "mTouch",
  1320.                     long_press_duration: f > 0 ? f : 0,
  1321.                     time_spent: Date.now() - e,
  1322.                     via_scrubbing: a.viaScrubbing
  1323.                 })
  1324.             };
  1325.             c.createUFIOverlay = function () {
  1326.                 var a = this.flyout.getContext(),
  1327.                     c = b("MLegacyDataStore").get(a),
  1328.                     d = c.feedbackTarget;
  1329.                 c = c.isComment;
  1330.                 d = (d = b("MLiveData").get(d).getData().supportedreactions) != null ? d : this.getSupportedReactions();
  1331.                 var e = document.createElement("div");
  1332.                 e.style.display = "none";
  1333.                 e.className = "_403o";
  1334.                 d = Math.round(d.length * 1.3);
  1335.                 for (var f = 0; f < d; ++f) {
  1336.                     var g = document.createElement("div");
  1337.                     g.className = "_403p";
  1338.                     e.appendChild(g).className = "_403p"
  1339.                 }
  1340.                 g = document.createElement("div");
  1341.                 g.style.display = "none";
  1342.                 g.className = "_5xu2";
  1343.                 g.textContent = h._("Tap to Pick Your Reaction").toString();
  1344.                 f = document.createElement("div");
  1345.                 f.style.display = "none";
  1346.                 f.className = "_5xu2";
  1347.                 f.textContent = h._("Slide Finger Across").toString();
  1348.                 d = document.createElement("div");
  1349.                 d.style.display = "none";
  1350.                 d.className = "_5xu2";
  1351.                 d.textContent = h._("Release to Cancel").toString();
  1352.                 var i = document.createElement("div");
  1353.                 i.className = "_403n";
  1354.                 c && b("CSS").addClass(i, "_31ru");
  1355.                 i.appendChild(e);
  1356.                 i.appendChild(d);
  1357.                 (this.isUpdatedDock || c) && (i.appendChild(g), i.appendChild(f));
  1358.                 c = b("MParent").bySigil(a, "ufi-inline-actions");
  1359.                 c || (c = b("MParent").bySigil(a, "ufi-inline-comment-actions"));
  1360.                 c ? (c.insertBefore(i, c.firstChild), this.overlay = {
  1361.                     container: i,
  1362.                     tap: g,
  1363.                     slide: f,
  1364.                     release: d,
  1365.                     dots: e
  1366.                 }) : this.overlay = null
  1367.             };
  1368.             c.removeUFIOverlay = function () {
  1369.                 var a = this.overlay;
  1370.                 if (a) {
  1371.                     a = a.container;
  1372.                     a.parentNode && a.parentNode.removeChild(a);
  1373.                     this.overlay = null
  1374.                 }
  1375.             };
  1376.             c.getSupportedReactions = function () {
  1377.                 return [1, 2, 4, 3, 7, 8, 16]
  1378.             };
  1379.             c.setSupported = function () {
  1380.                 var a = b("MLegacyDataStore").get(this.flyout.getContext());
  1381.                 a = (a = b("MLiveData").get(a.feedbackTarget).getData().supportedreactions) != null ? a : this.getSupportedReactions();
  1382.                 var c = this.reactionElements;
  1383.                 for (var d = 0, e = c.length; d < e; ++d) {
  1384.                     var f = c[d],
  1385.                         g = b("MLegacyDataStore").get(f);
  1386.                     g = g.reaction;
  1387.                     b("CSS").conditionShow(f, a.indexOf(g) >= 0)
  1388.                 }
  1389.             };
  1390.             c.setNUXTooltip = function (a) {
  1391.                 this.nuxTooltip = a
  1392.             };
  1393.             return a
  1394.         }(),
  1395.         p;
  1396.  
  1397.     function a(a) {
  1398.         p = new o(a)
  1399.     }
  1400.  
  1401.     function c(a) {
  1402.         if (p) {
  1403.             p.addAnchor(a);
  1404.             return
  1405.         }
  1406.         n.push(a)
  1407.     }
  1408.  
  1409.     function d(a) {
  1410.         m = a, p && p.setNUXTooltip(a)
  1411.     }
  1412. }), null);
  1413. __d("MSiteMessengerDiodeTypedLogger", ["Banzai", "GeneratedLoggerUtils"], (function (a, b, c, d, e, f) {
  1414.     "use strict";
  1415.     a = function () {
  1416.         function a() {
  1417.             this.$1 = {}
  1418.         }
  1419.         var c = a.prototype;
  1420.         c.log = function (a) {
  1421.             b("GeneratedLoggerUtils").log("logger:MSiteMessengerDiodeLoggerConfig", this.$1, b("Banzai").BASIC, a)
  1422.         };
  1423.         c.logVital = function (a) {
  1424.             b("GeneratedLoggerUtils").log("logger:MSiteMessengerDiodeLoggerConfig", this.$1, b("Banzai").VITAL, a)
  1425.         };
  1426.         c.logImmediately = function (a) {
  1427.             b("GeneratedLoggerUtils").log("logger:MSiteMessengerDiodeLoggerConfig", this.$1, {
  1428.                 signal: !0
  1429.             }, a)
  1430.         };
  1431.         c.clear = function () {
  1432.             this.$1 = {};
  1433.             return this
  1434.         };
  1435.         c.getData = function () {
  1436.             return babelHelpers["extends"]({}, this.$1)
  1437.         };
  1438.         c.updateData = function (a) {
  1439.             this.$1 = babelHelpers["extends"]({}, this.$1, a);
  1440.             return this
  1441.         };
  1442.         c.setBadgeCount = function (a) {
  1443.             this.$1.badge_count = a;
  1444.             return this
  1445.         };
  1446.         c.setEvent = function (a) {
  1447.             this.$1.event = a;
  1448.             return this
  1449.         };
  1450.         c.setMessagingEntryPoint = function (a) {
  1451.             this.$1.messaging_entry_point = a;
  1452.             return this
  1453.         };
  1454.         c.setMsiteDiodeStateFromClient = function (a) {
  1455.             this.$1.msite_diode_state_from_client = a;
  1456.             return this
  1457.         };
  1458.         return a
  1459.     }();
  1460.     c = {
  1461.         badge_count: !0,
  1462.         event: !0,
  1463.         messaging_entry_point: !0,
  1464.         msite_diode_state_from_client: !0
  1465.     };
  1466.     e.exports = a
  1467. }), null);
  1468. __d("ShareMenuTypedLogger", ["Banzai", "GeneratedLoggerUtils"], (function (a, b, c, d, e, f) {
  1469.     "use strict";
  1470.     a = function () {
  1471.         function a() {
  1472.             this.$1 = {}
  1473.         }
  1474.         var c = a.prototype;
  1475.         c.log = function (a) {
  1476.             b("GeneratedLoggerUtils").log("logger:ShareMenuLoggerConfig", this.$1, b("Banzai").BASIC, a)
  1477.         };
  1478.         c.logVital = function (a) {
  1479.             b("GeneratedLoggerUtils").log("logger:ShareMenuLoggerConfig", this.$1, b("Banzai").VITAL, a)
  1480.         };
  1481.         c.logImmediately = function (a) {
  1482.             b("GeneratedLoggerUtils").log("logger:ShareMenuLoggerConfig", this.$1, {
  1483.                 signal: !0
  1484.             }, a)
  1485.         };
  1486.         c.clear = function () {
  1487.             this.$1 = {};
  1488.             return this
  1489.         };
  1490.         c.getData = function () {
  1491.             return babelHelpers["extends"]({}, this.$1)
  1492.         };
  1493.         c.updateData = function (a) {
  1494.             this.$1 = babelHelpers["extends"]({}, this.$1, a);
  1495.             return this
  1496.         };
  1497.         c.setAPIError = function (a) {
  1498.             this.$1.api_error = a;
  1499.             return this
  1500.         };
  1501.         c.setAppID = function (a) {
  1502.             this.$1.appid = a;
  1503.             return this
  1504.         };
  1505.         c.setAppversion = function (a) {
  1506.             this.$1.appversion = a;
  1507.             return this
  1508.         };
  1509.         c.setClienttime = function (a) {
  1510.             this.$1.clienttime = a;
  1511.             return this
  1512.         };
  1513.         c.setComposerSessionID = function (a) {
  1514.             this.$1.composer_session_id = a;
  1515.             return this
  1516.         };
  1517.         c.setCountry = function (a) {
  1518.             this.$1.country = a;
  1519.             return this
  1520.         };
  1521.         c.setDeviceid = function (a) {
  1522.             this.$1.deviceid = a;
  1523.             return this
  1524.         };
  1525.         c.setErrorCode = function (a) {
  1526.             this.$1.error_code = a;
  1527.             return this
  1528.         };
  1529.         c.setErrorMsg = function (a) {
  1530.             this.$1.error_msg = a;
  1531.             return this
  1532.         };
  1533.         c.setExtraClientData = function (a) {
  1534.             this.$1.extra_client_data = a;
  1535.             return this
  1536.         };
  1537.         c.setFbAudience = function (a) {
  1538.             this.$1.fb_audience = a;
  1539.             return this
  1540.         };
  1541.         c.setFbEntryPoint = function (a) {
  1542.             this.$1.fb_entry_point = a;
  1543.             return this
  1544.         };
  1545.         c.setFbShareType = function (a) {
  1546.             this.$1.fb_share_type = a;
  1547.             return this
  1548.         };
  1549.         c.setFbSignificance = function (a) {
  1550.             this.$1.fb_significance = a;
  1551.             return this
  1552.         };
  1553.         c.setName = function (a) {
  1554.             this.$1.name = a;
  1555.             return this
  1556.         };
  1557.         c.setOrcaEntryPoint = function (a) {
  1558.             this.$1.orca_entry_point = a;
  1559.             return this
  1560.         };
  1561.         c.setOrcaSignificance = function (a) {
  1562.             this.$1.orca_significance = a;
  1563.             return this
  1564.         };
  1565.         c.setSessionid = function (a) {
  1566.             this.$1.sessionid = a;
  1567.             return this
  1568.         };
  1569.         c.setShareButtonType = function (a) {
  1570.             this.$1.share_button_type = a;
  1571.             return this
  1572.         };
  1573.         c.setShareMenuOptionsAvailable = function (a) {
  1574.             this.$1.share_menu_options_available = b("GeneratedLoggerUtils").serializeVector(a);
  1575.             return this
  1576.         };
  1577.         c.setShareSourceFeedType = function (a) {
  1578.             this.$1.share_source_feed_type = a;
  1579.             return this
  1580.         };
  1581.         c.setShareSuggestionBadgeText = function (a) {
  1582.             this.$1.share_suggestion_badge_text = a;
  1583.             return this
  1584.         };
  1585.         c.setShareSuggestionBadgeType = function (a) {
  1586.             this.$1.share_suggestion_badge_type = a;
  1587.             return this
  1588.         };
  1589.         c.setShareSuggestionPosition = function (a) {
  1590.             this.$1.share_suggestion_position = a;
  1591.             return this
  1592.         };
  1593.         c.setShareSuggestionRecipientID = function (a) {
  1594.             this.$1.share_suggestion_recipient_id = a;
  1595.             return this
  1596.         };
  1597.         c.setShareSuggestionThreadID = function (a) {
  1598.             this.$1.share_suggestion_thread_id = a;
  1599.             return this
  1600.         };
  1601.         c.setShareSuggestionThreadType = function (a) {
  1602.             this.$1.share_suggestion_thread_type = a;
  1603.             return this
  1604.         };
  1605.         c.setShareSuggestionType = function (a) {
  1606.             this.$1.share_suggestion_type = a;
  1607.             return this
  1608.         };
  1609.         c.setShareableID = function (a) {
  1610.             this.$1.shareable_id = a;
  1611.             return this
  1612.         };
  1613.         c.setStoryID = function (a) {
  1614.             this.$1.story_id = a;
  1615.             return this
  1616.         };
  1617.         return a
  1618.     }();
  1619.     c = {
  1620.         api_error: !0,
  1621.         appid: !0,
  1622.         appversion: !0,
  1623.         clienttime: !0,
  1624.         composer_session_id: !0,
  1625.         country: !0,
  1626.         deviceid: !0,
  1627.         error_code: !0,
  1628.         error_msg: !0,
  1629.         extra_client_data: !0,
  1630.         fb_audience: !0,
  1631.         fb_entry_point: !0,
  1632.         fb_share_type: !0,
  1633.         fb_significance: !0,
  1634.         name: !0,
  1635.         orca_entry_point: !0,
  1636.         orca_significance: !0,
  1637.         sessionid: !0,
  1638.         share_button_type: !0,
  1639.         share_menu_options_available: !0,
  1640.         share_source_feed_type: !0,
  1641.         share_suggestion_badge_text: !0,
  1642.         share_suggestion_badge_type: !0,
  1643.         share_suggestion_position: !0,
  1644.         share_suggestion_recipient_id: !0,
  1645.         share_suggestion_thread_id: !0,
  1646.         share_suggestion_thread_type: !0,
  1647.         share_suggestion_type: !0,
  1648.         shareable_id: !0,
  1649.         story_id: !0
  1650.     };
  1651.     e.exports = a
  1652. }), null);
  1653. __d("calculateShareSignificance", [], (function (a, b, c, d, e, f) {
  1654.     "use strict";
  1655.     var g = 5;
  1656.     a = function (a) {
  1657.         if (!a) return "no_text";
  1658.         var b = new Set();
  1659.         (a || "").toLowerCase().split(" ").forEach(function (a) {
  1660.             return b.add(a)
  1661.         });
  1662.         return b.size > g ? "significant" : "not_significant"
  1663.     };
  1664.     b = a;
  1665.     e.exports = b
  1666. }), null);
  1667. __d("getShareAudienceFromPrivacyString", [], (function (a, b, c, d, e, f) {
  1668.     "use strict";
  1669.     a = function (a) {
  1670.         switch (a) {
  1671.         case null:
  1672.         case void 0:
  1673.         case "unknown":
  1674.             return "unknown";
  1675.         case "286958161406148":
  1676.             return "self";
  1677.         case "300645083384735":
  1678.             return "everyone";
  1679.         case "368493386561757":
  1680.         case "275425949243301":
  1681.             return "fof";
  1682.         case "123780391104836":
  1683.         case "291667064279714":
  1684.             return "friends";
  1685.         default:
  1686.             return "custom"
  1687.         }
  1688.     };
  1689.     b = a;
  1690.     e.exports = b
  1691. }), null);
  1692. __d("MFeedShareAnalytics", ["MSiteMessengerDiodeTypedLogger", "MarauderLogger", "ShareMenuTypedLogger", "Stratcom", "calculateShareSignificance", "getShareAudienceFromPrivacyString"], (function (a, b, c, d, e, f) {
  1693.     "use strict";
  1694.     var g = "feed_share_action";
  1695.     a = {
  1696.         _listeners: [],
  1697.         _initShareMode: null,
  1698.         _currentShareMode: null,
  1699.         _entryPointFromShareMode: function (a) {
  1700.             switch (a) {
  1701.             case "friend":
  1702.                 return "share_to_friend_timeline";
  1703.             case "group":
  1704.                 return "share_to_group";
  1705.             case "message":
  1706.                 return "send_in_message";
  1707.             case "oneclick":
  1708.                 return "share_now";
  1709.             case "own":
  1710.             case "self":
  1711.                 return "write_post";
  1712.             case "page":
  1713.             case "selfpage":
  1714.                 return "page";
  1715.             case "whatsapp_message":
  1716.                 return "send_in_whatsapp";
  1717.             default:
  1718.                 return "unknown"
  1719.             }
  1720.         },
  1721.         init: function () {
  1722.             this._cleanupListeners(), this._registerListeners(), this._initShareMode = null, this._currentShareMode = null
  1723.         },
  1724.         _onTearDown: function () {
  1725.             this._currentShareMode && this.onShareAbandoned()
  1726.         },
  1727.         _registerListeners: function () {
  1728.             var a = this;
  1729.             this._listeners.push(b("Stratcom").listen("m:sharemode:selected", null, function (b) {
  1730.                 b = b.getData();
  1731.                 b && b.sharemode && (a._currentShareMode = b.sharemode)
  1732.             }));
  1733.             this._listeners.push(b("Stratcom").listen("m:page:unload", null, function () {
  1734.                 a._onTearDown()
  1735.             }))
  1736.         },
  1737.         _cleanupListeners: function () {
  1738.             this._onTearDown();
  1739.             while (this._listeners.length > 0) {
  1740.                 var a = this._listeners.pop();
  1741.                 a && a.remove && a.remove()
  1742.             }
  1743.         },
  1744.         onMenuOpened: function () {
  1745.             this._initShareMode = null, this._currentShareMode = null, new(b("ShareMenuTypedLogger"))().setName(g).setFbShareType("share_flow_started").log()
  1746.         },
  1747.         onMenuOptionSelected: function (a, c, d, e) {
  1748.             this._initShareMode = a;
  1749.             this._currentShareMode = a;
  1750.             var f = this._entryPointFromShareMode(a);
  1751.             new(b("ShareMenuTypedLogger"))().setName(g).setFbShareType("share_option_selected").setFbEntryPoint(f).log();
  1752.             a === "message" && new(b("MSiteMessengerDiodeTypedLogger"))().setMessagingEntryPoint("feed_story_share_as_message").log();
  1753.             c === 60 && this._logWatchGrowthOutboundSharing(a, d, e)
  1754.         },
  1755.         _logWatchGrowthOutboundSharing: function (a, c, d) {
  1756.             var e = null;
  1757.             switch (a) {
  1758.             case "message":
  1759.                 e = "messenger";
  1760.                 break;
  1761.             case "whatsapp_message":
  1762.                 e = "whatsapp";
  1763.                 break;
  1764.             case "moreoptions":
  1765.                 e = "unknown";
  1766.                 break
  1767.             }
  1768.             if (e != null) {
  1769.                 a = c.startsWith("/") ? "https://www.facebook.com" + c : c;
  1770.                 c = {
  1771.                     destination: e,
  1772.                     is_watch_eligible: 1,
  1773.                     source: "Watch",
  1774.                     target_id: d,
  1775.                     target_type: "post",
  1776.                     url: a
  1777.                 };
  1778.                 b("MarauderLogger").log("watch_growth_outbound_share", void 0, c)
  1779.             }
  1780.         },
  1781.         _getShareTextArea: function () {
  1782.             var a = document.getElementById("share_msg_input");
  1783.             return a instanceof HTMLTextAreaElement ? a : null
  1784.         },
  1785.         _getAudienceFromCurrentState: function () {
  1786.             var a = document.getElementsByName("privacyx")[1];
  1787.             if (!a || !(a instanceof HTMLInputElement)) return "unknown";
  1788.             switch (this._currentShareMode) {
  1789.             case "friend":
  1790.                 return "friend_timeline";
  1791.             case "group":
  1792.                 return "group";
  1793.             case "message":
  1794.                 return "messenger";
  1795.             case "page":
  1796.             case "selfpage":
  1797.                 return "page";
  1798.             case "self":
  1799.             case "own":
  1800.                 return b("getShareAudienceFromPrivacyString")(a.value);
  1801.             default:
  1802.                 return "unknown"
  1803.             }
  1804.         },
  1805.         onShareAbandoned: function () {
  1806.             var a = null,
  1807.                 c = null,
  1808.                 d = null;
  1809.             if (this._initShareMode) {
  1810.                 a = this._entryPointFromShareMode(this._initShareMode);
  1811.                 var e = this._getShareTextArea();
  1812.                 e && (c = b("calculateShareSignificance")(e.value));
  1813.                 d = this._getAudienceFromCurrentState()
  1814.             }
  1815.             new(b("ShareMenuTypedLogger"))().setName(g).setFbShareType("share_abandoned").setFbEntryPoint(a).setFbAudience(d).setFbSignificance(c).log();
  1816.             this._initShareMode = null;
  1817.             this._currentShareMode = null
  1818.         }
  1819.     };
  1820.     e.exports = a
  1821. }), null);
  1822. __d("XStoryChevronController", ["XController"], (function (a, b, c, d, e, f) {
  1823.     e.exports = b("XController").create("/story_chevron_menu/", {
  1824.         feedobjects_identifiers: {
  1825.             type: "String"
  1826.         },
  1827.         feed_context: {
  1828.             type: "String"
  1829.         },
  1830.         chevron_button_id: {
  1831.             type: "String"
  1832.         },
  1833.         story_node_id: {
  1834.             type: "String"
  1835.         },
  1836.         zombie_story: {
  1837.             type: "String"
  1838.         },
  1839.         is_menu_registered: {
  1840.             type: "Bool",
  1841.             defaultValue: !1
  1842.         },
  1843.         outer_story_token: {
  1844.             type: "String"
  1845.         },
  1846.         show_report_ad_only: {
  1847.             type: "Bool",
  1848.             defaultValue: !1
  1849.         },
  1850.         group_id: {
  1851.             type: "Int"
  1852.         }
  1853.     })
  1854. }), null);
  1855. __d("MAsyncChevronMenu", ["cx", "$", "CSS", "DOM", "MLegacyDataStore", "MParent", "MRequest", "MTouchClick", "ODS", "Stratcom", "SubscriptionsHandler", "XStoryChevronController", "requireWeak"], (function (a, b, c, d, e, f, g) {
  1856.     f.init = a;
  1857.     f.replaceChevronTrigger = c;
  1858.     f.closeLoadingFlyout = d;
  1859.     var h = null;
  1860.     b("requireWeak")("MHideStoryActions", function (a) {
  1861.         return h = a
  1862.     });
  1863.     var i, j, k, l, m, n, o, p;
  1864.  
  1865.     function q(a) {
  1866.         a = b("MParent").bySigil(a, "story-popup-metadata");
  1867.         return a
  1868.     }
  1869.  
  1870.     function r() {
  1871.         b("ODS").bumpEntityKey(2966, "mtouch_async_chevron", "chevron_clicked");
  1872.         var a = this.getCausalElement(),
  1873.             c = b("MLegacyDataStore").get(a),
  1874.             d = q(a),
  1875.             e = b("XStoryChevronController").getURIBuilder().setBool("is_menu_registered", !!(h && h.getActionBubble())).setInt("group_id", p).getURI();
  1876.         e = new(b("MRequest"))(e);
  1877.         l && b("CSS").show(l);
  1878.         m && b("CSS").hide(m);
  1879.         n && b("CSS").hide(n);
  1880.         i = d;
  1881.         e.setMethod("POST");
  1882.         e.setData({
  1883.             feedobjects_identifiers: c.feedobjectsIdentifiers,
  1884.             feed_context: c.feedContext,
  1885.             zombie_story: c.zombieStoryURI ? c.zombieStoryURI : "",
  1886.             story_node_id: d && d.id,
  1887.             chevron_button_id: a.id,
  1888.             outer_story_token: c.outerStoryToken ? c.outerStoryToken : "",
  1889.             show_report_ad_only: o
  1890.         });
  1891.         e.listen("error", function (a) {
  1892.             b("ODS").bumpEntityKey(2966, "mtouch_async_chevron", "request_failed"), l && b("CSS").hide(l), a == "status=0" ? (b("ODS").bumpEntityKey(2966, "mtouch_async_chevron", "request_failed_no_internet_connection"), m && b("CSS").show(m), n && b("CSS").hide(n)) : (b("ODS").bumpEntityKey(2966, "mtouch_async_chevron", "request_failed_server_side_error"), n && b("CSS").show(n), m && b("CSS").hide(m))
  1893.         });
  1894.         e.listen("done", function () {
  1895.             b("ODS").bumpEntityKey(2966, "mtouch_async_chevron", "request_done")
  1896.         });
  1897.         e.send()
  1898.     }
  1899.  
  1900.     function s() {
  1901.         k && (k.release(), k = null), j = null, l = null, m = null, n = null
  1902.     }
  1903.  
  1904.     function t() {
  1905.         if (j) {
  1906.             var a = j.getContentRoot();
  1907.             l = b("DOM").find(a, "div", "loadingWrapper");
  1908.             m = b("DOM").find(a, "div", "noConnectionWrapper");
  1909.             n = b("DOM").find(a, "div", "requestErrorWrapper")
  1910.         }
  1911.     }
  1912.  
  1913.     function a(a, c, d) {
  1914.         j && (j.destroy(), s()), j = a, o = c, p = d, t(), k = new(b("SubscriptionsHandler"))(), k.addSubscriptions(j.addListener("beforeshow", r, j), b("Stratcom").listen("m:page:unload", null, s), b("Stratcom").listen("m:story:action-bubble-initialized", null, function (a) {
  1915.             a = a.getData();
  1916.             a.menuNubID && u(b("$")(a.menuNubID), a.wasOpen)
  1917.         }))
  1918.     }
  1919.  
  1920.     function u(a, c) {
  1921.         if (!j || !(j.isShown() || c)) return;
  1922.         if (!h || !h.getActionBubble()) return;
  1923.         j.hide();
  1924.         c = q(a);
  1925.         if (i == c) {
  1926.             c = a.getElementsByClassName("_4s19")[0];
  1927.             b("MTouchClick").click(c)
  1928.         }
  1929.     }
  1930.  
  1931.     function c(a, c, d, e, f) {
  1932.         b("DOM").replace(b("$")(c), a), f || u(a, !1)
  1933.     }
  1934.  
  1935.     function d(a) {
  1936.         (!i || i.id == a) && (j && j.hide(), i = null)
  1937.     }
  1938. }), null);
  1939. __d("ExternalShareTrackingEventFalcoEvent", ["FalcoLoggerInternal", "getFalcoLogPolicy_DO_NOT_USE"], (function (a, b, c, d, e, f) {
  1940.     "use strict";
  1941.     a = b("getFalcoLogPolicy_DO_NOT_USE")("1743606");
  1942.     c = b("FalcoLoggerInternal").create("external_share_tracking_event", a);
  1943.     e.exports = c
  1944. }), null);
  1945. __d("ExternalShareTracker", ["ExternalShareTrackingConfig", "ExternalShareTrackingEventFalcoEvent", "Random", "gkx"], (function (a, b, c, d, e, f) {
  1946.     "use strict";
  1947.     f.maybeAppendTrackingParam = a;
  1948.     f._shouldAppendExternalShareParam = g;
  1949.     f._genExternalTrackingID = h;
  1950.     f._logData = i;
  1951.  
  1952.     function a(a, c, d, e) {
  1953.         if (!g()) return a;
  1954.         a = a.addQueryData((a = {}, a[b("ExternalShareTrackingConfig").shareParam] = h(), a));
  1955.         i(a, c, d, e);
  1956.         return a
  1957.     }
  1958.  
  1959.     function g() {
  1960.         return b("gkx")("1136644")
  1961.     }
  1962.  
  1963.     function h() {
  1964.         var a = "",
  1965.             c = b("ExternalShareTrackingConfig").characterSet,
  1966.             d = c.length;
  1967.         for (var e = 0; e < b("ExternalShareTrackingConfig").idSize; e++) a += c.charAt(b("Random").uint32() % d);
  1968.         return a
  1969.     }
  1970.  
  1971.     function i(a, c, d, e) {
  1972.         var f = {
  1973.             url: a.toString(),
  1974.             entry_point: c,
  1975.             content_location: d,
  1976.             intent: e
  1977.         };
  1978.         b("ExternalShareTrackingEventFalcoEvent").log(function () {
  1979.             return f
  1980.         })
  1981.     }
  1982. }), null);
  1983. __d("MCompositionShareFields", [], (function (a, b, c, d, e, f) {
  1984.     a = Object.freeze({
  1985.         ID: "ID",
  1986.         APP_ID: "APP_ID",
  1987.         INTERNAL_EXTRA: "INTERNAL_EXTRA",
  1988.         FEEDBACK_SOURCE: "FEEDBACK_SOURCE",
  1989.         DISABLED_LINKS: "DISABLED_LINKS",
  1990.         SHARE_URI: "SHARE_URI",
  1991.         LINK_NO_CHANGE: "LINK_NO_CHANGE",
  1992.         MSITE_PHOTO_URL: "MSITE_PHOTO_URL",
  1993.         MSITE_VIDEO_URL: "MSITE_VIDEO_URL",
  1994.         ATTACHMENT_ID: "ATTACHMENT_ID"
  1995.     });
  1996.     e.exports = a
  1997. }), null);
  1998. __d("MShareToWhatsapp", ["URI", "goURI"], (function (a, b, c, d, e, f) {
  1999.     "use strict";
  2000.     f.sendToWhatsapp = a;
  2001.     var g, h = "https://api.whatsapp.com/send";
  2002.     f.WhatsappSendApiString = h;
  2003.     var i = "text";
  2004.     f.WhatsappSendApiParam = i;
  2005.  
  2006.     function a(a) {
  2007.         a = new(g || (g = b("URI")))(h).addQueryData(i, a);
  2008.         b("goURI")(a)
  2009.     }
  2010. }), null);
  2011. __d("XFbWatchShorturlCreateAsyncController", ["XController"], (function (a, b, c, d, e, f) {
  2012.     e.exports = b("XController").create("/create_fbwatch_short_url/", {})
  2013. }), null);
  2014. __d("XMessengerMSiteShareDialogController", ["XController"], (function (a, b, c, d, e, f) {
  2015.     e.exports = b("XController").create("/share/diode/", {
  2016.         feedback_referrer: {
  2017.             type: "String"
  2018.         },
  2019.         feedback_source: {
  2020.             type: "Int"
  2021.         },
  2022.         internal_preview_image_id: {
  2023.             type: "Int"
  2024.         },
  2025.         key_link: {
  2026.             type: "String"
  2027.         },
  2028.         key_mode: {
  2029.             type: "String"
  2030.         },
  2031.         messaging_entry_point: {
  2032.             type: "Enum",
  2033.             enumType: 1
  2034.         },
  2035.         post_fbid: {
  2036.             type: "Int",
  2037.             required: !0
  2038.         },
  2039.         redirector_fbid: {
  2040.             type: "Int"
  2041.         }
  2042.     })
  2043. }), null);
  2044. __d("MShareFlyout", ["cx", "fbt", "DOM", "ExternalShareTracker", "MComposerEntry", "MComposition", "MCompositionShareFields", "MFeedShareAnalytics", "MLegacyDataStore", "MModalDialog", "MParent", "MRequest", "MShareToWhatsapp", "MViewport", "NTAnnounceSubscription", "Stratcom", "URI", "Vector", "XFbWatchShorturlCreateAsyncController", "XMessengerMSiteShareDialogController", "clearTimeout", "ge", "gkx", "setTimeoutAcrossTransitions"], (function (a, b, c, d, e, f, g, h) {
  2045.     "use strict";
  2046.     var i, j = "mufi-inline",
  2047.         k = "oneClickShareResult",
  2048.         l = 6e3,
  2049.         m = "page_share_content_action",
  2050.         n = "/a/sharer.php",
  2051.         o = "/sharer-dialog.php",
  2052.         p, q, r, s, t, u, v, w, x = {},
  2053.         y = {},
  2054.         z = [],
  2055.         A, B, C, D, E, F, G, H, I;
  2056.  
  2057.     function a(a, c, d, e, f) {
  2058.         if (p) return;
  2059.         Z();
  2060.         A = c;
  2061.         p = a;
  2062.         q = a.getRoot();
  2063.         B = d;
  2064.         c = e || {};
  2065.         G = c.bluebarNoOverlapBuffer;
  2066.         F = e.shareOptionOrder;
  2067.         b("MModalDialog").init();
  2068.         b("MFeedShareAnalytics").init();
  2069.         aa(f)
  2070.     }
  2071.  
  2072.     function c(a) {
  2073.         return
  2074.     }
  2075.  
  2076.     function J(a, c) {
  2077.         c === void 0 && (c = null), b("MFeedShareAnalytics").onMenuOptionSelected(a, u, c, s), H = !0
  2078.     }
  2079.  
  2080.     function K(a) {
  2081.         b("MModalDialog").isOpen() ? b("MModalDialog").load(a) : b("MModalDialog").open(a, L)
  2082.     }
  2083.  
  2084.     function L(a) {
  2085.         !!a && a.canceled && b("MFeedShareAnalytics").onShareAbandoned()
  2086.     }
  2087.  
  2088.     function M() {
  2089.         var a = new(b("MRequest"))(n);
  2090.         a.setMethod("POST");
  2091.         a.addData({
  2092.             m: "oneclick",
  2093.             privacyx: A,
  2094.             sid: s,
  2095.             shareID: s,
  2096.             fs: u,
  2097.             fr: v,
  2098.             internal_preview_image_id: r,
  2099.             should_share_post: E,
  2100.             direct: !0,
  2101.             _ft_: w
  2102.         });
  2103.         a.send();
  2104.         J("oneclick");
  2105.         p.hide()
  2106.     }
  2107.  
  2108.     function N() {
  2109.         if (B) {
  2110.             var a = {};
  2111.             a.ID = s;
  2112.             a.FEEDBACK_SOURCE = u;
  2113.             a[b("MCompositionShareFields").FEEDBACK_REFERRER] = v;
  2114.             var c = {};
  2115.             c.composer_type = "share";
  2116.             c.composertitle = h._("Share");
  2117.             c.contextualmessage = h._("Share on your timeline");
  2118.             c.placeholder = h._("Write something...");
  2119.             c.disable_photos = !0;
  2120.             var d = b("MViewport").getScrollTop();
  2121.             b("MComposerEntry").invoke(new(b("MComposition"))().setStoreData("CONFIG", c).setStoreData("SHARE", a))["finally"](function () {
  2122.                 return b("MViewport").scrollTo(0, d)
  2123.             })
  2124.         } else K(new(i || (i = b("URI")))(o).setQueryData({
  2125.             fs: u,
  2126.             fr: v,
  2127.             sid: s,
  2128.             _ft_: w,
  2129.             internal_preview_image_id: r
  2130.         }).toString()), J("self"), p.hide()
  2131.     }
  2132.  
  2133.     function O(a) {
  2134.         K(new(i || (i = b("URI")))(o).setQueryData({
  2135.             fs: u,
  2136.             fr: v,
  2137.             m: a,
  2138.             sid: s,
  2139.             _ft_: w,
  2140.             internal_preview_image_id: r,
  2141.             selected_page_id: D
  2142.         }).toString()), J(a), p.hide()
  2143.     }
  2144.  
  2145.     function P() {
  2146.         var a = b("XMessengerMSiteShareDialogController").getURIBuilder().setString("feedback_referrer", v).setInt("feedback_source", u).setInt("internal_preview_image_id", r).setString("key_link", window.location.href).setString("key_mode", "message").setInt("post_fbid", s).setInt("redirector_fbid", C).setEnum("messaging_entry_point", "feed_story_share_as_message").getURI();
  2147.         new(b("MRequest"))(a).send();
  2148.         J("message", t);
  2149.         p.hide()
  2150.     }
  2151.  
  2152.     function Q() {
  2153.         var a = new(i || (i = b("URI")))(t);
  2154.         if (t.startsWith("/")) {
  2155.             var c, d = "scmts",
  2156.                 e = "scwspsdd";
  2157.             a = new(i || (i = b("URI")))("https://www.facebook.com" + t).addQueryData((c = {}, c[d] = e, c))
  2158.         }
  2159.         d = b("ExternalShareTracker").maybeAppendTrackingParam(a, "sdd", u, "share_to_whatsapp").toString();
  2160.         u === 60 && b("gkx")("1059928") ? W(t, "w", a.toString(), R) : R(d, a.toString())
  2161.     }
  2162.  
  2163.     function R(a, c) {
  2164.         b("MShareToWhatsapp").sendToWhatsapp(a), J("whatsapp_message", c), p.hide()
  2165.     }
  2166.  
  2167.     function S(a) {
  2168.         if (typeof navigator.share !== "function") {
  2169.             p.hide();
  2170.             return
  2171.         }
  2172.         t = U(t);
  2173.         u === 60 && b("gkx")("1059928") ? W(t, null, t, T) : T(t, t)
  2174.     }
  2175.  
  2176.     function T(a, b) {
  2177.         a = {
  2178.             url: a
  2179.         };
  2180.         navigator.share(a).then(function () {})["catch"](function (a) {});
  2181.         J("moreoptions", b);
  2182.         p.hide()
  2183.     }
  2184.  
  2185.     function U(a) {
  2186.         a += a.includes("?") ? "&" : "?";
  2187.         a += "sfnsm=mo";
  2188.         return a
  2189.     }
  2190.  
  2191.     function V(a, b) {
  2192.         a += a.includes("?") ? "&" : "?";
  2193.         a += "vh=e&s=" + C;
  2194.         b && (a += "&d=" + b);
  2195.         return a
  2196.     }
  2197.  
  2198.     function W(a, c, d, e) {
  2199.         a = V(a, c);
  2200.         c = b("XFbWatchShorturlCreateAsyncController").getURIBuilder().getURI();
  2201.         a = {
  2202.             destination_url: encodeURIComponent(a)
  2203.         };
  2204.         c = new(b("MRequest"))(c).setMethod("POST");
  2205.         c.setData(a);
  2206.         c.listen("done", function (a) {
  2207.             a = (a = a.payload) != null ? a : d;
  2208.             e(a, d)
  2209.         });
  2210.         c.send()
  2211.     }
  2212.  
  2213.     function X(a, c) {
  2214.         a = c && c.is_comment_share;
  2215.         c = ["share-more-options-button", "share-in-a-group-button", "share-to-page-button", "share-with-message-button"];
  2216.         a && !x[s] ? (Y("share-one-click-button", !1), Y("share-post-one-click-button", !1)) : E ? (Y("share-one-click-button", !1), c.push("share-post-one-click-button")) : (c.push("share-one-click-button"), Y("share-post-one-click-button", !1));
  2217.         a = p.getContext();
  2218.         c = a != null ? b("MLegacyDataStore").get(a).is_acting_as_page : I;
  2219.         if (c) {
  2220.             a = ["share-to-page-button"];
  2221.             F.map(function (a) {
  2222.                 return Y(a, !1)
  2223.             });
  2224.             a.map(function (a) {
  2225.                 return Y(a, !0)
  2226.             })
  2227.         } else F.map(function (a) {
  2228.             return Y(a, !0)
  2229.         })
  2230.     }
  2231.  
  2232.     function d(a) {
  2233.         var c = p.getContext();
  2234.         c != null ? (b("MLegacyDataStore").set(c, {
  2235.             is_acting_as_page: a
  2236.         }), I = null) : I = a
  2237.     }
  2238.  
  2239.     function Y(a, b) {
  2240.         a = document.getElementById(a);
  2241.         a !== null && (a.style.display = b ? "" : "none")
  2242.     }
  2243.  
  2244.     function aa(a) {
  2245.         var c;
  2246.         z = [p.addListener("beforeshow", function () {
  2247.             if (G != null) {
  2248.                 var c = b("MViewport").getScrollTop();
  2249.                 c < G && b("ge")("header") ? p.setAutoflipTopOffset(G - c) : p.setAutoflipTopOffset(0)
  2250.             }
  2251.             c = p.getContext();
  2252.             var d = b("MLegacyDataStore").get(c);
  2253.             E = d.reshare_post;
  2254.             s = d && d.share_id;
  2255.             u = d && d.feedback_source;
  2256.             v = d && d.feedback_referrer;
  2257.             r = d && d.internal_preview_image_id;
  2258.             t = d && d.shareable_uri;
  2259.             C = d && d.user_id;
  2260.             var e = b("MParent").bySigil(c, "story-div");
  2261.             a ? w = a : w = e ? b("MLegacyDataStore").get(e).linkdata : null;
  2262.             s && (x[s] = ba(c));
  2263.             I != null && (b("MLegacyDataStore").set(c, {
  2264.                 is_acting_as_page: I
  2265.             }), I = null);
  2266.             b("MFeedShareAnalytics").onMenuOpened();
  2267.             H = !1;
  2268.             X(q, d)
  2269.         }), p.addListener("hide", function () {
  2270.             H || b("MFeedShareAnalytics").onShareAbandoned()
  2271.         }), (c = b("Stratcom")).listen("click", "share-one-click-button", M), c.listen("click", "share-post-one-click-button", M), c.listen("click", "share-with-message-button", N), c.listen("click", "share-in-a-private-message-button", P), c.listen("click", "share-to-whatsapp", Q), c.listen("click", "share-to-page-button", function () {
  2272.             O("page")
  2273.         }), c.listen("click", "share-in-a-group-button", function () {
  2274.             O("group")
  2275.         }), c.listen("click", "share-more-options-button", function () {
  2276.             S(t)
  2277.         }), c.listen("m:page:unload", null, Z), b("NTAnnounceSubscription").subscribe(m, function (a) {
  2278.             a = JSON.parse(a), s = a.content_id, D = a.page_id, O("page")
  2279.         })]
  2280.     }
  2281.  
  2282.     function Z() {
  2283.         p = null;
  2284.         for (var a in y) b("clearTimeout")(y[a]);
  2285.         y = {};
  2286.         while (z.length) {
  2287.             var c = z.pop();
  2288.             c && c.remove && c.remove()
  2289.         }
  2290.     }
  2291.  
  2292.     function ba(a) {
  2293.         if (!a || a === document || a instanceof DocumentFragment) return null;
  2294.         return b("Stratcom").hasSigil(a, j) ? a : b("MParent").bySigil(a, j)
  2295.     }
  2296.  
  2297.     function $(a, c) {
  2298.         var d = b("DOM").scry(a, "div", k);
  2299.         d[0] && b("DOM").remove(d[0]);
  2300.         d = b("DOM").create("div", {
  2301.             className: "_4_m7"
  2302.         }, c);
  2303.         b("Stratcom").addSigil(d, k);
  2304.         b("DOM").appendContent(a, d);
  2305.         return d
  2306.     }
  2307.  
  2308.     function f(c, a) {
  2309.         var d = x[a];
  2310.         delete x[a];
  2311.         if (!d) return;
  2312.         var e = $(d, c);
  2313.         c = b("Vector").getPos(d);
  2314.         d = b("Vector").getDim(d).y;
  2315.         var f = b("MViewport").getScrollTop(),
  2316.             g = b("MViewport").getScrollHeight();
  2317.         (c.y < f || c.y + d > f + g) && b("MViewport").scrollTo(c.x, c.y - 250);
  2318.         y[a] = b("setTimeoutAcrossTransitions")(function () {
  2319.             delete y[a], b("DOM").remove(e)
  2320.         }, l)
  2321.     }
  2322.  
  2323.     function g(c, a) {
  2324.         var d = x[a];
  2325.         delete x[a];
  2326.         if (!d) return;
  2327.         if (b("Vector").getPos(d).y >= b("MViewport").getScrollTop()) {
  2328.             var e = $(d, c);
  2329.             y[a] = b("setTimeoutAcrossTransitions")(function () {
  2330.                 delete y[a], b("Vector").getPos(d).y >= b("MViewport").getScrollTop() && b("DOM").remove(e)
  2331.             }, l)
  2332.         }
  2333.     }
  2334.     a = {
  2335.         init: a,
  2336.         initMisinfo: c,
  2337.         onSuccess: g,
  2338.         onFailure: f,
  2339.         setIsActingAsPage: d
  2340.     };
  2341.     e.exports = a
  2342. }), null);
  2343. __d("MLayerDestroyOnTransition", ["Stratcom"], (function (a, b, c, d, e, f) {
  2344.     a = function () {
  2345.         function a(a) {
  2346.             this.$1 = null, this.$2 = a
  2347.         }
  2348.         var c = a.prototype;
  2349.         c.enable = function () {
  2350.             this.$1 = b("Stratcom").listen("m:page:unload", null, this.$2.destroy.bind(this.$2))
  2351.         };
  2352.         c.disable = function () {
  2353.             this.$1 && this.$1.remove(), this.$1 = null
  2354.         };
  2355.         return a
  2356.     }();
  2357.     e.exports = a
  2358. }), null);
  2359. __d("MLayerHideOnCloseClick", ["DOM"], (function (a, b, c, d, e, f) {
  2360.     a = function () {
  2361.         "use strict";
  2362.  
  2363.         function a(a) {
  2364.             this.$1 = null, this.$2 = null, this.$3 = a
  2365.         }
  2366.         var c = a.prototype;
  2367.         c.enable = function () {
  2368.             this.$1 = [this.$3.addListener("show", this.$4.bind(this)), this.$3.addListener("hide", this.$5.bind(this))], this.$3.isShown() && this.$4()
  2369.         };
  2370.         c.disable = function () {
  2371.             this.$5();
  2372.             while (this.$1.length) this.$1.pop().remove();
  2373.             this.$1 = null
  2374.         };
  2375.         c.$5 = function () {
  2376.             this.$2 && this.$2.remove()
  2377.         };
  2378.         c.$4 = function () {
  2379.             this.$2 = b("DOM").listen(this.$3.getRoot(), "click", "mlayer-hide-on-click", this.$3.hide.bind(this.$3))
  2380.         };
  2381.         return a
  2382.     }();
  2383.     e.exports = a
  2384. }), null);
  2385. __d("MLayerHideOnTouch", ["CancelableEventListener", "TouchEventType"], (function (a, b, c, d, e, f) {
  2386.     a = function () {
  2387.         "use strict";
  2388.  
  2389.         function a(a) {
  2390.             this.$1 = null, this.$2 = a
  2391.         }
  2392.         var c = a.prototype;
  2393.         c.enable = function () {
  2394.             this.$1 = [this.$2.addListener("show", this.$3.bind(this)), this.$2.addListener("hide", this.$4.bind(this))], this.$2.isShown() && this.$3()
  2395.         };
  2396.         c.disable = function () {
  2397.             this.$4();
  2398.             while (this.$1.length) this.$1.pop().remove();
  2399.             this.$1 = null
  2400.         };
  2401.         c.$4 = function () {
  2402.             this.$5 && this.$5.remove(), this.$5 = null
  2403.         };
  2404.         c.$3 = function () {
  2405.             var a = this;
  2406.             this.$5 = b("CancelableEventListener").listen(document.body, b("TouchEventType").START, null, function (b) {
  2407.                 a.$2.getContentRoot().contains(b.getTarget()) || (a.$2.hide(), b.prevent())
  2408.             })
  2409.         };
  2410.         return a
  2411.     }();
  2412.     e.exports = a
  2413. }), null);
  2414. __d("MUFIComposerFocus", ["DOM", "MLegacyDataStore", "MParent", "Parent", "Stratcom"], (function (a, b, c, d, e, f) {
  2415.     "use strict";
  2416.     f.isComposerFocusTrigger = a;
  2417.     f.init = c;
  2418.     var g = "mufi-composer-focus",
  2419.         h;
  2420.  
  2421.     function i(a) {
  2422.         a = a;
  2423.         var b = a.parentNode,
  2424.             c = [];
  2425.         while (b) c.unshift(a), a = b, b = a.parentNode;
  2426.         return c
  2427.     }
  2428.  
  2429.     function j(a, b) {
  2430.         var c = Math.min(a.length, b.length) - 1;
  2431.         for (var c = c; c >= 0; c--)
  2432.             if (a[c] === b[c]) return c;
  2433.         return -1
  2434.     }
  2435.  
  2436.     function k(a) {
  2437.         if (!a) return null;
  2438.         var c = b("MParent").bySigil(a, "story-div") || b("MParent").bySigil(a, "snowflake-root") || b("MParent").bySigil(a, "notes-root");
  2439.         if (!c) return null;
  2440.         c = b("DOM").scry(c, "*", "mufi-composer").filter(function (a) {
  2441.             return !b("MParent").bySigil(a, "m-inline-reply-composer")
  2442.         });
  2443.         if (c.length === 1) return c[0];
  2444.         var d = i(a);
  2445.         a = c.reduce(function (a, b, c) {
  2446.             c = i(b);
  2447.             c = j(d, c);
  2448.             return c >= a[0] ? [c, b] : a
  2449.         }, [-1, null]);
  2450.         return a[1]
  2451.     }
  2452.  
  2453.     function l(a) {
  2454.         var b = a.getNode(g);
  2455.         if (!(b instanceof HTMLElement)) return;
  2456.         b = k(b);
  2457.         b && (a.prevent(), b.focus())
  2458.     }
  2459.  
  2460.     function a(a) {
  2461.         if (!a || !h) return !1;
  2462.         a = b("Stratcom").hasSigil(a, g) ? a : b("MParent").bySigil(a, g);
  2463.         return !!k(a)
  2464.     }
  2465.  
  2466.     function m(a) {
  2467.         a = a.getNode(g);
  2468.         if (!(a instanceof HTMLElement)) return;
  2469.         var c = k(a);
  2470.         if (c) {
  2471.             var d = b("MParent").bySigil(a, "touchable");
  2472.             d && (b("MLegacyDataStore").get(d).nativeClick = !0);
  2473.             d = b("Parent").byTag(a, "a");
  2474.             d instanceof HTMLAnchorElement && (d.href = "#" + b("DOM").uniqID(c))
  2475.         }
  2476.     }
  2477.  
  2478.     function c() {
  2479.         h || (b("Stratcom").listen("touchstart", g, m), b("Stratcom").listen("click", g, l), h = !0)
  2480.     }
  2481.     d = function () {
  2482.         return h
  2483.     };
  2484.     f.isInitialized = d
  2485. }), null);
  2486. __d("MUFILikeButton", ["cx", "ActorURI", "CSS", "Event", "FBLogger", "MLegacyDataStore", "MLiveData", "MParent", "MUFIReactionsUtils", "MUFIRequest", "Stratcom", "SubscriptionsHandler", "emptyFunction"], (function (a, b, c, d, e, f, g) {
  2487.     var h = {
  2488.             is_like: 1
  2489.         },
  2490.         i = {
  2491.             is_like: 0
  2492.         };
  2493.     a = function () {
  2494.         function a(a, c, d, e) {
  2495.             var f = this;
  2496.             this.onChange = function () {
  2497.                 var a = f.$2.getData();
  2498.                 if (a.request_id === f.$6) return;
  2499.                 a = a.has_viewer_liked;
  2500.                 b("CSS").conditionClass(f.$1, "_77la", a);
  2501.                 b("Stratcom").removeSigil(f.$1, a ? "like" : "unlike");
  2502.                 b("Stratcom").addSigil(f.$1, a ? "unlike" : "like")
  2503.             };
  2504.             this.onKeyPress = function (a) {
  2505.                 (a.code === "Enter" || a.code === "Space") && f.onClick(a)
  2506.             };
  2507.             this.onMouseUp = function (a) {
  2508.                 a.srcElement instanceof HTMLElement && a.srcElement.blur()
  2509.             };
  2510.             this.onUnload = function () {
  2511.                 f.$3.release(), f.$3 = null
  2512.             };
  2513.             this.$1 = a;
  2514.             this.$2 = b("MLiveData").get(c);
  2515.             this.$4 = c;
  2516.             this.$5 = d || {
  2517.                 log: b("emptyFunction")
  2518.             };
  2519.             this.$6 = e;
  2520.             this.$7 = b("MUFIReactionsUtils").getConfigForBackgroundRetry(c);
  2521.             this.$3 = new(b("SubscriptionsHandler"))();
  2522.             this.$3.addSubscriptions(b("Event").listen(this.$1, "click", this.onClick.bind(this)), b("Event").listen(this.$1, "keypress", this.onKeyPress.bind(this)), b("Event").listen(this.$1, "mouseup", this.onMouseUp.bind(this)), this.$2.listen("change", this.onChange.bind(this)), b("Stratcom").listen("m:page:unload", null, this.onUnload.bind(this)))
  2523.         }
  2524.         var c = a.prototype;
  2525.         c.getFeedbackData = function () {
  2526.             var a = this.$2.getData(),
  2527.                 b = a.has_viewer_liked,
  2528.                 c = b ? a.like_count - 1 : a.like_count + 1,
  2529.                 d = a.reduced_like_count;
  2530.             isNaN(d) || (d = c.toString());
  2531.             return {
  2532.                 has_viewer_liked: !b,
  2533.                 like_count: c,
  2534.                 like_counts: [a.like_counts[1] || null, a.like_counts[0]],
  2535.                 like_friend_sentences: [a.like_friend_sentences[1] || null, a.like_friend_sentences[0]],
  2536.                 like_sentences: [a.like_sentences[1] || null, a.like_sentences[0]],
  2537.                 reduced_like_count: d
  2538.             }
  2539.         };
  2540.         c.getRequestData = function () {
  2541.             return null
  2542.         };
  2543.         c.onClick = function (a) {
  2544.             a.preventDefault();
  2545.             a = a.target;
  2546.             if (!a || !(a instanceof Element)) return;
  2547.             a = b("MUFIRequest").getURI(a.getAttribute("href") || a.getAttribute("data-uri"));
  2548.             this.$2.getData().has_viewer_liked ? (a.addQueryData("ul", !0), a.removeQueryData("reaction_type")) : a.removeQueryData(["ul", "reaction_type"]);
  2549.             var c = b("MParent").bySigil(this.$1, "feed-ufi-metadata");
  2550.             if (c) {
  2551.                 c = b("MLegacyDataStore").get(c).actor_id;
  2552.                 c && (a = b("ActorURI").create(a, String(c)))
  2553.             } else b("FBLogger")("mobile_web_ufi", "feed_ufi_metadata_missing").warn("Actor ID data store not available. Making request without actor id.");
  2554.             b("MUFIRequest").send(this.$4, this.getFeedbackData(), a, this.getRequestData(), this.$7);
  2555.             this.$5.log("like", void 0, this.$2.getData().has_viewer_liked ? i : h)
  2556.         };
  2557.         return a
  2558.     }();
  2559.     e.exports = a
  2560. }), null);
  2561. __d("XCIXActorFeatureLimitNoticeController", ["XController"], (function (a, b, c, d, e, f) {
  2562.     e.exports = b("XController").create("/feature_limit_notice/", {
  2563.         sentry_category: {
  2564.             type: "Enum",
  2565.             required: !0,
  2566.             enumType: 1
  2567.         }
  2568.     })
  2569. }), null);
  2570. __d("MUFIReactionButton", ["cx", "fbt", "CSS", "DOM", "MLiveData", "MPageController", "MUFILikeButton", "MUFIReactionsUtils", "Stratcom", "Style", "UFIReactionIcons", "UFIReactionTypes", "XCIXActorFeatureLimitNoticeController", "createIxElement"], (function (a, b, c, d, e, f, g, h) {
  2571.     var i = 1,
  2572.         j = 0,
  2573.         k = 16;
  2574.     a = function (a) {
  2575.         babelHelpers.inheritsLoose(c, a);
  2576.  
  2577.         function c(c, d, e, f, g, j, l, m) {
  2578.             var n;
  2579.             n = a.call(this, c, d, e, f) || this;
  2580.             n.onChange = function () {
  2581.                 var a = n.$MUFIReactionButton2.getData();
  2582.                 if (a.request_id === n.$MUFIReactionButton4) return;
  2583.                 var c, d;
  2584.                 a = a.viewerreaction;
  2585.                 var e = !!a;
  2586.                 a && !b("UFIReactionTypes").reactions[a] && (a = null);
  2587.                 if (!a) c = "inherit", d = h._("Like");
  2588.                 else {
  2589.                     var f = null;
  2590.                     if (a !== i) {
  2591.                         var g = b("UFIReactionIcons")[a][n.$MUFIReactionButton5];
  2592.                         g || (g = b("UFIReactionIcons")[a][k]);
  2593.                         f = b("createIxElement")(g);
  2594.                         b("CSS").addClass(f, "_4h-b")
  2595.                     }
  2596.                     c = b("UFIReactionTypes").reactions[a].color;
  2597.                     g = b("UFIReactionTypes").reactions[a].display_name;
  2598.                     d = [f, g]
  2599.                 }
  2600.                 b("DOM").setContent(n.$MUFIReactionButton1, d);
  2601.                 n.$MUFIReactionButton1.setAttribute("aria-pressed", e);
  2602.                 b("CSS").conditionClass(n.$MUFIReactionButton1, "_77ld", e && a !== i);
  2603.                 b("CSS").conditionClass(n.$MUFIReactionButton1, "_77la", e && a === i);
  2604.                 b("Style").set(n.$MUFIReactionButton1, "color", c);
  2605.                 b("Stratcom").removeSigil(n.$MUFIReactionButton1, e ? "like" : "unlike");
  2606.                 b("Stratcom").addSigil(n.$MUFIReactionButton1, e ? "unlike" : "like");
  2607.                 b("Stratcom").invoke("ufi/reactionButtonClicked", null, n.getRequestData())
  2608.             };
  2609.             n.$MUFIReactionButton1 = c;
  2610.             n.$MUFIReactionButton2 = b("MLiveData").get(d);
  2611.             n.$MUFIReactionButton3 = d;
  2612.             n.$MUFIReactionButton4 = f;
  2613.             n.$MUFIReactionButton5 = g || k;
  2614.             n.$MUFIReactionButton6 = m || {
  2615.                 has_active_feature_limit_notice: !1
  2616.             };
  2617.             c.href && c.setAttribute("data-uri", c.href);
  2618.             c.removeAttribute("href");
  2619.             return n
  2620.         }
  2621.         var d = c.prototype;
  2622.         d.getFeedbackData = function () {
  2623.             var a = this.$MUFIReactionButton2.getData();
  2624.             return b("MUFIReactionsUtils").getReactionData(a, a.has_viewer_liked || a.viewerreaction ? j : i)
  2625.         };
  2626.         d.getRequestData = function () {
  2627.             var a = this.$MUFIReactionButton2.getData(),
  2628.                 b = a.has_viewer_liked || a.viewerreaction;
  2629.             return {
  2630.                 reaction_type: b ? j : i,
  2631.                 ft_ent_identifier: a.ft_ent_identifier
  2632.             }
  2633.         };
  2634.         d.onClick = function (c) {
  2635.             if (this.$MUFIReactionButton6.has_active_feature_limit_notice) {
  2636.                 var d = b("XCIXActorFeatureLimitNoticeController").getURIBuilder().setEnum("sentry_category", "like_add").getURI();
  2637.                 b("MPageController").load(d);
  2638.                 return
  2639.             }
  2640.             if (b("Stratcom").hasSigil(this.$MUFIReactionButton1, "kaios-like-react-trigger")) {
  2641.                 d = this.$MUFIReactionButton2.getData();
  2642.                 d.viewerreaction && c.stopPropagation()
  2643.             }
  2644.             a.prototype.onClick.call(this, c)
  2645.         };
  2646.         return c
  2647.     }(b("MUFILikeButton"));
  2648.     e.exports = a
  2649. }), null);
  2650. __d("MFlyoutAutoFlip", ["MParent", "MViewport"], (function (a, b, c, d, e, f) {
  2651.     a = function () {
  2652.         "use strict";
  2653.  
  2654.         function a(a) {
  2655.             this.$1 = null, this.$2 = a
  2656.         }
  2657.         var c = a.prototype;
  2658.         c.enable = function () {
  2659.             this.$1 = this.$2.addListener("adjust", this.$3.bind(this)), this.$2.isShown() && this.$2.updatePosition()
  2660.         };
  2661.         c.disable = function () {
  2662.             this.$1.remove(), this.$1 = null, this.$2.isShown() && this.$2.updatePosition()
  2663.         };
  2664.         c.$3 = function (a) {
  2665.             var c = this.$4(a),
  2666.                 d = {
  2667.                     top: this.$2.getAutoflipTopOffset() || 0,
  2668.                     bottom: b("MViewport").getUseableHeight()
  2669.                 },
  2670.                 e = b("MParent").bySigil(this.$2.getRoot(), "scroll-area");
  2671.             if (e) {
  2672.                 e = e.getBoundingClientRect();
  2673.                 d = {
  2674.                     top: Math.max(e.top, d.top),
  2675.                     bottom: Math.min(e.bottom, d.bottom)
  2676.                 }
  2677.             }
  2678.             var f, g, h = this.$2;
  2679.             e = h.getContext();
  2680.             e = e.getBoundingClientRect();
  2681.             for (f = 0; f < c.length; f++) {
  2682.                 a.setPosition(c[f]);
  2683.                 g = h.simulateOrientation(a, function () {
  2684.                     return h.getRoot().firstChild.getBoundingClientRect()
  2685.                 });
  2686.                 var i = e.top + a.getOffsetY();
  2687.                 a.getPosition() === "above" ? i -= g.height : a.getPosition() === "below" && (i += e.height);
  2688.                 i = {
  2689.                     top: i,
  2690.                     bottom: i + g.height
  2691.                 };
  2692.                 if (i.top >= d.top && i.bottom <= d.bottom) return
  2693.             }
  2694.             a.setPosition(c.indexOf("below") > -1 ? "below" : c[0])
  2695.         };
  2696.         c.$4 = function (a) {
  2697.             return [a.getPosition(), a.getOppositePosition()]
  2698.         };
  2699.         return a
  2700.     }();
  2701.     e.exports = a
  2702. }), null);
  2703. __d("MFlyoutContextSigil", ["DOM", "MLegacyDataStore", "Stratcom", "err"], (function (a, b, c, d, e, f) {
  2704.     var g = {};
  2705.     a = function () {
  2706.         "use strict";
  2707.  
  2708.         function a(a) {
  2709.             this.$1 = null, this.$2 = a
  2710.         }
  2711.         var c = a.prototype;
  2712.         c.enable = function () {
  2713.             var a = this.$3();
  2714.             g[a];
  2715.             g[a] = this.$2;
  2716.             this.$1 = b("Stratcom").listen("click", this.$3(), this.$4.bind(this))
  2717.         };
  2718.         c.disable = function () {
  2719.             delete g[this.$3()], this.$1.remove(), this.$1 = null, this.$2 = null
  2720.         };
  2721.         c.$3 = function () {
  2722.             var a = this.$2.config;
  2723.             return a.causalSigil || a.contextSigil
  2724.         };
  2725.         c.$4 = function (a) {
  2726.             var c = a.getNode(this.$3()),
  2727.                 d, e = this.$2.config.contextSigil,
  2728.                 f = this.$2.config.causalSigil;
  2729.             if (f && f !== e) {
  2730.                 f = c;
  2731.                 while (f && f !== document.body && !d)
  2732.                     if (b("Stratcom").hasSigil(f, e)) d = f;
  2733.                     else {
  2734.                         var g = b("DOM").scry(f, "*", e);
  2735.                         d = g[0];
  2736.                         f = f.parentNode
  2737.                     }
  2738.             } else d = c;
  2739.             if (this.$2.getContext() !== d && this.$2.isShown()) {
  2740.                 this.$2.hide();
  2741.                 if (!this.$2) return
  2742.             }
  2743.             this.$2.setCausalElement(c);
  2744.             this.$2.setContext(d);
  2745.             b("MLegacyDataStore").get(c).flyout = this.$2;
  2746.             this.$2.isShown() || this.$2.show();
  2747.             a.prevent()
  2748.         };
  2749.         return a
  2750.     }();
  2751.     e.exports = a
  2752. }), null);

Paste-bin is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.