VE Lua Documentation

Press F to search!

init

Definition


-- @/lua/vehicle/energyStorage.lua:30

local function init()
  M.updateGFX = nop

  orderedStorages = {}
  energyStorages = {}
  breakTriggerBeams = {}

  storageCount = 0
  storageFactories = {}

  if not availableStorageFactories then
    availableStorageFactories = {}
    local directory = "lua/vehicle/energyStorage"
    local files = FS:findFiles(directory, "*.lua", -1, true, false)
    if files then
      for _, file in ipairs(files) do
        local _, fileNameWithExt, _ = path.split(file)
        local fileName = fileNameWithExt:sub(1, -5)
        local storageFactoryPath = "energyStorage/" .. fileName
        availableStorageFactories[fileName] = storageFactoryPath
      end
    else
      log("E", "energyStorage.init", "Can't find energyStorage directory: " .. tostring(directory))
    end
  end

  --dump(availableStorageFactories)

  for _, jbeamData in pairs(deepcopy(v.data.energyStorage or {})) do
    tableMergeRecursive(jbeamData, v.data[jbeamData.name] or {})

    if availableStorageFactories[jbeamData.type] and not storageFactories[jbeamData.type] then
      local deviceFactory = require(availableStorageFactories[jbeamData.type])
      storageFactories[jbeamData.type] = deviceFactory
    end

    --load our actual storage via the storage factory
    if storageFactories[jbeamData.type] then
      local storage = storageFactories[jbeamData.type].new(jbeamData)
      energyStorages[storage.name] = storage
    else
      log("E", "energyStorage.init", "Found unknown energyStorage type: " .. jbeamData.type)
      log("E", "energyStorage.init", "EnergyStorage will not init correctly!")
      return
    end
  end

  --dump(storageFactories)
  --dump(energyStorages)

  for _, device in pairs(powertrain.getDevices()) do
    if device.energyStorage then
      if device.energyStorage and type(device.energyStorage) ~= "table" then
        device.energyStorage = {device.energyStorage}
      end
      for _, s in pairs(device.energyStorage) do
        local storage = energyStorages[s]
        if storage then
          device:registerStorage(storage.name)
        end
      end
    end
  end

  for _, storage in pairs(energyStorages) do
    table.insert(orderedStorages, storage)
  end

  storageCount = tableSize(energyStorages)

  local beamTriggers = {}
  for _, storage in pairs(energyStorages) do
    if storage.breakTriggerBeam then
      if type(storage.breakTriggerBeam) ~= "table" then
        storage.breakTriggerBeam = {storage.breakTriggerBeam}
      end
      for _, name in ipairs(storage.breakTriggerBeam) do
        beamTriggers[name] = storage
      end
    end
    damageTracker.setDamage("energyStorage", storage.name, false)
  end

  --dump(beamTriggers)

  for _, v in pairs(v.data.beams or {}) do
    if v.name and v.name ~= "" and beamTriggers[v.name] then
      breakTriggerBeams[v.cid] = beamTriggers[v.name]
    end
  end

  if storageCount > 0 then
    M.updateGFX = updateGFX
  end

  --dump(breakTriggerBeams)

  --Here we create a bit of special magic to deal with fire and forget storage access
  --for example: energyStorage.getStorage("abc").doSomething()
  --in this case an error is thrown if "abc" is not a valid storage.
  --Using energyStorage.getStorageSafe() instead returns a magic table that
  --happily accepts all indexes and can be called without throwing errors (if no real storage is found)
  M.nilStorage = {}
  local mt = {
    __index = function(t, _)
      return t
    end, --return self when indexing
    __call = function(t, ...)
      return t
    end, --return self when being called
    __newindex = function(_, _, _)
    end, --prevent any write access
    __metatable = false --hide metatable to prevent any changes to it
  }
  setmetatable(M.nilStorage, mt)
end

Callers

@/lua/ge/extensions/core/cameraModes/predictor.lua

function C:init(dtFuture)
  self.isFilter = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/vehicle/controller/axleLift.lua

local function init(jbeamData)
  velocityThresholdDisable = jbeamData.velocityThresholdDisable or 14
@/lua/ge/extensions/flowgraph/nodes/gameplay/blacklistWalking.lua
C.dependencies = {'gameplay_walk'}
function C:init(mgr, ...)
end
@/gameplay/missions/west_coast_usa/chase/001-Goliath/script.lua

function C:init(data)
  data = data or {}
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/ui/customUiLayout.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/vehicle/trailerRespawn.lua

function C:init()
  self.enabled = true
@/lua/ge/extensions/flowgraph/nodes/scene/hide.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/ui/endStats.lua

function C:init()
  self.count = 0
@/gameplay/missionTypes/generatedTimeTrial/editor.lua

function C:init()
  self:addDecoHeader("Creating a Time Trial")
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficCustomGroup.lua

function C:init()
  self.mode = 'settings'
@/lua/ge/extensions/flowgraph/nodes/gameplay/dragRace/generateDragOpponents.lua

function C:init()
  self.selectedOpponents = {}
@/gameplay/missionTypes/flowgraph/editor.lua

function C:init()
  self.currentConfig = nil
@/lua/ge/extensions/editor/missionEditor/playbookUtils.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/core/cameraModes/observer.lua

function C:init()
  self.isGlobal = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/vehicle/controller/propAnimation/googlyEyes.lua

local function init(jbeamData)
  local eyeBeamTag = jbeamData.eyeBeamTag or "eyeBeam"
@/gameplay/missions/italy/flowgraph/002-Pizza/constructor.lua

function C:init()
  self.defaultAggregateValues = {
return function()
  C:init()
  return C
@/lua/vehicle/controller/powertrainControl/combustionEngineGovenor.lua

local function init(jbeamData)
  local controlledEngineName = jbeamData.controlledEngineName or "mainEngine"
@/lua/ge/extensions/flowgraph/nodes/timetrials/onRaceComplete.lua

function C:init(mgr, ...)
  self.complete = false
@/lua/ge/extensions/core/cameraModes/shake.lua

function C:init()
  self.isFilter = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/scenario/waypointAction.lua

local function init(scenario)
  M.instances = {}
@/lua/ge/extensions/flowgraph/nodes/gameplay/sites/zoneByName.lua

function C:init(mgr, ...)
@/lua/ge/extensions/flowgraph/nodes/events/controlsReset.lua

function C:init(mgr, ...)
  self.reset = false
@/lua/ge/extensions/flowgraph/nodes/career/onIntroPopupCareerClosed.lua

function C:init()
  self.flags = {}
@/lua/ge/extensions/gameplay/missions/missionTypes/editorHelper.lua
  if o.init then
    o:init()
  end
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/wheelDistance.lua

function C:init()
  self.data.debug = false
@/lua/ge/extensions/editor/api/guiInstancer.lua

function C:init()
  self.instances = {} -- the instances for this gui window
  C.__index = C
  o:init()
  return o
@/lua/ge/extensions/flowgraph/nodes/math/smoothers/sigmoid.lua

function C:init()
  C.oldSet = 0
@/lua/ge/extensions/core/cameraModes/onboard.lua

function C:init()
  self.manualzoom = manualzoom()
  self.manualzoom = manualzoom()
  self.manualzoom:init(self.fov)
  self:onVehicleCameraConfigChanged()
  setmetatable(o, C)
  o:init()
  return o
@/gameplay/missions/gridmap_v2/delivery/004-obstaclecourse/script.lua
  if o.init then
    o:init(...)
  end
@/lua/ge/extensions/flowgraph/nodes/activity/requestAbandon.lua

function C:init(mgr, ...)
  self.reset = false
@/lua/ge/extensions/flowgraph/nodes/util/pushActionMap.lua

function C:init(mgr, ...)
  self:_executionStopped()
@/lua/ge/extensions/flowgraph/nodes/vehicle/isPlayerUsable.lua
}
function C:init()
@/gameplay/missionTypes/dragStripRace/constructor.lua

function C:init()
  self.latestVersion = version
@/ui/modules/apps/ForcedInductionDebug/app.js

      init()
@/lua/ge/extensions/flowgraph/nodes/string/format.lua

function C:init()
  self.data.pattern = "%d"
@/lua/ge/extensions/flowgraph/modules/prefabModule.lua

function C:init()
  self.prefabs = {}
@/lua/ge/extensions/flowgraph/nodes/vehicle/gForce.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/flowgraph/nodes/gfx/dof.lua

function C:init(mgr, ...)
  self:reset()
@/lua/ge/extensions/career/modules/playerAttributes.lua

local function init()
  attributeLog = {}
  if not attributes then
    init()
  end
@/lua/vehicle/controller/pneumatics/airbrakes.lua

local function init(jbeamData)
  local airTankName = jbeamData.airTankName or "mainAirTank"
@/lua/ge/extensions/flowgraph/nodes/states/stateNode.lua
-- This gets called when the node has been created for the first time. Init field here
function C:init(mgr)
@/lua/ge/extensions/editor/rallyEditor/recceTab.lua

function C:init(rallyEditor)
  self.path = nil
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/gameplay/traffic/vehicle.lua

function C:init(id, role)
  id = id or 0
  C.__index = C
  o:init(o.id)
  return o.model and o -- returns nil if invalid object
@/lua/ge/extensions/flowgraph/nodes/vehicle/recoverInPlace.lua

function C:init()
@/lua/ge/extensions/gameplay/rally/loop/rallyEventLog.lua

function C:init()
  -- Array of all logged items, ordered by timestamp
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/longjump/constructor.lua

function C:init()
  self.latestVersion = version
@/ui/ui-vue/src/common/directives/BngOcclusionWatcher.js

function init() {
  if (initialised) return
  mounted: (el, { value }) => { // value is delay in ms
    if (!initialised) init()
    // remove old for safety
@/lua/ge/extensions/flowgraph/nodes/util/closestRoad.lua

function C:init(mgr)
end
@/gameplay/missionTypes/collection/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/vehicle/controller/trailerFeet.lua

local function init(jbeamData)
  electricsName = jbeamData.electricsName or "feet"
@/lua/ge/extensions/flowgraph/nodes/vehicle/beamstate/couple.lua

function C:init(mgr, ...)
  self.data.mode = "activate"
@/lua/vehicle/backwardsCompatibility.lua

local function init()
  checkOldESC() --convert hardcoded ESC to controller
@/lua/ge/extensions/flowgraph/nodes/vehicle/flipUpright.lua

function C:init()
  --self.data.useWheelCenter = false
@/lua/ge/extensions/editor/flowgraph/legend.lua

function C:init()
  editor.registerWindow(self.windowName, im.ImVec2(150,300), nil, false)
@/lua/ge/extensions/flowgraph/nodes/util/hsvColor.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/util/time.lua

function C:init(mgr, ...)
end
@/lua/ge/extensions/gameplay/rally/transcripts/entry.lua

function C:init(path, name, forceId)
  self.path = path
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/controller/braking/compressionBrake.lua

local function init(jbeamData)
  local engineName = jbeamData.controlledEngine or "mainEngine"
@/lua/ge/extensions/flowgraph/nodes/math/vector/split.lua

function C:init()
end
@/lua/vehicle/bdebugImpl.lua

local function init(savedState, newPartialState)
  log('D', 'bdebugImpl.init', 'init')
@/lua/ge/extensions/flowgraph/nodes/mission/goToStartLine.lua

function C:init()
  self.vehicle = nil
@/lua/vehicle/controller/pyrotechnicCharge.lua

local function init(jbeamData)
  hasTriggered = false
@/lua/ge/extensions/editor/assetBrowser.lua
    local bitmap = GBitmap()
    bitmap:init(var.meshPreviewCacheThumbnailSize,var.meshPreviewCacheThumbnailSize)
    shapePrev:copyToBmp(bitmap:getPtr())
    local bitmap = GBitmap()
    bitmap:init(var.meshPreviewCacheThumbnailSize,var.meshPreviewCacheThumbnailSize)
    shapePrev:copyToBmp(bitmap:getPtr())
@/lua/vehicle/fire.lua

local function init()
  if fireBurnSoundObj then
@/lua/ge/extensions/flowgraph/nodes/string/subString.lua

function C:init()
  self.data.from = 0
@/lua/ge/extensions/gameplay/delivery/delivery.lua

function C:init()
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/busMode/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/editor/raceEditor/timeTrials.lua

function C:init(raceEditor)
  self.pathEditor = raceEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/gameplay/crawl/getCrawlResults.lua

function C:init(mgr)
  self.bridge = require('ge/extensions/gameplay/crawl/flowgraphBridge')
@/lua/ge/extensions/editor/crawlEditor/waypoints.lua

function C:init(crawlEditorParam)
  self.crawlEditor = crawlEditorParam
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/career/setFuelLevel.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/rallySuperCountdown.lua

function C:init(mgr, ...)
  self.data.useImgui = false
@/lua/ge/extensions/gameplay/rally/vehicleCapture.lua

function C:init(vehicle, missionDir) --, cornerAngles, selectedCornerAnglesName)
  log('I', logTag, 'initializing vehicleCapture for vehicle='..vehicle:getId())
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/scenario/damageGoal.lua

local function init(scenario)
  M.instances = {}
@/lua/ge/extensions/gameplay/rally/notebook/structured/visualCompositor.lua

function C:init(textCompositor)
  self.textCompositor = textCompositor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/logic/compare.lua

function C:init()
  local mySortFunct = function (a,b)
@/lua/ge/extensions/flowgraph/nodes/types/genericValue.lua

function C:init()
  self.getter = true
@/lua/ge/extensions/core/cameraModes/gameengine.lua

function C:init()
  self.isGlobal = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/vehicle/controller/jato.lua

local function init(jbeamData)
  fuel = jbeamData.fuel or 20
@/lua/ge/extensions/gameplay/traffic/baseRole.lua

function C:init(veh, name, data)
  data = data or {}
  C.__index = C
  o:init(o.veh, o.name)

  o:init()
  o:postInit()
@/lua/vehicle/controller/bypassDampers.lua

local function init(jbeamData)
  dampers = {}
@/lua/ge/extensions/editor/util/plotHelperUtil.lua
-- params.catmullromCurveLines = x or nil (x > 200 preferably)
function C:init(params)
  params = params or {
  idCounter = idCounter + 1
  o:init(...)
  return o
@/gameplay/missionTypes/aiRace/customNodes/collisionTrackingNode.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/editor/flowgraph/nodelibrary.lua
local sharedFrecency = nil
function C:init()
  self.searchText = im.ArrayChar(128)
@/lua/ge/extensions/flowgraph/nodes/vehicle/moveTo.lua

function C:init()
  --self.data.useWheelCenter = false
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/elemental/imSeparator.lua

function C:init()
  self.data.aboveSpacing = 5
@/lua/ge/extensions/flowgraph/nodes/debug/debugPrism.lua

function C:init()
end
@/lua/ge/extensions/editor/flowgraph/examples.lua

function C:init()
  editor.registerWindow(self.windowName, im.ImVec2(150,300), nil, false)
@/gameplay/missionTypes/cannon/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/vehicle/wheels.lua

local function init()
  initWheels()
@/lua/ge/extensions/flowgraph/nodes/vehicle/onVehicleSpawned.lua

function C:init(mgr, ...)
@/lua/ge/extensions/flowgraph/nodes/scene/getPlayerVehicle.lua

function C:init()
end
@/lua/ge/extensions/gameplay/rally/transcripts/vehicleSnapshot.lua

function C:init(path, name, forceId)
  self.path = path
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/gameplay/rally/notebook/codriver.lua

function C:init(notebook, name, forceId)
  self.notebook = notebook
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/logic/rateLimit.lua

function C:init()
  self.time = 0
@/lua/ge/extensions/gameplay/markers/driftLineMarker.lua

function C:init()
  self.id = idCounter
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/collection/customNodes/collectionNode.lua

function C:init(mgr)
  self.currentRecovery = nil
@/lua/ge/extensions/flowgraph/nodes/macro/foreach.lua

function C:init(mgr, ...)
  self.data.destroyTargetOnStop = true
@/lua/ge/extensions/flowgraph/nodes/scene/camera/getCamPath.lua
C.icon = ui_flowgraph_editor.nodeIcons.camera
function C:init()
end
@/lua/ge/extensions/scenario/raceMarkers/singleHologramMarker.lua

function C:init(id)
  self.id = id
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/simpleFollowDecalroad.lua

function C:init()
  self.path = nil
@/lua/ge/extensions/flowgraph/nodes/util/template.lua
-- This gets called when the node has been created for the first time. Init field here
function C:init(mgr)
  print("This node was initalized!")
@/lua/ge/extensions/editor/flowgraph/references.lua

function C:init()
  editor.registerWindow(self.windowName, im.ImVec2(150, 300), nil, false)
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceMarkers.lua

function C:init()
  self.markers = nil
        self.markers = require('scenario/race_marker')
        self.markers.init()
        local wps = {}
@/lua/ge/extensions/core/cameraModes/trackir.lua

function C:init()
  self.isGlobal = true
  end
  if not TrackIR or not TrackIR.init() then
    --log('D', 'core_camera.trackir', 'TrackIR could not init')
  setmetatable(o, C)
  o:init()
  return o
@/lua/vehicle/sensors.lua

local function init()
  M.ffiSensors = obj:getSensorsFFI()
@/lua/ge/extensions/flowgraph/nodes/vehicle/boost.lua

function C:init()
  self.loaded = false
@/lua/ge/extensions/flowgraph/nodes/activity/activityHook.lua

function C:init()
  self.data.eventName = "start"
@/lua/ge/extensions/flowgraph/nodes/activity/attemptVehicle.lua

function C:init()
@/gameplay/missionTypes/timeTrial/constructor.lua

function C:init()
  self.supportsReplay = true
@/lua/vehicle/controller/vivaceGauges.lua

local function init(jbeamData)
  log("E", "vivaceGauges", "This controller is deprecated and shall not be used. It might be removed without further notice in the future! Please switch to the 'genericGauges' controller instead.")
@/lua/ge/extensions/core/cameraModes/unicycle.lua

function C:init()
  self.hidden = true
  self.manualzoom = manualzoom()
  self.manualzoom:init(55)
  self:onSettingsChanged()
  setmetatable(o, C)
  o:init()
  return o
@/lua/vehicle/drivetrain.lua

local function init()
  M.wheels = wheels.wheels
@/inspector/External/CodeMirror/codemirror.js

  input.init(d)
}
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua

function C:init(rallyEditor)
  self.rallyEditor = rallyEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/ui/buttons/getMultipleButtons.lua

function C:init()
  self.count = 1
@/lua/ge/extensions/scenario/raceMarkers/cylinderMarker.lua
-- called when this object is created. initialize variables here (but dont spawn objects)
function C:init(id)
  self.id = id
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/trackStageTime.lua

function C:init(mgr, ...)
end
@/lua/ge/extensions/editor/roadArchitect.lua
                local bmp = GBitmap()
                bmp:init(width, height)
                bmp:allocateBitmap(width, height, false, "GFXFormatR16")
@/lua/ge/extensions/core/cameraModes/path.lua

function C:init()
  self.isGlobal = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/vehicle/thrusters.lua

local function init()
  -- update public interface
@/lua/ge/extensions/scenario/raceMarkers/sideHologramMarker.lua
-- called when this object is created. initialize variables here (but dont spawn objects)
function C:init(id)
  self.id = id
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/gameplay/crawl/utils.lua
    markers = require('scenario/race_marker')
    markers.init()
  end
@/lua/ge/extensions/gameplay/markers/gasStationMarker.lua
local tmpVec = vec3()
function C:init()
  self.visible = true
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/thread/loadProject.lua

function C:init(mgr, ...)
  self.targetId = nil
@/lua/ge/extensions/flowgraph/nodes/ui/multiDescription.lua

function C:init()
  self.count = 1
@/lua/ge/extensions/gameplay/traffic/roles/empty.lua

function C:init()
  self.actions = {}
@/lua/vehicle/mapmgr.lua

local function init()
  if wheels.wheelCount > 0 or (v.data.general and v.data.general.enableTracking) then
@/lua/vehicle/controller/drivingDynamics/supervisors/components/awdControl.lua

local function init(jbeamData)
  M.isActingAsTC = false
@/lua/vehicle/controller/4wd.lua

local function init(jbeamData)
  shaft = powertrain.getDevice(jbeamData.shaftName)
@/ui/lib/ext/angular/angular-animate.js

    return function init(element, initialOptions) {
      // all of the animation functions should create
@/lua/vehicle/controller/drivingDynamics/actuators/activeDiffBias.lua

local function init(jbeamData)
  M.isActing = false
@/lua/ge/extensions/flowgraph/nodes/gameplay/groundmarkers.lua

function C:init(mgr, ...)
  --self.data.step = 8
@/lua/ge/extensions/flowgraph/nodes/gameplay/sites/locationsByTag.lua

function C:init(mgr, ...)
  self.count = 1
@/lua/vehicle/controller/braking/brakedDifferentialSteering.lua

local function init(jbeamData)
  steeringPlay = jbeamData.steeringPlay or 0
@/lua/ge/extensions/gameplay/markers/crawlMarker.lua
local screenObjTemp = nil
function C:init()
  self.visible = true
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/knockAway/constructor.lua

function C:init()
  self.latestVersion = version
@/gameplay/missionTypes/chase/editor.lua

function C:init()
  ---- main settings ----
@/lua/ge/extensions/flowgraph/nodes/types/getVariable.lua
C.hidden = true
function C:init()
  self.varName = nil
@/lua/vehicle/controller/vehicleController/vehicleController.lua
  if controlLogicModule then
    controlLogicModule.init(jbeamData, sharedFunctions)
    controlLogicModule.gearboxHandling = gearboxHandling

local function init(jbeamData)
  M.throttle = 0

  controlLogicModule.init(jbeamData, sharedFunctions)
  controlLogicModule.gearboxHandling = gearboxHandling
  --drivingStrategy.core = require(drivingStrategyCoreModulePath)
  --drivingStrategy.core.init(M)
  --  drivingStrategy[v] = require(drivingStrategyModuleDirectory .. v)
  --  drivingStrategy[v].init(M)
  --end
@/lua/ge/extensions/scenario/timeLimit.lua

local function init(scenario)
  M.instances = {}
@/lua/ge/extensions/editor/raceEditor/pathnodes.lua

function C:init(raceEditor)
  self.raceEditor = raceEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/gameplay/markers/walkingMarker.lua
local screenObjTemp = nil
function C:init()
  self.visible = true
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/missionEditor/progressMulti.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/getAIMode.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/math/smoothers/spring.lua

function C:init()
  C.oldSet = 0
@/lua/ge/extensions/gameplay/drag/display.lua

local function init()
  if dragData then
  end
  init()
  clearAll()
@/lua/ge/extensions/flowgraph/nodes/events/onBeamNGTrigger.lua

function C:init(mgr, ...)
  self.data.filterName = ""
@/gameplay/missions/industrial/flowgraph/001-King/constructor.lua

function C:init()
  self.defaultAggregateValues = {
return function()
  C:init()
  return C
@/lua/ge/extensions/flowgraph/nodes/gameplay/sites/posInZone.lua

function C:init(mgr, ...)
end
@/lua/ge/extensions/flowgraph/nodes/career/onMissionPromptShown.lua

function C:init()
  self.flags = {}
@/lua/ge/extensions/flowgraph/modules/aiRecordingModule.lua

function C:init()
  -- Initialize AI recording state
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/countdown.lua

function C:init(mgr, ...)
  self.data.useImgui = false
@/lua/ge/extensions/gameplay/race/startPosition.lua

function C:init(race, name)
  self.race = race
  C.__index = C
  o:init(...)
  return o
@/lua/common/utils/httpJsonServer.lua
local bindHost = 'localhost'
httpJsonServer.init(bindHost, port, handleServerRequest)

local function init(_bindhost, _bindport, _callback)
    bindhost = _bindhost
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/disable.lua

function C:init()
  self.data.useScriptStop = false
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veAdjustableTechCarTuner.lua

local function init()
  local vehData = core_vehicle_manager.getPlayerVehicleData()
    if not initFlag then
      init()
      initFlag = true
@/lua/vehicle/controller/vehicleController/shiftLogic/sequentialGearbox.lua

local function init(jbeamData, sharedFunctionTable)
  sharedFunctions = sharedFunctionTable
@/lua/ge/extensions/flowgraph/nodes/gameplay/sites/location.lua

function C:init(mgr, ...)
  self.options = {"key"}
@/lua/ge/extensions/flowgraph/nodes/scene/rectMarker.lua

function C:init(mgr, ...)
  self.triggerName = nil
@/lua/ge/extensions/flowgraph/nodes/util/loadLevel.lua

function C:init()
  self.state = 1
@/lua/ge/extensions/flowgraph/modules/foreachModule.lua

function C:init()
  self:clear()
@/lua/ge/extensions/flowgraph/nodes/util/timedSequence.lua

function C:init()
  self.count = 0
@/lua/vehicle/controller/propAnimation/hPattern.lua

local function init(jbeamData)
  local gearCoordinateTable = tableFromHeaderTable(jbeamData.gearCoordinates or {})
@/lua/vehicle/controller/driveModes.lua

local function init(jbeamData)
  uiName = jbeamData.uiName
@/gameplay/missionTypes/cannon/customNodes/MarkersNode.lua
  self.markers = require('scenario/race_marker')
  self.markers.init()
  table.clear(wps)
@/lua/ge/extensions/flowgraph/nodes/mission/getCustomVehicleData.lua

function C:init()
  self.savePins = true
@/lua/ge/extensions/flowgraph/nodes/gameplay/crawl/resetCrawl.lua

function C:init(mgr)
  self.bridge = require('ge/extensions/gameplay/crawl/flowgraphBridge')
@/lua/vehicle/controller/couplings/fifthwheel.lua

local function init(jbeamData)
  local fifthwheelNodeName = jbeamData.fifthwheelNode
@/lua/ge/extensions/flowgraph/nodes/ui/missionEndScreen.lua

function C:init()
  self.open = false
@/lua/ge/extensions/flowgraph/nodes/mission/stageLightsDragRace.lua

function C:init()
  self.lights = {}
@/lua/ge/extensions/flowgraph/nodes/vehicle/keep.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/logic/flowSwitch.lua

function C:init(mgr, ...)
  self.on = false
@/lua/ge/extensions/gameplay/rally/rallyManager.lua

function C:init(missionDir, missionId)
  if gameplay_rally and gameplay_rally.getDebugLogging() then log('D', logTag, '<<<<< RallyManager init >>>>>') end
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/flowgraph/nodePreview.lua

function C:init()
  self.hoverInstance = nil
@/lua/vehicle/protocols/outgauge.lua
local hasShiftLights = false
local function init()
  local shiftLightControllers = controller.getControllersByType("shiftLights")
@/lua/ge/extensions/util/terrainGenerator.lua

function C:init(data)
  data = data or {}
      local b = GBitmap()
      b:init(self.terrainWidth, self.terrainWidth)
      b:fillColor(ColorI(n, n, n, 255))
  C.__index = C
  o:init(data)
  return o
@/lua/ge/extensions/flowgraph/nodes/scene/camera/setCameraRotation.lua

function C:init()
  self.rotation = quat(0,0,0,0)
@/lua/ge/extensions/flowgraph/nodes/util/ghost.lua

function C:init()
  self.formerNodeType = "NOT GHOST"
@/lua/ge/extensions/flowgraph/modules/fileModule.lua

function C:init()
  self:clear()
@/lua/ge/extensions/flowgraph/nodes/vehicle/teleportToLastRoad.lua

function C:init()
  --self.data.useWheelCenter = false
@/gameplay/missionTypes/chase/customNodes/suspectAiNode.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/gameplay/drift/stuntZones/driftThrough.lua

function C:init(data)
  self.data = data
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/gameplay/missions/missionTypes/baseMission.lua
-- This is called when a mission of this type is being created. Load files, initialize variables etc
function C:init()
  self.missionTypeLabel = "bigMap.missionLabels."..self.missionType
  C.__index = C
  o:init()
  for k, v in pairs(derivedClass) do
  end
  local init = o:init()
  return o, init
@/lua/ge/extensions/scenario/nomoveGoal.lua

local function init(scenario)
  M.instances = {}
@/lua/ge/extensions/core/camera.lua
      cam:update(camData)
      if not validateData(camData) and cam.init then cam:init() end -- if present, clean up NaN/infs in camera state, by re-initting it
    else
@/lua/ge/extensions/gameplay/sites/parkingSpot.lua

function C:init(sites, name, forceId)
  self.sites = sites
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/ui/ambientSound.lua
]]
local function init(json)
  if not FS:fileExists(json) then
@/lua/ge/main.lua
-- Also called on reload (Control-L)
function init(reason)
  settings.initSettings(reason)
  -- Init the physics plugin.
  PhysicsPlugin.init("")
@/lua/ge/extensions/gameplay/rally/cameraPathPlayer.lua

function C:init(snaproad)
  self.snaproad = snaproad
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/scenario/speedGoal.lua

local function init(scenario)
  M.instances = {}
@/lua/ge/extensions/gameplay/markers/zoneMarker.lua

function C:init() end
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/missionEditor/layers.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/precisionParking/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/vehicle/controller/powertrainControl/antiLag.lua

local function init(jbeamData)
  local engineName = jbeamData.controlledEngine or "mainEngine"
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/parkingParams.lua

function C:init()
  self.vars = {}
@/lua/vehicle/controller/gauges/customModules/electricMotorData.lua

local function init(jbeamData)
end
@/lua/vehicle/controller/drivingDynamics/actuators/adaptiveDampers.lua

local function init(jbeamData)
  local dampBeamNames = jbeamData.dampBeamNames or {}
@/lua/ge/extensions/core/cameraModes/transition.lua

function C:init()
  self.isGlobal = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/spawnVehicle.lua

function C:init()
  self.state = 1
@/lua/vehicle/controller/vehicleController/shiftLogic/electricMotor.lua

local function init(jbeamData, sharedFunctionTable)
  sharedFunctions = sharedFunctionTable
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/setVehicleData.lua

function C:init()
  self.vars = {}
@/lua/ge/extensions/flowgraph/nodes/scene/spawnLight.lua

function C:init(mgr, ...)
  self.objects = {}
@/lua/ge/extensions/flowgraph/nodes/mission/lightsController.lua

function C:init()
  self.started = false
@/gameplay/missions/east_coast_usa/flowgraph/001-Gavril/constructor.lua

function C:init()
  self.defaultAggregateValues = {
return function()
  C:init()
  return C
@/lua/ge/extensions/flowgraph/nodes/gameplay/countdown.lua

function C:init(mgr, ...)
  self.data.useImgui = false
@/lua/vehicle/controller/twoStepLaunch.lua

local function init(jbeamData)
  local engineName = jbeamData.engineName or "mainEngine"
@/lua/ge/extensions/editor/sitesEditor/locations.lua

function C:init(sitesEditor, key)
  self.sitesEditor = sitesEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/special/vehicleAction.lua

function C:init()
  self.models = {}
@/lua/ge/extensions/editor/util/zoneSelectorUtil.lua

function C:init(element)
  self.element = element
  C.__index = C
  o:init(element)
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/scriptAI/followPath.lua

function C:init()
  self.started = false
@/lua/vehicle/controller/nitrousOxideInjection.lua

local function init(jbeamData)
  M.updateGFX = nop
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficActivate.lua

function C:init()
  self:onNodeReset()
@/gameplay/missionTypes/generatedTimeTrial/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/gameplay/crawl/getCrawlData.lua

function C:init(mgr)
  self.bridge = require('ge/extensions/gameplay/crawl/flowgraphBridge')
@/lua/ge/extensions/gameplay/rally/notebook/path.lua

function C:init(name)
  self._uid = 0
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/scenario/raceMarkers/sideMarker.lua
-- called when this object is created. initialize variables here (but dont spawn objects)
function C:init(id)
  self.id = id
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/controller/drivingDynamics/supervisors/components/brakeControl.lua

local function init(jbeamData)
  M.isActingAsTC = false
@/lua/vehicle/controller/sound/AVAS.lua

local function init(jbeamData)
end
@/lua/ge/extensions/flowgraph/nodes/ui/buttons/simpleMultipleButtons.lua

function C:init()
  self.count = 1
@/lua/vehicle/controller/airplaneSurfaces.lua

local function init(jbeamData)
  electrics.values.rudder = 0
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/pathDefaultStartTransform.lua

function C:init(mgr, ...)
  self.path = nil
@/gameplay/missionTypes/chase/constructor.lua

function C:init()
  self.supportsReplay = true
@/lua/ge/extensions/gameplay/garageMode.lua
    camData.orbit:setSkipFovModifier(false)
    camData.orbit:init()
  end
@/lua/ge/extensions/flowgraph/nodes/ui/flashMessage.lua

function C:init()
  self.helper = require('scenario/scenariohelper')
@/lua/vehicle/sounds.lua

local function init()
  if not v.data.nodes then
@/lua/ge/extensions/flowgraph/nodes/activity/aggregateAttempt.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/career/garageTutorialUtil.lua

function C:init()
  self.timer = 0
@/gameplay/missionTypes/arrive/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/vehicle/alignForCoupling.lua

function C:init()
@/gameplay/missionTypes/chase/customNodes/suspectDistanceNode.lua

function C:init()
  self:reset()
@/gameplay/missionTypes/aiRace/editor.lua

function C:init()
  ---- mandatory settings ----
@/lua/vehicle/controller/braking/transbrake.lua

local function init(jbeamData)
  local gearboxName = jbeamData.gearboxName or "gearbox"
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehiclePing.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/flowgraph/nodes/gfx/blur.lua

function C:init(mgr, ...)
  self.lastWorking = 0
@/lua/ge/extensions/career/modules/painting.lua
    camData.orbit:setDefaultRotation(previousDefaultRotation)
    camData.orbit:init()
  end
@/lua/ge/extensions/flowgraph/nodes/scene/camera/cameraAngle.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/trafficMoveGroup.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/racePacenoteReached.lua

function C:init(mgr, ...)
  self.data.detailed = false
@/lua/ge/extensions/gameplay/rally/notebook/structured/textCompositor.lua

function C:init(compositorName)
  if not compositorName then
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/thread/receiveMessage.lua

function C:init()
  self.savePins = true
@/gameplay/missionTypes/crawl/editor.lua

function C:init()
  self:addString("Start screen text", 'startScreenText', 'Intro', 2048, {isTranslation = true})
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/raceHighscoresLap.lua

function C:init()
  self.markers = nil
@/lua/ge/extensions/flowgraph/nodes/types/number.lua

function C:init()
  self.data.value = 0
@/gameplay/missionTypes/flowgraph/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/flowgraph/nodes/util/closestPath.lua

function C:init()
  self.waypoint = im.BoolPtr(false)
@/ui/lib/ext/angular-material/angular-material.js
    menuContainer.append(menuContents);
    mdMenuCtrl.init(menuContainer);

    rgCtrl.init(ngModelCtrl);
    element.on('keypress', keyListener);
    if (ngModel) selectCtrl.init(ngModel);
    configureAria();

  return init();
   */
  function init () {
    $mdUtil.initOptionalProperties($scope, $attrs, { searchText: null, selectedItem: null });

  function init (term, template) {
    createWatchers(term, template);
      return function (scope, element, attr, ctrl) {
        ctrl.init(attr.mdHighlightText, template);
      };

  init();
   */
  function init () {
    ctrl.selectedIndex = ctrl.selectedIndex || 0;
@/lua/ge/extensions/flowgraph/nodes/input/blacklistActionFilter.lua

function C:init()
  self.activeTemplates = {}
@/gameplay/missions/automation_test_track/flowgraph/001-Dam/constructor.lua

function C:init()
  self.defaultAggregateValues = {
return function()
  C:init()
  return C
@/lua/ge/extensions/core/cameraModes/relative.lua

function C:init()
  self.resetCameraOnVehicleReset = false
  self.rot = slot.rot
  self.manualzoom:init(slot.fov)
  return true
function C:setFOV(fov)
  self.manualzoom:init(fov)
end
  setmetatable(o, C)
  o:init()
  return o
@/lua/vehicle/controller/propAnimation/sequentialLever.lua

local function init(jbeamData)
  electricsNameYAxis = jbeamData.electricsNameYAxis or "sequentialLeverY"
@/lua/ge/extensions/flowgraph/nodes/activity/activityAttempt.lua

function C:init()
  self.savePins = true
@/lua/ge/extensions/flowgraph/nodes/scene/spawnTSStatic.lua

function C:init(mgr, ...)
  self.objects = {}
@/lua/ge/extensions/flowgraph/nodes/gameplay/decalLine.lua

function C:init()
  self.data.snapToTerrain = false
@/lua/ge/extensions/core/cameraModes/external.lua

function C:init()
  self.disabledByDefault = true
  self.noise = noise()
  self.noise:init(0.14)
  self.smooth = smooth()
  self.smooth = smooth()
  self.smooth:init(20, 2.0)
  self.handheld = handheld()
    if self.isFanMode then
      self.autozoom:init(newTemporalSmoothing(15, 15))
      self.autozoom.steps = { {  0, z*70}, {1.5, z*60}, {  3, z*40}, {  6, z*30}, { 10, z*25}, { 40, z*15}, { 90, z*15}, {150, z*15} }
    else
      self.autozoom:init(newTemporalSpring(15, 10))
      self.autozoom.steps = { {  0, z*70}, {1.5, z*60}, {  3, z*60}, {  8, z*60}, { 20, z*40}, { 50, z*30}, {125, z* 20}, {200, z* 15} }
    if carStopped then
      self.handheld:init(20, 5, 2)
      self.noise:init(0.02)
      self.handheld:init(20, 5, 2)
      self.noise:init(0.02)
    else
    else
      self.handheld:init(40, 9, dzRandom(0.25, 0.7))
      self.noise:init(0.04)
      self.handheld:init(40, 9, dzRandom(0.25, 0.7))
      self.noise:init(0.04)
    end
  else
    self.handheld:init(80, 15, 0.05)
    self.predictor.future = dzRandom(0.05,0.35)
  end
  self.smooth:init(nil, nil, self.camPos)
  self:applyOffset(nx, ny, nz, findRandomAttachedNodePosition(veh), openxrSessionRunning) -- distance to current vehicle center
  setmetatable(o, C)
  o:init()
  return o
@/lua/vehicle/input.lua

local function init()
  --inRate (towards the center), outRate (away from the center), autoCenterRate, startingValue
@/gameplay/missionTypes/dragStripAPM/editor.lua

function C:init()
@/lua/ge/extensions/editor/flowgraph/stateView.lua

function C:init()
  self.filter = im.ImGuiTextFilterPtr()
@/lua/ge/extensions/editor/missionEditor/dev.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/missionEditor/conditions.lua

function C:init(missionEditor, field, name)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/activity/missionAttemptStars.lua

function C:init()
  self.savePins = true
@/lua/ge/extensions/flowgraph/nodes/mission/clearLightsDragRace.lua

function C:init()
  self.lights = {}
@/gameplay/missions/automation_test_track/flowgraph/001-Dam/customNodes/getClosestStaticObjectNode.lua

function C:init()
  self.pos = vec3()
@/lua/ge/extensions/flowgraph/groupHelper.lua

function C:init(mgr)
  self.mgr = mgr
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/controller/drivingDynamics/actuators/electronicDiffLock.lua

local function init(jbeamData)
  M.isActing = false
@/lua/vehicle/controller/pneumatics/liftAxleControl.lua

local function init(jbeamData)
  maximumSupplyPressure = jbeamData.defaultMaximumSupplyPressure or 0
@/ui/ui-vue/src/main.js
// initialise systemInfo service
SysInfo.init()
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/setVehicleFlowgraph.lua

function C:init()
  self.savePins = true
@/gameplay/missionTypes/rallyRoadSection/editor.lua

function C:init()
  -- self:addDecoHeader("Mission Screen Text",'orange')
@/lua/ge/extensions/flowgraph/nodes/debug/testDynamic.lua

function C:init(mgr, ...)
  self.timer = 0
@/gameplay/missionTypes/drift/customNodes/wrongWayNode.lua

function C:init()
  self.lastDist = 0
@/gameplay/missionTypes/collection/customNodes/collectionMarkersNode.lua

function C:init(mgr)
  self.mgr.markerData = nil
@/lua/ge/extensions/flowgraph/nodes/scene/getPointOnDecalroad.lua
C.tags = {}
function C:init()
@/lua/ge/extensions/flowgraph/nodes/vehicle/replay.lua

function C:init()
  self:_setupTimeline(5,10)
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/loop/rallyClock.lua

function C:init(mgr, ...)
  -- Cache for scheduled event time lookup
@/lua/ge/extensions/editor/util/transformUtil.lua
-- initializes stuff for the helper.
function C:init(editName, objectName)
  self.id = getNextUniqueIdentifier()
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/mission/countdownLightsController.lua

function C:init()
  self.started = false
@/lua/ge/extensions/flowgraph/nodes/vehicle/groundDistance.lua

function C:init()
  self.data.drawDebug = false
@/lua/ge/extensions/gameplay/rally/tools/rallyToolbox.lua

function C:init()
  -- self.drivelineMode = RallyEnums.drivelineMode.route
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/mission/UpdateDisplayDragRace.lua

function C:init()
  self.pinOut.flow.value = false
@/lua/vehicle/damageTracker.lua

local function init()
  damageData = {}
@/lua/ge/extensions/flowgraph/nodes/environment/setCloud.lua

function C:init(mgr)
  self.data.restoreCloud = true
@/lua/ge/extensions/editor/missionEditor/careerSetup.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/ui/ui-vue/src/services/watchdog.js
    destroy()
    init()
  },

export function init() {
  if (isInitialized) {
@/lua/ge/extensions/flowgraph/nodes/career/onTestDriveChanged.lua

function C:init()
  self.flags = {}
@/lua/vehicle/powertrain/turbocharger.lua

local function init(device, jbeamData)
  turbo = deepcopy(jbeamData)
@/lua/ge/extensions/flowgraph/nodes/scene/camera/setCameraPosition.lua

function C:init()
  self.position = vec3(0,0,0)
@/lua/vehicle/hydros.lua

local function init()
  if v.data.input and v.data.input.FFBcoef ~= nil then
@/lua/ge/extensions/scenario/raceGoals.lua
  for _, goal in pairs(goals) do
    goal.init(scenario)
  end
@/lua/ge/extensions/gameplay/rally/cutCapture.lua

function C:init(vehicle, missionDir)
  log('I', logTag, 'initializing cutCapture for vehicle='..vehicle:getId())
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/bus/busControls.lua

function C:init()
  self.pinOut.isKneeling.value = false
@/lua/ge/extensions/scenario/distanceGoal.lua

local function init(scenario)
  M.instances = {}
@/lua/ge/extensions/flowgraph/nodes/gameplay/multiseat.lua

function C:init(mgr, ...)
  self.activated = false
@/lua/ge/extensions/flowgraph/nodes/states/stateExit.lua
-- This gets called when the node has been created for the first time. Init field here
function C:init(mgr)
  self.autoStart = false
@/lua/ge/extensions/editor/vehicleEditor/liveEditor/veView.lua
-- should store data a different way in future :)
local function init()
  local viewsSerialized = editor.getPreference("vehicleEditor.veView.sceneViews")
    if enabled then
      init()
    else
  if not editorInit then
    init()
    editorInit = true
@/lua/ge/extensions/flowgraph/baseStateNode.lua

function C:init(mgr)
  -- make our own custom pins for the borders
  C.__index = C
  o:init(...)
  return o
  if o.init ~= baseInit then
    o:init()
  end
@/lua/ge/extensions/editor/crawlEditor/presets.lua

function C:init()
  self.presets = {
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/setLights.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/activity/attemptStars.lua

function C:init()
  self.savePins = true
@/lua/ge/extensions/flowgraph/nodes/ui/setUILayout.lua

function C:init()
  self.useFreeroamMenuWhenUnrestricted = true
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleConfigProvider.lua

function C:init()
  self.models = {}
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/pursuitInformation.lua

function C:init()
  self:reset()
@/lua/ge/extensions/flowgraph/nodes/timetrials/onRaceConfig.lua

function C:init(mgr, ...)
  self.done = false
@/lua/ge/extensions/flowgraph/nodes/career/onVehicleShoppingEvent.lua

function C:init()
  self.flags = {}
@/lua/ge/extensions/flowgraph/nodes/util/getMapObjectsDynField.lua

function C:init(mgr)
@/lua/ge/extensions/gameplay/sites/sites.lua

function C:init(name)
  self.name = name or "Sites"
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/delivery/constructor.lua

function C:init()
  self.latestVersion = version
@/gameplay/missionTypes/drift/editor.lua

function C:init()
  driftType = self:addDropdown("Drift mission type", "driftType", {"Gymkhana", "A to B", "A to B with stunt zones"}, "Gymkhana")
@/lua/vehicle/controller/drivingDynamics/supervisors/components/aeroControl.lua

local function init(jbeamData)
  M.isActingAsTC = false
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/fileRace.lua

function C:init(mgr, ...)
  self.started = false
@/lua/ge/extensions/flowgraph/nodes/gameplay/playerMoves.lua

function C:init()
  self.initialPos = nil
@/lua/ge/extensions/core/cameraModes/noise.lua

function C:init(factor)
  self.hidden = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/editor/api/valueInspector.lua

function C:init()
  self.inputTextShortStringMaxSize = inputTextShortStringMaxSize
  C.__index = C
  o:init()
  return o
@/lua/ge/extensions/editor/rallyEditor/pacenotes/pacenoteForm.lua

function C:init(pacenoteToolsWindow)
  self.pacenoteToolsWindow = pacenoteToolsWindow
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/missionEditor/previewChecker.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/core/cameraModes/topDown.lua

function C:init()
  self.disabledByDefault = true
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/editor/toolUtilities/splineMaskExport.lua
  local bmp = GBitmap()
  bmp:init(xSize, ySize)
  bmp:allocateBitmap(xSize, ySize, false, "GFXFormatR16")
@/lua/ge/extensions/flowgraph/baseModule.lua

function C:init(mgr)
  self.mgr = mgr
  C.__index = C
  o:init(...)
  return o
  if o.init ~= baseInit then
    o:init()
  end
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/arrive.lua

function C:init()
  self.sentCommand = false
@/lua/ge/extensions/gameplay/rally/driveline/pointList.lua
-- Each point has: pos, quat, ts, normal, prev, next, id, pacenoteDistances, cachedPacenotes
function C:init(points)
  self.points = points or {}
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/controller/vehicleController/shiftLogic/automaticGearbox.lua

local function init(jbeamData, sharedFunctionTable)
  sharedFunctions = sharedFunctionTable
@/gameplay/missionTypes/garageToGarage/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/gameplay/rally/driveline/drivelineMeasurement.lua

function C:init(driveline)
end
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/logic/and.lua

function C:init()
  self.count = 2
@/lua/ge/extensions/flowgraph/nodes/audio/fadeOut.lua

function C:init()
  self.timer = 0
@/lua/vehicle/controller/sound/airbrakes.lua

local function init(jbeamData)
  lastBrake = 0
@/lua/vehicle/controller/braking/hydraulicPumpBrake.lua

local function init(jbeamData)
  local relevantEngineName = jbeamData.relevantEngineName or "mainEngine"
@/ui/ui-vue/src/modules/vehicleConfig/stores/tuningStore.js

  async function init() {
    editedTuningVars = {}
@/lua/ge/extensions/flowgraph/builder.lua

function C:init()
  self.CurrentNodeId = 0 -- NodeId
  setmetatable(o, C)
  o:init()
  return o
@/lua/ge/extensions/editor/util/vehicleSelectUtil.lua

function C:init(name, data)
  self.id = getNextUniqueIdentifier()
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/tech/getUltrasonicReadings.lua

function C:init()
@/lua/ge/extensions/gameplay/race/race.lua

function C:init()
  self.path = nil
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/signals/controller.lua

function C:init()
  self.count = 1
@/lua/ge/extensions/flowgraph/nodes/debug/miniGraph.lua

function C:init()
  self.inputLabels = {}
@/lua/ge/extensions/flowgraph/nodes/gameplay/recoveryPrompt/onRecoveryPromptAction.lua
}
function C:init()
  self.savePins = true
@/lua/ge/extensions/scenario/raceMarkers/overhead.lua
-- called when this object is created. initialize variables here (but dont spawn objects)
function C:init(id)
  self.id = id
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/raceEditor/startPositions.lua

function C:init(raceEditor)
  self.raceEditor = raceEditor
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/extensions/api.lua
        log('E', "default.init", "INIT WEBSERVER TO PORT "..port)
        httpJsonServer.init(bindHost, port, handleServerRequest)
        inited = true
@/lua/ge/extensions/flowgraph/nodes/gameplay/sites/fileSites.lua

function C:init(mgr, ...)
  self.sites = nil
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/startScreenDial.lua

function C:init()
  self.panel = {
@/lua/ge/extensions/flowgraph/nodes/environment/setFogDensity.lua

function C:init(mgr)
  self.data.restoreTod = true
@/lua/ge/extensions/flowgraph/nodes/util/loadProject.lua

function C:init(mgr, ...)
  self.data.destroyTargetOnStop = true
@/lua/ge/extensions/gameplay/rally/driveline/drivelineRoute.lua

function C:init()
  -- callbacks. not all may be used.
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/raceEditor/trackLayout.lua

function C:init(raceEditor)
  self.raceEditor = raceEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/audio/fadeIn.lua

function C:init()
  self.timer = 0
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/signals/fileTrafficSignals.lua

function C:init()
  self.signalsData = nil
@/lua/vehicle/controller/tech/cosimulationCoupling.lua
-- Initialisation callback.
local function init(dataEncoded)
@/lua/ge/extensions/editor/missionEditor/objectives.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/controller/drivingDynamics/supervisors/components/diffControl.lua

local function init(jbeamData)
  M.isActingAsTC = false
@/lua/ge/extensions/flowgraph/graph.lua

function C:init(mgr, name, forceId)
  self.mgr = mgr
  C.__index = C
  o:init(...)
  return o
@/lua/vehicle/controller/tech/vehicleSystemsCoupling.lua
-- The controller initialisation function. This is called once when the controller is loaded, and sets up the UDP sockets for all future communication.
local function init(jbeamData)
  debugFile = jbeamData.debugFile
@/lua/ge/extensions/flowgraph/nodes/vehicle/fire/fire.lua

function C:init()
  self.functions = {
@/lua/ge/extensions/flowgraph/modules/driftModule.lua

function C:init()
  self:resetModule()
@/lua/ge/extensions/flowgraph/nodes/vehicle/beamstate/beamstate.lua

function C:init()
  self.functions = {
@/gameplay/missionTypes/drift/constructor.lua

function C:init()
  self.latestVersion = version
@/lua/ge/extensions/core/settings/graphic.lua
    if graphicsOptions[k] and type(graphicsOptions[k].init) == 'function' then
      graphicsOptions[k].init(v)
    end
@/lua/ge/extensions/gameplay/rally/notebook/missionSettings.lua

function C:init(missionDir)
  self.missionDir = missionDir
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/gameplay/decalCircle.lua

function C:init()
  self.data.snapToTerrain = true
@/lua/ge/extensions/editor/crawlEditor/trails.lua

function C:init()
  self.currentTab = "paths"
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/flowgraph/properties.lua

function C:init()
  editor.registerWindow(self.windowName, im.ImVec2(150,300), nil, true)
@/lua/ge/extensions/flowgraph/nodes/gameplay/rally/vehicleStoppedNearPos.lua

function C:init(mgr, ...)
  self.timer = 0
@/lua/vehicle/controller/hydraulics/closedLoopLinearControl.lua

local function init(jbeamData)
  cylinderPID = newPIDParallel(jbeamData.cylinderPIDKp or 0.5, jbeamData.cylinderPIDKi or 0.3, jbeamData.cylinderPIDKd or 0.01, -1, 1, 1000, 10, nil, nil, 0.01)
@/lua/common/utils/pixellib.lua

function LuaPixelBuffer:init(width, height)
  self.width = math.floor(width)
  local bitmap = GBitmap()
  bitmap:init(width, height, true)
  local pb = create()
  pb:init(250, 250)
  print(tostring(pb))
@/lua/ge/extensions/flowgraph/nodes/gameplay/crawl/getDynamicObjects.lua

function C:init(mgr)
  self.bridge = require('ge/extensions/gameplay/crawl/flowgraphBridge')
@/lua/vehicle/controller/powertrainControl/activeCenterDiff.lua

local function init(jbeamData)
  biasOversteerVsTraction = jbeamData.biasOversteerVsTraction or 0.5
@/lua/ge/extensions/flowgraph/modules/actionModule.lua

function C:init()
  self:clear()
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/directlyTo.lua

function C:init()
  self.started = false
@/lua/ge/extensions/editor/sitesEditor/tags.lua

function C:init(sitesEditor, key)
  self.sitesEditor = sitesEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/environment/planet.lua
C.gConst = 6.6742 * math.pow(10, -11) --(m3,s-2,kg-1)
function C:init()
  --self.data.clearPlanets = true
@/lua/ge/extensions/scenario/raceMarkers/attention.lua
-- called when this object is created. initialize variables here (but dont spawn objects)
function C:init(id)
  self.id = id
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/ui/fadeFromBlack.lua

function C:init()
  self:setDurationState('inactive')
@/lua/ge/extensions/gameplay/markers/invisibleTrigger.lua
-- called when this object is created. initialize variables here (but dont spawn objects)
function C:init() end
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/audio/fade.lua

function C:init()
  self:reset()
@/lua/ge/extensions/gameplay/drift/stuntZones/hitPole.lua

function C:init(data)
  self.data = data
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/dragStripRace/editor.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/signals/sequenceByName.lua

function C:init()
  self:onNodeReset()
@/lua/ge/extensions/editor/missionEditor/prefabs.lua

function C:init(missionEditor)
  self.missionEditor = missionEditor
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/editor/vehicleEditor/staticEditor/veStaticRenderView.lua
-- Load renderviews data in memory (not actually creating renderviews)
local function init()
  local viewsSerialized = jsonReadFile(settingsPath)
local function onEditorInitialized()
  init()
@/lua/ge/extensions/flowgraph/nodes/mission/selectHeistMissionSpots.lua

function C:init()
  self.spots = {}
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/endScreenTimeSlip.lua

function C:init()
  self.panel = {
@/lua/ge/extensions/flowgraph/nodes/ui/updatedUI/endScreenBegin.lua

function C:init()
  self.open = false
@/lua/ge/extensions/flowgraph/nodes/gameplay/race/filePath.lua

function C:init(mgr, ...)
  self.path = nil
@/lua/vehicle/controller/drivingDynamics/actuators/adaptiveTorsionBars.lua

local function init(jbeamData)
  local torsionBarNames = jbeamData.torsionBarNames or {}
@/lua/ge/extensions/flowgraph/nodes/scene/sevensegmentDisplay.lua

function C:init(mgr, ...)
    self.objects = {}
@/lua/vehicle/powertrain/combustionEngineThermals.lua

local function init(engine, engineJbeamData)
  parentEngine = engine
@/lua/ge/extensions/editor/flowgraph/main.lua

function C:init()
@/lua/ge/extensions/editor/sitesEditor/parkingSpots.lua

function C:init(sitesEditor, key)
  self.sitesEditor = sitesEditor
  C.__index = C
  o:init(...)
  return o
@/gameplay/missionTypes/aiRace/customNodes/activateRaceNode.lua

function C:init(mgr, ...)
  self.started = false
@/lua/vehicle/controller/dragTimer.lua

local function init(jbeamData)
  state = "ready"
@/lua/ge/extensions/flowgraph/nodes/debug/debugCylinder.lua

function C:init()
end
@/lua/common/luaProfiler.lua
-- constructor; title is only displayed in logs, can be used to differentiate between different profilers running at the same time
function C:init(title)
  self.title = title
  setmetatable(o, C)
  o:init(...)
  return o
@/gameplay/missionTypes/longjump/editor.lua

function C:init()
@/lua/ge/extensions/flowgraph/nodes/career/onMissionRunstateChanged.lua

function C:init()
  self.flags = {}
@/lua/vehicle/controller/pneumatics/actuators.lua

local function init(jbeamData)
  local airTankName = jbeamData.airTankName or "mainAirTank"
@/lua/vehicle/controller/hydraulicSuspension.lua

local function init(jbeamData)
  local hydraulicsData = v.data[jbeamData.hydraulicBeams or "hydraulicsData"] or {}
@/lua/vehicle/controller/linearActuators/linearActuatorTrailerFeet.lua

local function init(jbeamData)
  attachedPosition = jbeamData.attachedDefaultPosition or 0
@/lua/ge/extensions/flowgraph/nodes/ui/imgui/elemental/imNumbers.lua

function C:init()
  self.modes = {
@/lua/ge/extensions/flowgraph/nodes/vehicle/onVehicleDestroyed.lua

function C:init(mgr, ...)
@/lua/ge/extensions/flowgraph/nodes/vehicle/onVehicleReset.lua

function C:init(mgr, ...)
@/lua/ge/extensions/flowgraph/nodes/thread/sendMessage.lua

function C:init()
  self.savePins = true
@/lua/ge/extensions/gameplay/rally/notebook/structured.lua

function C:init()
  self.fields = {}
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/vehicle/vehicleMapData.lua

function C:init(mgr, ...)
end
@/lua/vehicle/protocols.lua
  if type(protocol.module.init) == "function" then
    protocol.module.init()
  end
local filesCache
local function init()
  destroy()
local function settingsChanged()
  init()
end
@/lua/ge/extensions/flowgraph/nodes/career/menuClosed.lua

function C:init()
  self.flags = {}
@/lua/ge/extensions/flowgraph/nodes/debug/multiFlow.lua
C.tags = {'util'}
function C:init()
  self.data.logOnWork = false
@/lua/ge/extensions/flowgraph/nodes/util/file/loadData.lua

function C:init(mgr)
  self.savePins = true
@/lua/ge/extensions/flowgraph/nodes/util/file/saveData.lua

function C:init(mgr)
  self.savePins = true
@/lua/ge/extensions/gameplay/rally/snaproad.lua

function C:init(driveline)
  self._driveline = driveline
  C.__index = C
  o:init(...)
  return o
@/lua/ge/extensions/flowgraph/nodes/gameplay/decalPath.lua

function C:init()
end
@/ui/lib/ext/angular-material/angular-material.min.js
A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff",contrastDefaultColor:"light",contrastDarkColors:"100 200 300 400 A100",contrastStrongLightColors:"500 600 700 A200 A400 A700"},"light-blue":{50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900 A700",contrastStrongLightColors:"500 600 700 800 A700"},cyan:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700 800"},teal:{50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",A100:"#a7ffeb",A200:"#64ffda",A400:"#1de9b6",A700:"#00bfa5",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},green:{50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},"light-green":{50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",A100:"#ccff90",A200:"#b2ff59",A400:"#76ff03",A700:"#64dd17",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},lime:{50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",A100:"#f4ff81",A200:"#eeff41",A400:"#c6ff00",A700:"#aeea00",contrastDefaultColor:"dark",contrastLightColors:"900",contrastStrongLightColors:"900"},yellow:{50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",A100:"#ffff8d",A200:"#ffff00",A400:"#ffea00",A700:"#ffd600",contrastDefaultColor:"dark"},amber:{50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",A100:"#ffe57f",A200:"#ffd740",A400:"#ffc400",A700:"#ffab00",contrastDefaultColor:"dark"},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},"deep-orange":{50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200",contrastStrongLightColors:"500 600 700 800 900 A400 A700"},brown:{50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037",contrastDefaultColor:"light",contrastDarkColors:"50 100 200",contrastStrongLightColors:"300 400"},grey:{50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",1000:"#000000",A100:"#ffffff",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161",contrastDefaultColor:"dark",contrastLightColors:"600 700 800 900"},"blue-grey":{50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300",contrastStrongLightColors:"400 500"}})}(),function(){function e(e){function o(e,t){return t=t||{},m[e]=a(e,t),g}function r(e,n){return a(e,t.extend({},m[e]||{},n))}function a(e,t){var n=C.filter(function(e){return!t[e]});if(n.length)throw new Error("Missing colors %1 in palette %2!".replace("%1",n.join(", ")).replace("%2",e));return t}function d(e,n){if(s[e])return s[e];n=n||"default";var o="string"==typeof n?s[n]:n,r=new c(e);return o&&t.forEach(o.colors,function(e,n){r.colors[n]={name:e.name,hues:t.extend({},e.hues)}}),s[e]=r,r}function c(e){function n(e){if(e=0===arguments.length?!0:!!e,e!==o.isDark){o.isDark=e,o.foregroundPalette=o.isDark?f:p,o.foregroundShadow=o.isDark?h:b;var n=o.isDark?T:A,r=o.isDark?A:T;return t.forEach(n,function(e,t){var n=o.colors[t],i=r[t];if(n)for(var a in n.hues)n.hues[a]===i[a]&&(n.hues[a]=e[a])}),o}}var o=this;o.name=e,o.colors={},o.dark=n,n(!1),M.forEach(function(e){var n=(o.isDark?T:A)[e];o[e+"Palette"]=function(r,i){var a=o.colors[e]={name:r,hues:t.extend({},n,i)};return Object.keys(a.hues).forEach(function(e){if(!n[e])throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4".replace("%1",e).replace("%2",o.name).replace("%3",r).replace("%4",Object.keys(n).join(", ")))}),Object.keys(a.hues).map(function(e){return a.hues[e]}).forEach(function(t){if(-1==C.indexOf(t))throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5".replace("%1",t).replace("%2",o.name).replace("%3",e).replace("%4",r).replace("%5",C.join(", ")))}),o},o[e+"Color"]=function(){var t=Array.prototype.slice.call(arguments);return console.warn("$mdThemingProviderTheme."+e+"Color() has been deprecated. Use $mdThemingProviderTheme."+e+"Palette() instead."),o[e+"Palette"].apply(o,t)}})}function u(e,o){function r(e){return e===n||""===e?!0:i.THEMES[e]!==n}function i(t,o){o===n&&(o=t,t=n),t===n&&(t=e),i.inherit(o,o)}return i.inherit=function(n,i){function a(e){r(e)||o.warn("Attempted to use unregistered theme '"+e+"'. Register it with $mdThemingProvider.theme().");var t=n.data("$mdThemeName");t&&n.removeClass("md-"+t+"-theme"),n.addClass("md-"+e+"-theme"),n.data("$mdThemeName",e),d&&n.data("$mdThemeController",d)}var d=i.controller("mdTheme"),c=n.attr("md-theme-watch");if((v||t.isDefined(c))&&"false"!=c){var l=e.$watch(function(){return d&&d.$mdTheme||E},a);n.on("$destroy",l)}else{var m=d&&d.$mdTheme||E;a(m)}},i.THEMES=t.extend({},s),i.defaultTheme=function(){return E},i.registered=r,i}m={},s={};var g,E="default",v=!1;return t.extend(m,e),u.$inject=["$rootScope","$log"],g={definePalette:o,extendPalette:r,theme:d,setDefaultTheme:function(e){E=e},alwaysWatchTheme:function(e){v=e},$get:u,_LIGHT_DEFAULT_HUES:A,_DARK_DEFAULT_HUES:T,_PALETTES:m,_THEMES:s,_parseRules:i,_rgba:l}}function o(e,t,n){return{priority:100,link:{pre:function(o,r,i){var a={$setTheme:function(t){e.registered(t)||n.warn("attempted to use unregistered theme '"+t+"'"),a.$mdTheme=t}};r.data("$mdThemeController",a),a.$setTheme(t(i.mdTheme)(o)),i.$observe("mdTheme",a.$setTheme)}}}}function r(e){return e}function i(e,n,o){d(e,n),o=o.replace(/THEME_NAME/g,e.name);var r=[],i=e.colors[n],a=new RegExp(".md-"+e.name+"-theme","g"),c=new RegExp("('|\")?{{\\s*("+n+")-(color|contrast)-?(\\d\\.?\\d*)?\\s*}}(\"|')?","g"),s=/'?"?\{\{\s*([a-zA-Z]+)-(A?\d+|hue\-[0-3]|shadow)-?(\d\.?\d*)?\s*\}\}'?"?/g,u=m[i.name];return o=o.replace(s,function(t,n,o,r){return"foreground"===n?"shadow"==o?e.foregroundShadow:e.foregroundPalette[o]||e.foregroundPalette[1]:(0===o.indexOf("hue")&&(o=e.colors[n].hues[o]),l((m[e.colors[n].name][o]||"").value,r))}),t.forEach(i.hues,function(t,n){var i=o.replace(c,function(e,n,o,r,i){return l(u[t]["color"===r?"value":"contrast"],i)});"default"!==n&&(i=i.replace(a,".md-"+e.name+"-theme.md-"+n)),"default"==e.name&&(i=i.replace(/\.md-default-theme/g,"")),r.push(i)}),r}function a(e){function n(e){var n=e.contrastDefaultColor,o=e.contrastLightColors||[],r=e.contrastStrongLightColors||[],i=e.contrastDarkColors||[];"string"==typeof o&&(o=o.split(" ")),"string"==typeof r&&(r=r.split(" ")),"string"==typeof i&&(i=i.split(" ")),delete e.contrastDefaultColor,delete e.contrastLightColors,delete e.contrastStrongLightColors,delete e.contrastDarkColors,t.forEach(e,function(a,d){function l(){return"light"===n?i.indexOf(d)>-1?g:r.indexOf(d)>-1?v:E:o.indexOf(d)>-1?r.indexOf(d)>-1?v:E:g}if(!t.isObject(a)){var m=c(a);if(!m)throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.".replace("%1",a).replace("%2",e.name).replace("%3",d));e[d]={value:m,contrast:l()}}})}var o=document.getElementsByTagName("head")[0],r=o?o.firstElementChild:null,a=e.has("$MD_THEME_CSS")?e.get("$MD_THEME_CSS"):"";if(r&&0!==a.length){t.forEach(m,n);var d={},l=a.split(/\}(?!(\}|'|"|;))/).filter(function(e){return e&&e.length}).map(function(e){return e.trim()+"}"}),p=new RegExp("md-("+M.join("|")+")","g");M.forEach(function(e){d[e]=""}),l.forEach(function(e){for(var t,n=(e.match(p),0);t=M[n];n++)if(e.indexOf(".md-"+t)>-1)return d[t]+=e;for(n=0;t=M[n];n++)if(e.indexOf(t)>-1)return d[t]+=e;return d[$]+=e}),t.forEach(s,function(e){u[e.name]||(M.forEach(function(t){for(var n=i(e,t,d[t]);n.length;){var a=document.createElement("style");a.setAttribute("type","text/css"),a.appendChild(document.createTextNode(n.shift())),o.insertBefore(a,r)}}),e.colors.primary.name==e.colors.accent.name&&console.warn("$mdThemingProvider: Using the same palette for primary and accent. This violates the material design spec."),u[e.name]=!0)})}}function d(e,t){if(!m[(e.colors[t]||{}).name])throw new Error("You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3".replace("%1",e.name).replace("%2",t).replace("%3",Object.keys(m).join(", ")))}function c(e){if(t.isArray(e)&&3==e.length)return e;if(/^rgb/.test(e))return e.replace(/(^\s*rgba?\(|\)\s*$)/g,"").split(",").map(function(e,t){return 3==t?parseFloat(e,10):parseInt(e,10)});if("#"==e.charAt(0)&&(e=e.substring(1)),/^([a-fA-F0-9]{3}){1,2}$/g.test(e)){var n=e.length/3,o=e.substr(0,n),r=e.substr(n,n),i=e.substr(2*n);return 1===n&&(o+=o,r+=r,i+=i),[parseInt(o,16),parseInt(r,16),parseInt(i,16)]}}function l(e,n){return e?(4==e.length&&(e=t.copy(e),n?e.pop():n=e.pop()),n&&("number"==typeof n||"string"==typeof n&&n.length)?"rgba("+e.join(",")+","+n+")":"rgb("+e.join(",")+")"):"rgb('0,0,0')"}t.module("material.core.theming",["material.core.theming.palette"]).directive("mdTheme",o).directive("mdThemable",r).provider("$mdTheming",e).run(a);var m,s,u={},p={name:"dark",1:"rgba(0,0,0,0.87)",2:"rgba(0,0,0,0.54)",3:"rgba(0,0,0,0.26)",4:"rgba(0,0,0,0.12)"},f={name:"light",1:"rgba(255,255,255,1.0)",2:"rgba(255,255,255,0.7)",3:"rgba(255,255,255,0.3)",4:"rgba(255,255,255,0.12)"},h="1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)",b="",g=c("rgba(0,0,0,0.87)"),E=c("rgba(255,255,255,0.87"),v=c("rgb(255,255,255)"),M=["primary","accent","warn","background"],$="primary",A={accent:{"default":"A200","hue-1":"A100","hue-2":"A400","hue-3":"A700"},background:{"default":"A100","hue-1":"300","hue-2":"800","hue-3":"900"}},T={background:{"default":"800","hue-1":"300","hue-2":"600","hue-3":"900"}};M.forEach(function(e){var t={"default":"500","hue-1":"300","hue-2":"800","hue-3":"A100"};A[e]||(A[e]=t),T[e]||(T[e]=t)});var C=["50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700"];e.$inject=["$mdColorPalette"],o.$inject=["$mdTheming","$interpolate","$log"],r.$inject=["$mdTheming"],a.$inject=["$injector"]}(),function(){t.module("material.components.autocomplete",["material.core","material.components.icon"])}(),function(){function e(){return{restrict:"E"}}function n(e){function n(e,n,i,a,d,c,l){function m(o,r,l){r=i.extractElementByName(r,"md-bottom-sheet"),p=i.createBackdrop(o,"md-bottom-sheet-backdrop md-opaque"),p.on("click",function(){i.nextTick(d.cancel,!0)}),a.inherit(p,l.parent),e.enter(p,l.parent,null);var m=new u(r,l.parent);return l.bottomSheet=m,l.targetEvent&&t.element(l.targetEvent.target).blur(),a.inherit(m.element,l.parent),l.disableParentScroll&&(l.lastOverflow=l.parent.css("overflow"),l.parent.css("overflow","hidden")),e.enter(m.element,l.parent).then(function(){var e=t.element(r[0].querySelector("button")||r[0].querySelector("a")||r[0].querySelector("[ng-click]"));e.focus(),l.escapeToClose&&(l.rootElementKeyupCallback=function(e){e.keyCode===n.KEY_CODE.ESCAPE&&i.nextTick(d.cancel,!0)},c.on("keyup",l.rootElementKeyupCallback))})}function s(n,o,r){var i=r.bottomSheet;return e.leave(p),e.leave(i.element).then(function(){r.disableParentScroll&&(r.parent.css("overflow",r.lastOverflow),delete r.lastOverflow),i.cleanup(),r.targetEvent&&t.element(r.targetEvent.target).focus()})}function u(e,t){function a(t){e.css(n.CSS.TRANSITION_DURATION,"0ms")}function c(t){var o=t.pointer.distanceY;5>o&&(o=Math.max(-r,o/2)),e.css(n.CSS.TRANSFORM,"translate3d(0,"+(r+o)+"px,0)")}function m(t){if(t.pointer.distanceY>0&&(t.pointer.distanceY>20||Math.abs(t.pointer.velocityY)>o)){var r=e.prop("offsetHeight")-t.pointer.distanceY,a=Math.min(r/t.pointer.velocityY*.75,500);e.css(n.CSS.TRANSITION_DURATION,a+"ms"),i.nextTick(d.cancel,!0)}else e.css(n.CSS.TRANSITION_DURATION,""),e.css(n.CSS.TRANSFORM,"")}var s=l.register(t,"drag",{horizontal:!1});return t.on("$md.dragstart",a).on("$md.drag",c).on("$md.dragend",m),{element:e,cleanup:function(){s(),t.off("$md.dragstart",a).off("$md.drag",c).off("$md.dragend",m)}}}var p;return{themable:!0,targetEvent:null,onShow:m,onRemove:s,escapeToClose:!0,disableParentScroll:!0}}var o=.5,r=80;return n.$inject=["$animate","$mdConstant","$mdUtil","$mdTheming","$mdBottomSheet","$rootElement","$mdGesture"],e("$mdBottomSheet").setDefaults({methods:["disableParentScroll","escapeToClose","targetEvent"],options:n})}t.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",e).provider("$mdBottomSheet",n),n.$inject=["$$interimElementProvider"]}(),function(){t.module("material.components.backdrop",["material.core"]).directive("mdBackdrop",["$mdTheming","$animate","$rootElement","$window","$log","$$rAF","$document",function(e,t,n,o,r,i,a){function d(d,l,m){var s=o.getComputedStyle(a[0].body);if("fixed"==s.position){var u=parseInt(s.height,10)+Math.abs(parseInt(s.top,10));l.css({height:u+"px"})}t.pin&&t.pin(l,n),i(function(){var t=l.parent()[0];if(t){var n=o.getComputedStyle(t);"static"==n.position&&r.warn(c)}e.inherit(l,l.parent())})}var c=" may not work properly in a scrolled, static-positioned parent container.";return{restrict:"E",link:d}}])}(),function(){function e(e){return{restrict:"E",link:function(t,n,o){e(n)}}}t.module("material.components.card",["material.core"]).directive("mdCard",e),e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r,i,a,d){function c(n,c){return c.type="checkbox",c.tabindex=c.tabindex||"0",n.attr("role",c.type),function(n,c,m,s){function u(e,t,o){m[e]&&n.$watch(m[e],function(e){o[e]&&c.attr(t,o[e])})}function p(e){var t=e.which||e.keyCode;(t===r.KEY_CODE.SPACE||t===r.KEY_CODE.ENTER)&&(e.preventDefault(),c.hasClass("md-focused")||c.addClass("md-focused"),f(e))}function f(e){c[0].hasAttribute("disabled")||n.$apply(function(){var t=m.ngChecked?m.checked:!s.$viewValue;s.$setViewValue(t,e&&e.type),s.$render()})}function h(){s.$viewValue?c.addClass(l):c.removeClass(l)}s=s||a.fakeNgModel(),i(c),m.ngChecked&&n.$watch(n.$eval.bind(n,m.ngChecked),s.$setViewValue.bind(s)),u("ngDisabled","tabindex",{"true":"-1","false":m.tabindex}),o.expectWithText(c,"aria-label"),e.link.pre(n,{on:t.noop,0:{}},m,[s]),n.mouseActive=!1,c.on("click",f).on("keypress",p).on("mousedown",function(){n.mouseActive=!0,d(function(){n.mouseActive=!1},100)}).on("focus",function(){n.mouseActive===!1&&c.addClass("md-focused")}).on("blur",function(){c.removeClass("md-focused")}),s.$render=h}}e=e[0];var l="md-checked";return{restrict:"E",transclude:!0,require:"?ngModel",priority:210,template:'
',compile:c}}t.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",e),e.$inject=["inputDirective","$mdInkRipple","$mdAria","$mdConstant","$mdTheming","$mdUtil","$timeout"]}(),function(){function e(e){function t(e,t){this.$scope=e,this.$element=t}return{restrict:"E",controller:["$scope","$element",t],link:function(t,o,r){o[0];e(o),t.$broadcast("$mdContentLoaded",o),n(o[0])}}}function n(e){t.element(e).on("$md.pressdown",function(t){"t"===t.pointer.type&&(t.$materialScrollFixed||(t.$materialScrollFixed=!0,0===e.scrollTop?e.scrollTop=1:e.scrollHeight===e.scrollTop+e.offsetHeight&&(e.scrollTop-=1)))})}t.module("material.components.content",["material.core"]).directive("mdContent",e),e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r){function i(e){return t.isDefined(e.href)||t.isDefined(e.ngHref)||t.isDefined(e.ngLink)||t.isDefined(e.uiSref)}function a(e,t){return i(t)?'':''}function d(a,d,c){var l=d[0];n(d),e.attach(a,d);var m=l.textContent.trim();m||o.expect(d,"aria-label"),i(c)&&t.isDefined(c.ngDisabled)&&a.$watch(c.ngDisabled,function(e){d.attr("tabindex",e?-1:0)}),d.on("click",function(e){c.disabled===!0&&(e.preventDefault(),e.stopImmediatePropagation())}),a.mouseActive=!1,d.on("mousedown",function(){a.mouseActive=!0,r(function(){a.mouseActive=!1},100)}).on("focus",function(){a.mouseActive===!1&&d.addClass("md-focused")}).on("blur",function(){d.removeClass("md-focused")})}return{restrict:"EA",replace:!0,transclude:!0,template:a,link:d}}t.module("material.components.button",["material.core"]).directive("mdButton",e),e.$inject=["$mdButtonInkRipple","$mdTheming","$mdAria","$timeout"]}(),function(){function e(e){return{restrict:"E",link:e}}t.module("material.components.divider",["material.core"]).directive("mdDivider",e),e.$inject=["$mdTheming"]}(),function(){t.module("material.components.chips",["material.core","material.components.autocomplete"])}(),function(){function e(e,n){return{restrict:"E",link:function(o,r,i){n(r),e(function(){function e(){r.toggleClass("md-content-overflow",o.scrollHeight>o.clientHeight)}var n,o=r[0].querySelector("md-dialog-content");o&&(n=o.getElementsByTagName("img"),e(),t.element(n).on("load",e))})}}}function n(e){function n(e,t){return{template:['',' ','

{{ dialog.title }}

',"

{{ dialog.content }}

","
",'
',' '," {{ dialog.cancel }}"," ",' '," {{ dialog.ok }}"," ","
","
"].join("").replace(/\s\s+/g,""),controller:function(){this.hide=function(){e.hide(!0)},this.abort=function(){e.cancel()}},controllerAs:"dialog",bindToController:!0,theme:t.defaultTheme()}}function o(e,n,o,r,i,a,d,c){function l(e,n,r){function i(){function e(){var e=n[0].querySelector(".dialog-close");if(!e){var o=n[0].querySelectorAll(".md-actions button");e=o[o.length-1]}return t.element(e)}if(r.focusOnOpen){var o="alert"===r.$type?n.find("md-dialog-content"):e();o.focus()}}return n=o.extractElementByName(n,"md-dialog"),t.element(a[0].body).addClass("md-dialog-is-showing"),s(n,r),f(n.find("md-dialog"),r),p(e,n,r),g(n,r).then(function(){u(n,r),h(n,r),i()})}function m(e,n,o){return o.deactivateListeners(),o.unlockScreenReader(),o.hideBackdrop(),E(n,o)["finally"](function(){t.element(a[0].body).removeClass("md-dialog-is-showing"),n.remove(),o.origin.focus()})}function s(e,n){var r={element:null,bounds:null,focus:t.noop};n.origin=t.extend({},r,n.origin||{});var i=t.element((n.targetEvent||{}).target);i&&i.length&&(n.origin.element=i,n.origin.bounds=i[0].getBoundingClientRect(),n.origin.focus=function(){i.focus()}),n.parent=t.element(n.parent||c),n.disableParentScroll&&(n.restoreScroll=o.disableScrollAround(e,n.parent))}function u(t,n){var i=[],a=function(){var t="alert"==n.$type?e.hide:e.cancel;o.nextTick(t,!0)};if(n.escapeToClose){var d=n.parent,c=function(e){e.keyCode===r.KEY_CODE.ESCAPE&&(e.stopPropagation(),e.preventDefault(),a())};t.on("keyup",c),d.on("keyup",c),i.push(function(){t.off("keyup",c),d.off("keyup",c)})}if(n.clickOutsideToClose){var d=t,l=function(e){e.target===d[0]&&(e.stopPropagation(),e.preventDefault(),a())};d.on("click",l),i.push(function(){d.off("click",l)})}n.deactivateListeners=function(){i.forEach(function(e){e()}),n.deactivateListeners=null}}function p(e,t,n){n.hasBackdrop&&(n.backdrop=o.createBackdrop(e,"md-dialog-backdrop md-opaque"),i.enter(n.backdrop,n.parent)),n.hideBackdrop=function(){n.backdrop&&i.leave(n.backdrop),n.disableParentScroll&&n.restoreScroll(),n.hideBackdrop=null}}function f(e,t){var r="alert"===t.$type?"alertdialog":"dialog",i=e.find("md-dialog-content"),a=e.attr("id")||"dialog_"+o.nextUid();e.attr({role:r,tabIndex:"-1"}),0===i.length&&(i=e),i.attr("id",a),e.attr("aria-describedby",a),t.ariaLabel?n.expect(e,"aria-label",t.ariaLabel):n.expectAsync(e,"aria-label",function(){var e=i.text().split(/\s+/);return e.length>3&&(e=e.slice(0,3).concat("...")),e.join(" ")})}function h(e,t){function n(e){for(;e.parentNode;){if(e===document.body)return;for(var t=e.parentNode.children,r=0;r'+e+"
"}}}return n.$inject=["$mdDialog","$mdTheming"],o.$inject=["$mdDialog","$mdAria","$mdUtil","$mdConstant","$animate","$document","$window","$rootElement"],e("$mdDialog").setDefaults({methods:["disableParentScroll","hasBackdrop","clickOutsideToClose","escapeToClose","targetEvent","parent"],options:o}).addPreset("alert",{methods:["title","content","ariaLabel","ok","theme"],options:n}).addPreset("confirm",{methods:["title","content","ariaLabel","ok","cancel","theme"],options:n})}t.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",e).provider("$mdDialog",n),e.$inject=["$$rAF","$mdTheming"],n.$inject=["$$interimElementProvider"]}(),function(){!function(){function e(){function e(e,t){t.prepend('
')}function t(e,t,n,o){function r(){d.direction=d.direction||"down",d.isOpen=d.isOpen||!1}function i(){t.on("mouseenter",d.mouseenter),t.on("mouseleave",d.mouseleave)}function a(){e.$watch("vm.direction",function(e,o){n.removeClass(t,"md-"+o),n.addClass(t,"md-"+e)}),e.$watch("vm.isOpen",function(e){var o=e?"md-is-open":"",r=e?"":"md-is-open";n.setClass(t,o,r)})}var d=this;d.open=function(){e.$evalAsync("vm.isOpen = true")},d.close=function(){!d.moused&&e.$evalAsync("vm.isOpen = false")},d.mouseenter=function(){d.moused=!0,d.open()},d.mouseleave=function(){d.moused=!1,d.close()},r(),i(),a(),o.nextTick(function(){n.addClass(t,"md-noop")})}return t.$inject=["$scope","$element","$animate","$mdUtil"],{restrict:"E",scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:t,controllerAs:"vm",link:e}}function n(){function e(e){var n=e[0],o=e.controller("mdFabSpeedDial"),r=n.querySelectorAll(".md-fab-action-item"),i=n.querySelector(".md-css-variables"),a=i.style.zIndex;t.forEach(r,function(e,t){var n=e.style;n.transform=n.webkitTransform="",n.transitionDelay="",n.opacity=1,n.zIndex=r.length-t+a}),o.isOpen||t.forEach(r,function(e,t){var n,r,i=e.style;switch(o.direction){case"up":n=e.scrollHeight*(t+1),r="Y";break;case"down":n=-e.scrollHeight*(t+1),r="Y";break;case"left":n=e.scrollWidth*(t+1),r="X";break;case"right":n=-e.scrollWidth*(t+1),r="X"}var a="translate"+r+"("+n+"px)";i.transform=i.webkitTransform=a})}return{addClass:function(t,n,o){t.hasClass("md-fling")&&(e(t),o())},removeClass:function(t,n,o){e(t),o()}}}function o(){function e(e){var o=e[0],r=e.controller("mdFabSpeedDial"),i=o.querySelectorAll(".md-fab-action-item");t.forEach(i,function(e,t){var o=e.style,a=t*n;o.opacity=r.isOpen?1:0,o.transform=o.webkitTransform=r.isOpen?"scale(1)":"scale(0)",o.transitionDelay=(r.isOpen?a:i.length-a)+"ms"})}var n=65;return{addClass:function(t,n,o){e(t),o()},removeClass:function(t,n,o){e(t),o()}}}t.module("material.components.fabSpeedDial",["material.core","material.components.fabTrigger","material.components.fabActions"]).directive("mdFabSpeedDial",e).animation(".md-fling",n).animation(".md-scale",o).service("mdFabSpeedDialFlingAnimation",n).service("mdFabSpeedDialScaleAnimation",o)}()}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],compile:function(e,n){var o=e.children();return o.attr("ng-repeat")?o.addClass("md-fab-action-item"):o.wrap('
'),function(e,n,o,r){var i=r[0]||r[1];i&&t.forEach(n.children(),function(e){e=t.element(e).children()[0],t.element(e).on("focus",i.open),t.element(e).on("blur",i.close)})}}}}t.module("material.components.fabActions",["material.core"]).directive("mdFabActions",e)}()}(),function(){!function(){function n(){function e(e,t,n){var o=this;o.isOpen=o.isOpen||!1,o.open=function(){o.isOpen=!0,e.$apply()},o.close=function(){o.isOpen=!1,e.$apply()},t.addClass("md-fab-toolbar"),t.on("mouseenter",o.open),t.on("mouseleave",o.close),e.$watch("vm.isOpen",function(e){var o=e?"md-is-open":"",r=e?"":"md-is-open";n.setClass(t,o,r)})}function t(e,t,n){t.find("md-fab-trigger").find("button").attr("tabindex","-1"),t.find("md-fab-trigger").find("button").prepend('
')}return e.$inject=["$scope","$element","$animate"],{restrict:"E",transclude:!0,template:'
',scope:{isOpen:"=?mdOpen"},bindToController:!0,controller:e,controllerAs:"vm",link:t}}function o(){function n(n,o,r){var i=n[0],a=n.controller("mdFabToolbar"),d=i.querySelector(".md-fab-toolbar-background"),c=i.querySelector("md-fab-trigger button"),l=i.querySelector("md-fab-trigger button md-icon"),m=n.find("md-fab-actions").children();if(c&&d){var s=e.getComputedStyle(c).getPropertyValue("background-color"),u=i.offsetWidth,p=(i.offsetHeight,2*u);d.style.backgroundColor=s,d.style.borderRadius=u+"px",a.isOpen?(d.style.width=p+"px",d.style.height=p+"px",d.style.top=-(p/2)+"px",n.hasClass("md-left")&&(d.style.left=-(p/2)+"px",d.style.right=null),n.hasClass("md-right")&&(d.style.right=-(p/2)+"px",d.style.left=null),d.style.transitionDelay="0ms",l&&(l.style.transitionDelay=".3s"),t.forEach(m,function(e,t){e.style.transitionDelay=25*(m.length-t)+"ms"})):(d.style.width=c.offsetWidth+"px",d.style.height=c.offsetHeight+"px",d.style.top="0px",n.hasClass("md-left")&&(d.style.left="0px",d.style.right=null),n.hasClass("md-right")&&(d.style.right="0px",d.style.left=null),d.style.transitionDelay="200ms",l&&(l.style.transitionDelay="0ms"),t.forEach(m,function(e,t){e.style.transitionDelay=25*t+"ms"}))}}return{addClass:function(e,t,o){n(e,t,o),o()},removeClass:function(e,t,o){n(e,t,o),o()}}}t.module("material.components.fabToolbar",["material.core","material.components.fabTrigger","material.components.fabActions"]).directive("mdFabToolbar",n).animation(".md-fab-toolbar",o).service("mdFabToolbarAnimation",o)}()}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],link:function(e,n,o,r){var i=r[0]||r[1];i&&t.forEach(n.children(),function(e){t.element(e).on("focus",i.open),t.element(e).on("blur",i.close)})}}}t.module("material.components.fabTrigger",["material.core"]).directive("mdFabTrigger",e)}()}(),function(){function e(e,o,r,i){function a(n,a,d,c){function l(){for(var e in o.MEDIA)i(e),i.getQuery(o.MEDIA[e]).addListener(T);return i.watchResponsiveAttributes(["md-cols","md-row-height"],d,s)}function m(){c.layoutDelegate=t.noop,C();for(var e in o.MEDIA)i.getQuery(o.MEDIA[e]).removeListener(T)}function s(e){null==e?c.invalidateLayout():i(e)&&c.invalidateLayout()}function u(e){var o=b(),i={tileSpans:g(o),colCount:E(),rowMode:$(),rowHeight:M(),gutter:v()};if(e||!t.equals(i,y)){var d=r(i.colCount,i.tileSpans,o).map(function(e,n){return{grid:{element:a,style:h(i.colCount,n,i.gutter,i.rowMode,i.rowHeight)},tiles:e.map(function(e,n){return{element:t.element(o[n]),style:f(e.position,e.spans,i.colCount,i.rowCount,i.gutter,i.rowMode,i.rowHeight)}})}}).reflow().performance();n.mdOnLayout({$event:{performance:d}}),y=i}}function p(e){return w+e+k}function f(e,t,n,o,r,i,a){var d=1/n*100,c=(n-1)/n,l=x({share:d,gutterShare:c,gutter:r}),m={left:N({unit:l,offset:e.col,gutter:r}),width:_({unit:l,span:t.col,gutter:r}),paddingTop:"",marginTop:"",top:"",height:""};switch(i){case"fixed":m.top=N({unit:a,offset:e.row,gutter:r}),m.height=_({unit:a,span:t.row,gutter:r});break;case"ratio":var s=d/a,u=x({share:s,gutterShare:c,gutter:r});m.paddingTop=_({unit:u,span:t.row,gutter:r}),m.marginTop=N({unit:u,offset:e.row,gutter:r});break;case"fit":var p=(o-1)/o,s=1/o*100,u=x({share:s,gutterShare:p,gutter:r});m.top=N({unit:u,offset:e.row,gutter:r}),m.height=_({unit:u,span:t.row,gutter:r})}return m}function h(e,t,n,o,r){var i={height:"",paddingBottom:""};switch(o){case"fixed":i.height=_({unit:r,span:t,gutter:n});break;case"ratio":var a=1===e?0:(e-1)/e,d=1/e*100,c=d*(1/r),l=x({share:c,gutterShare:a,gutter:n});i.paddingBottom=_({unit:l,span:t,gutter:n});break;case"fit":}return i}function b(){return[].filter.call(a.children(),function(e){return"MD-GRID-TILE"==e.tagName})}function g(e){return[].map.call(e,function(e){var n=t.element(e).controller("mdGridTile");return{row:parseInt(i.getResponsiveAttribute(n.$attrs,"md-rowspan"),10)||1,col:parseInt(i.getResponsiveAttribute(n.$attrs,"md-colspan"),10)||1}})}function E(){var e=parseInt(i.getResponsiveAttribute(d,"md-cols"),10);if(isNaN(e))throw"md-grid-list: md-cols attribute was not found, or contained a non-numeric value";return e}function v(){return A(i.getResponsiveAttribute(d,"md-gutter")||1)}function M(){var e=i.getResponsiveAttribute(d,"md-row-height");switch($()){case"fixed":return A(e);case"ratio":var t=e.split(":");return parseFloat(t[0])/parseFloat(t[1]);case"fit":return 0}}function $(){var e=i.getResponsiveAttribute(d,"md-row-height");return"fit"==e?"fit":-1!==e.indexOf(":")?"ratio":"fixed"}function A(e){return/\D$/.test(e)?e:e+"px"}a.attr("role","list"),c.layoutDelegate=u;var T=t.bind(c,c.invalidateLayout),C=l();n.$on("$destroy",m);var y,w=e.startSymbol(),k=e.endSymbol(),x=e(p("share")+"% - ("+p("gutter")+" * "+p("gutterShare")+")"),N=e("calc(("+p("unit")+" + "+p("gutter")+") * "+p("offset")+")"),_=e("calc(("+p("unit")+") * "+p("span")+" + ("+p("span")+" - 1) * "+p("gutter")+")")}return{restrict:"E",controller:n, scope:{mdOnLayout:"&"},link:a}}function n(e){this.layoutInvalidated=!1,this.tilesInvalidated=!1,this.$timeout_=e.nextTick,this.layoutDelegate=t.noop}function o(e){function n(t,n){var o,a,d,c,l,m;return c=e.time(function(){a=r(t,n)}),o={layoutInfo:function(){return a},map:function(t){return l=e.time(function(){var e=o.layoutInfo();d=t(e.positioning,e.rowCount)}),o},reflow:function(t){return m=e.time(function(){var e=t||i;e(d.grid,d.tiles)}),o},performance:function(){return{tileCount:n.length,layoutTime:c,mapTime:l,reflowTime:m,totalTime:c+l+m}}}}function o(e,t){e.element.css(e.style),t.forEach(function(e){e.element.css(e.style)})}function r(e,t){function n(t,n){if(t.col>e)throw"md-grid-list: Tile at position "+n+" has a colspan ("+t.col+") that exceeds the column count ("+e+")";for(var a=0,m=0;m-a=e?o():(a=l.indexOf(0,d),-1!==a&&-1!==(m=i(a+1))?d=m+1:(a=m=0,o()));return r(a,t.col,t.row),d=a+t.col,{col:a,row:c}}function o(){d=0,c++,r(0,e,-1)}function r(e,t,n){for(var o=e;e+t>o;o++)l[o]=Math.max(l[o]+n,0)}function i(e){var t;for(t=e;tn;n++)t.push(0);return t}var d=0,c=0,l=a();return{positioning:t.map(function(e,t){return{spans:e,position:n(e,t)}}),rowCount:c+Math.max.apply(Math,l)}}var i=o;return n.animateWith=function(e){i=t.isFunction(e)?e:o},n}function r(e){function n(n,o,r,i){o.attr("role","listitem");var a=e.watchResponsiveAttributes(["md-colspan","md-rowspan"],r,t.bind(i,i.invalidateLayout));i.invalidateTiles(),n.$on("$destroy",function(){a(),i.invalidateLayout()}),t.isDefined(n.$parent.$index)&&n.$watch(function(){return n.$parent.$index},function(e,t){e!==t&&i.invalidateTiles()})}return{restrict:"E",require:"^mdGridList",template:"
",transclude:!0,scope:{},controller:["$attrs",function(e){this.$attrs=e}],link:n}}function i(){return{template:"
",transclude:!0}}t.module("material.components.gridList",["material.core"]).directive("mdGridList",e).directive("mdGridTile",r).directive("mdGridTileFooter",i).directive("mdGridTileHeader",i).factory("$mdGridLayout",o),e.$inject=["$interpolate","$mdConstant","$mdGridLayout","$mdMedia"],n.$inject=["$mdUtil"],n.prototype={invalidateTiles:function(){this.tilesInvalidated=!0,this.invalidateLayout()},invalidateLayout:function(){this.layoutInvalidated||(this.layoutInvalidated=!0,this.$timeout_(t.bind(this,this.layout)))},layout:function(){try{this.layoutDelegate(this.tilesInvalidated)}finally{this.layoutInvalidated=!1,this.tilesInvalidated=!1}}},o.$inject=["$mdUtil"],r.$inject=["$mdMedia"]}(),function(){function e(e,t,n){function o(o,r,i){function a(){var e=r.parent();return e.attr("aria-label")||e.text()?!0:e.parent().attr("aria-label")||e.parent().text()?!0:!1}function d(){function t(){return!o.fontIcon&&!o.fontSet&&!i.hasOwnProperty("class")}o.svgIcon||o.svgSrc||(o.fontIcon&&r.addClass("md-font "+o.fontIcon),o.fontSet&&r.addClass(e.fontSet(o.fontSet)),t()&&r.addClass(e.fontSet()))}t(r),d();var c=i.alt||o.fontIcon||o.svgIcon||r.text(),l=i.$normalize(i.$attr.mdSvgIcon||i.$attr.mdSvgSrc||"");i["aria-label"]||(""==c||a()?r.text()||n.expect(r,"aria-hidden","true"):(n.expect(r,"aria-label",c),n.expect(r,"role","img"))),l&&i.$observe(l,function(t){r.empty(),t&&e(t).then(function(e){r.append(e)})})}return{scope:{fontSet:"@mdFontSet",fontIcon:"@mdFontIcon",svgIcon:"@mdSvgIcon",svgSrc:"@mdSvgSrc"},restrict:"E",link:o}}t.module("material.components.icon",["material.core"]).directive("mdIcon",e),e.$inject=["$mdIcon","$mdTheming","$mdAria"]}(),function(){function e(){}function n(e,t){this.url=e,this.viewBoxSize=t||r.defaultViewBoxSize}function o(e,n,o,r,i){function a(e){return e=e||"",E[e]?o.when(E[e].clone()):v.test(e)?s(e).then(c(e)):(-1==e.indexOf(":")&&(e="$default:"+e),l(e)["catch"](m)["catch"](u)["catch"](p).then(c(e)))}function d(n){var o=t.isUndefined(n)||!(n&&n.length);if(o)return e.defaultFontSet;var r=n;return t.forEach(e.fontSets,function(e){e.alias==n&&(r=e.fontSet||r)}),r}function c(t){return function(n){return E[t]=f(n)?n:new h(n,e[t]),E[t].clone()}}function l(t){var n=e[t];return n?s(n.url).then(function(e){return new h(e,n)}):o.reject(t)}function m(t){function n(e){var n=t.slice(t.lastIndexOf(":")+1),r=e.querySelector("#"+n);return r?new h(r,i):o.reject(t)}var r=t.substring(0,t.lastIndexOf(":"))||"$default",i=e[r];return i?s(i.url).then(n):o.reject(t)}function s(e){return n.get(e,{cache:i}).then(function(e){return t.element("
").append(e.data).find("svg")[0]})}function u(e){var n;return t.isString(e)&&(n="icon "+e+" not found",r.warn(n)),o.reject(n||e)}function p(e){var n=t.isString(e)?e:e.message||e.data||e.statusText;return r.warn(n),o.reject(n)}function f(e){return t.isDefined(e.element)&&t.isDefined(e.config)}function h(e,n){"svg"!=e.tagName&&(e=t.element('').append(e)[0]),e.getAttribute("xmlns")||e.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.element=e,this.config=n,this.prepare()}function b(){var n=this.config?this.config.viewBoxSize:e.defaultViewBoxSize;t.forEach({fit:"",height:"100%",width:"100%",preserveAspectRatio:"xMidYMid meet",viewBox:this.element.getAttribute("viewBox")||"0 0 "+n+" "+n},function(e,t){this.element.setAttribute(t,e)},this),t.forEach({"pointer-events":"none",display:"block"},function(e,t){this.element.style[t]=e},this)}function g(){return this.element.cloneNode(!0)}var E={},v=/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/i;return h.prototype={clone:g,prepare:b},a.fontSet=d,a}t.module("material.components.icon").provider("$mdIcon",e);var r={defaultViewBoxSize:24,defaultFontSet:"material-icons",fontSets:[]};e.prototype={icon:function(e,t,o){return-1==e.indexOf(":")&&(e="$default:"+e),r[e]=new n(t,o),this},iconSet:function(e,t,o){return r[e]=new n(t,o),this},defaultIconSet:function(e,t){var o="$default";return r[o]||(r[o]=new n(e,t)),r[o].viewBoxSize=t||r.defaultViewBoxSize,this},defaultViewBoxSize:function(e){return r.defaultViewBoxSize=e,this},fontSet:function(e,t){return r.fontSets.push({alias:e,fontSet:t||e}),this},defaultFontSet:function(e){return r.defaultFontSet=e?e:"",this},defaultIconSize:function(e){return r.defaultIconSize=e,this},preloadIcons:function(e){var t=this,n=[{id:"md-tabs-arrow",url:"md-tabs-arrow.svg",svg:''},{id:"md-close",url:"md-close.svg",svg:''},{id:"md-cancel",url:"md-cancel.svg",svg:''},{id:"md-menu",url:"md-menu.svg",svg:''},{id:"md-toggle-arrow",url:"md-toggle-arrow-svg",svg:''}];n.forEach(function(n){t.icon(n.id,n.url),e.put(n.url,n.svg)})},$get:["$http","$q","$log","$templateCache",function(e,t,n,i){return this.preloadIcons(i),o(r,e,t,n,i)}]}}(),function(){function e(e,t){function n(t,n,o){e(n)}function o(e,n,o){var r=this;r.isErrorGetter=o.mdIsError&&t(o.mdIsError),r.delegateClick=function(){r.input.focus()},r.element=n,r.setFocused=function(e){n.toggleClass("md-input-focused",!!e)},r.setHasValue=function(e){n.toggleClass("md-input-has-value",!!e)},r.setInvalid=function(e){n.toggleClass("md-input-invalid",!!e)},e.$watch(function(){return r.label&&r.input},function(e){e&&!r.label.attr("for")&&r.label.attr("for",r.input.attr("id"))})}return o.$inject=["$scope","$element","$attrs"],{restrict:"E",link:n,controller:o}}function n(){return{restrict:"E",require:"^?mdInputContainer",link:function(e,t,n,o){o&&!n.mdNoFloat&&(o.label=t,e.$on("$destroy",function(){o.label=null}))}}}function o(e,n,o){function r(r,i,a,d){function c(e){return s.setHasValue(!u.$isEmpty(e)),e}function l(){s.setHasValue(i.val().length>0||(i[0].validity||{}).badInput)}function m(){function o(e){return h(),e}function a(){if(m.style.height=m.offsetHeight+"px",i.addClass("md-no-flex"),isNaN(p)){l.style.height="auto",l.scrollTop=0;var e=d();e&&(l.style.height=e+"px")}else{l.setAttribute("rows",1),f||(l.style.minHeight="0",f=i.prop("clientHeight"),l.style.minHeight=null);var t=Math.max(p,Math.round(l.scrollHeight/f));l.setAttribute("rows",t)}i.removeClass("md-no-flex"),m.style.height="auto"}function d(){var e=l.scrollHeight-l.offsetHeight;return l.offsetHeight+(e>0?e:0)}function c(e){l.scrollTop=0;var t=l.scrollHeight-l.offsetHeight,n=l.offsetHeight+t;l.style.height=n+"px"}if(!t.isDefined(i.attr("md-no-autogrow"))){var l=i[0],m=s.element[0],p=0/0,f=null;l.hasAttribute("rows")&&(p=parseInt(l.getAttribute("rows")));var h=e.debounce(a,1);u?(u.$formatters.push(o),u.$viewChangeListeners.push(o)):h(),i.on("keydown input",h),isNaN(p)&&(i.attr("rows","1"),i.on("scroll",c)),t.element(n).on("resize",h),r.$on("$destroy",function(){t.element(n).off("resize",h)})}}var s=d[0],u=d[1]||e.fakeNgModel(),p=t.isDefined(a.readonly);if(s){if(s.input)throw new Error(" can only have *one*
');r.$set("ngTrim","false"),l.element.append(m),c.$formatters.push(a),c.$viewChangeListeners.push(a),o.on("input keydown",function(){a()}),n.$watch(r.mdMaxlength,function(n){d=n,t.isNumber(n)&&n>0?(m.parent().length||e.enter(m,l.element,t.element(l.element[0].lastElementChild)),a()):e.leave(m)}),c.$validators["md-maxlength"]=function(e,n){return!t.isNumber(d)||0>d?!0:(e||o.val()||n||"").length<=d}}return{restrict:"A",require:["ngModel","^mdInputContainer"],link:n}}function i(e){function n(n,o,r,i){if(i&&!t.isDefined(i.element.attr("md-no-float"))){var a=r.placeholder;if(o.removeAttr("placeholder"),0==i.element.find("label").length){if(i.input&&"MD-SELECT"!=i.input[0].nodeName){var d='";i.element.addClass("md-icon-float"),i.element.prepend(d)}}else"MD-SELECT"!=o[0].nodeName&&e.warn("The placeholder='"+a+"' will be ignored since this md-input-container has a child label element.")}}return{restrict:"A",require:"^^?mdInputContainer",priority:200,link:n}}t.module("material.components.input",["material.core"]).directive("mdInputContainer",e).directive("label",n).directive("input",o).directive("textarea",o).directive("mdMaxlength",r).directive("placeholder",i),e.$inject=["$mdTheming","$parse"],o.$inject=["$mdUtil","$window","$mdAria"],r.$inject=["$animate"],i.$inject=["$log"]}(),function(){function e(e){return{restrict:"E",compile:function(t){return t[0].setAttribute("role","list"),e}}}function n(e,n,o){var r=["md-checkbox","md-switch"];return{restrict:"E",controller:"MdListController",compile:function(i,a){function d(){for(var e,t,n=["md-switch","md-checkbox"],o=0;t=n[o];++o)if((e=i.find(t)[0])&&!e.hasAttribute("aria-label")){var r=i.find("p")[0];if(!r)return;e.setAttribute("aria-label","Toggle "+r.textContent)}}function c(n){var o;if("div"==n)o=t.element('
'),o.append(i.contents()),i.addClass("md-proxy-focus");else{o=t.element('
');var r=["ng-click","aria-label","ng-disabled"];t.forEach(r,function(e){i[0].hasAttribute(e)&&(o[0].setAttribute(e,i[0].getAttribute(e)),i[0].removeAttribute(e))}),o.children().eq(0).append(i.contents())}if(i[0].setAttribute("tabindex","-1"),i.append(o),p&&p.hasAttribute("ng-click")){e.expect(p,"aria-label");var d=t.element('');d.attr("ng-click",p.getAttribute("ng-click")),p.removeAttribute("ng-click"),p.setAttribute("tabindex","-1"),p.classList.remove("md-secondary"),d.append(p),p=d[0]}p&&(p.hasAttribute("ng-click")||a.ngClick&&l(p))&&(i.addClass("md-with-secondary"),i.append(p))}function l(e){return-1!=r.indexOf(e.nodeName.toLowerCase())}function m(e,i,a,d){function c(){var e=i.children();e.length&&!e[0].hasAttribute("ng-click")&&t.forEach(r,function(e){t.forEach(s.querySelectorAll(e),function(e){m.push(e)})})}function l(){(m.length||u)&&(i.addClass("md-clickable"),d.attachRipple(e,t.element(i[0].querySelector(".md-no-style"))))}var m=[],s=i[0].firstElementChild,u=s&&s.hasAttribute("ng-click");c(),l(),i.hasClass("md-proxy-focus")&&m.length&&t.forEach(m,function(n){n=t.element(n),e.mouseActive=!1,n.on("mousedown",function(){e.mouseActive=!0,o(function(){e.mouseActive=!1},100)}).on("focus",function(){e.mouseActive===!1&&i.addClass("md-focused"),n.on("blur",function t(){i.removeClass("md-focused"),n.off("blur",t)})})}),u||m.length||s&&s.addEventListener("keypress",function(e){if("INPUT"!=e.target.nodeName&&"TEXTAREA"!=e.target.nodeName){var t=e.which||e.keyCode;t==n.KEY_CODE.SPACE&&s&&(s.click(),e.preventDefault(),e.stopPropagation())}}),i.off("click"),i.off("keypress"),m.length&&s&&i.children().eq(0).on("click",function(e){s.contains(e.target)&&t.forEach(m,function(n){e.target===n||n.contains(e.target)||t.element(n).triggerHandler("click")})})}var s,u,p=i[0].querySelector(".md-secondary");if(i[0].setAttribute("role","listitem"),a.ngClick)c("button");else{for(var f,h=0;f=r[h];++h)if(u=i[0].querySelector(f)){s=!0;break}s?c("div"):i[0].querySelector("md-button")||i.addClass("md-no-proxy")}return d(),m}}}function o(e,t,n){function o(e,t){var o={};n.attach(e,t,o)}var r=this;r.attachRipple=o}t.module("material.components.list",["material.core"]).controller("MdListController",o).directive("mdList",e).directive("mdListItem",n),e.$inject=["$mdTheming"],n.$inject=["$mdAria","$mdConstant","$timeout"],o.$inject=["$scope","$element","$mdListInkRipple"]}(),function(){function e(e){function n(e){e.addClass("md-menu");var t=e.children()[0];if(t.hasAttribute("ng-click")||(t=t.querySelector("[ng-click]")),t&&t.setAttribute("aria-haspopup","true"),2!=e.children().length)throw Error("Invalid HTML for md-menu. Expected two children elements.");return o}function o(e,n,o,r){var i=t.element('
'),a=n.children()[1];i.append(a),r.init(i),e.$on("$destroy",function(){i.remove(),r.close()})}return{restrict:"E",require:"mdMenu",controller:"mdMenuCtrl",scope:!0,compile:n}}function n(e,t,n,o){var r,i,a=this;this.init=function(e){r=e,i=n[0].querySelector("[ng-click]")},this.open=function(t){t&&t.stopPropagation(),a.isOpen=!0,i.setAttribute("aria-expanded","true"),e.show({scope:o,mdMenuCtrl:a,element:r,target:n[0]})},o.$mdOpenMenu=this.open,this.close=function(t){a.isOpen&&(a.isOpen=!1,i.setAttribute("aria-expanded","false"),e.hide(),t||n.children()[0].focus())},this.positionMode=function(){var e=(t.mdPositionMode||"target").split(" ");return 1==e.length&&e.push(e[0]),{left:e[0],top:e[1]}},this.offsets=function(){var e=(t.mdOffset||"0 0").split(" ").map(parseFloat);if(2==e.length)return{left:e[0],top:e[1]};if(1==e.length)return{top:e[0],left:e[0]};throw Error("Invalid offsets specified. Please follow format or ")}}t.module("material.components.menu",["material.core","material.components.backdrop"]).directive("mdMenu",e).controller("mdMenuCtrl",n),e.$inject=["$mdMenu"],n.$inject=["$mdMenu","$attrs","$element","$scope"]}(),function(){function o(o){function r(o,r,a,d,c,l){function m(e,n,i){function l(){if(!i.target)throw Error("$mdMenu.show() expected a target to animate from in options.target");t.extend(i,{alreadyOpen:!1,isRemoved:!1,target:t.element(i.target),parent:t.element(i.parent),menuContentEl:t.element(n[0].querySelector("md-menu-content")),backdrop:i.hasBackdrop&&a.createBackdrop(e,"md-menu-backdrop md-click-catcher")})}function m(){i.resizeFn=function(){f(n,i)},t.element(r).on("resize",i.resizeFn),t.element(r).on("orientationchange",i.resizeFn)}function u(){i.parent.append(n),n.removeClass("md-leave"),o(function(){o(function(){f(n,i),o(function(){n.addClass("md-active"),i.alreadyOpen=!0,n[0].style[c.CSS.TRANSFORM]=""})})})}function p(){n.addClass("md-clickable"),i.backdrop&&i.backdrop.on("click",function(t){t.preventDefault(),t.stopPropagation(),e.$apply(function(){i.mdMenuCtrl.close(!0)})}),i.menuContentEl.on("keydown",function(t){e.$apply(function(){switch(t.keyCode){case c.KEY_CODE.ESCAPE:i.mdMenuCtrl.close();break;case c.KEY_CODE.UP_ARROW:s(t,i.menuContentEl,i,-1);break;case c.KEY_CODE.DOWN_ARROW:s(t,i.menuContentEl,i,1)}})});var t=function(t){function n(){e.$apply(function(){i.mdMenuCtrl.close()})}function o(e,t){if(!e)return!1;for(var n,o=0;n=t[o];++o)for(var r,i=[n,"data-"+n,"x-"+n],a=0;r=i[a];++a)if(e.hasAttribute(r))return!0;return!1}var r=t.target;do{if(r==i.menuContentEl[0])return;if(o(r,["ng-click","ng-href","ui-sref"])){r.hasAttribute("disabled")||n();break}}while(r=r.parentNode)};i.menuContentEl[0].addEventListener("click",t,!0);var o=i.menuContentEl[0].querySelector("[md-menu-focus-target]");return o||(o=i.menuContentEl[0].firstElementChild.firstElementChild),o.focus(),function(){n.removeClass("md-clickable"),i.backdrop.off("click"),i.menuContentEl.off("keydown"),i.menuContentEl[0].removeEventListener("click",t,!0)}}return l(i),d.inherit(i.menuContentEl,i.target),m(),i.disableParentScroll&&(i.restoreScroll=a.disableScrollAround(i.element)),i.backdrop&&(d.inherit(i.backdrop,i.parent),i.parent.append(i.backdrop)),u(),h.waitTransitionEnd(n,{timeout:370})["finally"](function(e){return i.cleanupInteraction=p(),e})}function s(e,t,n,o){for(var r=a.getClosest(e.target,"MD-MENU-ITEM"),i=a.nodesToArray(t[0].children),d=i.indexOf(r),c=d+o;c>=0&&c
',compile:n}}t.module("material.components.progressCircular",["material.core"]).directive("mdProgressCircular",e),e.$inject=["$mdConstant","$mdTheming"]}(),function(){function e(e,o,r){function i(e,t,n){return e.attr("aria-valuemin",0),e.attr("aria-valuemax",100),e.attr("role","progressbar"),a}function a(i,a,c){r(a);var l=a[0].querySelector(".md-bar1").style,m=a[0].querySelector(".md-bar2").style,s=t.element(a[0].querySelector(".md-container"));c.$observe("value",function(e){if("query"!=c.mdMode){var t=d(e);a.attr("aria-valuenow",t),m[o.CSS.TRANSFORM]=n[t]}}),c.$observe("mdBufferValue",function(e){l[o.CSS.TRANSFORM]=n[d(e)]}),e(function(){s.addClass("md-ready")})}function d(e){return e>100?100:0>e?0:Math.ceil(e||0)}return{restrict:"E",template:'
',compile:i}}t.module("material.components.progressLinear",["material.core"]).directive("mdProgressLinear",e),e.$inject=["$$rAF","$mdConstant","$mdTheming"];var n=function(){function e(e){var t=e/100,n=(e-100)/2;return"translateX("+n.toString()+"%) scale("+t.toString()+", 1)"}for(var t=new Array(101),n=0;101>n;n++)t[n]=e(n);return t}()}(),function(){function e(e,n,o,r){function i(i,a,d,c){function l(){a.hasClass("md-focused")||a.addClass("md-focused")}function m(o){var r=o.which||o.keyCode;switch(r){case n.KEY_CODE.LEFT_ARROW:case n.KEY_CODE.UP_ARROW:o.preventDefault(),s.selectPrevious(),l();break;case n.KEY_CODE.RIGHT_ARROW:case n.KEY_CODE.DOWN_ARROW:o.preventDefault(),s.selectNext(),l();break;case n.KEY_CODE.ENTER:var i=t.element(e.getClosest(a[0],"form"));i.length>0&&i.triggerHandler("submit")}}o(a);var s=c[0],u=c[1]||e.fakeNgModel();s.init(u),i.mouseActive=!1,a.attr({role:"radiogroup",tabIndex:a.attr("tabindex")||"0"}).on("keydown",m).on("mousedown",function(e){i.mouseActive=!0,r(function(){i.mouseActive=!1},100)}).on("focus",function(){i.mouseActive===!1&&s.$element.addClass("md-focused")}).on("blur",function(){s.$element.removeClass("md-focused")})}function a(e){this._radioButtonRenderFns=[],this.$element=e}function d(){return{init:function(e){this._ngModelCtrl=e,this._ngModelCtrl.$render=t.bind(this,this.render)},add:function(e){this._radioButtonRenderFns.push(e)},remove:function(e){var t=this._radioButtonRenderFns.indexOf(e);-1!==t&&this._radioButtonRenderFns.splice(t,1)},render:function(){this._radioButtonRenderFns.forEach(function(e){e()})},setViewValue:function(e,t){this._ngModelCtrl.$setViewValue(e,t),this.render()},getViewValue:function(){return this._ngModelCtrl.$viewValue},selectNext:function(){return c(this.$element,1)},selectPrevious:function(){return c(this.$element,-1)},setActiveDescendant:function(e){this.$element.attr("aria-activedescendant",e)}}}function c(n,o){var r=e.iterator(n[0].querySelectorAll("md-radio-button"),!0);if(r.count()){var i=function(e){return!t.element(e).attr("disabled")},a=n[0].querySelector("md-radio-button.md-checked"),d=r[0>o?"previous":"next"](a,i)||r.first();t.element(d).triggerHandler("click")}}return a.prototype=d(),{restrict:"E",controller:["$element",a],require:["mdRadioGroup","?ngModel"],link:{pre:i}}}function n(e,t,n){function o(o,i,a,d){function c(e){i[0].hasAttribute("disabled")||o.$apply(function(){d.setViewValue(a.value,e&&e.type)})}function l(){var e=d.getViewValue()==a.value;e!==s&&(s=e,i.attr("aria-checked",e),e?(i.addClass(r),d.setActiveDescendant(i.attr("id"))):i.removeClass(r))}function m(n,o){function r(){return a.id||"radio_"+t.nextUid()}o.ariaId=r(),n.attr({id:o.ariaId,role:"radio","aria-checked":"false"}),e.expectWithText(n,"aria-label")}var s;n(i),m(i,o),d.add(l),a.$observe("value",l),i.on("click",c).on("$destroy",function(){d.remove(l)})}var r="md-checked";return{restrict:"E",require:"^mdRadioGroup",transclude:!0,template:'
',link:o}}t.module("material.components.radioButton",["material.core"]).directive("mdRadioGroup",e).directive("mdRadioButton",n),e.$inject=["$mdUtil","$mdConstant","$mdTheming","$timeout"],n.$inject=["$mdAria","$mdUtil","$mdTheming"]}(),function(){function e(e,o,r,i,a,d,c){function l(a,l){var m=t.element("");if(m.append(''),m.addClass("md-select-value"),m[0].hasAttribute("id")||m.attr("id","select_value_label_"+o.nextUid()),a.find("md-content").length||a.append(t.element("").append(a.contents())),l.mdOnOpen&&a.find("md-content").prepend(t.element("").attr("md-mode","indeterminate").attr("ng-hide","$$loadingAsyncDone").wrap("
").parent()),l.name){var s=t.element(',