{"version":3,"sources":["webpack:////build/source/node_modules/@gitlab/ui/dist/components/shared_components/clear_icon_button/clear_icon_button.js","webpack:///./graphql_shared/constants.js","webpack:///./helpers/event_hub_factory.js","webpack:////build/source/node_modules/visibilityjs/index.js","webpack:///./graphql_shared/utils.js","webpack:////build/source/node_modules/lodash/_arrayIncludesWith.js","webpack:///./commit/pipelines/utils.js","webpack:////build/source/node_modules/visibilityjs/lib/visibility.timers.js","webpack:////build/source/node_modules/lodash/_createSet.js","webpack:///./commit/pipelines/pipelines_bundle.js","webpack:////build/source/node_modules/lodash/uniq.js","webpack:////build/source/node_modules/lodash/_baseUniq.js","webpack:////build/source/node_modules/visibilityjs/lib/visibility.core.js","webpack:///./pages/projects/commit/pipelines/index.js"],"names":["__vue_script__","name","components","GlButton","directives","GlTooltip","props","title","type","String","required","default","tooltipContainer","validator","value","HTMLElement","__vue_component__","render","_h","this","$createElement","_self","_c","_g","rawName","container","expression","modifiers","staticClass","attrs","$listeners","staticRenderFns","undefined","MINIMUM_SEARCH_LENGTH","TYPENAME_BOARD","TYPENAME_CI_BUILD","TYPENAME_CI_RUNNER","TYPENAME_CI_PIPELINE","TYPENAME_CI_STAGE","TYPENAME_CI_TRIGGER","TYPENAME_CI_VARIABLE","TYPENAME_COMMIT_STATUS","TYPENAME_CONTAINER_REPOSITORY","TYPENAME_CRM_CONTACT","TYPENAME_CRM_ORGANIZATION","TYPENAME_DESIGN_VERSION","TYPENAME_DISCUSSION","TYPENAME_DISCUSSION_NOTE","TYPENAME_EPIC","TYPENAME_EPIC_BOARD","TYPENAME_FEATURE_FLAG","TYPENAME_GROUP","TYPENAME_ISSUE","TYPENAME_ITERATION","TYPENAME_ITERATIONS_CADENCE","TYPENAME_LABEL","TYPENAME_MEMBER_ROLE","TYPENAME_MERGE_REQUEST","TYPENAME_MILESTONE","TYPENAME_NOTE","TYPENAME_PACKAGES_PACKAGE","TYPENAME_PROJECT","TYPENAME_SCANNER_PROFILE","TYPENAME_SITE_PROFILE","TYPENAME_TODO","TYPENAME_USER","TYPENAME_VULNERABILITY","TYPENAME_WORK_ITEM","TYPENAME_WORK_ITEM_RELATED_BRANCH","TYPE_ORGANIZATION","TYPE_USERS_SAVED_REPLY","TYPE_WORKSPACE","TYPE_COMPLIANCE_FRAMEWORK","QUERY_PARAM_START_CURSOR","QUERY_PARAM_END_CURSOR","EventHub","constructor","$_all","Map","dispose","clear","$on","handler","handlers","get","push","set","$off","newHandlers","filter","x","length","delete","$once","_this","wrapHandler","args","$emit","forEach","module","exports","isGid","id","startsWith","parseGid","gid","replace","split","getIdFromGraphQLId","rawId","parseInt","Number","isInteger","getTypeFromGraphQLId","mutationOperationMode","append","remove","convertToGraphQLId","TypeError","includes","convertToGraphQLIds","ids","map","convertNodeIdsFromGraphQLIds","nodes","_isArray","node","getNodesOrDefault","queryData","nodesField","_queryData$nodesField","toggleQueryPollingByVisibility","queryRef","interval","stopStartQuery","query","Visibility","hidden","stopPolling","startPolling","change","bind","etagQueryHeaders","featureCorrelation","etagResource","fetchOptions","method","headers","calculateGraphQLPaginationQueryParams","startCursor","endCursor","routeQuery","start_cursor","end_cursor","array","comparator","index","initPipelineCountListener","el","addEventListener","event","detail","pipelineCount","document","querySelector","textContent","window","lastTimer","install","every","hiddenInterval","callback","_time","number","_timers","visible","_run","isSupported","_listen","stop","_stop","_timed","_wasHidden","_stopRun","runNow","timer","runner","last","Date","call","delay","setTimeout","setInterval","clearInterval","clearTimeout","isHidden","wasHidden","i","Set","noop","setToArray","createSet","values","Vue","use","VueApollo","apolloProvider","defaultClient","createDefaultClient","pipelineTableViewEl","dataset","disableInitialization","table","CommitPipelinesTable","provide","artifactsEndpoint","artifactsEndpointPlaceholder","fullPath","manualActionsLimit","createElement","endpoint","emptyStateSvgPath","errorStateSvgPath","$mount","appendChild","$el","baseUniq","SetCache","arrayIncludes","arrayIncludesWith","cacheHas","iteratee","isCommon","result","seen","outer","computed","seenIndex","global","lastId","self","onVisible","support","listener","e","state","unbind","_callbacks","afterPrerendering","_doc","webkitHidden","visibilityState","webkitVisibilityState","_change","_init","apply","arguments","attachEvent","initCommitBoxInfo","initPipelines","initCommitActions"],"mappings":"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","file":"pages.projects.commit.pipelines.f9a952e8.chunk.js","sourcesContent":["import { GlTooltipDirective } from '../../../directives/tooltip';\nimport GlButton from '../../base/button/button';\nimport { translate } from '../../../utils/i18n';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n  name: 'ClearIconButton',\n  components: {\n    GlButton\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective\n  },\n  props: {\n    title: {\n      type: String,\n      required: false,\n      default: () => translate('ClearIconButton.title', 'Clear')\n    },\n    tooltipContainer: {\n      required: false,\n      default: false,\n      validator: value => value === false || typeof value === 'string' || value instanceof HTMLElement\n    }\n  }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-button',_vm._g({directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.hover\",value:({ container: _vm.tooltipContainer }),expression:\"{ container: tooltipContainer }\",modifiers:{\"hover\":true}}],staticClass:\"gl-clear-icon-button\",attrs:{\"variant\":\"default\",\"category\":\"tertiary\",\"size\":\"small\",\"name\":\"clear\",\"icon\":\"clear\",\"title\":_vm.title,\"aria-label\":_vm.title}},_vm.$listeners))};\nvar __vue_staticRenderFns__ = [];\n\n  /* style */\n  const __vue_inject_styles__ = undefined;\n  /* scoped */\n  const __vue_scope_id__ = undefined;\n  /* module identifier */\n  const __vue_module_identifier__ = undefined;\n  /* functional template */\n  const __vue_is_functional_template__ = false;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n  /* style inject shadow dom */\n  \n\n  \n  const __vue_component__ = __vue_normalize__(\n    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n    __vue_inject_styles__,\n    __vue_script__,\n    __vue_scope_id__,\n    __vue_is_functional_template__,\n    __vue_module_identifier__,\n    false,\n    undefined,\n    undefined,\n    undefined\n  );\n\nexport default __vue_component__;\n","export const MINIMUM_SEARCH_LENGTH = 3;\n\nexport const TYPENAME_BOARD = 'Board';\nexport const TYPENAME_CI_BUILD = 'Ci::Build';\nexport const TYPENAME_CI_RUNNER = 'Ci::Runner';\nexport const TYPENAME_CI_PIPELINE = 'Ci::Pipeline';\nexport const TYPENAME_CI_STAGE = 'Ci::Stage';\nexport const TYPENAME_CI_TRIGGER = 'Ci::Trigger';\nexport const TYPENAME_CI_VARIABLE = 'Ci::Variable';\nexport const TYPENAME_COMMIT_STATUS = 'CommitStatus';\nexport const TYPENAME_CONTAINER_REPOSITORY = 'ContainerRepository';\nexport const TYPENAME_CRM_CONTACT = 'CustomerRelations::Contact';\nexport const TYPENAME_CRM_ORGANIZATION = 'CustomerRelations::Organization';\nexport const TYPENAME_DESIGN_VERSION = 'DesignManagement::Version';\nexport const TYPENAME_DISCUSSION = 'Discussion';\nexport const TYPENAME_DISCUSSION_NOTE = 'DiscussionNote';\nexport const TYPENAME_EPIC = 'Epic';\nexport const TYPENAME_EPIC_BOARD = 'Boards::EpicBoard';\nexport const TYPENAME_FEATURE_FLAG = 'FeatureFlag';\nexport const TYPENAME_GROUP = 'Group';\nexport const TYPENAME_ISSUE = 'Issue';\nexport const TYPENAME_ITERATION = 'Iteration';\nexport const TYPENAME_ITERATIONS_CADENCE = 'Iterations::Cadence';\nexport const TYPENAME_LABEL = 'Label';\nexport const TYPENAME_MEMBER_ROLE = 'MemberRole';\nexport const TYPENAME_MERGE_REQUEST = 'MergeRequest';\nexport const TYPENAME_MILESTONE = 'Milestone';\nexport const TYPENAME_NOTE = 'Note';\nexport const TYPENAME_PACKAGES_PACKAGE = 'Packages::Package';\nexport const TYPENAME_PROJECT = 'Project';\nexport const TYPENAME_SCANNER_PROFILE = 'DastScannerProfile';\nexport const TYPENAME_SITE_PROFILE = 'DastSiteProfile';\nexport const TYPENAME_TODO = 'Todo';\nexport const TYPENAME_USER = 'User';\nexport const TYPENAME_VULNERABILITY = 'Vulnerability';\nexport const TYPENAME_WORK_ITEM = 'WorkItem';\nexport const TYPENAME_WORK_ITEM_RELATED_BRANCH = 'WorkItemRelatedBranch';\nexport const TYPE_ORGANIZATION = 'Organizations::Organization';\nexport const TYPE_USERS_SAVED_REPLY = 'Users::SavedReply';\nexport const TYPE_WORKSPACE = 'RemoteDevelopment::Workspace';\nexport const TYPE_COMPLIANCE_FRAMEWORK = 'ComplianceManagement::Framework';\n\nexport const QUERY_PARAM_START_CURSOR = 'start_cursor';\nexport const QUERY_PARAM_END_CURSOR = 'end_cursor';\n","/**\n * An event hub with a Vue instance like API\n *\n * NOTE: This is a derivative work from [mitt][1] v1.2.0 which is licensed by\n * [MIT License][2] © [Jason Miller][3]\n *\n * [1]: https://github.com/developit/mitt\n * [2]: https://opensource.org/licenses/MIT\n * [3]: https://jasonformat.com/\n */\nclass EventHub {\n  constructor() {\n    this.$_all = new Map();\n  }\n\n  dispose() {\n    this.$_all.clear();\n  }\n\n  /**\n   * Register an event handler for the given type.\n   *\n   * @param {string|symbol} type Type of event to listen for\n   * @param {Function} handler Function to call in response to given event\n   */\n  $on(type, handler) {\n    const handlers = this.$_all.get(type);\n    const added = handlers && handlers.push(handler);\n\n    if (!added) {\n      this.$_all.set(type, [handler]);\n    }\n  }\n\n  /**\n   * Remove an event handler or all handlers for the given type.\n   *\n   * @param {string|symbol} type Type of event to unregister `handler`\n   * @param {Function} handler Handler function to remove\n   */\n  $off(type, handler) {\n    const handlers = this.$_all.get(type) || [];\n\n    const newHandlers = handler ? handlers.filter((x) => x !== handler) : [];\n\n    if (newHandlers.length) {\n      this.$_all.set(type, newHandlers);\n    } else {\n      this.$_all.delete(type);\n    }\n  }\n\n  /**\n   * Add an event listener to type but only trigger it once\n   *\n   * @param {string|symbol} type Type of event to listen for\n   * @param {Function} handler Handler function to call in response to event\n   */\n  $once(type, handler) {\n    const wrapHandler = (...args) => {\n      this.$off(type, wrapHandler);\n      handler(...args);\n    };\n    this.$on(type, wrapHandler);\n  }\n\n  /**\n   * Invoke all handlers for the given type.\n   *\n   * @param {string|symbol} type The event type to invoke\n   * @param {Any} [evt] Any value passed to each handler\n   */\n  $emit(type, ...args) {\n    const handlers = this.$_all.get(type) || [];\n\n    handlers.forEach((handler) => {\n      handler(...args);\n    });\n  }\n}\n\n/**\n * Return a Vue like event hub\n *\n * - $on\n * - $off\n * - $once\n * - $emit\n *\n * We'd like to shy away from using a full fledged Vue instance from this in the future.\n */\nexport default () => {\n  return new EventHub();\n};\n","module.exports = require('./lib/visibility.timers.js')\n","import { isArray } from 'lodash';\nimport Visibility from 'visibilityjs';\nimport { QUERY_PARAM_START_CURSOR, QUERY_PARAM_END_CURSOR } from './constants';\n\n/**\n * Ids generated by GraphQL endpoints are usually in the format\n * gid://gitlab/Environments/123. This method checks if the passed id follows that format\n *\n * @param {String|Number} id The id value\n * @returns {Boolean}\n */\nexport const isGid = (id) => {\n  if (typeof id === 'string' && id.startsWith('gid://gitlab/')) {\n    return true;\n  }\n\n  return false;\n};\n\nexport const parseGid = (gid) => {\n  const [type, id] = `${gid}`.replace(/gid:\\/\\/gitlab\\//g, '').split('/');\n  return { type, id };\n};\n\n/**\n * Ids generated by GraphQL endpoints are usually in the format\n * gid://gitlab/Environments/123. This method extracts Id number\n * from the Id path\n *\n * @param {String} gid GraphQL global ID\n * @returns {Number}\n */\nexport const getIdFromGraphQLId = (gid = '') => {\n  const rawId = isGid(gid) ? parseGid(gid).id : gid;\n  const id = parseInt(rawId, 10);\n  return Number.isInteger(id) ? id : null;\n};\n\n/**\n * Ids generated by GraphQL endpoints are usually in the format\n * gid://gitlab/Environments/123. This method extracts Type string\n * from the Id path\n *\n * @param {String} gid GraphQL global ID\n * @returns {String}\n */\nexport const getTypeFromGraphQLId = (gid = '') => {\n  if (!isGid(gid)) return null;\n\n  const { type } = parseGid(gid);\n  return type || null;\n};\n\nexport const mutationOperationMode = {\n  append: 'APPEND',\n  remove: 'REMOVE',\n  replace: 'REPLACE',\n};\n\n/**\n * Ids generated by GraphQL endpoints are usually in the format\n * gid://gitlab/Groups/123. This method takes a type and an id\n * and interpolates the 2 values into the expected GraphQL ID format.\n *\n * @param {String} type The entity type\n * @param {String|Number} id The id value\n * @returns {String}\n */\nexport const convertToGraphQLId = (type, id) => {\n  if (typeof type !== 'string') {\n    throw new TypeError(`type must be a string; got ${typeof type}`);\n  }\n\n  if (!['number', 'string'].includes(typeof id)) {\n    throw new TypeError(`id must be a number or string; got ${typeof id}`);\n  }\n\n  if (isGid(id)) {\n    return id;\n  }\n\n  return `gid://gitlab/${type}/${id}`;\n};\n\n/**\n * Ids generated by GraphQL endpoints are usually in the format\n * gid://gitlab/Groups/123. This method takes a type and an\n * array of ids and tranforms the array values into the expected\n * GraphQL ID format.\n *\n * @param {String} type The entity type\n * @param {Array} ids An array of id values\n * @returns {Array}\n */\nexport const convertToGraphQLIds = (type, ids) => ids.map((id) => convertToGraphQLId(type, id));\n\n/**\n * Ids generated by GraphQL endpoints are usually in the format\n * gid://gitlab/Groups/123. This method takes an array of\n * GraphQL Ids and converts them to a number.\n *\n * @param {Array} ids An array of GraphQL IDs\n * @returns {Array}\n */\nexport const convertFromGraphQLIds = (ids) => {\n  if (!isArray(ids)) {\n    throw new TypeError(`ids must be an array; got ${typeof ids}`);\n  }\n\n  return ids.map((id) => getIdFromGraphQLId(id));\n};\n\n/**\n * Ids generated by GraphQL endpoints are usually in the format\n * gid://gitlab/Groups/123. This method takes an array of nodes\n * and converts the `id` properties from a GraphQL Id to a number.\n *\n * @param {Array} nodes An array of nodes with an `id` property\n * @returns {Array}\n */\nexport const convertNodeIdsFromGraphQLIds = (nodes) => {\n  if (!isArray(nodes)) {\n    throw new TypeError(`nodes must be an array; got ${typeof nodes}`);\n  }\n\n  return nodes.map((node) => (node.id ? { ...node, id: getIdFromGraphQLId(node.id) } : node));\n};\n\n/**\n * This function takes a GraphQL query data as a required argument and\n * the field name to resolve as an optional argument\n * and returns resolved field's data or an empty array\n * @param {Object} queryData\n * @param {String} nodesField (in most cases it will be 'nodes')\n * @returns {Array}\n */\nexport const getNodesOrDefault = (queryData, nodesField = 'nodes') => {\n  return queryData?.[nodesField] ?? [];\n};\n\nexport const toggleQueryPollingByVisibility = (queryRef, interval = 10000) => {\n  const stopStartQuery = (query) => {\n    if (!Visibility.hidden()) {\n      query.startPolling(interval);\n    } else {\n      query.stopPolling();\n    }\n  };\n\n  stopStartQuery(queryRef);\n  Visibility.change(stopStartQuery.bind(null, queryRef));\n};\n\nexport const etagQueryHeaders = (featureCorrelation, etagResource = '') => {\n  return {\n    fetchOptions: {\n      method: 'GET',\n    },\n    headers: {\n      'X-GITLAB-GRAPHQL-FEATURE-CORRELATION': featureCorrelation,\n      'X-GITLAB-GRAPHQL-RESOURCE-ETAG': etagResource,\n      'X-Requested-With': 'XMLHttpRequest',\n    },\n  };\n};\n\nexport const calculateGraphQLPaginationQueryParams = ({\n  startCursor,\n  endCursor,\n  routeQuery: { start_cursor, end_cursor, ...routeQuery },\n}) => {\n  if (startCursor) {\n    return {\n      ...routeQuery,\n      [QUERY_PARAM_START_CURSOR]: startCursor,\n    };\n  }\n\n  if (endCursor) {\n    return {\n      ...routeQuery,\n      [QUERY_PARAM_END_CURSOR]: endCursor,\n    };\n  }\n\n  return routeQuery;\n};\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    if (comparator(value, array[index])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","export function initPipelineCountListener(el) {\n  if (!el) return;\n\n  el.addEventListener('update-pipelines-count', (event) => {\n    if (event.detail.pipelineCount) {\n      const badge = document.querySelector('.js-pipelines-mr-count');\n\n      badge.textContent = event.detail.pipelineCount;\n    }\n  });\n}\n",";(function (window) {\n    \"use strict\";\n\n    var lastTimer = -1;\n\n    var install = function (Visibility) {\n\n        // Run callback every `interval` milliseconds if page is visible and\n        // every `hiddenInterval` milliseconds if page is hidden.\n        //\n        //   Visibility.every(60 * 1000, 5 * 60 * 1000, function () {\n        //       checkNewMails();\n        //   });\n        //\n        // You can skip `hiddenInterval` and callback will be called only if\n        // page is visible.\n        //\n        //   Visibility.every(1000, function () {\n        //       updateCountdown();\n        //   });\n        //\n        // It is analog of `setInterval(callback, interval)` but use visibility\n        // state.\n        //\n        // It return timer ID, that you can use in `Visibility.stop(id)` to stop\n        // timer (`clearInterval` analog).\n        // Warning: timer ID is different from interval ID from `setInterval`,\n        // so don’t use it in `clearInterval`.\n        //\n        // On change state from hidden to visible timers will be execute.\n        Visibility.every = function (interval, hiddenInterval, callback) {\n            Visibility._time();\n\n            if ( !callback ) {\n                callback = hiddenInterval;\n                hiddenInterval = null;\n            }\n\n            lastTimer += 1;\n            var number = lastTimer;\n\n            Visibility._timers[number] = {\n                visible:  interval,\n                hidden:   hiddenInterval,\n                callback: callback\n            };\n            Visibility._run(number, false);\n\n            if ( Visibility.isSupported() ) {\n                Visibility._listen();\n            }\n            return number;\n        };\n\n        // Stop timer from `every` method by it ID (`every` method return it).\n        //\n        //   slideshow = Visibility.every(5 * 1000, function () {\n        //       changeSlide();\n        //   });\n        //   $('.stopSlideshow').click(function () {\n        //       Visibility.stop(slideshow);\n        //   });\n        Visibility.stop = function(id) {\n            if ( !Visibility._timers[id] ) {\n                return false;\n            }\n            Visibility._stop(id);\n            delete Visibility._timers[id];\n            return true;\n        };\n\n        // Callbacks and intervals added by `every` method.\n        Visibility._timers = { };\n\n        // Initialize variables on page loading.\n        Visibility._time = function () {\n            if ( Visibility._timed ) {\n                return;\n            }\n            Visibility._timed     = true;\n            Visibility._wasHidden = Visibility.hidden();\n\n            Visibility.change(function () {\n                Visibility._stopRun();\n                Visibility._wasHidden = Visibility.hidden();\n            });\n        };\n\n        // Try to run timer from every method by it’s ID. It will be use\n        // `interval` or `hiddenInterval` depending on visibility state.\n        // If page is hidden and `hiddenInterval` is null,\n        // it will not run timer.\n        //\n        // Argument `runNow` say, that timers must be execute now too.\n        Visibility._run = function (id, runNow) {\n            var interval,\n                timer = Visibility._timers[id];\n\n            if ( Visibility.hidden() ) {\n                if ( null === timer.hidden ) {\n                    return;\n                }\n                interval = timer.hidden;\n            } else {\n                interval = timer.visible;\n            }\n\n            var runner = function () {\n                timer.last = new Date();\n                timer.callback.call(window);\n            }\n\n            if ( runNow ) {\n                var now  = new Date();\n                var last = now - timer.last ;\n\n                if ( interval > last ) {\n                    timer.delay = setTimeout(function () {\n                        timer.id = setInterval(runner, interval);\n                        runner();\n                    }, interval - last);\n                } else {\n                    timer.id = setInterval(runner, interval);\n                    runner();\n                }\n\n            } else {\n              timer.id = setInterval(runner, interval);\n            }\n        };\n\n        // Stop timer from `every` method by it’s ID.\n        Visibility._stop = function (id) {\n            var timer = Visibility._timers[id];\n            clearInterval(timer.id);\n            clearTimeout(timer.delay);\n            delete timer.id;\n            delete timer.delay;\n        };\n\n        // Listener for `visibilitychange` event.\n        Visibility._stopRun = function (event) {\n            var isHidden  = Visibility.hidden(),\n                wasHidden = Visibility._wasHidden;\n\n            if ( (isHidden && !wasHidden) || (!isHidden && wasHidden) ) {\n                for ( var i in Visibility._timers ) {\n                    Visibility._stop(i);\n                    Visibility._run(i, !isHidden);\n                }\n            }\n        };\n\n        return Visibility;\n    }\n\n    if ( typeof(module) != 'undefined' && module.exports ) {\n        module.exports = install(require('./visibility.core'));\n    } else {\n        install(window.Visibility)\n    }\n\n})(window);\n","var Set = require('./_Set'),\n    noop = require('./noop'),\n    setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n  return new Set(values);\n};\n\nmodule.exports = createSet;\n","import Vue from 'vue';\nimport VueApollo from 'vue-apollo';\nimport createDefaultClient from '~/lib/graphql';\nimport { initPipelineCountListener } from './utils';\n\nVue.use(VueApollo);\n\nconst apolloProvider = new VueApollo({\n  defaultClient: createDefaultClient(),\n});\n\n/**\n * Used in:\n *  - Project Pipelines List (projects:pipelines)\n *  - Commit details View > Pipelines Tab > Pipelines Table (projects:commit:pipelines)\n *  - Merge request details View > Pipelines Tab > Pipelines Table (projects:merge_requests:show)\n *  - New merge request View > Pipelines Tab > Pipelines Table (projects:merge_requests:creations:new)\n */\nexport default () => {\n  const pipelineTableViewEl = document.querySelector('#commit-pipeline-table-view');\n\n  if (pipelineTableViewEl) {\n    // Update MR and Commits tabs\n    initPipelineCountListener(pipelineTableViewEl);\n\n    if (pipelineTableViewEl.dataset.disableInitialization === undefined) {\n      const table = new Vue({\n        components: {\n          CommitPipelinesTable: () =>\n            import('~/commit/pipelines/legacy_pipelines_table_wrapper.vue'),\n        },\n        apolloProvider,\n        provide: {\n          artifactsEndpoint: pipelineTableViewEl.dataset.artifactsEndpoint,\n          artifactsEndpointPlaceholder: pipelineTableViewEl.dataset.artifactsEndpointPlaceholder,\n          fullPath: pipelineTableViewEl.dataset.fullPath,\n          manualActionsLimit: 50,\n        },\n        render(createElement) {\n          return createElement('commit-pipelines-table', {\n            props: {\n              endpoint: pipelineTableViewEl.dataset.endpoint,\n              emptyStateSvgPath: pipelineTableViewEl.dataset.emptyStateSvgPath,\n              errorStateSvgPath: pipelineTableViewEl.dataset.errorStateSvgPath,\n            },\n          });\n        },\n      }).$mount();\n      pipelineTableViewEl.appendChild(table.$el);\n    }\n  }\n};\n","var baseUniq = require('./_baseUniq');\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n  return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n","var SetCache = require('./_SetCache'),\n    arrayIncludes = require('./_arrayIncludes'),\n    arrayIncludesWith = require('./_arrayIncludesWith'),\n    cacheHas = require('./_cacheHas'),\n    createSet = require('./_createSet'),\n    setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n  var index = -1,\n      includes = arrayIncludes,\n      length = array.length,\n      isCommon = true,\n      result = [],\n      seen = result;\n\n  if (comparator) {\n    isCommon = false;\n    includes = arrayIncludesWith;\n  }\n  else if (length >= LARGE_ARRAY_SIZE) {\n    var set = iteratee ? null : createSet(array);\n    if (set) {\n      return setToArray(set);\n    }\n    isCommon = false;\n    includes = cacheHas;\n    seen = new SetCache;\n  }\n  else {\n    seen = iteratee ? [] : result;\n  }\n  outer:\n  while (++index < length) {\n    var value = array[index],\n        computed = iteratee ? iteratee(value) : value;\n\n    value = (comparator || value !== 0) ? value : 0;\n    if (isCommon && computed === computed) {\n      var seenIndex = seen.length;\n      while (seenIndex--) {\n        if (seen[seenIndex] === computed) {\n          continue outer;\n        }\n      }\n      if (iteratee) {\n        seen.push(computed);\n      }\n      result.push(value);\n    }\n    else if (!includes(seen, computed, comparator)) {\n      if (seen !== result) {\n        seen.push(computed);\n      }\n      result.push(value);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseUniq;\n",";(function (global) {\n    \"use strict\";\n\n    var lastId = -1;\n\n    // Visibility.js allow you to know, that your web page is in the background\n    // tab and thus not visible to the user. This library is wrap under\n    // Page Visibility API. It fix problems with different vendor prefixes and\n    // add high-level useful functions.\n    var self = {\n\n        // Call callback only when page become to visible for user or\n        // call it now if page is visible now or Page Visibility API\n        // doesn’t supported.\n        //\n        // Return false if API isn’t supported, true if page is already visible\n        // or listener ID (you can use it in `unbind` method) if page isn’t\n        // visible now.\n        //\n        //   Visibility.onVisible(function () {\n        //       startIntroAnimation();\n        //   });\n        onVisible: function (callback) {\n            var support = self.isSupported();\n            if ( !support || !self.hidden() ) {\n                callback();\n                return support;\n            }\n\n            var listener = self.change(function (e, state) {\n                if ( !self.hidden() ) {\n                    self.unbind(listener);\n                    callback();\n                }\n            });\n            return listener;\n        },\n\n        // Call callback when visibility will be changed. First argument for\n        // callback will be original event object, second will be visibility\n        // state name.\n        //\n        // Return listener ID to unbind listener by `unbind` method.\n        //\n        // If Page Visibility API doesn’t supported method will be return false\n        // and callback never will be called.\n        //\n        //   Visibility.change(function(e, state) {\n        //       Statistics.visibilityChange(state);\n        //   });\n        //\n        // It is just proxy to `visibilitychange` event, but use vendor prefix.\n        change: function (callback) {\n            if ( !self.isSupported() ) {\n                return false;\n            }\n            lastId += 1;\n            var number = lastId;\n            self._callbacks[number] = callback;\n            self._listen();\n            return number;\n        },\n\n        // Remove `change` listener by it ID.\n        //\n        //   var id = Visibility.change(function(e, state) {\n        //       firstChangeCallback();\n        //       Visibility.unbind(id);\n        //   });\n        unbind: function (id) {\n            delete self._callbacks[id];\n        },\n\n        // Call `callback` in any state, expect “prerender”. If current state\n        // is “prerender” it will wait until state will be changed.\n        // If Page Visibility API doesn’t supported, it will call `callback`\n        // immediately.\n        //\n        // Return false if API isn’t supported, true if page is already after\n        // prerendering or listener ID (you can use it in `unbind` method)\n        // if page is prerended now.\n        //\n        //   Visibility.afterPrerendering(function () {\n        //       Statistics.countVisitor();\n        //   });\n        afterPrerendering: function (callback) {\n            var support   = self.isSupported();\n            var prerender = 'prerender';\n\n            if ( !support || prerender != self.state() ) {\n                callback();\n                return support;\n            }\n\n            var listener = self.change(function (e, state) {\n                if ( prerender != state ) {\n                    self.unbind(listener);\n                    callback();\n                }\n            });\n            return listener;\n        },\n\n        // Return true if page now isn’t visible to user.\n        //\n        //   if ( !Visibility.hidden() ) {\n        //       VideoPlayer.play();\n        //   }\n        //\n        // It is just proxy to `document.hidden`, but use vendor prefix.\n        hidden: function () {\n            return !!(self._doc.hidden || self._doc.webkitHidden);\n        },\n\n        // Return visibility state: 'visible', 'hidden' or 'prerender'.\n        //\n        //   if ( 'prerender' == Visibility.state() ) {\n        //       Statistics.pageIsPrerendering();\n        //   }\n        //\n        // Don’t use `Visibility.state()` to detect, is page visible, because\n        // visibility states can extend in next API versions.\n        // Use more simpler and general `Visibility.hidden()` for this cases.\n        //\n        // It is just proxy to `document.visibilityState`, but use\n        // vendor prefix.\n        state: function () {\n            return self._doc.visibilityState       ||\n                   self._doc.webkitVisibilityState ||\n                   'visible';\n        },\n\n        // Return true if browser support Page Visibility API.\n        //\n        //   if ( Visibility.isSupported() ) {\n        //       Statistics.startTrackingVisibility();\n        //       Visibility.change(function(e, state)) {\n        //           Statistics.trackVisibility(state);\n        //       });\n        //   }\n        isSupported: function () {\n            return !!(self._doc.visibilityState ||\n                      self._doc.webkitVisibilityState);\n        },\n\n        // Link to document object to change it in tests.\n        _doc: document || {},\n\n        // Callbacks from `change` method, that wait visibility changes.\n        _callbacks: { },\n\n        // Listener for `visibilitychange` event.\n        _change: function(event) {\n            var state = self.state();\n\n            for ( var i in self._callbacks ) {\n                self._callbacks[i].call(self._doc, event, state);\n            }\n        },\n\n        // Set listener for `visibilitychange` event.\n        _listen: function () {\n            if ( self._init ) {\n                return;\n            }\n\n            var event = 'visibilitychange';\n            if ( self._doc.webkitVisibilityState ) {\n                event = 'webkit' + event;\n            }\n\n            var listener = function () {\n                self._change.apply(self, arguments);\n            };\n            if ( self._doc.addEventListener ) {\n                self._doc.addEventListener(event, listener);\n            } else {\n                self._doc.attachEvent(event, listener);\n            }\n            self._init = true;\n        }\n\n    };\n\n    if ( typeof(module) != 'undefined' && module.exports ) {\n        module.exports = self;\n    } else {\n        global.Visibility = self;\n    }\n\n})(this);\n","import initPipelines from '~/commit/pipelines/pipelines_bundle';\nimport initCommitActions from '~/projects/commit';\nimport { initCommitBoxInfo } from '~/projects/commit_box/info';\n\ninitCommitBoxInfo();\ninitPipelines();\ninitCommitActions();\n"],"sourceRoot":""}