├── .prettierignore ├── lib ├── jess │ ├── version.rb │ ├── computer.rb │ ├── computers.rb │ ├── connection.rb │ ├── mobile_device.rb │ ├── mobile_devices.rb │ ├── extension_attributes.rb │ ├── http_client │ │ ├── error.rb │ │ ├── logging_decorator.rb │ │ └── error_decorator.rb │ ├── resource.rb │ └── http_client.rb └── jess.rb ├── test ├── support │ ├── rg.rb │ └── json_fixtures.rb ├── test_helper.rb ├── fixtures │ ├── computers.json │ ├── mobile_devices.json │ ├── mobile_device_656.json │ └── computer_4123.json ├── jess_test.rb └── jess │ ├── connection_test.rb │ ├── computers_test.rb │ ├── mobile_devices_test.rb │ ├── resource_test.rb │ ├── extension_attributes_test.rb │ ├── mobile_device_test.rb │ ├── computer_test.rb │ └── http_client_test.rb ├── CHANGELOG.md ├── .gitignore ├── bin ├── setup └── console ├── .github ├── workflows │ ├── push.yml │ └── ci.yml ├── dependabot.yml └── release-drafter.yml ├── Gemfile ├── .kodiak.toml ├── .overcommit.yml ├── CONTRIBUTING.md ├── LICENSE.txt ├── jess.gemspec ├── .rubocop.yml ├── Rakefile ├── CODE_OF_CONDUCT.md └── README.md /.prettierignore: -------------------------------------------------------------------------------- 1 | /CODE_OF_CONDUCT.md 2 | -------------------------------------------------------------------------------- /lib/jess/version.rb: -------------------------------------------------------------------------------- 1 | module Jess 2 | VERSION = "1.4.5".freeze 3 | end 4 | -------------------------------------------------------------------------------- /test/support/rg.rb: -------------------------------------------------------------------------------- 1 | # Enable color test output 2 | require "minitest/rg" 3 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Release notes for this project are kept here: https://github.com/mattbrictson/jess/releases 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.bundle/ 2 | /.yardoc 3 | /Gemfile.lock 4 | /_yardoc/ 5 | /doc/ 6 | /pkg/ 7 | /spec/reports/ 8 | /tmp/ 9 | -------------------------------------------------------------------------------- /bin/setup: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | IFS=$'\n\t' 4 | set -vx 5 | 6 | which overcommit > /dev/null 2>&1 && overcommit --install 7 | bundle install 8 | 9 | # Do any other automated setup that you need to do here 10 | -------------------------------------------------------------------------------- /test/test_helper.rb: -------------------------------------------------------------------------------- 1 | $LOAD_PATH.unshift File.expand_path("../lib", __dir__) 2 | require "jess" 3 | 4 | require "minitest/autorun" 5 | require "webmock/minitest" 6 | Dir[File.expand_path("support/**/*.rb", __dir__)].each { |rb| require(rb) } 7 | -------------------------------------------------------------------------------- /test/support/json_fixtures.rb: -------------------------------------------------------------------------------- 1 | require "json" 2 | 3 | module JSONFixtures 4 | def json_fixture(name, raw: false) 5 | fix_dir = File.expand_path("../fixtures", __dir__) 6 | json = File.read(File.join(fix_dir, "#{name}.json")) 7 | raw ? json : JSON.parse(json) 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /test/fixtures/computers.json: -------------------------------------------------------------------------------- 1 | { 2 | "computers": [ 3 | { 4 | "id": 2486, 5 | "name": "Office iMac" 6 | }, 7 | { 8 | "id": 4155, 9 | "name": "Jim's MacBook Air" 10 | }, 11 | { 12 | "id": 1235, 13 | "name": "Samantha's Mac Pro" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /.github/workflows/push.yml: -------------------------------------------------------------------------------- 1 | name: Release Drafter 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | update_release_draft: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: release-drafter/release-drafter@v6 13 | env: 14 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 15 | -------------------------------------------------------------------------------- /bin/console: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require "bundler/setup" 4 | require "jess" 5 | 6 | # You can add fixtures and/or initialization code here to make experimenting 7 | # with your gem easier. You can also use a different console, if you like. 8 | 9 | # (If you use this, don't forget to add pry to your Gemfile!) 10 | # require "pry" 11 | # Pry.start 12 | 13 | require "irb" 14 | IRB.start(__FILE__) 15 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | gemspec 3 | 4 | gem "amazing_print", "~> 2.0" 5 | gem "irb" 6 | gem "minitest", "~> 5.0" 7 | gem "minitest-rg", "~> 5.3" 8 | gem "rake", "~> 13.0", "!= 13.0.2" 9 | gem "rexml", "~> 3.2" 10 | gem "rubocop", "1.81.7" 11 | gem "rubocop-minitest", "0.38.2" 12 | gem "rubocop-packaging", "0.6.0" 13 | gem "rubocop-performance", "1.26.1" 14 | gem "rubocop-rake", "0.7.1" 15 | gem "webmock", "~> 3.1" 16 | -------------------------------------------------------------------------------- /.kodiak.toml: -------------------------------------------------------------------------------- 1 | # .kodiak.toml 2 | # Minimal config. version is the only required field. 3 | version = 1 4 | 5 | [merge.automerge_dependencies] 6 | # auto merge all PRs opened by "dependabot" that are "minor" or "patch" version upgrades. "major" version upgrades will be ignored. 7 | versions = ["minor", "patch"] 8 | usernames = ["dependabot"] 9 | 10 | # if using `update.always`, add dependabot to `update.ignore_usernames` to allow 11 | # dependabot to update and close stale dependency upgrades. 12 | [update] 13 | ignored_usernames = ["dependabot"] 14 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: bundler 4 | directory: "/" 5 | schedule: 6 | interval: monthly 7 | time: "16:00" 8 | timezone: America/Los_Angeles 9 | open-pull-requests-limit: 10 10 | labels: 11 | - "🏠 Housekeeping" 12 | - package-ecosystem: github-actions 13 | directory: "/" 14 | schedule: 15 | interval: monthly 16 | time: "16:00" 17 | timezone: America/Los_Angeles 18 | open-pull-requests-limit: 10 19 | labels: 20 | - "🏠 Housekeeping" 21 | -------------------------------------------------------------------------------- /lib/jess/computer.rb: -------------------------------------------------------------------------------- 1 | require "forwardable" 2 | 3 | module Jess 4 | # A Computer record returned from JSS. The data mirrors the structure of the 5 | # JSS Computer JSON representation, with sections for general, hardware, 6 | # extension attributes, etc. 7 | class Computer < Resource 8 | extend Forwardable 9 | 10 | def_delegators :general, :id, :name 11 | 12 | def extension_attributes 13 | @ext_attrs ||= ExtensionAttributes.new(_json["extension_attributes"]) 14 | end 15 | 16 | def inspect 17 | "Jess::Computer<##{id}, #{name}>" 18 | end 19 | alias to_s inspect 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /lib/jess/computers.rb: -------------------------------------------------------------------------------- 1 | require "json" 2 | 3 | module Jess 4 | # Computer-related JSS API operations 5 | class Computers 6 | attr_reader :http_client 7 | 8 | def initialize(http_client) 9 | @http_client = http_client 10 | end 11 | 12 | # Retrieve a computer by ID. 13 | def find(id) 14 | json = JSON.parse(http_client.get("computers/id/#{id}")) 15 | Computer.new(json.fetch("computer")) 16 | end 17 | 18 | # Get all computer IDs. 19 | def all_ids 20 | json = JSON.parse(http_client.get("computers")) 21 | json["computers"].map { |c| c["id"] } 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /lib/jess/connection.rb: -------------------------------------------------------------------------------- 1 | module Jess 2 | # Provides a high-level facade for operations of the JSS API. This is the 3 | # primary interface for all operations provided by the Jess gem. 4 | class Connection 5 | attr_reader :http_client 6 | 7 | def initialize(http_client) 8 | @http_client = http_client 9 | end 10 | 11 | def computers 12 | @computers ||= Computers.new(http_client) 13 | end 14 | 15 | def mobile_devices 16 | @mobile_devices ||= MobileDevices.new(http_client) 17 | end 18 | 19 | def inspect 20 | "Jess::Connection<#{http_client.inspect}>" 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /lib/jess/mobile_device.rb: -------------------------------------------------------------------------------- 1 | require "forwardable" 2 | 3 | module Jess 4 | # A Mobile Device record returned from JSS. The data mirrors the structure of 5 | # the JSS Mobile Device JSON representation, with sections for general, 6 | # security, extension attributes, etc. 7 | class MobileDevice < Resource 8 | extend Forwardable 9 | 10 | def_delegators :general, :id, :name 11 | 12 | def extension_attributes 13 | @ext_attrs ||= ExtensionAttributes.new(_json["extension_attributes"]) 14 | end 15 | 16 | def inspect 17 | "Jess::MobileDevice<##{id}, #{name}>" 18 | end 19 | alias to_s inspect 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /test/jess_test.rb: -------------------------------------------------------------------------------- 1 | require "test_helper" 2 | 3 | class JessTest < Minitest::Test 4 | def test_that_it_has_a_version_number 5 | refute_nil(::Jess::VERSION) 6 | end 7 | 8 | def test_connect_builds_connection_with_given_params 9 | url = "http://test" 10 | username = "hello" 11 | password = "hush" 12 | 13 | conn = Jess.connect(url, username:, password:) 14 | 15 | assert_instance_of(Jess::Connection, conn) 16 | 17 | client = conn.http_client 18 | assert_equal(url, client.url) 19 | assert_equal(username, client.username) 20 | assert_equal(password, client.instance_variable_get(:@password)) 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/jess/mobile_devices.rb: -------------------------------------------------------------------------------- 1 | require "json" 2 | 3 | module Jess 4 | # Mobile device-related JSS API operations 5 | class MobileDevices 6 | attr_reader :http_client 7 | 8 | def initialize(http_client) 9 | @http_client = http_client 10 | end 11 | 12 | # Retrieve a mobile device by ID. 13 | def find(id) 14 | json = JSON.parse(http_client.get("mobiledevices/id/#{id}")) 15 | MobileDevice.new(json.fetch("mobile_device")) 16 | end 17 | 18 | # Get all mobile device IDs. 19 | def all_ids 20 | json = JSON.parse(http_client.get("mobiledevices")) 21 | json["mobile_devices"].map { |c| c["id"] } 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /.overcommit.yml: -------------------------------------------------------------------------------- 1 | # Overcommit hooks run automatically on certain git operations, like "git commit". 2 | # For a complete list of options that you can use to customize hooks, see: 3 | # https://github.com/sds/overcommit 4 | 5 | gemfile: false 6 | verify_signatures: false 7 | 8 | PreCommit: 9 | BundleCheck: 10 | enabled: true 11 | 12 | FixMe: 13 | enabled: true 14 | keywords: ["FIXME"] 15 | exclude: 16 | - .overcommit.yml 17 | 18 | LocalPathsInGemfile: 19 | enabled: true 20 | 21 | RuboCop: 22 | enabled: true 23 | required_executable: bundle 24 | command: ["bundle", "exec", "rubocop"] 25 | on_warn: fail 26 | 27 | YamlSyntax: 28 | enabled: true 29 | 30 | PostCheckout: 31 | ALL: 32 | quiet: true 33 | -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name-template: "$RESOLVED_VERSION" 2 | tag-template: "v$RESOLVED_VERSION" 3 | categories: 4 | - title: "⚠️ Breaking Changes" 5 | label: "⚠️ Breaking" 6 | - title: "✨ New Features" 7 | label: "✨ Feature" 8 | - title: "🐛 Bug Fixes" 9 | label: "🐛 Bug Fix" 10 | - title: "📚 Documentation" 11 | label: "📚 Docs" 12 | - title: "🏠 Housekeeping" 13 | label: "🏠 Housekeeping" 14 | version-resolver: 15 | minor: 16 | labels: 17 | - "⚠️ Breaking" 18 | - "✨ Feature" 19 | default: patch 20 | change-template: "- $TITLE (#$NUMBER) @$AUTHOR" 21 | no-changes-template: "- No changes" 22 | template: | 23 | $CHANGES 24 | 25 | **Full Changelog:** https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION 26 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | on: 3 | pull_request: 4 | push: 5 | branches: 6 | - main 7 | jobs: 8 | rubocop: 9 | name: "Rubocop" 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v6 13 | - uses: ruby/setup-ruby@v1 14 | with: 15 | ruby-version: "ruby" 16 | bundler-cache: true 17 | - run: bundle exec rubocop 18 | test: 19 | name: "Test / Ruby ${{ matrix.ruby }}" 20 | runs-on: ubuntu-latest 21 | strategy: 22 | matrix: 23 | ruby: ["3.1", "3.2", "3.3", "3.4", "head"] 24 | steps: 25 | - uses: actions/checkout@v6 26 | - uses: ruby/setup-ruby@v1 27 | with: 28 | ruby-version: ${{ matrix.ruby }} 29 | bundler-cache: true 30 | - run: bundle exec rake test 31 | -------------------------------------------------------------------------------- /test/jess/connection_test.rb: -------------------------------------------------------------------------------- 1 | require "test_helper" 2 | 3 | class Jess::ConnectionTest < Minitest::Test 4 | def setup 5 | @http = Object.new 6 | @conn = Jess::Connection.new(@http) 7 | end 8 | 9 | def test_computers 10 | computers = @conn.computers 11 | assert_instance_of(Jess::Computers, computers) 12 | assert_same(computers, @conn.computers) 13 | assert_same(@http, computers.http_client) 14 | end 15 | 16 | def test_mobile_devices 17 | devs = @conn.mobile_devices 18 | assert_instance_of(Jess::MobileDevices, devs) 19 | assert_same(devs, @conn.mobile_devices) 20 | assert_same(@http, devs.http_client) 21 | end 22 | 23 | def test_inspect_includes_http_client_info 24 | @http.define_singleton_method(:inspect) { "http" } 25 | assert_equal("Jess::Connection", @conn.inspect) 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /test/jess/computers_test.rb: -------------------------------------------------------------------------------- 1 | require "test_helper" 2 | 3 | class Jess::ComputersTest < Minitest::Test 4 | include JSONFixtures 5 | 6 | def test_find 7 | response = json_fixture("computer_4123", raw: true) 8 | http = Minitest::Mock.new 9 | http.expect(:get, response, ["computers/id/4123"]) 10 | 11 | computers = Jess::Computers.new(http) 12 | cpu = computers.find(4123) 13 | assert_instance_of(Jess::Computer, cpu) 14 | assert_equal(4123, cpu.id) 15 | 16 | http.verify 17 | end 18 | 19 | def test_all_ids 20 | response = json_fixture("computers", raw: true) 21 | http = Minitest::Mock.new 22 | http.expect(:get, response, ["computers"]) 23 | 24 | computers = Jess::Computers.new(http) 25 | ids = computers.all_ids 26 | assert_equal([2486, 4155, 1235], ids) 27 | 28 | http.verify 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /test/jess/mobile_devices_test.rb: -------------------------------------------------------------------------------- 1 | require "test_helper" 2 | 3 | class Jess::MobileDevicesTest < Minitest::Test 4 | include JSONFixtures 5 | 6 | def test_find 7 | response = json_fixture("mobile_device_656", raw: true) 8 | http = Minitest::Mock.new 9 | http.expect(:get, response, ["mobiledevices/id/656"]) 10 | 11 | devices = Jess::MobileDevices.new(http) 12 | dev = devices.find(656) 13 | assert_instance_of(Jess::MobileDevice, dev) 14 | assert_equal(656, dev.id) 15 | 16 | http.verify 17 | end 18 | 19 | def test_all_ids 20 | response = json_fixture("mobile_devices", raw: true) 21 | http = Minitest::Mock.new 22 | http.expect(:get, response, ["mobiledevices"]) 23 | 24 | devices = Jess::MobileDevices.new(http) 25 | ids = devices.all_ids 26 | assert_equal([650, 576, 591], ids) 27 | 28 | http.verify 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /lib/jess/extension_attributes.rb: -------------------------------------------------------------------------------- 1 | require "forwardable" 2 | 3 | module Jess 4 | # A Hash-like wrapper around the extension attributes that facilitates easy 5 | # key/value access. 6 | class ExtensionAttributes < Resource 7 | extend Forwardable 8 | 9 | def_delegators :@values, :[], :fetch, :key?, :keys, :size, :length, :to_h 10 | 11 | def initialize(json) 12 | super 13 | @values = json.each_with_object({}) do |attr, hash| 14 | hash[attr["name"]] = attr["value"] 15 | end 16 | @values.freeze 17 | end 18 | 19 | # Explicitly delegate instead of using def_delegators in order to be 20 | # compatible with awesome_print. The original Hash#to_hash method is 21 | # implemented in C, which means it has an arity of -1. This confuses 22 | # awesome_print. 23 | def to_hash 24 | @values.to_hash 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Jess 2 | 3 | Have a feature idea, bug fix, or refactoring suggestion? Contributions are welcome! Here are some general guidelines. 4 | 5 | ## Discuss first! 6 | 7 | 1. Check [Issues][] to see if your contribution has already been discussed and/or implemented. 8 | 2. If not, open an issue to discuss your contribution. I won't accept all changes and do not want to waste your time. 9 | 3. Once you have the :thumbsup:, fork the repo, make your changes, and open a PR. 10 | 11 | ## Before you commit 12 | 13 | * Did you add tests? New features or changes in behavior should be tested. 14 | * Do all tests and RuboCop checks pass? Run `bundle exec rake` to be sure. 15 | 16 | ## Questions? 17 | 18 | Need help writing an appropriate test? Not sure the best way to attack a problem? Please ask by [posting a GitHub issue][Issues]! 19 | 20 | [Issues]: https://github.com/mattbrictson/jess/issues 21 | -------------------------------------------------------------------------------- /lib/jess/http_client/error.rb: -------------------------------------------------------------------------------- 1 | module Jess 2 | class HttpClient 3 | # Base class for exceptions raised by Jess::HttpClient. These exceptions 4 | # hold a reference to the URI and HTTP method (e.g. "GET", "POST") that were 5 | # being attempted when the error occurred. 6 | # 7 | class Error < StandardError 8 | attr_accessor :uri, :http_method, :code, :response 9 | 10 | def to_s 11 | message = [code, super].join(" ").strip 12 | "#{message} (during #{http_method.to_s.upcase} #{uri})" 13 | end 14 | end 15 | 16 | # Raised when Jess::HttpClient fails to open an HTTP connection. 17 | ConnectionError = Class.new(Error) 18 | 19 | # Raised when Jess::HttpClient receives a 500 error from the server. 20 | ServerError = Class.new(Error) 21 | 22 | # Raised when Jess::HttpClient receives a 404 error from the server. 23 | NotFound = Class.new(Error) 24 | 25 | # Raised when Jess::HttpClient receives a 401 error from the server, which 26 | # happens when the username and/or password are incorrect. 27 | BadCredentials = Class.new(Error) 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2025 Matt Brictson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /lib/jess/resource.rb: -------------------------------------------------------------------------------- 1 | module Jess 2 | # Wraps a JSON object that is returned from the JSS API. The underlying raw 3 | # JSON is available via `_json`. Properties of the JSON can be accessed via 4 | # `method_missing`, so that a Resource behaves like a typical Ruby object. 5 | # Accessing a non-existent JSON property will raise `NoMethodError`. 6 | # 7 | class Resource 8 | attr_reader :_json 9 | 10 | def initialize(json) 11 | @_json = json.freeze 12 | end 13 | 14 | def to_hash 15 | _json 16 | end 17 | 18 | private 19 | 20 | def method_missing(symbol, *args) 21 | if _json.key?(symbol.to_s) 22 | _as_resource(_json.public_send(:[], symbol.to_s, *args)) 23 | else 24 | super 25 | end 26 | end 27 | 28 | def respond_to_missing?(symbol, include_all) 29 | super || _json.key?(symbol.to_s) 30 | end 31 | 32 | def _as_resource(json) 33 | case json 34 | when Hash 35 | Resource.new(json) 36 | when Array 37 | json.map { |j| _as_resource(j) }.freeze 38 | else 39 | json.freeze 40 | end 41 | end 42 | end 43 | end 44 | -------------------------------------------------------------------------------- /jess.gemspec: -------------------------------------------------------------------------------- 1 | require_relative "lib/jess/version" 2 | 3 | Gem::Specification.new do |spec| 4 | spec.name = "jess" 5 | spec.version = Jess::VERSION 6 | spec.authors = ["Matt Brictson"] 7 | spec.email = ["opensource@mattbrictson.com"] 8 | 9 | spec.summary = "Lightweight, unofficial client for the JAMF Software Server (JSS) API" 10 | spec.homepage = "https://github.com/mattbrictson/jess" 11 | spec.license = "MIT" 12 | spec.required_ruby_version = ">= 3.1" 13 | 14 | spec.metadata = { 15 | "homepage_uri" => spec.homepage, 16 | "changelog_uri" => "https://github.com/mattbrictson/jess/releases", 17 | "source_code_uri" => "https://github.com/mattbrictson/jess/", 18 | "bug_tracker_uri" => "https://github.com/mattbrictson/jess/issues", 19 | "rubygems_mfa_required" => "true" 20 | } 21 | 22 | # Specify which files should be added to the gem when it is released. 23 | spec.files = Dir.glob(%w[LICENSE.txt README.md {exe,lib}/**/*]).reject { |f| File.directory?(f) } 24 | spec.bindir = "exe" 25 | spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } 26 | spec.require_paths = ["lib"] 27 | 28 | spec.add_dependency "logger", ">= 1.4.2" 29 | end 30 | -------------------------------------------------------------------------------- /lib/jess.rb: -------------------------------------------------------------------------------- 1 | require "jess/version" 2 | 3 | # Jess is a lightweight client for the JAMF Software Server (JSS) API. 4 | # 5 | # Example usage: 6 | # 7 | # conn = Jess.connect("https://jsshost", username: "user", password: "secret") 8 | # computer = conn.computers.find(1234) 9 | # computer.id # => 1234 10 | # computer.name # => "Matt's iMac" 11 | # computer.hardware.model # => "iMac Intel (Retina 5k, 27-Inch, Late 2015)" 12 | # 13 | module Jess 14 | autoload :Computer, "jess/computer" 15 | autoload :Computers, "jess/computers" 16 | autoload :Connection, "jess/connection" 17 | autoload :ExtensionAttributes, "jess/extension_attributes" 18 | autoload :HttpClient, "jess/http_client" 19 | autoload :MobileDevice, "jess/mobile_device" 20 | autoload :MobileDevices, "jess/mobile_devices" 21 | autoload :Resource, "jess/resource" 22 | 23 | # Establish a connection with JSS and return a Jess::Connection object that 24 | # can be used to interact with the JSS API. This is a convenience method. For 25 | # more fine-grained control over the connection, create a Jess::HttpClient 26 | # using the desired options, then pass it to Jess::Connection.new. 27 | # 28 | def self.connect(url, username:, password:) 29 | client = HttpClient.new(url, username:, password:) 30 | Connection.new(client) 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /lib/jess/http_client/logging_decorator.rb: -------------------------------------------------------------------------------- 1 | require "delegate" 2 | 3 | module Jess 4 | class HttpClient 5 | # Wraps a Net::HTTP object to log all requests to a given Logger object. 6 | class LoggingDecorator < SimpleDelegator 7 | def initialize(logger, http) 8 | super(http) 9 | @logger = logger 10 | end 11 | 12 | def request(req) 13 | return super if logger.nil? 14 | 15 | log_request(req) 16 | response = super 17 | log_response(response, req.uri) 18 | response 19 | rescue Error => e 20 | logger&.error(e.to_s) 21 | raise 22 | end 23 | 24 | private 25 | 26 | attr_reader :logger 27 | 28 | def log_request(req) 29 | logger.debug { "#{req.method} #{req.uri}" } 30 | end 31 | 32 | def log_response(response, uri) 33 | logger.debug do 34 | "Received #{response_desc(response)} from #{uri}" 35 | end 36 | end 37 | 38 | def response_desc(response) 39 | content_type = response.content_type 40 | desc = +"" 41 | desc << if response.body && response.body.length 42 | "#{response.body.length} bytes" 43 | else 44 | "response" 45 | end 46 | desc << " (#{content_type})" if content_type 47 | desc 48 | end 49 | end 50 | end 51 | end 52 | -------------------------------------------------------------------------------- /lib/jess/http_client/error_decorator.rb: -------------------------------------------------------------------------------- 1 | require "delegate" 2 | 3 | module Jess 4 | class HttpClient 5 | # Wraps a Net::HTTP object to provide exception handling around the 6 | # `request` method, such that 400 and 500 error codes are translated into 7 | # appropriate Jess::HttpClient::Error exceptions. 8 | # 9 | class ErrorDecorator < SimpleDelegator 10 | def request(req) 11 | res = super 12 | raise_if_error_code(res) 13 | res 14 | rescue StandardError => e 15 | handle_exception(e, req, res) 16 | end 17 | 18 | private 19 | 20 | def raise_if_error_code(res) 21 | return if res.is_a?(Net::HTTPSuccess) 22 | raise BadCredentials, res.message if res.code == "401" 23 | raise NotFound, res.message if res.code == "404" 24 | raise ServerError, res.message if res.is_a?(Net::HTTPServerError) 25 | 26 | raise Error, res.message 27 | end 28 | 29 | def handle_exception(err, req, res) 30 | case err 31 | when IOError, Timeout::Error 32 | err = ConnectionError.new(err.message) 33 | when Error 34 | # pass 35 | else 36 | err = Error.new(err.inspect) 37 | end 38 | 39 | fill_exception(err, req, res) 40 | raise err 41 | end 42 | 43 | def fill_exception(err, req, res) 44 | err.uri = req.uri 45 | err.http_method = req.method 46 | return if res.nil? 47 | 48 | err.code = res.code 49 | 50 | begin 51 | err.response = res.body.to_s 52 | rescue StandardError 53 | err.response = nil 54 | end 55 | end 56 | end 57 | end 58 | end 59 | -------------------------------------------------------------------------------- /test/jess/resource_test.rb: -------------------------------------------------------------------------------- 1 | require "test_helper" 2 | 3 | class Jess::ResourceTest < Minitest::Test 4 | def setup 5 | @json = JSON.parse(<<-STR) 6 | { 7 | "first_name": "Matt", 8 | "rank": 5, 9 | "bio": null, 10 | "notification": { 11 | "enabled": true, 12 | "email": "matt@example.com" 13 | }, 14 | "aliases": [ 15 | "Matthew", 16 | "M" 17 | ] 18 | } 19 | STR 20 | @rsrc = Jess::Resource.new(@json) 21 | end 22 | 23 | def test_original_json_can_be_accessed_but_is_frozen 24 | assert_equal(@json, @rsrc._json) 25 | assert_equal(@json, @rsrc.to_hash) 26 | assert_predicate(@rsrc._json, :frozen?) 27 | end 28 | 29 | def test_null 30 | assert_nil(@rsrc.bio) 31 | end 32 | 33 | def test_integer_value 34 | assert_equal(5, @rsrc.rank) 35 | end 36 | 37 | def test_array_of_strings 38 | assert_equal(%w[Matthew M], @rsrc.aliases) 39 | end 40 | 41 | def test_nested_resource 42 | nested = @rsrc.notification 43 | assert_instance_of(Jess::Resource, nested) 44 | assert(nested.enabled) 45 | assert_equal("matt@example.com", nested.email) 46 | end 47 | 48 | def test_unknown_attribute_raises_no_method_error 49 | assert_raises(NoMethodError) { @rsrc.unknown_attr } 50 | end 51 | 52 | def test_respond_to_reflects_json_attribute_names 53 | assert_respond_to(@rsrc, :first_name) 54 | assert_respond_to(@rsrc, :rank) 55 | assert_respond_to(@rsrc, :bio) 56 | assert_respond_to(@rsrc, :notification) 57 | assert_respond_to(@rsrc, :aliases) 58 | 59 | refute_respond_to(@rsrc, :firstname) 60 | refute_respond_to(@rsrc, :unknown_attr) 61 | end 62 | end 63 | -------------------------------------------------------------------------------- /test/fixtures/mobile_devices.json: -------------------------------------------------------------------------------- 1 | { 2 | "mobile_devices": [ 3 | { 4 | "id": 650, 5 | "name": "device-01", 6 | "device_name": "device-01", 7 | "udid": "e69b160eed3794a54dacf33829e6388ae4abb686", 8 | "serial_number": "4A761C1B8FFB", 9 | "phone_number": "", 10 | "wifi_mac_address": "97:F7:45:58:A0:2B", 11 | "managed": true, 12 | "supervised": false, 13 | "model": "iPhone 6 Plus", 14 | "model_identifier": "iPhone7,1", 15 | "modelDisplay": "iPhone 6 Plus", 16 | "model_display": "iPhone 6 Plus", 17 | "username": "john" 18 | }, 19 | { 20 | "id": 576, 21 | "name": "iPad-02", 22 | "device_name": "iPad-02", 23 | "udid": "804a03e148c3ebe58d14926789cda71a1b78d8c5", 24 | "serial_number": "6CE6DACA6C5B", 25 | "phone_number": "", 26 | "wifi_mac_address": "11:F3:E9:0A:99:62", 27 | "managed": true, 28 | "supervised": false, 29 | "model": "iPad 3rd Generation (GSM)", 30 | "model_identifier": "iPad3,3", 31 | "modelDisplay": "iPad 3rd Generation (GSM)", 32 | "model_display": "iPad 3rd Generation (GSM)", 33 | "username": "sally" 34 | }, 35 | { 36 | "id": 591, 37 | "name": "iPad-13", 38 | "device_name": "iPad-13", 39 | "udid": "7da779ff407dc321a0e72dd250183cea423ce846", 40 | "serial_number": "8DC0F157892B", 41 | "phone_number": "", 42 | "wifi_mac_address": "9D:D3:A4:41:0F:CC", 43 | "managed": true, 44 | "supervised": false, 45 | "model": "iPad 4th Generation (CDMA)", 46 | "model_identifier": "iPad3,5", 47 | "modelDisplay": "iPad 4th Generation (CDMA)", 48 | "model_display": "iPad 4th Generation (CDMA)", 49 | "username": "jenny" 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /test/jess/extension_attributes_test.rb: -------------------------------------------------------------------------------- 1 | require "test_helper" 2 | 3 | class Jess::ExtensionAttributesTest < Minitest::Test 4 | include JSONFixtures 5 | 6 | def setup 7 | @computer = Jess::Computer.new(json_fixture("computer_4123")["computer"]) 8 | @attrs = @computer.extension_attributes 9 | end 10 | 11 | def test_size 12 | assert_equal(7, @attrs.size) 13 | end 14 | 15 | def test_key_question 16 | assert(@attrs.key?("Battery Cycle Count")) 17 | refute(@attrs.key?("Unknown Attribute")) 18 | end 19 | 20 | def test_keys 21 | assert_equal( 22 | [ 23 | "[1] Contact Address", 24 | "[A] Hardware - Current Uptime", 25 | "[A] Hardware - Kernel Panics", 26 | "[A] Memory - General Errors", 27 | "[A] Power-On Self Test Errors", 28 | "Battery Cycle Count", 29 | "Battery Health Status" 30 | ], 31 | @attrs.keys 32 | ) 33 | end 34 | 35 | def test_fetch 36 | assert_equal("demo@example.com", @attrs.fetch("[1] Contact Address")) 37 | assert_raises(KeyError) { @attrs.fetch("Unknown Attribute") } 38 | end 39 | 40 | def test_hash_access 41 | assert_equal("demo@example.com", @attrs["[1] Contact Address"]) 42 | assert_equal("13 days", @attrs["[A] Hardware - Current Uptime"]) 43 | assert_equal("0", @attrs["[A] Hardware - Kernel Panics"]) 44 | assert_equal("OK", @attrs["[A] Memory - General Errors"]) 45 | assert_equal("Passed", @attrs["[A] Power-On Self Test Errors"]) 46 | assert_equal("74", @attrs["Battery Cycle Count"]) 47 | assert_equal("OK", @attrs["Battery Health Status"]) 48 | assert_nil(@attrs["Unknown Attribute"]) 49 | end 50 | 51 | def test_to_h 52 | assert_instance_of(Hash, @attrs.to_h) 53 | assert_equal(@attrs.keys, @attrs.to_h.keys) 54 | end 55 | 56 | def test_raw_json_access 57 | assert_equal(@computer._json["extension_attributes"], @attrs._json) 58 | end 59 | end 60 | -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- 1 | plugins: 2 | - rubocop-minitest 3 | - rubocop-packaging 4 | - rubocop-performance 5 | - rubocop-rake 6 | 7 | AllCops: 8 | DisplayCopNames: true 9 | DisplayStyleGuide: true 10 | NewCops: enable 11 | TargetRubyVersion: 3.1 12 | 13 | Layout/FirstArrayElementIndentation: 14 | EnforcedStyle: consistent 15 | 16 | Layout/FirstArrayElementLineBreak: 17 | Enabled: true 18 | 19 | Layout/FirstHashElementLineBreak: 20 | Enabled: true 21 | 22 | Layout/FirstMethodArgumentLineBreak: 23 | Enabled: true 24 | 25 | Layout/HashAlignment: 26 | EnforcedColonStyle: 27 | - table 28 | - key 29 | EnforcedHashRocketStyle: 30 | - table 31 | - key 32 | 33 | Layout/MultilineArrayLineBreaks: 34 | Enabled: true 35 | 36 | Layout/MultilineHashKeyLineBreaks: 37 | Enabled: true 38 | 39 | Layout/MultilineMethodArgumentLineBreaks: 40 | Enabled: true 41 | 42 | Layout/MultilineMethodCallIndentation: 43 | EnforcedStyle: indented 44 | 45 | Layout/SpaceAroundEqualsInParameterDefault: 46 | EnforcedStyle: no_space 47 | 48 | Metrics/AbcSize: 49 | Exclude: 50 | - "test/**/*" 51 | 52 | Metrics/BlockLength: 53 | Exclude: 54 | - "*.gemspec" 55 | - "Rakefile" 56 | 57 | Metrics/ClassLength: 58 | Exclude: 59 | - "test/**/*" 60 | 61 | Metrics/MethodLength: 62 | Exclude: 63 | - "test/**/*" 64 | 65 | Minitest/MultipleAssertions: 66 | Enabled: false 67 | 68 | Minitest/EmptyLineBeforeAssertionMethods: 69 | Enabled: false 70 | 71 | Naming/MemoizedInstanceVariableName: 72 | Enabled: false 73 | 74 | Naming/VariableNumber: 75 | Enabled: false 76 | 77 | Rake/Desc: 78 | Enabled: false 79 | 80 | Style/BarePercentLiterals: 81 | EnforcedStyle: percent_q 82 | 83 | Style/ClassAndModuleChildren: 84 | Enabled: false 85 | 86 | Style/Documentation: 87 | Exclude: 88 | - "Rakefile" 89 | - "test/**/*" 90 | 91 | Style/DoubleNegation: 92 | Enabled: false 93 | 94 | Style/FrozenStringLiteralComment: 95 | Enabled: false 96 | 97 | Style/StringLiterals: 98 | EnforcedStyle: double_quotes 99 | 100 | Style/TrivialAccessors: 101 | AllowPredicates: true 102 | -------------------------------------------------------------------------------- /lib/jess/http_client.rb: -------------------------------------------------------------------------------- 1 | require "logger" 2 | require "net/http" 3 | 4 | module Jess 5 | # Provides low-level access to making authenticated GET requests to the JSS 6 | # API, with basic logging and error handling. You will normally not need to 7 | # use this class directly, unless you need to make HTTP requests that haven't 8 | # been wrapped by the higher level `Jess::Connection` API. 9 | # 10 | class HttpClient 11 | autoload :Error, "jess/http_client/error" 12 | autoload :BadCredentials, "jess/http_client/error" 13 | autoload :ConnectionError, "jess/http_client/error" 14 | autoload :LoggingDecorator, "jess/http_client/logging_decorator" 15 | autoload :NotFound, "jess/http_client/error" 16 | autoload :ServerError, "jess/http_client/error" 17 | autoload :ErrorDecorator, "jess/http_client/error_decorator" 18 | 19 | attr_reader :url, :username, :logger, :net_http_options 20 | 21 | def initialize(url, username:, password:, 22 | logger: default_logger, net_http_options: nil) 23 | @url = url 24 | @username = username 25 | @password = password 26 | @net_http_options = net_http_options || {} 27 | @logger = logger 28 | end 29 | 30 | # Makes a GET request for the given path. The result is the raw, unparsed 31 | # body of the HTTP response. The path is resolved relative to the 32 | # `resource_uri` and should not start with a slash. 33 | def get(path, accept: "application/json") 34 | req = Net::HTTP::Get.new(URI.join(resource_uri, path)) 35 | req.basic_auth(username, password) 36 | req["Accept"] = accept 37 | response = http.request(req) 38 | response.body.to_s 39 | end 40 | 41 | # The canonical JSSResource URI used to issue requests. 42 | def resource_uri 43 | @resource_uri ||= begin 44 | root_url = url.to_s.sub(%r{JSSResource/*$}, "") 45 | root_url << "/" unless root_url.end_with?("/") 46 | URI.join(root_url, "JSSResource/") 47 | end 48 | end 49 | 50 | def inspect 51 | url = resource_uri.to_s.sub(%r{://}, "://#{username}@") 52 | "Jess::HttpClient<#{url}>" 53 | end 54 | 55 | private 56 | 57 | attr_reader :password 58 | 59 | def default_logger 60 | defined?(Rails) ? Rails.logger : Logger.new($stderr) 61 | end 62 | 63 | def http 64 | @http ||= begin 65 | http = Net::HTTP.new(resource_uri.host, resource_uri.port) 66 | http.read_timeout = 15 67 | http.open_timeout = 15 68 | http.use_ssl = true if resource_uri.scheme == "https" 69 | apply_net_http_options(http) 70 | LoggingDecorator.new(logger, ErrorDecorator.new(http)) 71 | end 72 | end 73 | 74 | def apply_net_http_options(http) 75 | net_http_options.each do |attr, value| 76 | http.public_send(:"#{attr}=", value) 77 | end 78 | end 79 | end 80 | end 81 | -------------------------------------------------------------------------------- /test/jess/mobile_device_test.rb: -------------------------------------------------------------------------------- 1 | require "test_helper" 2 | 3 | class Jess::MobileDeviceTest < Minitest::Test 4 | include JSONFixtures 5 | 6 | def setup 7 | @dev = Jess::MobileDevice.new( 8 | json_fixture("mobile_device_656")["mobile_device"] 9 | ) 10 | end 11 | 12 | def test_id 13 | assert_equal(656, @dev.id) 14 | end 15 | 16 | def test_name 17 | assert_equal("Demo iPhone 6", @dev.name) 18 | end 19 | 20 | def test_general_attributes 21 | gen = @dev.general 22 | refute_nil(gen) 23 | assert_equal("Demo iPhone 6", gen.name) 24 | assert_equal("G19XF522L161", gen.serial_number) 25 | assert_equal("8e4b386215c7fdcfec1e4ab3212f392df471351e", gen.udid) 26 | assert_equal("1C:0E:18:29:10:78", gen.wifi_mac_address) 27 | assert_equal("41:49:D6:AA:A4:88", gen.bluetooth_mac_address) 28 | assert_equal("10.0.0.5", gen.ip_address) 29 | assert_equal("2015-10-06T11:14:19.055-0500", gen.initial_entry_date_utc) 30 | assert_equal("2015-10-06T11:14:29.975-0500", gen.last_enrollment_utc) 31 | assert_equal("iPhone 6", gen.model_display) 32 | assert_equal(116_166, gen.capacity_mb) 33 | assert_equal(76_468, gen.available_mb) 34 | end 35 | 36 | def test_location_attributes 37 | loc = @dev.location 38 | refute_nil(loc) 39 | assert_equal("matt", loc.username) 40 | assert_equal("Matt", loc.real_name) 41 | assert_equal("hello@example.com", loc.email_address) 42 | assert_equal("Manager", loc.position) 43 | assert_equal("555-1234", loc.phone) 44 | assert_equal("Demo Department", loc.department) 45 | assert_equal("Demo Building", loc.building) 46 | assert_equal("Demo Room", loc.room) 47 | end 48 | 49 | def test_purchasing_attributes 50 | pur = @dev.purchasing 51 | refute_nil(pur) 52 | assert_equal("2014-09-19T00:00:00.000-0500", pur.po_date_utc) 53 | assert_equal("", pur.warranty_expires_utc) 54 | end 55 | 56 | def test_security_attributes 57 | sec = @dev.security 58 | refute_nil(sec) 59 | assert(sec.data_protection) 60 | assert(sec.block_level_encryption_capable) 61 | assert(sec.file_level_encryption_capable) 62 | assert(sec.passcode_present) 63 | assert(sec.passcode_compliant) 64 | assert(sec.passcode_compliant_with_profile) 65 | assert_equal(3, sec.hardware_encryption) 66 | assert(sec.activation_lock_enabled) 67 | assert_equal("Unknown", sec.jailbreak_detected) 68 | end 69 | 70 | def test_configuration_profiles 71 | prof = @dev.configuration_profiles 72 | refute_nil(prof) 73 | assert_instance_of(Array, prof) 74 | assert_equal(2, prof.size) 75 | assert_equal("CA Certificate", prof.first.display_name) 76 | end 77 | 78 | def test_mobile_device_groups 79 | groups = @dev.mobile_device_groups 80 | refute_nil(groups) 81 | assert_instance_of(Array, groups) 82 | assert_equal(1, groups.size) 83 | assert_equal("All Managed iPhones", groups.first.name) 84 | end 85 | 86 | def test_extension_attributes 87 | attrs = @dev.extension_attributes 88 | assert_equal("", attrs["Secondary Status"]) 89 | end 90 | 91 | def test_inspect_shows_only_id_and_name 92 | assert_equal("Jess::MobileDevice<#656, Demo iPhone 6>", @dev.inspect) 93 | end 94 | end 95 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require "bundler/gem_tasks" 2 | require "rake/testtask" 3 | require "rubocop/rake_task" 4 | 5 | Rake::TestTask.new(:test) do |t| 6 | t.libs << "test" 7 | t.libs << "lib" 8 | t.test_files = FileList["test/**/*_test.rb"] 9 | end 10 | 11 | RuboCop::RakeTask.new 12 | 13 | task default: %i[test rubocop] 14 | 15 | # == "rake release" enhancements ============================================== 16 | 17 | Rake::Task["release"].enhance do 18 | puts "Don't forget to publish the release on GitHub!" 19 | system "open https://github.com/mattbrictson/jess/releases" 20 | end 21 | 22 | task :disable_overcommit do 23 | ENV["OVERCOMMIT_DISABLE"] = "1" 24 | end 25 | 26 | Rake::Task[:build].enhance [:disable_overcommit] 27 | 28 | task :verify_gemspec_files do 29 | git_files = `git ls-files -z`.split("\x0") 30 | gemspec_files = Gem::Specification.load("jess.gemspec").files.sort 31 | ignored_by_git = gemspec_files - git_files 32 | next if ignored_by_git.empty? 33 | 34 | raise <<~ERROR 35 | 36 | The `spec.files` specified in jess.gemspec include the following files 37 | that are being ignored by git. Did you forget to add them to the repo? If 38 | not, you may need to delete these files or modify the gemspec to ensure 39 | that they are not included in the gem by mistake: 40 | 41 | #{ignored_by_git.join("\n").gsub(/^/, ' ')} 42 | 43 | ERROR 44 | end 45 | 46 | Rake::Task[:build].enhance [:verify_gemspec_files] 47 | 48 | # == "rake bump" tasks ======================================================== 49 | 50 | task bump: %w[bump:bundler bump:ruby bump:year] 51 | 52 | namespace :bump do 53 | task :bundler do 54 | sh "bundle update --bundler" 55 | end 56 | 57 | task :ruby do 58 | replace_in_file "jess.gemspec", /ruby_version = .*">= (.*)"/ => RubyVersions.lowest 59 | replace_in_file ".rubocop.yml", /TargetRubyVersion: (.*)/ => RubyVersions.lowest 60 | replace_in_file ".github/workflows/ci.yml", /ruby: (\[.+\])/ => RubyVersions.all.inspect 61 | replace_in_file "README.md", /requires Ruby (\d\.\d)/i => RubyVersions.lowest 62 | end 63 | 64 | task :year do 65 | replace_in_file "LICENSE.txt", /\(c\) (\d+)/ => Date.today.year.to_s 66 | end 67 | end 68 | 69 | require "date" 70 | require "open-uri" 71 | require "yaml" 72 | 73 | def replace_in_file(path, replacements) 74 | contents = File.read(path) 75 | orig_contents = contents.dup 76 | replacements.each do |regexp, text| 77 | raise "Can't find #{regexp} in #{path}" unless regexp.match?(contents) 78 | 79 | contents.gsub!(regexp) do |match| 80 | match[regexp, 1] = text 81 | match 82 | end 83 | end 84 | File.write(path, contents) if contents != orig_contents 85 | end 86 | 87 | module RubyVersions 88 | class << self 89 | def lowest 90 | all.first 91 | end 92 | 93 | def all 94 | patches = versions.values_at(:stable, :security_maintenance).compact.flatten 95 | sorted_minor_versions = patches.map { |p| p[/\d+\.\d+/] }.sort_by(&:to_f) 96 | [*sorted_minor_versions, "head"] 97 | end 98 | 99 | private 100 | 101 | def versions 102 | @_versions ||= begin 103 | yaml = URI.open("https://raw.githubusercontent.com/ruby/www.ruby-lang.org/HEAD/_data/downloads.yml") 104 | YAML.safe_load(yaml, symbolize_names: true) 105 | end 106 | end 107 | end 108 | end 109 | -------------------------------------------------------------------------------- /test/jess/computer_test.rb: -------------------------------------------------------------------------------- 1 | require "test_helper" 2 | 3 | class Jess::ComputerTest < Minitest::Test 4 | include JSONFixtures 5 | 6 | def setup 7 | @computer = Jess::Computer.new(json_fixture("computer_4123")["computer"]) 8 | end 9 | 10 | def test_id 11 | assert_equal(4123, @computer.id) 12 | end 13 | 14 | def test_name 15 | assert_equal("Demo Computer", @computer.name) 16 | end 17 | 18 | def test_general_attributes 19 | gen = @computer.general 20 | refute_nil(gen) 21 | assert_equal("Demo Computer", gen.name) 22 | assert_equal("E16GL410DN42", gen.serial_number) 23 | assert_equal("12:34:56:3F:94:1D", gen.mac_address) 24 | assert_equal("AA:23:C8:30:2B:70", gen.alt_mac_address) 25 | assert_equal("10.0.0.9", gen.ip_address) 26 | assert_equal("2016-09-25T21:07:40.946-0500", gen.report_date_utc) 27 | assert_equal("2016-09-26T13:07:35.386-0500", gen.last_contact_time_utc) 28 | end 29 | 30 | def test_location_attributes 31 | loc = @computer.location 32 | refute_nil(loc) 33 | assert_equal("matt", loc.username) 34 | assert_equal("Matt", loc.real_name) 35 | assert_equal("hello@example.com", loc.email_address) 36 | assert_equal("Manager", loc.position) 37 | assert_equal("555-1234", loc.phone) 38 | assert_equal("Demo Department", loc.department) 39 | assert_equal("Demo Building", loc.building) 40 | assert_equal("Demo Room", loc.room) 41 | end 42 | 43 | def test_hardware_attributes 44 | hdw = @computer.hardware 45 | refute_nil(hdw) 46 | assert_equal("Apple", hdw.make) 47 | assert_equal("15-inch Retina MacBook Pro (Late 2013)", hdw.model) 48 | assert_equal("MacBookPro11,3", hdw.model_identifier) 49 | assert_equal("Mac OS X", hdw.os_name) 50 | assert_equal("10.9.5", hdw.os_version) 51 | assert_equal("13F1712", hdw.os_build) 52 | assert_equal("Intel Core i7", hdw.processor_type) 53 | assert_equal("x86_64", hdw.processor_architecture) 54 | assert_equal(2300, hdw.processor_speed) 55 | assert_equal(1, hdw.number_processors) 56 | assert_equal(4, hdw.number_cores) 57 | assert_equal(16_384, hdw.total_ram_mb) 58 | assert_equal(98, hdw.battery_capacity) 59 | assert_equal(0, hdw.available_ram_slots) 60 | end 61 | 62 | def test_storage_is_array 63 | stor = @computer.hardware.storage 64 | refute_nil(stor) 65 | assert_instance_of(Array, stor) 66 | assert_equal(2, stor.size) 67 | end 68 | 69 | def test_device_attributes 70 | dev = @computer.hardware.storage.first 71 | refute_nil(dev) 72 | assert_equal("disk0", dev.disk) 73 | assert_equal("APPLE SSD SM0512F", dev.model) 74 | assert_equal(512_287, dev.drive_capacity_mb) 75 | assert_equal("Verified", dev.smart_status) 76 | end 77 | 78 | def test_partition_attributes 79 | part = @computer.hardware.storage.first.partition 80 | refute_nil(part) 81 | assert_equal("Macintosh HD (Boot Partition)", part.name) 82 | assert_equal("boot", part.type) 83 | assert_equal(476_282, part.partition_capacity_mb) 84 | assert_equal(98, part.percentage_full) 85 | assert_equal("Not Encrypted", part.filevault_status) 86 | assert_equal("Not Encrypted", part.filevault2_status) 87 | end 88 | 89 | def test_purchasing_attributes 90 | pur = @computer.purchasing 91 | refute_nil(pur) 92 | assert_equal("2014-05-10T00:00:00.000-0500", pur.po_date_utc) 93 | assert_equal("2017-05-10T00:00:00.000-0500", pur.warranty_expires_utc) 94 | end 95 | 96 | def test_extension_attributes 97 | attrs = @computer.extension_attributes 98 | assert_equal("demo@example.com", attrs["[1] Contact Address"]) 99 | end 100 | 101 | def test_inspect_shows_only_id_and_name 102 | assert_equal("Jess::Computer<#4123, Demo Computer>", @computer.inspect) 103 | end 104 | end 105 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. 8 | 9 | ## Our Standards 10 | 11 | Examples of behavior that contributes to a positive environment for our community include: 12 | 13 | - Demonstrating empathy and kindness toward other people 14 | - Being respectful of differing opinions, viewpoints, and experiences 15 | - Giving and gracefully accepting constructive feedback 16 | - Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience 17 | - Focusing on what is best not just for us as individuals, but for the overall community 18 | 19 | Examples of unacceptable behavior include: 20 | 21 | - The use of sexualized language or imagery, and sexual attention or 22 | advances of any kind 23 | - Trolling, insulting or derogatory comments, and personal or political attacks 24 | - Public or private harassment 25 | - Publishing others' private information, such as a physical or email 26 | address, without their explicit permission 27 | - Other conduct which could reasonably be considered inappropriate in a 28 | professional setting 29 | 30 | ## Enforcement Responsibilities 31 | 32 | Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. 33 | 34 | Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. 35 | 36 | ## Scope 37 | 38 | This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. 39 | 40 | ## Enforcement 41 | 42 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at opensource@mattbrictson.com. All complaints will be reviewed and investigated promptly and fairly. 43 | 44 | All community leaders are obligated to respect the privacy and security of the reporter of any incident. 45 | 46 | ## Enforcement Guidelines 47 | 48 | Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: 49 | 50 | ### 1. Correction 51 | 52 | **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. 53 | 54 | **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. 55 | 56 | ### 2. Warning 57 | 58 | **Community Impact**: A violation through a single incident or series of actions. 59 | 60 | **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. 61 | 62 | ### 3. Temporary Ban 63 | 64 | **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. 65 | 66 | **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. 67 | 68 | ### 4. Permanent Ban 69 | 70 | **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. 71 | 72 | **Consequence**: A permanent ban from any sort of public interaction within the community. 73 | 74 | ## Attribution 75 | 76 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, 77 | available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 78 | 79 | Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). 80 | 81 | [homepage]: https://www.contributor-covenant.org 82 | 83 | For answers to common questions about this code of conduct, see the FAQ at 84 | https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations. 85 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Jess 2 | 3 | [![Gem Version](https://img.shields.io/gem/v/jess)](https://rubygems.org/gems/jess) 4 | [![Gem Downloads](https://img.shields.io/gem/dt/jess)](https://www.ruby-toolbox.com/projects/jess) 5 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/mattbrictson/jess/ci.yml)](https://github.com/mattbrictson/jess/actions/workflows/ci.yml) 6 | 7 | **Jess is an extremely lightweight, read-only client for the JAMF Software Server (JSS) API.** 8 | Currently it only provides access to computer and mobile device records. 9 | 10 | Jess aims to be: 11 | 12 | * Fast 13 | * Easy to use 14 | * Small (zero dependencies) 15 | * Well-tested 16 | * Multi-tenant friendly (connect to many JSS endpoints) 17 | 18 | ## Installation 19 | 20 | Add this line to your application's Gemfile: 21 | 22 | ```ruby 23 | gem "jess" 24 | ``` 25 | 26 | And then execute: 27 | 28 | $ bundle 29 | 30 | Or install it yourself as: 31 | 32 | $ gem install jess 33 | 34 | *Note that Jess requires Ruby 3.1 or newer.* 35 | 36 | ## Usage 37 | 38 | First establish a connection. 39 | 40 | ```ruby 41 | require "jess" 42 | 43 | # Simple 44 | conn = Jess.connect("https://jsshost", username: "user", password: "secret") 45 | 46 | # Advanced, with more options available 47 | http = Jess::HttpClient.new( 48 | "https://jsshost", 49 | username: "user", 50 | password: "secret", 51 | net_http_options: { 52 | keep_alive_timeout: 5, 53 | open_timeout: 5, 54 | read_timeout: 10, 55 | verify_mode: OpenSSL::SSL::VERIFY_NONE 56 | }, 57 | logger: nil # disable default logging 58 | ) 59 | conn = Jess::Connection.new(http) 60 | ``` 61 | 62 | Then retrieve a computer: 63 | 64 | ```ruby 65 | computer = conn.computers.find(1234) 66 | computer.id # => 1234 67 | computer.name # => "Matt's iMac" 68 | computer.general.ip_address # => "10.0.0.17" 69 | computer.hardware.model # => "iMac Intel (Retina 5k, 27-Inch, Late 2015)" 70 | ``` 71 | 72 | Or a mobile device: 73 | 74 | ```ruby 75 | phone = conn.mobile_devices.find(5678) 76 | phone.id # => 5678 77 | phone.general.serial_number # => "G15ER8WGSC61L" 78 | ``` 79 | 80 | In general, the objects provided by Jess mirror the structure of the JSON returned by the JSS API. The exception to this rule is `extension_attributes`, which for convenience are transformed into a Hash-like object for easy access: 81 | 82 | ```ruby 83 | computer.extension_attributes.key?("My Ext Attr Name") # => true 84 | computer.extension_attributes["My Ext Attr Name"] # => "value" 85 | ``` 86 | 87 | If you ever need access to the raw JSON data of any object, use the `_json` method: 88 | 89 | ```ruby 90 | computer.extension_attributes._json # => [{ ... }] 91 | ``` 92 | 93 | ## Gotchas 94 | 95 | Beware of these gotchas due to limitations of the JSS JSON API. 96 | 97 | ### Timestamps 98 | 99 | Jess does not perform any type conversions. For example, timestamps are provided exactly as returned in the original JSON; they are not converted to Ruby DateTime objects. 100 | 101 | ```ruby 102 | computer.purchasing.po_date_utc # => "2016-03-18T00:00:00.000-0500" 103 | computer.purchasing.po_date_epoch # => 1399698000000 104 | ``` 105 | 106 | ### Unspecified values 107 | 108 | JSS does a poor job of indicating unspecified values. For example, a computer where the bus speed cannot be determined will return `0` rather that `null` for the `bus_speed` JSON value. Likewise, unspecified string values are `""`, and unspecified timestamps are `""` or `0` instead of `null`. Jess passes these values straight through without any interpretation, so be aware that just because an attribute is *truthy* does not mean it has a useful value. 109 | 110 | ```ruby 111 | # A computer without warranty information 112 | computer.purchasing.warranty_expires # => "" 113 | computer.purchasing.warranty_expires_epoch # => 0 114 | ``` 115 | 116 | ## Why not ruby-jss? 117 | 118 | The [ruby-jss](http://pixaranimationstudios.github.io/ruby-jss/) gem is the most popular Ruby library for accessing the JSS API. Compared to Jess, ruby-jss has many more features, and is probably the more suitable solution for most use cases. So when might you use Jess instead? 119 | 120 | * Jess offers a cleaner connection model that doesn't rely on global variables, which makes Jess easier to use if you need to connect to multiple JSS endpoints in the same Ruby process. 121 | * Jess internally uses Ruby standard library Net::HTTP and supports persistent HTTP/1.1 connections; this may be faster than ruby-jss in some scenarios. 122 | 123 | ## Who uses Jess? 124 | 125 | Jess powers [Robot Cloud Vision-Bot](http://www.robotcloud.net/dashboard/). 126 | 127 | ## Development 128 | 129 | After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec rake` to run the tests and RuboCop checks. You can also run `bin/console` for an interactive prompt that will allow you to experiment. 130 | 131 | To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). 132 | 133 | ## Contributing 134 | 135 | Bug reports and other discussions are welcome on GitHub at . This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. 136 | 137 | Before opening a pull request, please read [CONTRIBUTING.md](CONTRIBUTING.md) for important coding guidelines and policies. 138 | 139 | ## License 140 | 141 | The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). 142 | -------------------------------------------------------------------------------- /test/jess/http_client_test.rb: -------------------------------------------------------------------------------- 1 | require "test_helper" 2 | 3 | class Jess::HttpClientTest < Minitest::Test 4 | include JSONFixtures 5 | 6 | class FakeLogger 7 | attr_reader :messages 8 | 9 | def initialize 10 | @messages = [] 11 | end 12 | 13 | def debug 14 | messages << "D: #{yield}" 15 | end 16 | 17 | def error(msg) 18 | messages << "E: #{msg}" 19 | end 20 | end 21 | 22 | def test_get_returns_body 23 | client = new_client 24 | stub_http_get("https://host/JSSResource/test").to_return(body: "value") 25 | result = client.get("test") 26 | assert_equal("value", result) 27 | end 28 | 29 | def test_honors_non_root_jss_path 30 | client = new_client("https://host/path/to/jss") 31 | stub_http_get("https://host/path/to/jss/JSSResource/test") 32 | client.get("test") 33 | end 34 | 35 | def test_logs_successful_request 36 | logger = FakeLogger.new 37 | client = new_client(logger:) 38 | stub_http_get("https://host/JSSResource/test").to_return( 39 | body: '{ "sample": "value" }', 40 | headers: { "Content-Type" => "application/json" } 41 | ) 42 | client.get("test") 43 | 44 | assert_equal( 45 | [ 46 | "D: GET https://host/JSSResource/test", 47 | "D: Received 21 bytes (application/json) from https://host/JSSResource/test" 48 | ], 49 | logger.messages 50 | ) 51 | end 52 | 53 | def test_logs_empty_request 54 | logger = FakeLogger.new 55 | client = new_client(logger:) 56 | stub_http_get("https://host/JSSResource/test") 57 | client.get("test") 58 | 59 | assert_equal( 60 | [ 61 | "D: GET https://host/JSSResource/test", 62 | "D: Received 0 bytes from https://host/JSSResource/test" 63 | ], 64 | logger.messages 65 | ) 66 | end 67 | 68 | def test_logs_error 69 | logger = FakeLogger.new 70 | client = new_client(logger:) 71 | stub_http_get("https://host/JSSResource/test") 72 | .to_return(status: [404, "Not found"]) 73 | 74 | begin 75 | client.get("test") 76 | rescue StandardError 77 | nil 78 | end 79 | 80 | assert_equal( 81 | [ 82 | "D: GET https://host/JSSResource/test", 83 | "E: 404 Not found (during GET https://host/JSSResource/test)" 84 | ], 85 | logger.messages 86 | ) 87 | end 88 | 89 | def test_logs_error_with_status_if_no_message_present 90 | logger = FakeLogger.new 91 | client = new_client(logger:) 92 | stub_http_get("https://host/JSSResource/test") 93 | .to_return(status: [503, ""]) 94 | 95 | begin 96 | client.get("test") 97 | rescue StandardError 98 | nil 99 | end 100 | 101 | assert_equal( 102 | [ 103 | "D: GET https://host/JSSResource/test", 104 | "E: 503 (during GET https://host/JSSResource/test)" 105 | ], 106 | logger.messages 107 | ) 108 | end 109 | 110 | def test_includes_response_body_in_exception 111 | logger = FakeLogger.new 112 | client = new_client(logger:) 113 | stub_http_get("https://host/JSSResource/test") 114 | .to_return(body: "Oh no!", status: [500, "Internal Server Error"]) 115 | 116 | exception = nil 117 | 118 | begin 119 | client.get("test") 120 | rescue StandardError => e 121 | exception = e 122 | end 123 | 124 | refute_nil(exception) 125 | assert_equal("500", exception.code) 126 | assert_match(/Internal Server Error/, exception.message) 127 | assert_equal("Oh no!", exception.response) 128 | end 129 | 130 | def test_raises_not_found_when_404 131 | client = new_client 132 | stub_http_get("https://host/JSSResource/test").to_return(status: 404) 133 | 134 | assert_raises(Jess::HttpClient::NotFound) do 135 | client.get("test") 136 | end 137 | end 138 | 139 | def test_raises_bad_credentials_when_401 140 | client = new_client 141 | stub_http_get("https://host/JSSResource/test").to_return(status: 401) 142 | 143 | assert_raises(Jess::HttpClient::BadCredentials) do 144 | client.get("test") 145 | end 146 | end 147 | 148 | def test_raises_error_when_406 149 | client = new_client 150 | stub_http_get("https://host/JSSResource/test").to_return(status: 406) 151 | 152 | assert_raises(Jess::HttpClient::Error) do 153 | client.get("test") 154 | end 155 | end 156 | 157 | def test_raises_server_error_when_500 158 | client = new_client 159 | stub_http_get("https://host/JSSResource/test").to_return(status: 500) 160 | 161 | assert_raises(Jess::HttpClient::ServerError) do 162 | client.get("test") 163 | end 164 | end 165 | 166 | def test_raises_connection_error_when_timeout 167 | client = new_client 168 | stub_http_get("https://host/JSSResource/test").to_timeout 169 | 170 | assert_raises(Jess::HttpClient::ConnectionError) do 171 | client.get("test") 172 | end 173 | end 174 | 175 | def test_raises_connection_error_when_io_error 176 | client = new_client 177 | stub_http_get("https://host/JSSResource/test").to_raise(IOError) 178 | 179 | assert_raises(Jess::HttpClient::ConnectionError) do 180 | client.get("test") 181 | end 182 | end 183 | 184 | def test_raises_error_when_other_error 185 | client = new_client 186 | stub_http_get("https://host/JSSResource/test").to_raise(StandardError) 187 | 188 | assert_raises(Jess::HttpClient::Error) do 189 | client.get("test") 190 | end 191 | end 192 | 193 | def test_applies_net_http_options 194 | client = Jess::HttpClient.new( 195 | "https://host", 196 | username: "user", 197 | password: "secret", 198 | net_http_options: { 199 | keep_alive_timeout: 7, 200 | open_timeout: 13, 201 | read_timeout: 19, 202 | verify_mode: OpenSSL::SSL::VERIFY_NONE 203 | } 204 | ) 205 | http = client.send(:http) 206 | 207 | assert_equal(7, http.keep_alive_timeout) 208 | assert_equal(13, http.open_timeout) 209 | assert_equal(19, http.read_timeout) 210 | assert_equal(OpenSSL::SSL::VERIFY_NONE, http.verify_mode) 211 | end 212 | 213 | def test_inspect_shows_username_and_url 214 | client = new_client 215 | assert_equal( 216 | "Jess::HttpClient", 217 | client.inspect 218 | ) 219 | end 220 | 221 | private 222 | 223 | def new_client(url="https://host", logger: nil) 224 | Jess::HttpClient.new( 225 | url, 226 | username: "demo_user", 227 | password: "demo_password", 228 | logger: 229 | ) 230 | end 231 | 232 | def stub_http_get(url) 233 | stub_request(:get, url).with( 234 | basic_auth: %w[demo_user demo_password], 235 | headers: { 236 | "Accept" => "application/json", 237 | "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3", 238 | "Host" => URI(url).host, 239 | "User-Agent" => "Ruby" 240 | } 241 | ) 242 | end 243 | end 244 | -------------------------------------------------------------------------------- /test/fixtures/mobile_device_656.json: -------------------------------------------------------------------------------- 1 | { 2 | "mobile_device": { 3 | "general": { 4 | "id": 656, 5 | "display_name": "Demo iPhone 6", 6 | "device_name": "Demo iPhone 6", 7 | "name": "Demo iPhone 6", 8 | "asset_tag": "", 9 | "last_inventory_update": "Monday, September 26 2016 at 11:07 AM", 10 | "last_inventory_update_epoch": 1474906050947, 11 | "last_inventory_update_utc": "2016-09-26T11:07:30.947-0500", 12 | "capacity": 116166, 13 | "capacity_mb": 116166, 14 | "available": 76468, 15 | "available_mb": 76468, 16 | "percentage_used": 34, 17 | "os_type": "iOS", 18 | "os_version": "10.0.1", 19 | "os_build": "14A403", 20 | "serial_number": "G19XF522L161", 21 | "udid": "8e4b386215c7fdcfec1e4ab3212f392df471351e", 22 | "initial_entry_date_epoch": 1444148059055, 23 | "initial_entry_date_utc": "2015-10-06T11:14:19.055-0500", 24 | "phone_number": "+11235551234", 25 | "ip_address": "10.0.0.5", 26 | "wifi_mac_address": "1C:0E:18:29:10:78", 27 | "bluetooth_mac_address": "41:49:D6:AA:A4:88", 28 | "modem_firmware": "5.24.00", 29 | "model": "iPhone 6", 30 | "model_identifier": "iPhone7,2", 31 | "model_number": "NG4V2LL", 32 | "modelDisplay": "iPhone 6", 33 | "model_display": "iPhone 6", 34 | "device_ownership_level": "Institutional", 35 | "last_enrollment_epoch": 1444148069975, 36 | "last_enrollment_utc": "2015-10-06T11:14:29.975-0500", 37 | "managed": true, 38 | "supervised": false, 39 | "shared": "No", 40 | "tethered": "", 41 | "battery_level": 87, 42 | "airplay_password": "", 43 | "device_id": "", 44 | "locales": "", 45 | "device_locator_service_enabled": true, 46 | "do_not_disturb_enabled": false, 47 | "cloud_backup_enabled": true, 48 | "last_cloud_backup_date_epoch": 1474806627000, 49 | "last_cloud_backup_date_utc": "2016-09-25T07:30:27.000-0500", 50 | "location_services_enabled": false, 51 | "itunes_store_account_is_active": true, 52 | "computer": { 53 | "id": -1 54 | }, 55 | "last_backup_time_epoch": 0, 56 | "last_backup_time_utc": "", 57 | "site": { 58 | "id": 1, 59 | "name": "Demo Company" 60 | } 61 | }, 62 | "location": { 63 | "username": "matt", 64 | "real_name": "Matt", 65 | "email_address": "hello@example.com", 66 | "position": "Manager", 67 | "phone": "555-1234", 68 | "department": "Demo Department", 69 | "building": "Demo Building", 70 | "room": "Demo Room" 71 | }, 72 | "purchasing": { 73 | "is_purchased": true, 74 | "is_leased": false, 75 | "po_number": "", 76 | "vendor": "Expired", 77 | "applecare_id": "", 78 | "purchase_price": "", 79 | "purchasing_account": "", 80 | "po_date": "2014-09-19", 81 | "po_date_epoch": 1411102800000, 82 | "po_date_utc": "2014-09-19T00:00:00.000-0500", 83 | "warranty_expires": "", 84 | "warranty_expires_epoch": 0, 85 | "warranty_expires_utc": "", 86 | "lease_expires": "", 87 | "lease_expires_epoch": 0, 88 | "lease_expires_utc": "", 89 | "life_expectancy": 0, 90 | "purchasing_contact": "", 91 | "attachments": [ 92 | 93 | ] 94 | }, 95 | "applications": [ 96 | { 97 | "application_name": "Amazon", 98 | "application_version": "18225.0", 99 | "identifier": "com.amazon.Amazon" 100 | }, 101 | { 102 | "application_name": "Facebook", 103 | "application_version": "38842789", 104 | "identifier": "com.facebook.Facebook" 105 | }, 106 | { 107 | "application_name": "Google Maps", 108 | "application_version": "4.22.90471", 109 | "identifier": "com.google.Maps" 110 | }, 111 | { 112 | "application_name": "Grubhub", 113 | "application_version": "3.13", 114 | "identifier": "com.grubhub.search" 115 | }, 116 | { 117 | "application_name": "Instacart", 118 | "application_version": "5052", 119 | "identifier": "com.instacart" 120 | }, 121 | { 122 | "application_name": "Instagram", 123 | "application_version": "38579444", 124 | "identifier": "com.burbn.instagram" 125 | }, 126 | { 127 | "application_name": "iPhoto", 128 | "application_version": "538", 129 | "identifier": "com.apple.mobileiphoto" 130 | }, 131 | { 132 | "application_name": "Kindle", 133 | "application_version": "1158156291", 134 | "identifier": "com.amazon.Lassen" 135 | }, 136 | { 137 | "application_name": "Messenger", 138 | "application_version": "39433806", 139 | "identifier": "com.facebook.Messenger" 140 | }, 141 | { 142 | "application_name": "Nest", 143 | "application_version": "5.7.2.1", 144 | "identifier": "com.nestlabs.jasper.release" 145 | }, 146 | { 147 | "application_name": "Netflix", 148 | "application_version": "696", 149 | "identifier": "com.netflix.Netflix" 150 | }, 151 | { 152 | "application_name": "Pinterest", 153 | "application_version": "2", 154 | "identifier": "pinterest" 155 | }, 156 | { 157 | "application_name": "Shazam", 158 | "application_version": "1550", 159 | "identifier": "com.shazam.Shazam" 160 | }, 161 | { 162 | "application_name": "Sonos", 163 | "application_version": "33.15.33090", 164 | "identifier": "com.sonos.SonosController" 165 | }, 166 | { 167 | "application_name": "Twitter", 168 | "application_version": "6.63", 169 | "identifier": "com.atebits.Tweetie2" 170 | }, 171 | { 172 | "application_name": "Uber", 173 | "application_version": "2.154.1", 174 | "identifier": "com.ubercab.UberClient" 175 | }, 176 | { 177 | "application_name": "Yelp", 178 | "application_version": "10.27.2.13403", 179 | "identifier": "com.yelp.yelpiphone" 180 | } 181 | ], 182 | "security": { 183 | "data_protection": true, 184 | "block_level_encryption_capable": true, 185 | "file_level_encryption_capable": true, 186 | "passcode_present": true, 187 | "passcode_compliant": true, 188 | "passcode_compliant_with_profile": true, 189 | "hardware_encryption": 3, 190 | "activation_lock_enabled": true, 191 | "jailbreak_detected": "Unknown" 192 | }, 193 | "network": { 194 | "home_carrier_network": "AT&T", 195 | "cellular_technology": "Unknown", 196 | "voice_roaming_enabled": "No", 197 | "imei": "82 581035 458725 3", 198 | "iccid": "6572 5971 5623 6433 3999", 199 | "meid": "46982735098154", 200 | "current_carrier_network": "AT&T", 201 | "carrier_settings_version": "25.0", 202 | "current_mobile_country_code": "310", 203 | "current_mobile_network_code": "410", 204 | "home_mobile_country_code": "310", 205 | "home_mobile_network_code": "410", 206 | "data_roaming_enabled": true, 207 | "roaming": false, 208 | "phone_number": "+11235551234" 209 | }, 210 | "certificates": [ 211 | { 212 | "common_name": "0AFC6647-140D-41CA-868F-7E0A78F7C9D2", 213 | "identity": true 214 | }, 215 | { 216 | "common_name": "Demo Company JSS Built-in Certificate Authority", 217 | "identity": false 218 | } 219 | ], 220 | "configuration_profiles": [ 221 | { 222 | "display_name": "CA Certificate", 223 | "version": "1", 224 | "identifier": "76BDFBAE-A0CB-4960-B0A9-11639A1A5EFC", 225 | "uuid": "ADD312CB-42A3-4A3B-A6FF-A3072537A376" 226 | }, 227 | { 228 | "display_name": "MDM Profile", 229 | "version": "1", 230 | "identifier": "com.jamfsoftware.encrypted-profile-service", 231 | "uuid": "CA1472B4-3F80-46D7-AB94-283AC72E7EC7" 232 | } 233 | ], 234 | "provisioning_profiles": [ 235 | 236 | ], 237 | "mobile_device_groups": [ 238 | { 239 | "id": 20, 240 | "name": "All Managed iPhones" 241 | } 242 | ], 243 | "extension_attributes": [ 244 | { 245 | "id": 1, 246 | "name": "Secondary Status", 247 | "type": "String", 248 | "value": "" 249 | } 250 | ] 251 | } 252 | } 253 | -------------------------------------------------------------------------------- /test/fixtures/computer_4123.json: -------------------------------------------------------------------------------- 1 | { 2 | "computer": { 3 | "general": { 4 | "id": 4123, 5 | "name": "Demo Computer", 6 | "mac_address": "12:34:56:3F:94:1D", 7 | "alt_mac_address": "AA:23:C8:30:2B:70", 8 | "ip_address": "10.0.0.9", 9 | "serial_number": "E16GL410DN42", 10 | "udid": "329F9651-D993-4873-BD6E-9254E15DF21C", 11 | "jamf_version": "9.92.1466020067", 12 | "platform": "Mac", 13 | "barcode_1": "", 14 | "barcode_2": "", 15 | "asset_tag": "", 16 | "remote_management": { 17 | "managed": true, 18 | "management_username": "manager", 19 | "management_password_sha256": "7235e66b8a0f7e4f67a919aa1e76c08f2823a0a5f35360f6b23b02161fb2c441" 20 | }, 21 | "mdm_capable": true, 22 | "mdm_capable_users": { 23 | "mdm_capable_user": "demo" 24 | }, 25 | "report_date": "2016-09-25 21:07:40", 26 | "report_date_epoch": 1474855660946, 27 | "report_date_utc": "2016-09-25T21:07:40.946-0500", 28 | "last_contact_time": "2016-09-26 13:07:35", 29 | "last_contact_time_epoch": 1474913255386, 30 | "last_contact_time_utc": "2016-09-26T13:07:35.386-0500", 31 | "initial_entry_date": "2014-05-06", 32 | "initial_entry_date_epoch": 1399395681434, 33 | "initial_entry_date_utc": "2014-05-06T12:01:21.434-0500", 34 | "last_cloud_backup_date_epoch": 0, 35 | "last_cloud_backup_date_utc": "", 36 | "distribution_point": "", 37 | "sus": "", 38 | "netboot_server": "", 39 | "site": { 40 | "id": 1, 41 | "name": "Demo Company" 42 | }, 43 | "itunes_store_account_is_active": false 44 | }, 45 | "location": { 46 | "username": "matt", 47 | "real_name": "Matt", 48 | "email_address": "hello@example.com", 49 | "position": "Manager", 50 | "phone": "555-1234", 51 | "department": "Demo Department", 52 | "building": "Demo Building", 53 | "room": "Demo Room" 54 | }, 55 | "purchasing": { 56 | "is_purchased": true, 57 | "is_leased": false, 58 | "po_number": "", 59 | "vendor": "", 60 | "applecare_id": "", 61 | "purchase_price": "", 62 | "purchasing_account": "", 63 | "po_date": "2014-05-10", 64 | "po_date_epoch": 1399698000000, 65 | "po_date_utc": "2014-05-10T00:00:00.000-0500", 66 | "warranty_expires": "", 67 | "warranty_expires_epoch": 0, 68 | "warranty_expires_utc": "2017-05-10T00:00:00.000-0500", 69 | "lease_expires": "", 70 | "lease_expires_epoch": 0, 71 | "lease_expires_utc": "", 72 | "life_expectancy": 0, 73 | "purchasing_contact": "", 74 | "os_applecare_id": "", 75 | "os_maintenance_expires": "", 76 | "attachments": [ 77 | 78 | ] 79 | }, 80 | "peripherals": [ 81 | 82 | ], 83 | "hardware": { 84 | "make": "Apple", 85 | "model": "15-inch Retina MacBook Pro (Late 2013)", 86 | "model_identifier": "MacBookPro11,3", 87 | "os_name": "Mac OS X", 88 | "os_version": "10.9.5", 89 | "os_build": "13F1712", 90 | "active_directory_status": "nsc.local", 91 | "service_pack": "", 92 | "processor_type": "Intel Core i7", 93 | "processor_architecture": "x86_64", 94 | "processor_speed": 2300, 95 | "processor_speed_mhz": 2300, 96 | "number_processors": 1, 97 | "number_cores": 4, 98 | "total_ram": 16384, 99 | "total_ram_mb": 16384, 100 | "boot_rom": "MBP112.0138.B16", 101 | "bus_speed": 0, 102 | "bus_speed_mhz": 0, 103 | "battery_capacity": 98, 104 | "cache_size": 6144, 105 | "cache_size_kb": 6144, 106 | "available_ram_slots": 0, 107 | "optical_drive": "", 108 | "nic_speed": "n/a", 109 | "smc_version": "2.19f3", 110 | "storage": [ 111 | { 112 | "disk": "disk0", 113 | "model": "APPLE SSD SM0512F", 114 | "revision": "UXM2JA1Q", 115 | "serial_number": "09A8706A380D91", 116 | "size": 512287, 117 | "drive_capacity_mb": 512287, 118 | "connection_type": "NO", 119 | "smart_status": "Verified", 120 | "partition": { 121 | "name": "Macintosh HD (Boot Partition)", 122 | "size": 476282, 123 | "type": "boot", 124 | "partition_capacity_mb": 476282, 125 | "percentage_full": 98, 126 | "filevault_status": "Not Encrypted", 127 | "filevault_percent": 0, 128 | "filevault2_status": "Not Encrypted", 129 | "filevault2_percent": 0, 130 | "lvgUUID": "", 131 | "lvUUID": "", 132 | "pvUUID": "" 133 | } 134 | }, 135 | { 136 | "disk": "disk1", 137 | "model": "", 138 | "revision": "", 139 | "serial_number": "", 140 | "size": 0, 141 | "drive_capacity_mb": 0, 142 | "connection_type": "", 143 | "smart_status": "", 144 | "partition": { 145 | "name": "Graphics 1", 146 | "size": 1907637, 147 | "type": "other", 148 | "partition_capacity_mb": 1907637, 149 | "percentage_full": 36, 150 | "filevault_status": "Not Encrypted", 151 | "filevault_percent": 0, 152 | "filevault2_status": "Not Encrypted", 153 | "filevault2_percent": 0 154 | } 155 | } 156 | ], 157 | "mapped_printers": [ 158 | { 159 | "name": "demo-printer", 160 | "uri": "lpd://10.0.0.11/", 161 | "type": "KONICA MINOLTA bizhub C454", 162 | "location": "" 163 | } 164 | ] 165 | }, 166 | "software": { 167 | "unix_executables": [ 168 | 169 | ], 170 | "licensed_software": [ 171 | "Adobe Creative Cloud 2015", 172 | "Adobe Creative Cloud 2015", 173 | "Adobe Creative Suite 5 - Design Premium", 174 | "Adobe Creative Suite 5 - Design Premium", 175 | "Adobe Creative Suite 6 - Design and Web Premium", 176 | "Adobe Creative Suite 6 - Design and Web Premium", 177 | "Microsoft Office for Mac 2011", 178 | "Microsoft Office for Mac 2011" 179 | ], 180 | "installed_by_casper": [ 181 | "adobe.acrobat.945.dmg", 182 | "adobe.flash.player.10.3.181.34.dmg", 183 | "AdobeAcrobatProUpdate.10.1.7.dmg", 184 | "AdobeAcrobatProUpdate.10.1.8.dmg", 185 | "AdobeAIR.pkg", 186 | "AdobeAIR3.7.0.2100.pkg", 187 | "adobeair35.dmg", 188 | "AdobeAIR3606090.dmg", 189 | "adobecs6.deswebprm_Install.pkg", 190 | "AdobeEnterpriseTools.dmg", 191 | "AdobeFlashPlayer.pkg", 192 | "adobeflashplayer11110255_106107.dmg", 193 | "adobeflashplayer112202228.dmg", 194 | "adobeflashplayer113300257.dmg", 195 | "adobeflashplayer114402265.dmg", 196 | "adobeflashplayer114402287.dmg", 197 | "adobeflashplayer115502110.dmg", 198 | "AdobeRemoteUpdateManager1.9.2.56.dmg", 199 | "adoberum10.dmg", 200 | "AppleJack 1.6.mpkg", 201 | "aut210.dmg", 202 | "batchmod_1.6.3.dmg", 203 | "ClamXav.pkg", 204 | "clamxav222.dmg", 205 | "clamxav234.dmg", 206 | "cocoaDialog3b7.dmg", 207 | "crashplan.controller.dmg", 208 | "crashplancontroller104.dmg", 209 | "cs5dp.061411_Install.pkg", 210 | "cyberduck421.dmg", 211 | "disable.adobe.cs5.updates.dmg", 212 | "dockutil11.pkg", 213 | "Firefox.dmg", 214 | "firefox1002.dmg", 215 | "firefox11.dmg", 216 | "firefox12.dmg", 217 | "firefox13.dmg", 218 | "firefox1301.dmg", 219 | "firefox1401.dmg", 220 | "firefox150.dmg", 221 | "firefox1501.dmg", 222 | "firefox1602.dmg", 223 | "firefox18.dmg", 224 | "firefox19.dmg", 225 | "Firefox20.0.1.dmg", 226 | "firefox401.dmg", 227 | "flip4mac2414.dmg", 228 | "flip4mac2424.dmg", 229 | "flip4mac2442.dmg", 230 | "googlechrome.12.0.742.100.dmg", 231 | "LocalApp.dmg", 232 | "LoginItemManager.dmg", 233 | "logmein072711.pkg", 234 | "logmeincheck.pkg", 235 | "LogMeInCheck1.4.pkg", 236 | "LogMeInCheck1.5.pkg", 237 | "Memtest422.dmg", 238 | "MicrosoftOffice2011.14.3.9.Update.pkg", 239 | "MicrosoftOffice2011.1436.Update.pkg", 240 | "MicrosoftOffice2011.1437.Update.pkg", 241 | "MicrosoftOffice2011Update14.3.4.pkg", 242 | "MissingMacRepair1.2.pkg", 243 | "MissingMacRepair1.3.pkg", 244 | "mso2011.1423.update.dmg", 245 | "mso2011.1424.update.dmg", 246 | "mso2011.1430.update.dmg", 247 | "mso2011.1431.update.dmg", 248 | "nsc.7345.mpkg", 249 | "nsc.7400.mpkg", 250 | "NSC.BlueJeans.dmg", 251 | "Office 2011 14.1.0 Update.mpkg", 252 | "office.2011.volume.mpkg", 253 | "office2011.1412.mpkg", 254 | "office2011.1414.update.dmg", 255 | "office2011.1425.update.dmg", 256 | "office2011.1432.update.dmg", 257 | "selfservice81.dmg", 258 | "smartmontools-6.0.pkg", 259 | "smartmontools-6.2.pkg", 260 | "smartmontools-6.4.pkg", 261 | "ssplugin.actions2.dmg", 262 | "Suitcase Fusion 3.mpkg", 263 | "theunarchiver.271.dmg", 264 | "Traffic.dmg", 265 | "Traffic10.1.dmg", 266 | "Traffic10.dmg", 267 | "Traffic900.dmg", 268 | "trafficlive720.dmg", 269 | "trafficlive80.dmg", 270 | "trafficlive81.dmg", 271 | "vlc.11101.dmg" 272 | ], 273 | "installed_by_installer_swu": [ 274 | "com.adobe.acrobat.a10.AcrobatUpd10112", 275 | "com.adobe.acrobat.a10.AcrobatUpd10113", 276 | "com.adobe.acrobat.a10.AcrobatUpd10115", 277 | "com.adobe.acrobat.a10.AcrobatUpd10116", 278 | "com.adobe.acrobat.AcrobatDCUpd1500920077", 279 | "com.adobe.acrobat.AcrobatDCUpd1501020056", 280 | "com.adobe.acrobat.AcrobatDCUpd1501020059", 281 | "com.adobe.acrobat.AcrobatDCUpd1501020060", 282 | "com.adobe.acrobat.AcrobatDCUpd1501620039", 283 | "com.adobe.acrobat.AcrobatDCUpd1501620041", 284 | "com.adobe.acrobat.AcrobatDCUpd1501620045", 285 | "com.adobe.acrobat.AcrobatDCUpd1501720050", 286 | "com.adobe.acrobat.AcrobatDCUpd1501720053", 287 | "com.adobe.acrobat.DC.viewer.app.pkg.MUI", 288 | "com.adobe.acrobat.DC.viewer.appsupport.pkg.MUI", 289 | "com.adobe.acrobat.DC.viewer.browser.pkg.MUI", 290 | "com.adobe.acrobat.DC.viewer.print_automator.pkg.MUI", 291 | "com.adobe.acrobat.DC.viewer.print_pdf_services.pkg.MUI", 292 | "com.adobe.acrobat.viewer.11.0.07.patch.pkg", 293 | "com.adobe.acrobat.viewer.11.0.09.patch.pkg", 294 | "com.adobe.acrobat.viewer.11.0.10.patch.pkg", 295 | "com.adobe.acrobat.viewer.11.0.11.patch.pkg", 296 | "com.adobe.acrobat.viewer.11.0.12.patch.pkg", 297 | "com.adobe.AcroServicesUpdater", 298 | "com.adobe.armdc.app.pkg", 299 | "com.adobe.Enterprise.install.D11A8D9D-3420-46AF-9654-5A9CACCE42CF", 300 | "com.adobe.Lightroom5", 301 | "com.adobe.PDApp.AdobeApplicationManager.installer.pkg", 302 | "com.adobe.pkg.FlashPlayer", 303 | "com.adobe.pkg.FlashPlayer", 304 | "com.apple.MacOSX.lang.da", 305 | "com.apple.MacOSX.lang.de", 306 | "com.apple.MacOSX.lang.es", 307 | "com.apple.MacOSX.lang.fi", 308 | "com.apple.MacOSX.lang.fr", 309 | "com.apple.MacOSX.lang.it", 310 | "com.apple.MacOSX.lang.ja", 311 | "com.apple.MacOSX.lang.ko", 312 | "com.apple.MacOSX.lang.nl", 313 | "com.apple.MacOSX.lang.no", 314 | "com.apple.MacOSX.lang.pt", 315 | "com.apple.MacOSX.lang.ru", 316 | "com.apple.MacOSX.lang.sv", 317 | "com.apple.MacOSX.lang.zh_CN", 318 | "com.apple.MacOSX.lang.zh_TW", 319 | "com.apple.pkg.AdditionalEssentials", 320 | "com.apple.pkg.AdditionalEssentials", 321 | "com.apple.pkg.AdditionalFonts", 322 | "com.apple.pkg.AdditionalSpeechVoices", 323 | "com.apple.pkg.AdditionalSpeechVoices", 324 | "com.apple.pkg.AddressBook", 325 | "com.apple.pkg.AirPortExtremeUpdate2007001", 326 | "com.apple.pkg.AirPortExtremeUpdate2007002", 327 | "com.apple.pkg.AirPortExtremeUpdate2007003", 328 | "com.apple.pkg.AirPortExtremeUpdate2008002", 329 | "com.apple.pkg.AppleDisplaysConfigData.12U2192", 330 | "com.apple.pkg.AppleIntermediateCodec", 331 | "com.apple.pkg.AppleMobileDeviceSupport", 332 | "com.apple.pkg.AsianLanguagesSupport", 333 | "com.apple.pkg.AsianLanguagesSupport", 334 | "com.apple.pkg.AudioUpdate2007-001.205.11.1", 335 | "com.apple.pkg.Automator", 336 | "com.apple.pkg.BaseSystem", 337 | "com.apple.pkg.BaseSystemBinaries", 338 | "com.apple.pkg.BaseSystemResources", 339 | "com.apple.pkg.BookKitDelta", 340 | "com.apple.pkg.Booth", 341 | "com.apple.pkg.BrotherPrinterDrivers", 342 | "com.apple.pkg.BSD", 343 | "com.apple.pkg.CanonPrinterDrivers", 344 | "com.apple.pkg.CoreADI", 345 | "com.apple.pkg.CoreFP", 346 | "com.apple.pkg.CoreFP", 347 | "com.apple.pkg.CoreLSKDConfigData.8", 348 | "com.apple.pkg.DSTUpdateTi-001", 349 | "com.apple.pkg.ElectronicsForImagingPrinterDrivers", 350 | "com.apple.pkg.EpsonPrinterDrivers", 351 | "com.apple.pkg.Essentials", 352 | "com.apple.pkg.Essentials", 353 | "com.apple.pkg.FrontRow", 354 | "com.apple.pkg.FrontRowUpdate1.3", 355 | "com.apple.pkg.FrontRowUpdate1.3.1", 356 | "com.apple.pkg.GarageBand", 357 | "com.apple.pkg.GarageBand_304", 358 | "com.apple.pkg.GarageBand_AppStore", 359 | "com.apple.pkg.GarageBand_AppStore", 360 | "com.apple.pkg.GarageBand_DemoSongs_Tiger", 361 | "com.apple.pkg.GarageBand_FactoryContent", 362 | "com.apple.pkg.GarageBand_Instruments_Tiger", 363 | "com.apple.pkg.GarageBand_Loops_Tiger", 364 | "com.apple.pkg.GarageBand_MIDI_Tiger", 365 | "com.apple.pkg.GatekeeperConfigData.14U2119", 366 | "com.apple.pkg.GatekeeperConfigData.14U2131", 367 | "com.apple.pkg.GatekeeperConfigData.14U2168", 368 | "com.apple.pkg.GatekeeperConfigData.14U2187", 369 | "com.apple.pkg.GatekeeperConfigData.14U2206", 370 | "com.apple.pkg.GatekeeperConfigData.14U2209", 371 | "com.apple.pkg.GatekeeperConfigData.14U2213", 372 | "com.apple.pkg.GatekeeperConfigData.14U2218", 373 | "com.apple.pkg.GatekeeperConfigData.14U2221", 374 | "com.apple.pkg.GatekeeperConfigData.14U2224", 375 | "com.apple.pkg.GatekeeperConfigData.14U2226", 376 | "com.apple.pkg.GatekeeperConfigData.14U2229", 377 | "com.apple.pkg.GatekeeperConfigData.14U2230", 378 | "com.apple.pkg.GatekeeperConfigData.14U2231", 379 | "com.apple.pkg.GatekeeperConfigData.14U2232", 380 | "com.apple.pkg.GatekeeperConfigData.14U2239", 381 | "com.apple.pkg.GimpPrintPrinterDrivers", 382 | "com.apple.pkg.HewlettPackardPrinterDrivers", 383 | "com.apple.pkg.iBooksDelta", 384 | "com.apple.pkg.iCal", 385 | "com.apple.pkg.iChat", 386 | "com.apple.pkg.iChatUpdateUniv", 387 | "com.apple.pkg.iDVD", 388 | "com.apple.pkg.iDVD_603", 389 | "com.apple.pkg.iDVD_604", 390 | "com.apple.pkg.iDVDThemes_Tiger", 391 | "com.apple.pkg.iLifeSoundEffects_Loops", 392 | "com.apple.pkg.iMacFirmwareUpdate", 393 | "com.apple.pkg.iMovie", 394 | "com.apple.pkg.iMovie_603", 395 | "com.apple.pkg.iMovie_AppStore", 396 | "com.apple.pkg.iMovie_AppStore", 397 | "com.apple.pkg.iMovieThemes_Tiger", 398 | "com.apple.pkg.iPhoto", 399 | "com.apple.pkg.iPhoto_605", 400 | "com.apple.pkg.iPhoto_606", 401 | "com.apple.pkg.iPhoto_AppStore", 402 | "com.apple.pkg.iPhotoContent", 403 | "com.apple.pkg.iTunes", 404 | "com.apple.pkg.iTunesAccess", 405 | "com.apple.pkg.iTunesAccess", 406 | "com.apple.pkg.iTunesX", 407 | "com.apple.pkg.iTunesX", 408 | "com.apple.pkg.iTunesX.12.4.2.delta", 409 | "com.apple.pkg.iTunesXPatch", 410 | "com.apple.pkg.iWeb_112", 411 | "com.apple.pkg.iWeb_App", 412 | "com.apple.pkg.iWeb_Temp_de", 413 | "com.apple.pkg.iWeb_Temp_en", 414 | "com.apple.pkg.iWeb_Temp_fr", 415 | "com.apple.pkg.iWeb_Temp_ja", 416 | "com.apple.pkg.iWeb_Temp_other", 417 | "com.apple.pkg.iWorkTrial", 418 | "com.apple.pkg.Java", 419 | "com.apple.pkg.JavaEssentials", 420 | "com.apple.pkg.JavaForMacOSX10.4Release5", 421 | "com.apple.pkg.JavaForMacOSX10.4Release6", 422 | "com.apple.pkg.JavaForMacOSX10.4Release7", 423 | "com.apple.pkg.JavaForMacOSX10.4Release8", 424 | "com.apple.pkg.JavaForMacOSX10.4Release9", 425 | "com.apple.pkg.JavaForMacOSX107", 426 | "com.apple.pkg.JavaMDNS", 427 | "com.apple.pkg.JavaSecurity", 428 | "com.apple.pkg.JavaTools", 429 | "com.apple.pkg.Keynote3.0.2", 430 | "com.apple.pkg.Keynote6", 431 | "com.apple.pkg.Keynote6", 432 | "com.apple.pkg.LexmarkPrinterDrivers", 433 | "com.apple.pkg.Mac2015002EFIUpdate", 434 | "com.apple.pkg.MAContent10_GarageBandCoreContent", 435 | "com.apple.pkg.MAContent10_PremiumPreLoopsChillwave", 436 | "com.apple.pkg.MAContent10_PremiumPreLoopsDeepHouse", 437 | "com.apple.pkg.MAContent10_PremiumPreLoopsDubstep", 438 | "com.apple.pkg.MAContent10_PremiumPreLoopsElectroHouse", 439 | "com.apple.pkg.MAContent10_PremiumPreLoopsGarageBand", 440 | "com.apple.pkg.MAContent10_PremiumPreLoopsHipHop", 441 | "com.apple.pkg.MAContent10_PremiumPreLoopsJamPack1", 442 | "com.apple.pkg.MAContent10_PremiumPreLoopsModernRnB", 443 | "com.apple.pkg.MAContent10_PremiumPreLoopsRemixTools", 444 | "com.apple.pkg.MAContent10_PremiumPreLoopsRhythmSection", 445 | "com.apple.pkg.MAContent10_PremiumPreLoopsSymphony", 446 | "com.apple.pkg.MAContent10_PremiumPreLoopsTechHouse", 447 | "com.apple.pkg.MAContent10_PremiumPreLoopsWorld", 448 | "com.apple.pkg.MacOSXUpd10.4.10Intel.205.7.4", 449 | "com.apple.pkg.MacOSXUpd10.4.11Intel.224.6", 450 | "com.apple.pkg.MacOSXUpdCombo10.4.8Intel.176.5", 451 | "com.apple.pkg.MacOSXUpdCombo10.4.9Intel.202.1", 452 | "com.apple.pkg.Mail", 453 | "com.apple.pkg.MediaFiles", 454 | "com.apple.pkg.MediaFiles", 455 | "com.apple.pkg.MigrationAssistant", 456 | "com.apple.pkg.MigrationDVDCDSharingTiger", 457 | "com.apple.pkg.MobileDevice", 458 | "com.apple.pkg.Numbers3", 459 | "com.apple.pkg.Numbers3", 460 | "com.apple.pkg.OxfordDictionaries", 461 | "com.apple.pkg.OxfordDictionaries", 462 | "com.apple.pkg.Pages2.0.2", 463 | "com.apple.pkg.Pages5", 464 | "com.apple.pkg.Pages5", 465 | "com.apple.pkg.QT72CompatibilityUpdate", 466 | "com.apple.pkg.QuickTime730_Tiger", 467 | "com.apple.pkg.QuickTime731_Tiger", 468 | "com.apple.pkg.QuickTime740_Tiger", 469 | "com.apple.pkg.QuickTime741_Tiger", 470 | "com.apple.pkg.QuickTime762_Tiger", 471 | "com.apple.pkg.RAWCameraUpdate5", 472 | "com.apple.pkg.RegionalBoot", 473 | "com.apple.pkg.RemoteDesktopClient", 474 | "com.apple.pkg.RicohPrinterDrivers", 475 | "com.apple.pkg.Safari", 476 | "com.apple.pkg.Safari31UpdUniv", 477 | "com.apple.pkg.Safari7.0.3Mavericks", 478 | "com.apple.pkg.Safari7.1.4Mavericks", 479 | "com.apple.pkg.Safari7.1.6Mavericks", 480 | "com.apple.pkg.Safari7.1.7Mavericks", 481 | "com.apple.pkg.Safari7.1Mavericks", 482 | "com.apple.pkg.Safari9.0.3Mavericks", 483 | "com.apple.pkg.Safari9.1.1Mavericks", 484 | "com.apple.pkg.Safari9.1.2Mavericks", 485 | "com.apple.pkg.Safari9.1.3Mavericks", 486 | "com.apple.pkg.Safari9.1Mavericks", 487 | "com.apple.pkg.SecUpd2006-007Intel", 488 | "com.apple.pkg.SecUpd2006-008Univ", 489 | "com.apple.pkg.SecUpd2007-001Ti", 490 | "com.apple.pkg.SecUpd2007-002Univ", 491 | "com.apple.pkg.SecUpd2007-004Univ", 492 | "com.apple.pkg.SecUpd2007-005Univ", 493 | "com.apple.pkg.SecUpd2007-006Univ", 494 | "com.apple.pkg.SecUpd2007-007Univ", 495 | "com.apple.pkg.SecUpd2007-009Univ", 496 | "com.apple.pkg.SecUpd2008-002Univ", 497 | "com.apple.pkg.SecUpd2009-002Intel", 498 | "com.apple.pkg.SecUpdQuickTime716", 499 | "com.apple.pkg.ThunderboltDisplayFWUpdate1.2", 500 | "com.apple.pkg.update.compatibility.2013.001", 501 | "com.apple.pkg.update.os.10.9.3.13D65.delta", 502 | "com.apple.pkg.update.os.10.9.4.13E28.delta", 503 | "com.apple.pkg.update.os.10.9.5.13F34.patch", 504 | "com.apple.pkg.update.os.bash.mavericks.1.0.2.1.15.24-3", 505 | "com.apple.pkg.update.security.10.9.2.13C1021.2014.002", 506 | "com.apple.pkg.update.security.10.9.5.13F1030.2014.005", 507 | "com.apple.pkg.update.security.10.9.5.13F1066.2015.002", 508 | "com.apple.pkg.update.security.10.9.5.13F1077.2015.004", 509 | "com.apple.pkg.update.security.10.9.5.13F1096.2015.005", 510 | "com.apple.pkg.update.security.2016-001Mavericks.13F1603", 511 | "com.apple.pkg.update.security.2016-002Mavericks.13F1712", 512 | "com.apple.pkg.update.security.2016-004Mavericks.13F1911", 513 | "com.apple.pkg.X11redirect", 514 | "com.apple.pkg.XeroxPrinterDrivers", 515 | "com.apple.pkg.XProtectPlistConfigData.14U4042", 516 | "com.apple.pkg.XProtectPlistConfigData.14U4043", 517 | "com.apple.pkg.XProtectPlistConfigData.14U4045", 518 | "com.apple.pkg.XProtectPlistConfigData.14U4046", 519 | "com.apple.pkg.XProtectPlistConfigData.14U4047", 520 | "com.apple.pkg.XProtectPlistConfigData.14U4048", 521 | "com.apple.pkg.XProtectPlistConfigData.14U4049", 522 | "com.apple.update.firmwareupdate", 523 | "com.efi.Harmony", 524 | "com.efi.ppdinstaller", 525 | "com.extensis.SuitcaseFusion5EN1620installer", 526 | "com.extensis.SuitcaseFusion5EN1625installer", 527 | "com.google.Desktop.pkg", 528 | "com.google.Gadgets.pkg", 529 | "com.google.pkg.Gild", 530 | "com.google.pkg.GoogleML", 531 | "com.google.pkg.Keystone", 532 | "com.jamfsoftware.osxenrollment", 533 | "com.microsoft.explorer", 534 | "com.microsoft.installSilverlightPlugin", 535 | "com.microsoft.office.all.automator.pkg.14.4.2.update", 536 | "com.microsoft.office.all.automator.pkg.14.4.3.update", 537 | "com.microsoft.office.all.automator.pkg.14.4.4.update", 538 | "com.microsoft.office.all.automator.pkg.14.4.5.update", 539 | "com.microsoft.office.all.automator.pkg.14.4.7.update", 540 | "com.microsoft.office.all.automator.pkg.14.4.8.update", 541 | "com.microsoft.office.all.automator.pkg.14.4.9.update", 542 | "com.microsoft.office.all.automator.pkg.14.5.0.update", 543 | "com.microsoft.office.all.automator.pkg.14.5.1.update", 544 | "com.microsoft.office.all.automator.pkg.14.5.2.update", 545 | "com.microsoft.office.all.automator.pkg.14.5.3.update", 546 | "com.microsoft.office.all.automator.pkg.14.5.6.update", 547 | "com.microsoft.office.all.automator.pkg.14.5.7.update", 548 | "com.microsoft.office.all.automator.pkg.14.5.8.update", 549 | "com.microsoft.office.all.automator.pkg.14.5.9.update", 550 | "com.microsoft.office.all.automator.pkg.14.6.1.update", 551 | "com.microsoft.office.all.automator.pkg.14.6.2.update", 552 | "com.microsoft.office.all.automator.pkg.14.6.3.update", 553 | "com.microsoft.office.all.automator.pkg.14.6.5.update", 554 | "com.microsoft.office.all.automator.pkg.14.6.6.update", 555 | "com.microsoft.office.all.core.pkg.14.4.2.update", 556 | "com.microsoft.office.all.core.pkg.14.4.3.update", 557 | "com.microsoft.office.all.core.pkg.14.4.4.update", 558 | "com.microsoft.office.all.core.pkg.14.4.5.update", 559 | "com.microsoft.office.all.core.pkg.14.4.7.update", 560 | "com.microsoft.office.all.core.pkg.14.4.8.update", 561 | "com.microsoft.office.all.core.pkg.14.4.9.update", 562 | "com.microsoft.office.all.core.pkg.14.5.0.update", 563 | "com.microsoft.office.all.core.pkg.14.5.1.update", 564 | "com.microsoft.office.all.core.pkg.14.5.2.update", 565 | "com.microsoft.office.all.core.pkg.14.5.3.update", 566 | "com.microsoft.office.all.core.pkg.14.5.6.update", 567 | "com.microsoft.office.all.core.pkg.14.5.7.update", 568 | "com.microsoft.office.all.core.pkg.14.5.8.update", 569 | "com.microsoft.office.all.core.pkg.14.5.9.update", 570 | "com.microsoft.office.all.core.pkg.14.6.1.update", 571 | "com.microsoft.office.all.core.pkg.14.6.2.update", 572 | "com.microsoft.office.all.core.pkg.14.6.3.update", 573 | "com.microsoft.office.all.core.pkg.14.6.5.update", 574 | "com.microsoft.office.all.core.pkg.14.6.6.update", 575 | "com.microsoft.office.all.dcc.pkg.14.4.2.update", 576 | "com.microsoft.office.all.dcc.pkg.14.4.3.update", 577 | "com.microsoft.office.all.dcc.pkg.14.4.4.update", 578 | "com.microsoft.office.all.dcc.pkg.14.4.5.update", 579 | "com.microsoft.office.all.dcc.pkg.14.4.7.update", 580 | "com.microsoft.office.all.dcc.pkg.14.4.8.update", 581 | "com.microsoft.office.all.dcc.pkg.14.4.9.update", 582 | "com.microsoft.office.all.dcc.pkg.14.5.0.update", 583 | "com.microsoft.office.all.dcc.pkg.14.5.1.update", 584 | "com.microsoft.office.all.dcc.pkg.14.5.2.update", 585 | "com.microsoft.office.all.dcc.pkg.14.5.3.update", 586 | "com.microsoft.office.all.dcc.pkg.14.5.6.update", 587 | "com.microsoft.office.all.dcc.pkg.14.5.7.update", 588 | "com.microsoft.office.all.dcc.pkg.14.5.8.update", 589 | "com.microsoft.office.all.dcc.pkg.14.5.9.update", 590 | "com.microsoft.office.all.dcc.pkg.14.6.1.update", 591 | "com.microsoft.office.all.dcc.pkg.14.6.2.update", 592 | "com.microsoft.office.all.dcc.pkg.14.6.3.update", 593 | "com.microsoft.office.all.dcc.pkg.14.6.5.update", 594 | "com.microsoft.office.all.dcc.pkg.14.6.6.update", 595 | "com.microsoft.office.all.equationeditor.pkg.14.4.2.update", 596 | "com.microsoft.office.all.equationeditor.pkg.14.4.3.update", 597 | "com.microsoft.office.all.equationeditor.pkg.14.4.4.update", 598 | "com.microsoft.office.all.equationeditor.pkg.14.4.5.update", 599 | "com.microsoft.office.all.equationeditor.pkg.14.4.7.update", 600 | "com.microsoft.office.all.equationeditor.pkg.14.4.8.update", 601 | "com.microsoft.office.all.equationeditor.pkg.14.4.9.update", 602 | "com.microsoft.office.all.equationeditor.pkg.14.5.0.update", 603 | "com.microsoft.office.all.equationeditor.pkg.14.5.1.update", 604 | "com.microsoft.office.all.equationeditor.pkg.14.5.2.update", 605 | "com.microsoft.office.all.equationeditor.pkg.14.5.3.update", 606 | "com.microsoft.office.all.equationeditor.pkg.14.5.6.update", 607 | "com.microsoft.office.all.equationeditor.pkg.14.5.7.update", 608 | "com.microsoft.office.all.equationeditor.pkg.14.5.8.update", 609 | "com.microsoft.office.all.equationeditor.pkg.14.5.9.update", 610 | "com.microsoft.office.all.equationeditor.pkg.14.6.1.update", 611 | "com.microsoft.office.all.equationeditor.pkg.14.6.2.update", 612 | "com.microsoft.office.all.equationeditor.pkg.14.6.3.update", 613 | "com.microsoft.office.all.equationeditor.pkg.14.6.5.update", 614 | "com.microsoft.office.all.equationeditor.pkg.14.6.6.update", 615 | "com.microsoft.office.all.excel.pkg.14.4.2.update", 616 | "com.microsoft.office.all.excel.pkg.14.4.3.update", 617 | "com.microsoft.office.all.excel.pkg.14.4.4.update", 618 | "com.microsoft.office.all.excel.pkg.14.4.5.update", 619 | "com.microsoft.office.all.excel.pkg.14.4.7.update", 620 | "com.microsoft.office.all.excel.pkg.14.4.8.update", 621 | "com.microsoft.office.all.excel.pkg.14.4.9.update", 622 | "com.microsoft.office.all.excel.pkg.14.5.0.update", 623 | "com.microsoft.office.all.excel.pkg.14.5.1.update", 624 | "com.microsoft.office.all.excel.pkg.14.5.2.update", 625 | "com.microsoft.office.all.excel.pkg.14.5.3.update", 626 | "com.microsoft.office.all.excel.pkg.14.5.6.update", 627 | "com.microsoft.office.all.excel.pkg.14.5.7.update", 628 | "com.microsoft.office.all.excel.pkg.14.5.8.update", 629 | "com.microsoft.office.all.excel.pkg.14.5.9.update", 630 | "com.microsoft.office.all.excel.pkg.14.6.1.update", 631 | "com.microsoft.office.all.excel.pkg.14.6.2.update", 632 | "com.microsoft.office.all.excel.pkg.14.6.3.update", 633 | "com.microsoft.office.all.excel.pkg.14.6.5.update", 634 | "com.microsoft.office.all.excel.pkg.14.6.6.update", 635 | "com.microsoft.office.all.fix_permissions.pkg.14.4.2", 636 | "com.microsoft.office.all.fix_permissions.pkg.14.4.3", 637 | "com.microsoft.office.all.fix_permissions.pkg.14.4.4", 638 | "com.microsoft.office.all.fix_permissions.pkg.14.4.5", 639 | "com.microsoft.office.all.fix_permissions.pkg.14.4.7", 640 | "com.microsoft.office.all.fix_permissions.pkg.14.4.8", 641 | "com.microsoft.office.all.fix_permissions.pkg.14.4.9", 642 | "com.microsoft.office.all.fix_permissions.pkg.14.5.0", 643 | "com.microsoft.office.all.fix_permissions.pkg.14.5.1", 644 | "com.microsoft.office.all.fix_permissions.pkg.14.5.2", 645 | "com.microsoft.office.all.fix_permissions.pkg.14.5.3", 646 | "com.microsoft.office.all.fix_permissions.pkg.14.5.6", 647 | "com.microsoft.office.all.fix_permissions.pkg.14.5.7", 648 | "com.microsoft.office.all.fix_permissions.pkg.14.5.8", 649 | "com.microsoft.office.all.fix_permissions.pkg.14.5.9", 650 | "com.microsoft.office.all.fix_permissions.pkg.14.6.1", 651 | "com.microsoft.office.all.fix_permissions.pkg.14.6.2", 652 | "com.microsoft.office.all.fix_permissions.pkg.14.6.3", 653 | "com.microsoft.office.all.fix_permissions.pkg.14.6.5", 654 | "com.microsoft.office.all.fix_permissions.pkg.14.6.6", 655 | "com.microsoft.office.all.fonts.pkg.14.4.2.update", 656 | "com.microsoft.office.all.fonts.pkg.14.4.3.update", 657 | "com.microsoft.office.all.fonts.pkg.14.4.4.update", 658 | "com.microsoft.office.all.fonts.pkg.14.4.5.update", 659 | "com.microsoft.office.all.fonts.pkg.14.4.7.update", 660 | "com.microsoft.office.all.fonts.pkg.14.4.8.update", 661 | "com.microsoft.office.all.fonts.pkg.14.4.9.update", 662 | "com.microsoft.office.all.fonts.pkg.14.5.0.update", 663 | "com.microsoft.office.all.fonts.pkg.14.5.1.update", 664 | "com.microsoft.office.all.fonts.pkg.14.5.2.update", 665 | "com.microsoft.office.all.fonts.pkg.14.5.3.update", 666 | "com.microsoft.office.all.fonts.pkg.14.5.6.update", 667 | "com.microsoft.office.all.fonts.pkg.14.5.7.update", 668 | "com.microsoft.office.all.fonts.pkg.14.5.8.update", 669 | "com.microsoft.office.all.fonts.pkg.14.5.9.update", 670 | "com.microsoft.office.all.fonts.pkg.14.6.1.update", 671 | "com.microsoft.office.all.fonts.pkg.14.6.2.update", 672 | "com.microsoft.office.all.fonts.pkg.14.6.3.update", 673 | "com.microsoft.office.all.fonts.pkg.14.6.5.update", 674 | "com.microsoft.office.all.fonts.pkg.14.6.6.update", 675 | "com.microsoft.office.all.graph.pkg.14.4.2.update", 676 | "com.microsoft.office.all.graph.pkg.14.4.3.update", 677 | "com.microsoft.office.all.graph.pkg.14.4.4.update", 678 | "com.microsoft.office.all.graph.pkg.14.4.5.update", 679 | "com.microsoft.office.all.graph.pkg.14.4.7.update", 680 | "com.microsoft.office.all.graph.pkg.14.4.8.update", 681 | "com.microsoft.office.all.graph.pkg.14.4.9.update", 682 | "com.microsoft.office.all.graph.pkg.14.5.0.update", 683 | "com.microsoft.office.all.graph.pkg.14.5.1.update", 684 | "com.microsoft.office.all.graph.pkg.14.5.2.update", 685 | "com.microsoft.office.all.graph.pkg.14.5.3.update", 686 | "com.microsoft.office.all.graph.pkg.14.5.6.update", 687 | "com.microsoft.office.all.graph.pkg.14.5.7.update", 688 | "com.microsoft.office.all.graph.pkg.14.5.8.update", 689 | "com.microsoft.office.all.graph.pkg.14.5.9.update", 690 | "com.microsoft.office.all.graph.pkg.14.6.1.update", 691 | "com.microsoft.office.all.graph.pkg.14.6.2.update", 692 | "com.microsoft.office.all.graph.pkg.14.6.3.update", 693 | "com.microsoft.office.all.graph.pkg.14.6.5.update", 694 | "com.microsoft.office.all.graph.pkg.14.6.6.update", 695 | "com.microsoft.office.all.ooxml.pkg.14.4.2.update", 696 | "com.microsoft.office.all.ooxml.pkg.14.4.3.update", 697 | "com.microsoft.office.all.ooxml.pkg.14.4.4.update", 698 | "com.microsoft.office.all.ooxml.pkg.14.4.5.update", 699 | "com.microsoft.office.all.ooxml.pkg.14.4.7.update", 700 | "com.microsoft.office.all.ooxml.pkg.14.4.8.update", 701 | "com.microsoft.office.all.ooxml.pkg.14.4.9.update", 702 | "com.microsoft.office.all.ooxml.pkg.14.5.0.update", 703 | "com.microsoft.office.all.ooxml.pkg.14.5.1.update", 704 | "com.microsoft.office.all.ooxml.pkg.14.5.2.update", 705 | "com.microsoft.office.all.ooxml.pkg.14.5.3.update", 706 | "com.microsoft.office.all.ooxml.pkg.14.5.6.update", 707 | "com.microsoft.office.all.ooxml.pkg.14.5.7.update", 708 | "com.microsoft.office.all.ooxml.pkg.14.5.8.update", 709 | "com.microsoft.office.all.ooxml.pkg.14.5.9.update", 710 | "com.microsoft.office.all.ooxml.pkg.14.6.1.update", 711 | "com.microsoft.office.all.ooxml.pkg.14.6.2.update", 712 | "com.microsoft.office.all.ooxml.pkg.14.6.3.update", 713 | "com.microsoft.office.all.ooxml.pkg.14.6.5.update", 714 | "com.microsoft.office.all.ooxml.pkg.14.6.6.update", 715 | "com.microsoft.office.all.outlook.pkg.14.4.2.update", 716 | "com.microsoft.office.all.outlook.pkg.14.4.3.update", 717 | "com.microsoft.office.all.outlook.pkg.14.4.4.update", 718 | "com.microsoft.office.all.outlook.pkg.14.4.5.update", 719 | "com.microsoft.office.all.outlook.pkg.14.4.7.update", 720 | "com.microsoft.office.all.outlook.pkg.14.4.8.update", 721 | "com.microsoft.office.all.outlook.pkg.14.4.9.update", 722 | "com.microsoft.office.all.outlook.pkg.14.5.0.update", 723 | "com.microsoft.office.all.outlook.pkg.14.5.1.update", 724 | "com.microsoft.office.all.outlook.pkg.14.5.2.update", 725 | "com.microsoft.office.all.outlook.pkg.14.5.3.update", 726 | "com.microsoft.office.all.outlook.pkg.14.5.6.update", 727 | "com.microsoft.office.all.outlook.pkg.14.5.7.update", 728 | "com.microsoft.office.all.outlook.pkg.14.5.8.update", 729 | "com.microsoft.office.all.outlook.pkg.14.5.9.update", 730 | "com.microsoft.office.all.outlook.pkg.14.6.1.update", 731 | "com.microsoft.office.all.outlook.pkg.14.6.2.update", 732 | "com.microsoft.office.all.outlook.pkg.14.6.3.update", 733 | "com.microsoft.office.all.outlook.pkg.14.6.5.update", 734 | "com.microsoft.office.all.outlook.pkg.14.6.6.update", 735 | "com.microsoft.office.all.powerpoint.pkg.14.4.2.update", 736 | "com.microsoft.office.all.powerpoint.pkg.14.4.3.update", 737 | "com.microsoft.office.all.powerpoint.pkg.14.4.4.update", 738 | "com.microsoft.office.all.powerpoint.pkg.14.4.5.update", 739 | "com.microsoft.office.all.powerpoint.pkg.14.4.7.update", 740 | "com.microsoft.office.all.powerpoint.pkg.14.4.8.update", 741 | "com.microsoft.office.all.powerpoint.pkg.14.4.9.update", 742 | "com.microsoft.office.all.powerpoint.pkg.14.5.0.update", 743 | "com.microsoft.office.all.powerpoint.pkg.14.5.1.update", 744 | "com.microsoft.office.all.powerpoint.pkg.14.5.2.update", 745 | "com.microsoft.office.all.powerpoint.pkg.14.5.3.update", 746 | "com.microsoft.office.all.powerpoint.pkg.14.5.6.update", 747 | "com.microsoft.office.all.powerpoint.pkg.14.5.7.update", 748 | "com.microsoft.office.all.powerpoint.pkg.14.5.8.update", 749 | "com.microsoft.office.all.powerpoint.pkg.14.5.9.update", 750 | "com.microsoft.office.all.powerpoint.pkg.14.6.1.update", 751 | "com.microsoft.office.all.powerpoint.pkg.14.6.2.update", 752 | "com.microsoft.office.all.powerpoint.pkg.14.6.3.update", 753 | "com.microsoft.office.all.powerpoint.pkg.14.6.5.update", 754 | "com.microsoft.office.all.powerpoint.pkg.14.6.6.update", 755 | "com.microsoft.office.all.proofing_brazilian.pkg.14.4.2.update", 756 | "com.microsoft.office.all.proofing_brazilian.pkg.14.4.3.update", 757 | "com.microsoft.office.all.proofing_brazilian.pkg.14.4.4.update", 758 | "com.microsoft.office.all.proofing_brazilian.pkg.14.4.5.update", 759 | "com.microsoft.office.all.proofing_brazilian.pkg.14.4.7.update", 760 | "com.microsoft.office.all.proofing_brazilian.pkg.14.4.8.update", 761 | "com.microsoft.office.all.proofing_brazilian.pkg.14.4.9.update", 762 | "com.microsoft.office.all.proofing_brazilian.pkg.14.5.0.update", 763 | "com.microsoft.office.all.proofing_brazilian.pkg.14.5.1.update", 764 | "com.microsoft.office.all.proofing_brazilian.pkg.14.5.2.update", 765 | "com.microsoft.office.all.proofing_brazilian.pkg.14.5.3.update", 766 | "com.microsoft.office.all.proofing_brazilian.pkg.14.5.6.update", 767 | "com.microsoft.office.all.proofing_brazilian.pkg.14.5.7.update", 768 | "com.microsoft.office.all.proofing_brazilian.pkg.14.5.8.update", 769 | "com.microsoft.office.all.proofing_brazilian.pkg.14.5.9.update", 770 | "com.microsoft.office.all.proofing_brazilian.pkg.14.6.1.update", 771 | "com.microsoft.office.all.proofing_brazilian.pkg.14.6.2.update", 772 | "com.microsoft.office.all.proofing_brazilian.pkg.14.6.3.update", 773 | "com.microsoft.office.all.proofing_brazilian.pkg.14.6.5.update", 774 | "com.microsoft.office.all.proofing_brazilian.pkg.14.6.6.update", 775 | "com.microsoft.office.all.proofing_catalan.pkg.14.4.2.update", 776 | "com.microsoft.office.all.proofing_catalan.pkg.14.4.3.update", 777 | "com.microsoft.office.all.proofing_catalan.pkg.14.4.4.update", 778 | "com.microsoft.office.all.proofing_catalan.pkg.14.4.5.update", 779 | "com.microsoft.office.all.proofing_catalan.pkg.14.4.7.update", 780 | "com.microsoft.office.all.proofing_catalan.pkg.14.4.8.update", 781 | "com.microsoft.office.all.proofing_catalan.pkg.14.4.9.update", 782 | "com.microsoft.office.all.proofing_catalan.pkg.14.5.0.update", 783 | "com.microsoft.office.all.proofing_catalan.pkg.14.5.1.update", 784 | "com.microsoft.office.all.proofing_catalan.pkg.14.5.2.update", 785 | "com.microsoft.office.all.proofing_catalan.pkg.14.5.3.update", 786 | "com.microsoft.office.all.proofing_catalan.pkg.14.5.6.update", 787 | "com.microsoft.office.all.proofing_catalan.pkg.14.5.7.update", 788 | "com.microsoft.office.all.proofing_catalan.pkg.14.5.8.update", 789 | "com.microsoft.office.all.proofing_catalan.pkg.14.5.9.update", 790 | "com.microsoft.office.all.proofing_catalan.pkg.14.6.1.update", 791 | "com.microsoft.office.all.proofing_catalan.pkg.14.6.2.update", 792 | "com.microsoft.office.all.proofing_catalan.pkg.14.6.3.update", 793 | "com.microsoft.office.all.proofing_catalan.pkg.14.6.5.update", 794 | "com.microsoft.office.all.proofing_catalan.pkg.14.6.6.update", 795 | "com.microsoft.office.all.proofing_czech.pkg.14.4.2.update", 796 | "com.microsoft.office.all.proofing_czech.pkg.14.4.3.update", 797 | "com.microsoft.office.all.proofing_czech.pkg.14.4.4.update", 798 | "com.microsoft.office.all.proofing_czech.pkg.14.4.5.update", 799 | "com.microsoft.office.all.proofing_czech.pkg.14.4.7.update", 800 | "com.microsoft.office.all.proofing_czech.pkg.14.4.8.update", 801 | "com.microsoft.office.all.proofing_czech.pkg.14.4.9.update", 802 | "com.microsoft.office.all.proofing_czech.pkg.14.5.0.update", 803 | "com.microsoft.office.all.proofing_czech.pkg.14.5.1.update", 804 | "com.microsoft.office.all.proofing_czech.pkg.14.5.2.update", 805 | "com.microsoft.office.all.proofing_czech.pkg.14.5.3.update", 806 | "com.microsoft.office.all.proofing_czech.pkg.14.5.6.update", 807 | "com.microsoft.office.all.proofing_czech.pkg.14.5.7.update", 808 | "com.microsoft.office.all.proofing_czech.pkg.14.5.8.update", 809 | "com.microsoft.office.all.proofing_czech.pkg.14.5.9.update", 810 | "com.microsoft.office.all.proofing_czech.pkg.14.6.1.update", 811 | "com.microsoft.office.all.proofing_czech.pkg.14.6.2.update", 812 | "com.microsoft.office.all.proofing_czech.pkg.14.6.3.update", 813 | "com.microsoft.office.all.proofing_czech.pkg.14.6.5.update", 814 | "com.microsoft.office.all.proofing_czech.pkg.14.6.6.update", 815 | "com.microsoft.office.all.proofing_danish.pkg.14.4.2.update", 816 | "com.microsoft.office.all.proofing_danish.pkg.14.4.3.update", 817 | "com.microsoft.office.all.proofing_danish.pkg.14.4.4.update", 818 | "com.microsoft.office.all.proofing_danish.pkg.14.4.5.update", 819 | "com.microsoft.office.all.proofing_danish.pkg.14.4.7.update", 820 | "com.microsoft.office.all.proofing_danish.pkg.14.4.8.update", 821 | "com.microsoft.office.all.proofing_danish.pkg.14.4.9.update", 822 | "com.microsoft.office.all.proofing_danish.pkg.14.5.0.update", 823 | "com.microsoft.office.all.proofing_danish.pkg.14.5.1.update", 824 | "com.microsoft.office.all.proofing_danish.pkg.14.5.2.update", 825 | "com.microsoft.office.all.proofing_danish.pkg.14.5.3.update", 826 | "com.microsoft.office.all.proofing_danish.pkg.14.5.6.update", 827 | "com.microsoft.office.all.proofing_danish.pkg.14.5.7.update", 828 | "com.microsoft.office.all.proofing_danish.pkg.14.5.8.update", 829 | "com.microsoft.office.all.proofing_danish.pkg.14.5.9.update", 830 | "com.microsoft.office.all.proofing_danish.pkg.14.6.1.update", 831 | "com.microsoft.office.all.proofing_danish.pkg.14.6.2.update", 832 | "com.microsoft.office.all.proofing_danish.pkg.14.6.3.update", 833 | "com.microsoft.office.all.proofing_danish.pkg.14.6.5.update", 834 | "com.microsoft.office.all.proofing_danish.pkg.14.6.6.update", 835 | "com.microsoft.office.all.proofing_dutch.pkg.14.4.2.update", 836 | "com.microsoft.office.all.proofing_dutch.pkg.14.4.3.update", 837 | "com.microsoft.office.all.proofing_dutch.pkg.14.4.4.update", 838 | "com.microsoft.office.all.proofing_dutch.pkg.14.4.5.update", 839 | "com.microsoft.office.all.proofing_dutch.pkg.14.4.7.update", 840 | "com.microsoft.office.all.proofing_dutch.pkg.14.4.8.update", 841 | "com.microsoft.office.all.proofing_dutch.pkg.14.4.9.update", 842 | "com.microsoft.office.all.proofing_dutch.pkg.14.5.0.update", 843 | "com.microsoft.office.all.proofing_dutch.pkg.14.5.1.update", 844 | "com.microsoft.office.all.proofing_dutch.pkg.14.5.2.update", 845 | "com.microsoft.office.all.proofing_dutch.pkg.14.5.3.update", 846 | "com.microsoft.office.all.proofing_dutch.pkg.14.5.6.update", 847 | "com.microsoft.office.all.proofing_dutch.pkg.14.5.7.update", 848 | "com.microsoft.office.all.proofing_dutch.pkg.14.5.8.update", 849 | "com.microsoft.office.all.proofing_dutch.pkg.14.5.9.update", 850 | "com.microsoft.office.all.proofing_dutch.pkg.14.6.1.update", 851 | "com.microsoft.office.all.proofing_dutch.pkg.14.6.2.update", 852 | "com.microsoft.office.all.proofing_dutch.pkg.14.6.3.update", 853 | "com.microsoft.office.all.proofing_dutch.pkg.14.6.5.update", 854 | "com.microsoft.office.all.proofing_dutch.pkg.14.6.6.update", 855 | "com.microsoft.office.all.proofing_english.pkg.14.4.2.update", 856 | "com.microsoft.office.all.proofing_english.pkg.14.4.3.update", 857 | "com.microsoft.office.all.proofing_english.pkg.14.4.4.update", 858 | "com.microsoft.office.all.proofing_english.pkg.14.4.5.update", 859 | "com.microsoft.office.all.proofing_english.pkg.14.4.7.update", 860 | "com.microsoft.office.all.proofing_english.pkg.14.4.8.update", 861 | "com.microsoft.office.all.proofing_english.pkg.14.4.9.update", 862 | "com.microsoft.office.all.proofing_english.pkg.14.5.0.update", 863 | "com.microsoft.office.all.proofing_english.pkg.14.5.1.update", 864 | "com.microsoft.office.all.proofing_english.pkg.14.5.2.update", 865 | "com.microsoft.office.all.proofing_english.pkg.14.5.3.update", 866 | "com.microsoft.office.all.proofing_english.pkg.14.5.6.update", 867 | "com.microsoft.office.all.proofing_english.pkg.14.5.7.update", 868 | "com.microsoft.office.all.proofing_english.pkg.14.5.8.update", 869 | "com.microsoft.office.all.proofing_english.pkg.14.5.9.update", 870 | "com.microsoft.office.all.proofing_english.pkg.14.6.1.update", 871 | "com.microsoft.office.all.proofing_english.pkg.14.6.2.update", 872 | "com.microsoft.office.all.proofing_english.pkg.14.6.3.update", 873 | "com.microsoft.office.all.proofing_english.pkg.14.6.5.update", 874 | "com.microsoft.office.all.proofing_english.pkg.14.6.6.update", 875 | "com.microsoft.office.all.proofing_finnish.pkg.14.4.2.update", 876 | "com.microsoft.office.all.proofing_finnish.pkg.14.4.3.update", 877 | "com.microsoft.office.all.proofing_finnish.pkg.14.4.4.update", 878 | "com.microsoft.office.all.proofing_finnish.pkg.14.4.5.update", 879 | "com.microsoft.office.all.proofing_finnish.pkg.14.4.7.update", 880 | "com.microsoft.office.all.proofing_finnish.pkg.14.4.8.update", 881 | "com.microsoft.office.all.proofing_finnish.pkg.14.4.9.update", 882 | "com.microsoft.office.all.proofing_finnish.pkg.14.5.0.update", 883 | "com.microsoft.office.all.proofing_finnish.pkg.14.5.1.update", 884 | "com.microsoft.office.all.proofing_finnish.pkg.14.5.2.update", 885 | "com.microsoft.office.all.proofing_finnish.pkg.14.5.3.update", 886 | "com.microsoft.office.all.proofing_finnish.pkg.14.5.6.update", 887 | "com.microsoft.office.all.proofing_finnish.pkg.14.5.7.update", 888 | "com.microsoft.office.all.proofing_finnish.pkg.14.5.8.update", 889 | "com.microsoft.office.all.proofing_finnish.pkg.14.5.9.update", 890 | "com.microsoft.office.all.proofing_finnish.pkg.14.6.1.update", 891 | "com.microsoft.office.all.proofing_finnish.pkg.14.6.2.update", 892 | "com.microsoft.office.all.proofing_finnish.pkg.14.6.3.update", 893 | "com.microsoft.office.all.proofing_finnish.pkg.14.6.5.update", 894 | "com.microsoft.office.all.proofing_finnish.pkg.14.6.6.update", 895 | "com.microsoft.office.all.proofing_french.pkg.14.4.2.update", 896 | "com.microsoft.office.all.proofing_french.pkg.14.4.3.update", 897 | "com.microsoft.office.all.proofing_french.pkg.14.4.4.update", 898 | "com.microsoft.office.all.proofing_french.pkg.14.4.5.update", 899 | "com.microsoft.office.all.proofing_french.pkg.14.4.7.update", 900 | "com.microsoft.office.all.proofing_french.pkg.14.4.8.update", 901 | "com.microsoft.office.all.proofing_french.pkg.14.4.9.update", 902 | "com.microsoft.office.all.proofing_french.pkg.14.5.0.update", 903 | "com.microsoft.office.all.proofing_french.pkg.14.5.1.update", 904 | "com.microsoft.office.all.proofing_french.pkg.14.5.2.update", 905 | "com.microsoft.office.all.proofing_french.pkg.14.5.3.update", 906 | "com.microsoft.office.all.proofing_french.pkg.14.5.6.update", 907 | "com.microsoft.office.all.proofing_french.pkg.14.5.7.update", 908 | "com.microsoft.office.all.proofing_french.pkg.14.5.8.update", 909 | "com.microsoft.office.all.proofing_french.pkg.14.5.9.update", 910 | "com.microsoft.office.all.proofing_french.pkg.14.6.1.update", 911 | "com.microsoft.office.all.proofing_french.pkg.14.6.2.update", 912 | "com.microsoft.office.all.proofing_french.pkg.14.6.3.update", 913 | "com.microsoft.office.all.proofing_french.pkg.14.6.5.update", 914 | "com.microsoft.office.all.proofing_french.pkg.14.6.6.update", 915 | "com.microsoft.office.all.proofing_german.pkg.14.4.2.update", 916 | "com.microsoft.office.all.proofing_german.pkg.14.4.3.update", 917 | "com.microsoft.office.all.proofing_german.pkg.14.4.4.update", 918 | "com.microsoft.office.all.proofing_german.pkg.14.4.5.update", 919 | "com.microsoft.office.all.proofing_german.pkg.14.4.7.update", 920 | "com.microsoft.office.all.proofing_german.pkg.14.4.8.update", 921 | "com.microsoft.office.all.proofing_german.pkg.14.4.9.update", 922 | "com.microsoft.office.all.proofing_german.pkg.14.5.0.update", 923 | "com.microsoft.office.all.proofing_german.pkg.14.5.1.update", 924 | "com.microsoft.office.all.proofing_german.pkg.14.5.2.update", 925 | "com.microsoft.office.all.proofing_german.pkg.14.5.3.update", 926 | "com.microsoft.office.all.proofing_german.pkg.14.5.6.update", 927 | "com.microsoft.office.all.proofing_german.pkg.14.5.7.update", 928 | "com.microsoft.office.all.proofing_german.pkg.14.5.8.update", 929 | "com.microsoft.office.all.proofing_german.pkg.14.5.9.update", 930 | "com.microsoft.office.all.proofing_german.pkg.14.6.1.update", 931 | "com.microsoft.office.all.proofing_german.pkg.14.6.2.update", 932 | "com.microsoft.office.all.proofing_german.pkg.14.6.3.update", 933 | "com.microsoft.office.all.proofing_german.pkg.14.6.5.update", 934 | "com.microsoft.office.all.proofing_german.pkg.14.6.6.update", 935 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.4.2.update", 936 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.4.3.update", 937 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.4.4.update", 938 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.4.5.update", 939 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.4.7.update", 940 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.4.8.update", 941 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.4.9.update", 942 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.5.0.update", 943 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.5.1.update", 944 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.5.2.update", 945 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.5.3.update", 946 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.5.6.update", 947 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.5.7.update", 948 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.5.8.update", 949 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.5.9.update", 950 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.6.1.update", 951 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.6.2.update", 952 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.6.3.update", 953 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.6.5.update", 954 | "com.microsoft.office.all.proofing_italian_grammar.pkg.14.6.6.update", 955 | "com.microsoft.office.all.proofing_italian.pkg.14.4.2.update", 956 | "com.microsoft.office.all.proofing_italian.pkg.14.4.3.update", 957 | "com.microsoft.office.all.proofing_italian.pkg.14.4.4.update", 958 | "com.microsoft.office.all.proofing_italian.pkg.14.4.5.update", 959 | "com.microsoft.office.all.proofing_italian.pkg.14.4.7.update", 960 | "com.microsoft.office.all.proofing_italian.pkg.14.4.8.update", 961 | "com.microsoft.office.all.proofing_italian.pkg.14.4.9.update", 962 | "com.microsoft.office.all.proofing_italian.pkg.14.5.0.update", 963 | "com.microsoft.office.all.proofing_italian.pkg.14.5.1.update", 964 | "com.microsoft.office.all.proofing_italian.pkg.14.5.2.update", 965 | "com.microsoft.office.all.proofing_italian.pkg.14.5.3.update", 966 | "com.microsoft.office.all.proofing_italian.pkg.14.5.6.update", 967 | "com.microsoft.office.all.proofing_italian.pkg.14.5.7.update", 968 | "com.microsoft.office.all.proofing_italian.pkg.14.5.8.update", 969 | "com.microsoft.office.all.proofing_italian.pkg.14.5.9.update", 970 | "com.microsoft.office.all.proofing_italian.pkg.14.6.1.update", 971 | "com.microsoft.office.all.proofing_italian.pkg.14.6.2.update", 972 | "com.microsoft.office.all.proofing_italian.pkg.14.6.3.update", 973 | "com.microsoft.office.all.proofing_italian.pkg.14.6.5.update", 974 | "com.microsoft.office.all.proofing_italian.pkg.14.6.6.update", 975 | "com.microsoft.office.all.proofing_japanese.pkg.14.4.2.update", 976 | "com.microsoft.office.all.proofing_japanese.pkg.14.4.3.update", 977 | "com.microsoft.office.all.proofing_japanese.pkg.14.4.4.update", 978 | "com.microsoft.office.all.proofing_japanese.pkg.14.4.5.update", 979 | "com.microsoft.office.all.proofing_japanese.pkg.14.4.7.update", 980 | "com.microsoft.office.all.proofing_japanese.pkg.14.4.8.update", 981 | "com.microsoft.office.all.proofing_japanese.pkg.14.4.9.update", 982 | "com.microsoft.office.all.proofing_japanese.pkg.14.5.0.update", 983 | "com.microsoft.office.all.proofing_japanese.pkg.14.5.1.update", 984 | "com.microsoft.office.all.proofing_japanese.pkg.14.5.2.update", 985 | "com.microsoft.office.all.proofing_japanese.pkg.14.5.3.update", 986 | "com.microsoft.office.all.proofing_japanese.pkg.14.5.6.update", 987 | "com.microsoft.office.all.proofing_japanese.pkg.14.5.7.update", 988 | "com.microsoft.office.all.proofing_japanese.pkg.14.5.8.update", 989 | "com.microsoft.office.all.proofing_japanese.pkg.14.5.9.update", 990 | "com.microsoft.office.all.proofing_japanese.pkg.14.6.1.update", 991 | "com.microsoft.office.all.proofing_japanese.pkg.14.6.2.update", 992 | "com.microsoft.office.all.proofing_japanese.pkg.14.6.3.update", 993 | "com.microsoft.office.all.proofing_japanese.pkg.14.6.5.update", 994 | "com.microsoft.office.all.proofing_japanese.pkg.14.6.6.update", 995 | "com.microsoft.office.all.proofing_norwegian.pkg.14.4.2.update", 996 | "com.microsoft.office.all.proofing_norwegian.pkg.14.4.3.update", 997 | "com.microsoft.office.all.proofing_norwegian.pkg.14.4.4.update", 998 | "com.microsoft.office.all.proofing_norwegian.pkg.14.4.5.update", 999 | "com.microsoft.office.all.proofing_norwegian.pkg.14.4.7.update", 1000 | "com.microsoft.office.all.proofing_norwegian.pkg.14.4.8.update", 1001 | "com.microsoft.office.all.proofing_norwegian.pkg.14.4.9.update", 1002 | "com.microsoft.office.all.proofing_norwegian.pkg.14.5.0.update", 1003 | "com.microsoft.office.all.proofing_norwegian.pkg.14.5.1.update", 1004 | "com.microsoft.office.all.proofing_norwegian.pkg.14.5.2.update", 1005 | "com.microsoft.office.all.proofing_norwegian.pkg.14.5.3.update", 1006 | "com.microsoft.office.all.proofing_norwegian.pkg.14.5.6.update", 1007 | "com.microsoft.office.all.proofing_norwegian.pkg.14.5.7.update", 1008 | "com.microsoft.office.all.proofing_norwegian.pkg.14.5.8.update", 1009 | "com.microsoft.office.all.proofing_norwegian.pkg.14.5.9.update", 1010 | "com.microsoft.office.all.proofing_norwegian.pkg.14.6.1.update", 1011 | "com.microsoft.office.all.proofing_norwegian.pkg.14.6.2.update", 1012 | "com.microsoft.office.all.proofing_norwegian.pkg.14.6.3.update", 1013 | "com.microsoft.office.all.proofing_norwegian.pkg.14.6.5.update", 1014 | "com.microsoft.office.all.proofing_norwegian.pkg.14.6.6.update", 1015 | "com.microsoft.office.all.proofing_polish.pkg.14.4.2.update", 1016 | "com.microsoft.office.all.proofing_polish.pkg.14.4.3.update", 1017 | "com.microsoft.office.all.proofing_polish.pkg.14.4.4.update", 1018 | "com.microsoft.office.all.proofing_polish.pkg.14.4.5.update", 1019 | "com.microsoft.office.all.proofing_polish.pkg.14.4.7.update", 1020 | "com.microsoft.office.all.proofing_polish.pkg.14.4.8.update", 1021 | "com.microsoft.office.all.proofing_polish.pkg.14.4.9.update", 1022 | "com.microsoft.office.all.proofing_polish.pkg.14.5.0.update", 1023 | "com.microsoft.office.all.proofing_polish.pkg.14.5.1.update", 1024 | "com.microsoft.office.all.proofing_polish.pkg.14.5.2.update", 1025 | "com.microsoft.office.all.proofing_polish.pkg.14.5.3.update", 1026 | "com.microsoft.office.all.proofing_polish.pkg.14.5.6.update", 1027 | "com.microsoft.office.all.proofing_polish.pkg.14.5.7.update", 1028 | "com.microsoft.office.all.proofing_polish.pkg.14.5.8.update", 1029 | "com.microsoft.office.all.proofing_polish.pkg.14.5.9.update", 1030 | "com.microsoft.office.all.proofing_polish.pkg.14.6.1.update", 1031 | "com.microsoft.office.all.proofing_polish.pkg.14.6.2.update", 1032 | "com.microsoft.office.all.proofing_polish.pkg.14.6.3.update", 1033 | "com.microsoft.office.all.proofing_polish.pkg.14.6.5.update", 1034 | "com.microsoft.office.all.proofing_polish.pkg.14.6.6.update", 1035 | "com.microsoft.office.all.proofing_portuguese.pkg.14.4.2.update", 1036 | "com.microsoft.office.all.proofing_portuguese.pkg.14.4.3.update", 1037 | "com.microsoft.office.all.proofing_portuguese.pkg.14.4.4.update", 1038 | "com.microsoft.office.all.proofing_portuguese.pkg.14.4.5.update", 1039 | "com.microsoft.office.all.proofing_portuguese.pkg.14.4.7.update", 1040 | "com.microsoft.office.all.proofing_portuguese.pkg.14.4.8.update", 1041 | "com.microsoft.office.all.proofing_portuguese.pkg.14.4.9.update", 1042 | "com.microsoft.office.all.proofing_portuguese.pkg.14.5.0.update", 1043 | "com.microsoft.office.all.proofing_portuguese.pkg.14.5.1.update", 1044 | "com.microsoft.office.all.proofing_portuguese.pkg.14.5.2.update", 1045 | "com.microsoft.office.all.proofing_portuguese.pkg.14.5.3.update", 1046 | "com.microsoft.office.all.proofing_portuguese.pkg.14.5.6.update", 1047 | "com.microsoft.office.all.proofing_portuguese.pkg.14.5.7.update", 1048 | "com.microsoft.office.all.proofing_portuguese.pkg.14.5.8.update", 1049 | "com.microsoft.office.all.proofing_portuguese.pkg.14.5.9.update", 1050 | "com.microsoft.office.all.proofing_portuguese.pkg.14.6.1.update", 1051 | "com.microsoft.office.all.proofing_portuguese.pkg.14.6.2.update", 1052 | "com.microsoft.office.all.proofing_portuguese.pkg.14.6.3.update", 1053 | "com.microsoft.office.all.proofing_portuguese.pkg.14.6.5.update", 1054 | "com.microsoft.office.all.proofing_portuguese.pkg.14.6.6.update", 1055 | "com.microsoft.office.all.proofing_russian.pkg.14.4.2.update", 1056 | "com.microsoft.office.all.proofing_russian.pkg.14.4.3.update", 1057 | "com.microsoft.office.all.proofing_russian.pkg.14.4.4.update", 1058 | "com.microsoft.office.all.proofing_russian.pkg.14.4.5.update", 1059 | "com.microsoft.office.all.proofing_russian.pkg.14.4.7.update", 1060 | "com.microsoft.office.all.proofing_russian.pkg.14.4.8.update", 1061 | "com.microsoft.office.all.proofing_russian.pkg.14.4.9.update", 1062 | "com.microsoft.office.all.proofing_russian.pkg.14.5.0.update", 1063 | "com.microsoft.office.all.proofing_russian.pkg.14.5.1.update", 1064 | "com.microsoft.office.all.proofing_russian.pkg.14.5.2.update", 1065 | "com.microsoft.office.all.proofing_russian.pkg.14.5.3.update", 1066 | "com.microsoft.office.all.proofing_russian.pkg.14.5.6.update", 1067 | "com.microsoft.office.all.proofing_russian.pkg.14.5.7.update", 1068 | "com.microsoft.office.all.proofing_russian.pkg.14.5.8.update", 1069 | "com.microsoft.office.all.proofing_russian.pkg.14.5.9.update", 1070 | "com.microsoft.office.all.proofing_russian.pkg.14.6.1.update", 1071 | "com.microsoft.office.all.proofing_russian.pkg.14.6.2.update", 1072 | "com.microsoft.office.all.proofing_russian.pkg.14.6.3.update", 1073 | "com.microsoft.office.all.proofing_russian.pkg.14.6.5.update", 1074 | "com.microsoft.office.all.proofing_russian.pkg.14.6.6.update", 1075 | "com.microsoft.office.all.proofing_spanish.pkg.14.4.2.update", 1076 | "com.microsoft.office.all.proofing_spanish.pkg.14.4.3.update", 1077 | "com.microsoft.office.all.proofing_spanish.pkg.14.4.4.update", 1078 | "com.microsoft.office.all.proofing_spanish.pkg.14.4.5.update", 1079 | "com.microsoft.office.all.proofing_spanish.pkg.14.4.7.update", 1080 | "com.microsoft.office.all.proofing_spanish.pkg.14.4.8.update", 1081 | "com.microsoft.office.all.proofing_spanish.pkg.14.4.9.update", 1082 | "com.microsoft.office.all.proofing_spanish.pkg.14.5.0.update", 1083 | "com.microsoft.office.all.proofing_spanish.pkg.14.5.1.update", 1084 | "com.microsoft.office.all.proofing_spanish.pkg.14.5.2.update", 1085 | "com.microsoft.office.all.proofing_spanish.pkg.14.5.3.update", 1086 | "com.microsoft.office.all.proofing_spanish.pkg.14.5.6.update", 1087 | "com.microsoft.office.all.proofing_spanish.pkg.14.5.7.update", 1088 | "com.microsoft.office.all.proofing_spanish.pkg.14.5.8.update", 1089 | "com.microsoft.office.all.proofing_spanish.pkg.14.5.9.update", 1090 | "com.microsoft.office.all.proofing_spanish.pkg.14.6.1.update", 1091 | "com.microsoft.office.all.proofing_spanish.pkg.14.6.2.update", 1092 | "com.microsoft.office.all.proofing_spanish.pkg.14.6.3.update", 1093 | "com.microsoft.office.all.proofing_spanish.pkg.14.6.5.update", 1094 | "com.microsoft.office.all.proofing_spanish.pkg.14.6.6.update", 1095 | "com.microsoft.office.all.proofing_swedish.pkg.14.4.2.update", 1096 | "com.microsoft.office.all.proofing_swedish.pkg.14.4.3.update", 1097 | "com.microsoft.office.all.proofing_swedish.pkg.14.4.4.update", 1098 | "com.microsoft.office.all.proofing_swedish.pkg.14.4.5.update", 1099 | "com.microsoft.office.all.proofing_swedish.pkg.14.4.7.update", 1100 | "com.microsoft.office.all.proofing_swedish.pkg.14.4.8.update", 1101 | "com.microsoft.office.all.proofing_swedish.pkg.14.4.9.update", 1102 | "com.microsoft.office.all.proofing_swedish.pkg.14.5.0.update", 1103 | "com.microsoft.office.all.proofing_swedish.pkg.14.5.1.update", 1104 | "com.microsoft.office.all.proofing_swedish.pkg.14.5.2.update", 1105 | "com.microsoft.office.all.proofing_swedish.pkg.14.5.3.update", 1106 | "com.microsoft.office.all.proofing_swedish.pkg.14.5.6.update", 1107 | "com.microsoft.office.all.proofing_swedish.pkg.14.5.7.update", 1108 | "com.microsoft.office.all.proofing_swedish.pkg.14.5.8.update", 1109 | "com.microsoft.office.all.proofing_swedish.pkg.14.5.9.update", 1110 | "com.microsoft.office.all.proofing_swedish.pkg.14.6.1.update", 1111 | "com.microsoft.office.all.proofing_swedish.pkg.14.6.2.update", 1112 | "com.microsoft.office.all.proofing_swedish.pkg.14.6.3.update", 1113 | "com.microsoft.office.all.proofing_swedish.pkg.14.6.5.update", 1114 | "com.microsoft.office.all.proofing_swedish.pkg.14.6.6.update", 1115 | "com.microsoft.office.all.proofing_turkish.pkg.14.4.2.update", 1116 | "com.microsoft.office.all.proofing_turkish.pkg.14.4.3.update", 1117 | "com.microsoft.office.all.proofing_turkish.pkg.14.4.4.update", 1118 | "com.microsoft.office.all.proofing_turkish.pkg.14.4.5.update", 1119 | "com.microsoft.office.all.proofing_turkish.pkg.14.4.7.update", 1120 | "com.microsoft.office.all.proofing_turkish.pkg.14.4.8.update", 1121 | "com.microsoft.office.all.proofing_turkish.pkg.14.4.9.update", 1122 | "com.microsoft.office.all.proofing_turkish.pkg.14.5.0.update", 1123 | "com.microsoft.office.all.proofing_turkish.pkg.14.5.1.update", 1124 | "com.microsoft.office.all.proofing_turkish.pkg.14.5.2.update", 1125 | "com.microsoft.office.all.proofing_turkish.pkg.14.5.3.update", 1126 | "com.microsoft.office.all.proofing_turkish.pkg.14.5.6.update", 1127 | "com.microsoft.office.all.proofing_turkish.pkg.14.5.7.update", 1128 | "com.microsoft.office.all.proofing_turkish.pkg.14.5.8.update", 1129 | "com.microsoft.office.all.proofing_turkish.pkg.14.5.9.update", 1130 | "com.microsoft.office.all.proofing_turkish.pkg.14.6.1.update", 1131 | "com.microsoft.office.all.proofing_turkish.pkg.14.6.2.update", 1132 | "com.microsoft.office.all.proofing_turkish.pkg.14.6.3.update", 1133 | "com.microsoft.office.all.proofing_turkish.pkg.14.6.5.update", 1134 | "com.microsoft.office.all.proofing_turkish.pkg.14.6.6.update", 1135 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.4.2.update", 1136 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.4.3.update", 1137 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.4.4.update", 1138 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.4.5.update", 1139 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.4.7.update", 1140 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.4.8.update", 1141 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.4.9.update", 1142 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.5.0.update", 1143 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.5.1.update", 1144 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.5.2.update", 1145 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.5.3.update", 1146 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.5.6.update", 1147 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.5.7.update", 1148 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.5.8.update", 1149 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.5.9.update", 1150 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.6.1.update", 1151 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.6.2.update", 1152 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.6.3.update", 1153 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.6.5.update", 1154 | "com.microsoft.office.all.sharepointbrowserplugin.pkg.14.6.6.update", 1155 | "com.microsoft.office.all.vb.pkg.14.4.2.update", 1156 | "com.microsoft.office.all.vb.pkg.14.4.3.update", 1157 | "com.microsoft.office.all.vb.pkg.14.4.4.update", 1158 | "com.microsoft.office.all.vb.pkg.14.4.5.update", 1159 | "com.microsoft.office.all.vb.pkg.14.4.7.update", 1160 | "com.microsoft.office.all.vb.pkg.14.4.8.update", 1161 | "com.microsoft.office.all.vb.pkg.14.4.9.update", 1162 | "com.microsoft.office.all.vb.pkg.14.5.0.update", 1163 | "com.microsoft.office.all.vb.pkg.14.5.1.update", 1164 | "com.microsoft.office.all.vb.pkg.14.5.2.update", 1165 | "com.microsoft.office.all.vb.pkg.14.5.3.update", 1166 | "com.microsoft.office.all.vb.pkg.14.5.6.update", 1167 | "com.microsoft.office.all.vb.pkg.14.5.7.update", 1168 | "com.microsoft.office.all.vb.pkg.14.5.8.update", 1169 | "com.microsoft.office.all.vb.pkg.14.5.9.update", 1170 | "com.microsoft.office.all.vb.pkg.14.6.1.update", 1171 | "com.microsoft.office.all.vb.pkg.14.6.2.update", 1172 | "com.microsoft.office.all.vb.pkg.14.6.3.update", 1173 | "com.microsoft.office.all.vb.pkg.14.6.5.update", 1174 | "com.microsoft.office.all.vb.pkg.14.6.6.update", 1175 | "com.microsoft.office.all.word.pkg.14.4.2.update", 1176 | "com.microsoft.office.all.word.pkg.14.4.3.update", 1177 | "com.microsoft.office.all.word.pkg.14.4.4.update", 1178 | "com.microsoft.office.all.word.pkg.14.4.5.update", 1179 | "com.microsoft.office.all.word.pkg.14.4.7.update", 1180 | "com.microsoft.office.all.word.pkg.14.4.8.update", 1181 | "com.microsoft.office.all.word.pkg.14.4.9.update", 1182 | "com.microsoft.office.all.word.pkg.14.5.0.update", 1183 | "com.microsoft.office.all.word.pkg.14.5.1.update", 1184 | "com.microsoft.office.all.word.pkg.14.5.2.update", 1185 | "com.microsoft.office.all.word.pkg.14.5.3.update", 1186 | "com.microsoft.office.all.word.pkg.14.5.6.update", 1187 | "com.microsoft.office.all.word.pkg.14.5.7.update", 1188 | "com.microsoft.office.all.word.pkg.14.5.8.update", 1189 | "com.microsoft.office.all.word.pkg.14.5.9.update", 1190 | "com.microsoft.office.all.word.pkg.14.6.1.update", 1191 | "com.microsoft.office.all.word.pkg.14.6.2.update", 1192 | "com.microsoft.office.all.word.pkg.14.6.3.update", 1193 | "com.microsoft.office.all.word.pkg.14.6.5.update", 1194 | "com.microsoft.office.all.word.pkg.14.6.6.update", 1195 | "com.microsoft.office.en.automator_workflow.pkg.14.4.2.update", 1196 | "com.microsoft.office.en.automator_workflow.pkg.14.4.3.update", 1197 | "com.microsoft.office.en.automator_workflow.pkg.14.4.4.update", 1198 | "com.microsoft.office.en.automator_workflow.pkg.14.4.5.update", 1199 | "com.microsoft.office.en.automator_workflow.pkg.14.4.7.update", 1200 | "com.microsoft.office.en.automator_workflow.pkg.14.4.8.update", 1201 | "com.microsoft.office.en.automator_workflow.pkg.14.4.9.update", 1202 | "com.microsoft.office.en.automator_workflow.pkg.14.5.0.update", 1203 | "com.microsoft.office.en.automator_workflow.pkg.14.5.1.update", 1204 | "com.microsoft.office.en.automator_workflow.pkg.14.5.2.update", 1205 | "com.microsoft.office.en.automator_workflow.pkg.14.5.3.update", 1206 | "com.microsoft.office.en.automator_workflow.pkg.14.5.6.update", 1207 | "com.microsoft.office.en.automator_workflow.pkg.14.5.7.update", 1208 | "com.microsoft.office.en.automator_workflow.pkg.14.5.8.update", 1209 | "com.microsoft.office.en.automator_workflow.pkg.14.5.9.update", 1210 | "com.microsoft.office.en.automator_workflow.pkg.14.6.1.update", 1211 | "com.microsoft.office.en.automator_workflow.pkg.14.6.2.update", 1212 | "com.microsoft.office.en.automator_workflow.pkg.14.6.3.update", 1213 | "com.microsoft.office.en.automator_workflow.pkg.14.6.5.update", 1214 | "com.microsoft.office.en.automator_workflow.pkg.14.6.6.update", 1215 | "com.microsoft.office.en.clipart.pkg.14.4.2.update", 1216 | "com.microsoft.office.en.clipart.pkg.14.4.3.update", 1217 | "com.microsoft.office.en.clipart.pkg.14.4.4.update", 1218 | "com.microsoft.office.en.clipart.pkg.14.4.5.update", 1219 | "com.microsoft.office.en.clipart.pkg.14.4.7.update", 1220 | "com.microsoft.office.en.clipart.pkg.14.4.8.update", 1221 | "com.microsoft.office.en.clipart.pkg.14.4.9.update", 1222 | "com.microsoft.office.en.clipart.pkg.14.5.0.update", 1223 | "com.microsoft.office.en.clipart.pkg.14.5.1.update", 1224 | "com.microsoft.office.en.clipart.pkg.14.5.2.update", 1225 | "com.microsoft.office.en.clipart.pkg.14.5.3.update", 1226 | "com.microsoft.office.en.clipart.pkg.14.5.6.update", 1227 | "com.microsoft.office.en.clipart.pkg.14.5.7.update", 1228 | "com.microsoft.office.en.clipart.pkg.14.5.8.update", 1229 | "com.microsoft.office.en.clipart.pkg.14.5.9.update", 1230 | "com.microsoft.office.en.clipart.pkg.14.6.1.update", 1231 | "com.microsoft.office.en.clipart.pkg.14.6.2.update", 1232 | "com.microsoft.office.en.clipart.pkg.14.6.3.update", 1233 | "com.microsoft.office.en.clipart.pkg.14.6.5.update", 1234 | "com.microsoft.office.en.clipart.pkg.14.6.6.update", 1235 | "com.microsoft.office.en.core_resources.pkg.14.4.2.update", 1236 | "com.microsoft.office.en.core_resources.pkg.14.4.3.update", 1237 | "com.microsoft.office.en.core_resources.pkg.14.4.4.update", 1238 | "com.microsoft.office.en.core_resources.pkg.14.4.5.update", 1239 | "com.microsoft.office.en.core_resources.pkg.14.4.7.update", 1240 | "com.microsoft.office.en.core_resources.pkg.14.4.8.update", 1241 | "com.microsoft.office.en.core_resources.pkg.14.4.9.update", 1242 | "com.microsoft.office.en.core_resources.pkg.14.5.0.update", 1243 | "com.microsoft.office.en.core_resources.pkg.14.5.1.update", 1244 | "com.microsoft.office.en.core_resources.pkg.14.5.2.update", 1245 | "com.microsoft.office.en.core_resources.pkg.14.5.3.update", 1246 | "com.microsoft.office.en.core_resources.pkg.14.5.6.update", 1247 | "com.microsoft.office.en.core_resources.pkg.14.5.7.update", 1248 | "com.microsoft.office.en.core_resources.pkg.14.5.8.update", 1249 | "com.microsoft.office.en.core_resources.pkg.14.5.9.update", 1250 | "com.microsoft.office.en.core_resources.pkg.14.6.1.update", 1251 | "com.microsoft.office.en.core_resources.pkg.14.6.2.update", 1252 | "com.microsoft.office.en.core_resources.pkg.14.6.3.update", 1253 | "com.microsoft.office.en.core_resources.pkg.14.6.5.update", 1254 | "com.microsoft.office.en.core_resources.pkg.14.6.6.update", 1255 | "com.microsoft.office.en.dcc_resources.pkg.14.4.2.update", 1256 | "com.microsoft.office.en.dcc_resources.pkg.14.4.3.update", 1257 | "com.microsoft.office.en.dcc_resources.pkg.14.4.4.update", 1258 | "com.microsoft.office.en.dcc_resources.pkg.14.4.5.update", 1259 | "com.microsoft.office.en.dcc_resources.pkg.14.4.7.update", 1260 | "com.microsoft.office.en.dcc_resources.pkg.14.4.8.update", 1261 | "com.microsoft.office.en.dcc_resources.pkg.14.4.9.update", 1262 | "com.microsoft.office.en.dcc_resources.pkg.14.5.0.update", 1263 | "com.microsoft.office.en.dcc_resources.pkg.14.5.1.update", 1264 | "com.microsoft.office.en.dcc_resources.pkg.14.5.2.update", 1265 | "com.microsoft.office.en.dcc_resources.pkg.14.5.3.update", 1266 | "com.microsoft.office.en.dcc_resources.pkg.14.5.6.update", 1267 | "com.microsoft.office.en.dcc_resources.pkg.14.5.7.update", 1268 | "com.microsoft.office.en.dcc_resources.pkg.14.5.8.update", 1269 | "com.microsoft.office.en.dcc_resources.pkg.14.5.9.update", 1270 | "com.microsoft.office.en.dcc_resources.pkg.14.6.1.update", 1271 | "com.microsoft.office.en.dcc_resources.pkg.14.6.2.update", 1272 | "com.microsoft.office.en.dcc_resources.pkg.14.6.3.update", 1273 | "com.microsoft.office.en.dcc_resources.pkg.14.6.5.update", 1274 | "com.microsoft.office.en.dcc_resources.pkg.14.6.6.update", 1275 | "com.microsoft.office.en.equationeditor_resources.pkg.14.4.2.update", 1276 | "com.microsoft.office.en.equationeditor_resources.pkg.14.4.3.update", 1277 | "com.microsoft.office.en.equationeditor_resources.pkg.14.4.4.update", 1278 | "com.microsoft.office.en.equationeditor_resources.pkg.14.4.5.update", 1279 | "com.microsoft.office.en.equationeditor_resources.pkg.14.4.7.update", 1280 | "com.microsoft.office.en.equationeditor_resources.pkg.14.4.8.update", 1281 | "com.microsoft.office.en.equationeditor_resources.pkg.14.4.9.update", 1282 | "com.microsoft.office.en.equationeditor_resources.pkg.14.5.0.update", 1283 | "com.microsoft.office.en.equationeditor_resources.pkg.14.5.1.update", 1284 | "com.microsoft.office.en.equationeditor_resources.pkg.14.5.2.update", 1285 | "com.microsoft.office.en.equationeditor_resources.pkg.14.5.3.update", 1286 | "com.microsoft.office.en.equationeditor_resources.pkg.14.5.6.update", 1287 | "com.microsoft.office.en.equationeditor_resources.pkg.14.5.7.update", 1288 | "com.microsoft.office.en.equationeditor_resources.pkg.14.5.8.update", 1289 | "com.microsoft.office.en.equationeditor_resources.pkg.14.5.9.update", 1290 | "com.microsoft.office.en.equationeditor_resources.pkg.14.6.1.update", 1291 | "com.microsoft.office.en.equationeditor_resources.pkg.14.6.2.update", 1292 | "com.microsoft.office.en.equationeditor_resources.pkg.14.6.3.update", 1293 | "com.microsoft.office.en.equationeditor_resources.pkg.14.6.5.update", 1294 | "com.microsoft.office.en.equationeditor_resources.pkg.14.6.6.update", 1295 | "com.microsoft.office.en.excel_resources.pkg.14.4.2.update", 1296 | "com.microsoft.office.en.excel_resources.pkg.14.4.3.update", 1297 | "com.microsoft.office.en.excel_resources.pkg.14.4.4.update", 1298 | "com.microsoft.office.en.excel_resources.pkg.14.4.5.update", 1299 | "com.microsoft.office.en.excel_resources.pkg.14.4.7.update", 1300 | "com.microsoft.office.en.excel_resources.pkg.14.4.8.update", 1301 | "com.microsoft.office.en.excel_resources.pkg.14.4.9.update", 1302 | "com.microsoft.office.en.excel_resources.pkg.14.5.0.update", 1303 | "com.microsoft.office.en.excel_resources.pkg.14.5.1.update", 1304 | "com.microsoft.office.en.excel_resources.pkg.14.5.2.update", 1305 | "com.microsoft.office.en.excel_resources.pkg.14.5.3.update", 1306 | "com.microsoft.office.en.excel_resources.pkg.14.5.6.update", 1307 | "com.microsoft.office.en.excel_resources.pkg.14.5.7.update", 1308 | "com.microsoft.office.en.excel_resources.pkg.14.5.8.update", 1309 | "com.microsoft.office.en.excel_resources.pkg.14.5.9.update", 1310 | "com.microsoft.office.en.excel_resources.pkg.14.6.1.update", 1311 | "com.microsoft.office.en.excel_resources.pkg.14.6.2.update", 1312 | "com.microsoft.office.en.excel_resources.pkg.14.6.3.update", 1313 | "com.microsoft.office.en.excel_resources.pkg.14.6.5.update", 1314 | "com.microsoft.office.en.excel_resources.pkg.14.6.6.update", 1315 | "com.microsoft.office.en.excel_templates.pkg.14.4.2.update", 1316 | "com.microsoft.office.en.excel_templates.pkg.14.4.3.update", 1317 | "com.microsoft.office.en.excel_templates.pkg.14.4.4.update", 1318 | "com.microsoft.office.en.excel_templates.pkg.14.4.5.update", 1319 | "com.microsoft.office.en.excel_templates.pkg.14.4.7.update", 1320 | "com.microsoft.office.en.excel_templates.pkg.14.4.8.update", 1321 | "com.microsoft.office.en.excel_templates.pkg.14.4.9.update", 1322 | "com.microsoft.office.en.excel_templates.pkg.14.5.0.update", 1323 | "com.microsoft.office.en.excel_templates.pkg.14.5.1.update", 1324 | "com.microsoft.office.en.excel_templates.pkg.14.5.2.update", 1325 | "com.microsoft.office.en.excel_templates.pkg.14.5.3.update", 1326 | "com.microsoft.office.en.excel_templates.pkg.14.5.6.update", 1327 | "com.microsoft.office.en.excel_templates.pkg.14.5.7.update", 1328 | "com.microsoft.office.en.excel_templates.pkg.14.5.8.update", 1329 | "com.microsoft.office.en.excel_templates.pkg.14.5.9.update", 1330 | "com.microsoft.office.en.excel_templates.pkg.14.6.1.update", 1331 | "com.microsoft.office.en.excel_templates.pkg.14.6.2.update", 1332 | "com.microsoft.office.en.excel_templates.pkg.14.6.3.update", 1333 | "com.microsoft.office.en.excel_templates.pkg.14.6.5.update", 1334 | "com.microsoft.office.en.excel_templates.pkg.14.6.6.update", 1335 | "com.microsoft.office.en.graph_resources.pkg.14.4.2.update", 1336 | "com.microsoft.office.en.graph_resources.pkg.14.4.3.update", 1337 | "com.microsoft.office.en.graph_resources.pkg.14.4.4.update", 1338 | "com.microsoft.office.en.graph_resources.pkg.14.4.5.update", 1339 | "com.microsoft.office.en.graph_resources.pkg.14.4.7.update", 1340 | "com.microsoft.office.en.graph_resources.pkg.14.4.8.update", 1341 | "com.microsoft.office.en.graph_resources.pkg.14.4.9.update", 1342 | "com.microsoft.office.en.graph_resources.pkg.14.5.0.update", 1343 | "com.microsoft.office.en.graph_resources.pkg.14.5.1.update", 1344 | "com.microsoft.office.en.graph_resources.pkg.14.5.2.update", 1345 | "com.microsoft.office.en.graph_resources.pkg.14.5.3.update", 1346 | "com.microsoft.office.en.graph_resources.pkg.14.5.6.update", 1347 | "com.microsoft.office.en.graph_resources.pkg.14.5.7.update", 1348 | "com.microsoft.office.en.graph_resources.pkg.14.5.8.update", 1349 | "com.microsoft.office.en.graph_resources.pkg.14.5.9.update", 1350 | "com.microsoft.office.en.graph_resources.pkg.14.6.1.update", 1351 | "com.microsoft.office.en.graph_resources.pkg.14.6.2.update", 1352 | "com.microsoft.office.en.graph_resources.pkg.14.6.3.update", 1353 | "com.microsoft.office.en.graph_resources.pkg.14.6.5.update", 1354 | "com.microsoft.office.en.graph_resources.pkg.14.6.6.update", 1355 | "com.microsoft.office.en.langregister.pkg.14.4.2.update", 1356 | "com.microsoft.office.en.langregister.pkg.14.4.3.update", 1357 | "com.microsoft.office.en.langregister.pkg.14.4.4.update", 1358 | "com.microsoft.office.en.langregister.pkg.14.4.5.update", 1359 | "com.microsoft.office.en.langregister.pkg.14.4.7.update", 1360 | "com.microsoft.office.en.langregister.pkg.14.4.8.update", 1361 | "com.microsoft.office.en.langregister.pkg.14.4.9.update", 1362 | "com.microsoft.office.en.langregister.pkg.14.5.0.update", 1363 | "com.microsoft.office.en.langregister.pkg.14.5.1.update", 1364 | "com.microsoft.office.en.langregister.pkg.14.5.2.update", 1365 | "com.microsoft.office.en.langregister.pkg.14.5.3.update", 1366 | "com.microsoft.office.en.langregister.pkg.14.5.6.update", 1367 | "com.microsoft.office.en.langregister.pkg.14.5.7.update", 1368 | "com.microsoft.office.en.langregister.pkg.14.5.8.update", 1369 | "com.microsoft.office.en.langregister.pkg.14.5.9.update", 1370 | "com.microsoft.office.en.langregister.pkg.14.6.1.update", 1371 | "com.microsoft.office.en.langregister.pkg.14.6.2.update", 1372 | "com.microsoft.office.en.langregister.pkg.14.6.3.update", 1373 | "com.microsoft.office.en.langregister.pkg.14.6.5.update", 1374 | "com.microsoft.office.en.langregister.pkg.14.6.6.update", 1375 | "com.microsoft.office.en.outlook_resources.pkg.14.4.2.update", 1376 | "com.microsoft.office.en.outlook_resources.pkg.14.4.3.update", 1377 | "com.microsoft.office.en.outlook_resources.pkg.14.4.4.update", 1378 | "com.microsoft.office.en.outlook_resources.pkg.14.4.5.update", 1379 | "com.microsoft.office.en.outlook_resources.pkg.14.4.7.update", 1380 | "com.microsoft.office.en.outlook_resources.pkg.14.4.8.update", 1381 | "com.microsoft.office.en.outlook_resources.pkg.14.4.9.update", 1382 | "com.microsoft.office.en.outlook_resources.pkg.14.5.0.update", 1383 | "com.microsoft.office.en.outlook_resources.pkg.14.5.1.update", 1384 | "com.microsoft.office.en.outlook_resources.pkg.14.5.2.update", 1385 | "com.microsoft.office.en.outlook_resources.pkg.14.5.3.update", 1386 | "com.microsoft.office.en.outlook_resources.pkg.14.5.6.update", 1387 | "com.microsoft.office.en.outlook_resources.pkg.14.5.7.update", 1388 | "com.microsoft.office.en.outlook_resources.pkg.14.5.8.update", 1389 | "com.microsoft.office.en.outlook_resources.pkg.14.5.9.update", 1390 | "com.microsoft.office.en.outlook_resources.pkg.14.6.1.update", 1391 | "com.microsoft.office.en.outlook_resources.pkg.14.6.2.update", 1392 | "com.microsoft.office.en.outlook_resources.pkg.14.6.3.update", 1393 | "com.microsoft.office.en.outlook_resources.pkg.14.6.5.update", 1394 | "com.microsoft.office.en.outlook_resources.pkg.14.6.6.update", 1395 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.4.2.update", 1396 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.4.3.update", 1397 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.4.4.update", 1398 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.4.5.update", 1399 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.4.7.update", 1400 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.4.8.update", 1401 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.4.9.update", 1402 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.5.0.update", 1403 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.5.1.update", 1404 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.5.2.update", 1405 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.5.3.update", 1406 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.5.6.update", 1407 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.5.7.update", 1408 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.5.8.update", 1409 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.5.9.update", 1410 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.6.1.update", 1411 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.6.2.update", 1412 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.6.3.update", 1413 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.6.5.update", 1414 | "com.microsoft.office.en.outlook_scriptmenuitems.pkg.14.6.6.update", 1415 | "com.microsoft.office.en.powerpoint_resources.pkg.14.4.2.update", 1416 | "com.microsoft.office.en.powerpoint_resources.pkg.14.4.3.update", 1417 | "com.microsoft.office.en.powerpoint_resources.pkg.14.4.4.update", 1418 | "com.microsoft.office.en.powerpoint_resources.pkg.14.4.5.update", 1419 | "com.microsoft.office.en.powerpoint_resources.pkg.14.4.7.update", 1420 | "com.microsoft.office.en.powerpoint_resources.pkg.14.4.8.update", 1421 | "com.microsoft.office.en.powerpoint_resources.pkg.14.4.9.update", 1422 | "com.microsoft.office.en.powerpoint_resources.pkg.14.5.0.update", 1423 | "com.microsoft.office.en.powerpoint_resources.pkg.14.5.1.update", 1424 | "com.microsoft.office.en.powerpoint_resources.pkg.14.5.2.update", 1425 | "com.microsoft.office.en.powerpoint_resources.pkg.14.5.3.update", 1426 | "com.microsoft.office.en.powerpoint_resources.pkg.14.5.6.update", 1427 | "com.microsoft.office.en.powerpoint_resources.pkg.14.5.7.update", 1428 | "com.microsoft.office.en.powerpoint_resources.pkg.14.5.8.update", 1429 | "com.microsoft.office.en.powerpoint_resources.pkg.14.5.9.update", 1430 | "com.microsoft.office.en.powerpoint_resources.pkg.14.6.1.update", 1431 | "com.microsoft.office.en.powerpoint_resources.pkg.14.6.2.update", 1432 | "com.microsoft.office.en.powerpoint_resources.pkg.14.6.3.update", 1433 | "com.microsoft.office.en.powerpoint_resources.pkg.14.6.5.update", 1434 | "com.microsoft.office.en.powerpoint_resources.pkg.14.6.6.update", 1435 | "com.microsoft.office.en.query.pkg.14.4.2.update", 1436 | "com.microsoft.office.en.query.pkg.14.4.3.update", 1437 | "com.microsoft.office.en.query.pkg.14.4.4.update", 1438 | "com.microsoft.office.en.query.pkg.14.4.5.update", 1439 | "com.microsoft.office.en.query.pkg.14.4.7.update", 1440 | "com.microsoft.office.en.query.pkg.14.4.8.update", 1441 | "com.microsoft.office.en.query.pkg.14.4.9.update", 1442 | "com.microsoft.office.en.query.pkg.14.5.0.update", 1443 | "com.microsoft.office.en.query.pkg.14.5.1.update", 1444 | "com.microsoft.office.en.query.pkg.14.5.2.update", 1445 | "com.microsoft.office.en.query.pkg.14.5.3.update", 1446 | "com.microsoft.office.en.query.pkg.14.5.6.update", 1447 | "com.microsoft.office.en.query.pkg.14.5.7.update", 1448 | "com.microsoft.office.en.query.pkg.14.5.8.update", 1449 | "com.microsoft.office.en.query.pkg.14.5.9.update", 1450 | "com.microsoft.office.en.query.pkg.14.6.1.update", 1451 | "com.microsoft.office.en.query.pkg.14.6.2.update", 1452 | "com.microsoft.office.en.query.pkg.14.6.3.update", 1453 | "com.microsoft.office.en.query.pkg.14.6.5.update", 1454 | "com.microsoft.office.en.query.pkg.14.6.6.update", 1455 | "com.microsoft.office.en.readme.pkg.14.4.2.update", 1456 | "com.microsoft.office.en.readme.pkg.14.4.3.update", 1457 | "com.microsoft.office.en.readme.pkg.14.4.4.update", 1458 | "com.microsoft.office.en.readme.pkg.14.4.5.update", 1459 | "com.microsoft.office.en.readme.pkg.14.4.7.update", 1460 | "com.microsoft.office.en.readme.pkg.14.4.8.update", 1461 | "com.microsoft.office.en.readme.pkg.14.4.9.update", 1462 | "com.microsoft.office.en.readme.pkg.14.5.0.update", 1463 | "com.microsoft.office.en.readme.pkg.14.5.1.update", 1464 | "com.microsoft.office.en.readme.pkg.14.5.2.update", 1465 | "com.microsoft.office.en.readme.pkg.14.5.3.update", 1466 | "com.microsoft.office.en.readme.pkg.14.5.6.update", 1467 | "com.microsoft.office.en.readme.pkg.14.5.7.update", 1468 | "com.microsoft.office.en.readme.pkg.14.5.8.update", 1469 | "com.microsoft.office.en.readme.pkg.14.5.9.update", 1470 | "com.microsoft.office.en.readme.pkg.14.6.1.update", 1471 | "com.microsoft.office.en.readme.pkg.14.6.2.update", 1472 | "com.microsoft.office.en.readme.pkg.14.6.3.update", 1473 | "com.microsoft.office.en.readme.pkg.14.6.5.update", 1474 | "com.microsoft.office.en.readme.pkg.14.6.6.update", 1475 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.4.2.update", 1476 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.4.3.update", 1477 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.4.4.update", 1478 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.4.5.update", 1479 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.4.7.update", 1480 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.4.8.update", 1481 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.4.9.update", 1482 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.5.0.update", 1483 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.5.1.update", 1484 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.5.2.update", 1485 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.5.3.update", 1486 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.5.6.update", 1487 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.5.7.update", 1488 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.5.8.update", 1489 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.5.9.update", 1490 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.6.1.update", 1491 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.6.2.update", 1492 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.6.3.update", 1493 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.6.5.update", 1494 | "com.microsoft.office.en.sharepointbrowserplugin_resources.pkg.14.6.6.update", 1495 | "com.microsoft.office.en.solver.pkg.14.4.2.update", 1496 | "com.microsoft.office.en.solver.pkg.14.4.3.update", 1497 | "com.microsoft.office.en.solver.pkg.14.4.4.update", 1498 | "com.microsoft.office.en.solver.pkg.14.4.5.update", 1499 | "com.microsoft.office.en.solver.pkg.14.4.7.update", 1500 | "com.microsoft.office.en.solver.pkg.14.4.8.update", 1501 | "com.microsoft.office.en.solver.pkg.14.4.9.update", 1502 | "com.microsoft.office.en.solver.pkg.14.5.0.update", 1503 | "com.microsoft.office.en.solver.pkg.14.5.1.update", 1504 | "com.microsoft.office.en.solver.pkg.14.5.2.update", 1505 | "com.microsoft.office.en.solver.pkg.14.5.3.update", 1506 | "com.microsoft.office.en.solver.pkg.14.5.6.update", 1507 | "com.microsoft.office.en.solver.pkg.14.5.7.update", 1508 | "com.microsoft.office.en.solver.pkg.14.5.8.update", 1509 | "com.microsoft.office.en.solver.pkg.14.5.9.update", 1510 | "com.microsoft.office.en.solver.pkg.14.6.1.update", 1511 | "com.microsoft.office.en.solver.pkg.14.6.2.update", 1512 | "com.microsoft.office.en.solver.pkg.14.6.3.update", 1513 | "com.microsoft.office.en.solver.pkg.14.6.5.update", 1514 | "com.microsoft.office.en.solver.pkg.14.6.6.update", 1515 | "com.microsoft.office.en.word_resources.pkg.14.4.2.update", 1516 | "com.microsoft.office.en.word_resources.pkg.14.4.3.update", 1517 | "com.microsoft.office.en.word_resources.pkg.14.4.4.update", 1518 | "com.microsoft.office.en.word_resources.pkg.14.4.5.update", 1519 | "com.microsoft.office.en.word_resources.pkg.14.4.7.update", 1520 | "com.microsoft.office.en.word_resources.pkg.14.4.8.update", 1521 | "com.microsoft.office.en.word_resources.pkg.14.4.9.update", 1522 | "com.microsoft.office.en.word_resources.pkg.14.5.0.update", 1523 | "com.microsoft.office.en.word_resources.pkg.14.5.1.update", 1524 | "com.microsoft.office.en.word_resources.pkg.14.5.2.update", 1525 | "com.microsoft.office.en.word_resources.pkg.14.5.3.update", 1526 | "com.microsoft.office.en.word_resources.pkg.14.5.6.update", 1527 | "com.microsoft.office.en.word_resources.pkg.14.5.7.update", 1528 | "com.microsoft.office.en.word_resources.pkg.14.5.8.update", 1529 | "com.microsoft.office.en.word_resources.pkg.14.5.9.update", 1530 | "com.microsoft.office.en.word_resources.pkg.14.6.1.update", 1531 | "com.microsoft.office.en.word_resources.pkg.14.6.2.update", 1532 | "com.microsoft.office.en.word_resources.pkg.14.6.3.update", 1533 | "com.microsoft.office.en.word_resources.pkg.14.6.5.update", 1534 | "com.microsoft.office.en.word_resources.pkg.14.6.6.update", 1535 | "com.microsoft.office.en.word_wizards.pkg.14.4.2.update", 1536 | "com.microsoft.office.en.word_wizards.pkg.14.4.3.update", 1537 | "com.microsoft.office.en.word_wizards.pkg.14.4.4.update", 1538 | "com.microsoft.office.en.word_wizards.pkg.14.4.5.update", 1539 | "com.microsoft.office.en.word_wizards.pkg.14.4.7.update", 1540 | "com.microsoft.office.en.word_wizards.pkg.14.4.8.update", 1541 | "com.microsoft.office.en.word_wizards.pkg.14.4.9.update", 1542 | "com.microsoft.office.en.word_wizards.pkg.14.5.0.update", 1543 | "com.microsoft.office.en.word_wizards.pkg.14.5.1.update", 1544 | "com.microsoft.office.en.word_wizards.pkg.14.5.2.update", 1545 | "com.microsoft.office.en.word_wizards.pkg.14.5.3.update", 1546 | "com.microsoft.office.en.word_wizards.pkg.14.5.6.update", 1547 | "com.microsoft.office.en.word_wizards.pkg.14.5.7.update", 1548 | "com.microsoft.office.en.word_wizards.pkg.14.5.8.update", 1549 | "com.microsoft.office.en.word_wizards.pkg.14.5.9.update", 1550 | "com.microsoft.office.en.word_wizards.pkg.14.6.1.update", 1551 | "com.microsoft.office.en.word_wizards.pkg.14.6.2.update", 1552 | "com.microsoft.office.en.word_wizards.pkg.14.6.3.update", 1553 | "com.microsoft.office.en.word_wizards.pkg.14.6.5.update", 1554 | "com.microsoft.office.en.word_wizards.pkg.14.6.6.update", 1555 | "com.microsoft.SilverlightInstaller", 1556 | "com.nvidia.cuda.framework.pkg", 1557 | "com.nvidia.cuda.kext.pkg", 1558 | "com.nvidia.cuda.launchagent.pkg", 1559 | "com.nvidia.cuda.prefpane.pkg", 1560 | "com.nvidia.cuda.samples.NVIDIACUDASamples.60.pkg", 1561 | "com.nvidia.cuda.startup.pkg", 1562 | "com.nvidia.cuda.toolkit.60.pkg", 1563 | "com.nvidia.cuda.unixlib.pkg", 1564 | "com.omnigroup.OmniOutliner3", 1565 | "com.plasq.ComicLifeInstaller", 1566 | "com.smithmicro.AnimeStudioPro.animeStudioPro92.usershared.pkg", 1567 | "com.smithmicro.AnimeStudioPro.animeStudioPro9filespro.pkg", 1568 | "com.symantec.corporate.install", 1569 | "com.Symantec.LiveUpdate.install", 1570 | "com.symantec.navcm.install", 1571 | "com.symantec.navx.install", 1572 | "com.symantec.pkg.symQuickMenuSA", 1573 | "com.symantec.protector.install", 1574 | "com.symantec.savautoprotect.install", 1575 | "com.symantec.savautoprotectprefs.install", 1576 | "com.symantec.savlog.install", 1577 | "com.symantec.scheduler.install", 1578 | "com.symantec.schedulerScans.install", 1579 | "com.symantec.sepapplication", 1580 | "com.symantec.sharedframeworks", 1581 | "com.symantec.smc", 1582 | "com.symantec.symHelpScripts.install", 1583 | "com.symantec.symstuffit.install", 1584 | "com.symantec.virusengine.install", 1585 | "com.wacom.installwacomtablet", 1586 | "com.xerox.print.pde.xeroxfeatures.wcp7328", 1587 | "com.xerox.print.phaser6180mfp.print.ps.m107.installer", 1588 | "com.xerox.print.xeroxPrinter.magicalpackage.pkg", 1589 | "com.xerox.print.xeroxPrinter.phasermifpde105.pkg", 1590 | "com.xerox.print.xeroxPrinter.phasermifxsubinaries.pkg", 1591 | "com.xerox.print.xeroxPrinter.phasermifxsucontents.pkg", 1592 | "com.xerox.print.xeroxPrinter.pkg", 1593 | "com.xerox.print.xeroxPrinter.xeroxphasermifuniversaldriver.pkg", 1594 | "Flip4Mac QuickTime Components", 1595 | "Flip4Mac Web Plugins", 1596 | "http://fontforge.sf.net/", 1597 | "http://fontforge.sf.net/", 1598 | "http://fontforge.sf.net/", 1599 | "hwbe.pkg.018-2431", 1600 | "hwbe.pkg.018-2432", 1601 | "hwbe.pkg.018-2435", 1602 | "hwbe.pkg.018-2550", 1603 | "hwbe.pkg.018-2582", 1604 | "hwbe.pkg.018-2584", 1605 | "jp.konicaminolta.print.package.C554", 1606 | "logmeincheck", 1607 | "logmeincheck1.4", 1608 | "logmeincheck1.5", 1609 | "missingmacrepair1.2", 1610 | "missingmacrepair1.3", 1611 | "org.macports.smartmontools", 1612 | "pro.support.8.v2.nu8.0", 1613 | "uk.co.markallan.clamXav.engineInstallerUniversal" 1614 | ], 1615 | "cached_by_casper": [ 1616 | 1617 | ], 1618 | "available_software_updates": [ 1619 | 1620 | ], 1621 | "available_updates": { 1622 | }, 1623 | "running_services": [ 1624 | 1625 | ], 1626 | "applications": [ 1627 | { 1628 | "name": "AAM Registration Notifier.app", 1629 | "path": "/Applications/Utilities/Adobe Application Manager/LWA/AAM Registration Notifier.app", 1630 | "version": "3.0.64.0" 1631 | }, 1632 | { 1633 | "name": "AAM Registration Notifier.app", 1634 | "path": "/Applications/Utilities/Adobe Application Manager/P6/AAM Registration Notifier.app", 1635 | "version": "7.0.0.485" 1636 | }, 1637 | { 1638 | "name": "AAM Registration Notifier.app", 1639 | "path": "/Applications/Utilities/Adobe Application Manager/P7/AAM Registration Notifier.app", 1640 | "version": "10.0.0.40" 1641 | }, 1642 | { 1643 | "name": "AAM Updates Notifier.app", 1644 | "path": "/Applications/Utilities/Adobe Application Manager/UWA/AAM Updates Notifier.app", 1645 | "version": "9.0.0.281" 1646 | }, 1647 | { 1648 | "name": "AAMLauncherUtil.app", 1649 | "path": "/Applications/Utilities/Adobe Application Manager/core/AAMLauncherUtil.app", 1650 | "version": "10.0.0.49" 1651 | }, 1652 | { 1653 | "name": "AASIapp.app", 1654 | "path": "/Applications/Utilities/Adobe Application Manager/P7/AASIapp.app", 1655 | "version": "10.0.0.40" 1656 | }, 1657 | { 1658 | "name": "ACCFinderBundleLoader.app", 1659 | "path": "/Applications/Utilities/Adobe Creative Cloud/CoreSyncExtension/ACCFinderBundleLoader.app", 1660 | "version": "2.2.0.256" 1661 | }, 1662 | { 1663 | "name": "Acrobat Distiller.app", 1664 | "path": "/Applications/Adobe Acrobat DC/Acrobat Distiller.app", 1665 | "version": "15.017.20050" 1666 | }, 1667 | { 1668 | "name": "Acrobat Distiller.app", 1669 | "path": "/Applications/Adobe Acrobat X Pro/Acrobat Distiller.app", 1670 | "version": "10.1.16" 1671 | }, 1672 | { 1673 | "name": "Activity Monitor.app", 1674 | "path": "/Applications/Utilities/Activity Monitor.app", 1675 | "version": "10.9.0" 1676 | }, 1677 | { 1678 | "name": "Adobe Acrobat Pro.app", 1679 | "path": "/Applications/Adobe Acrobat X Pro/Adobe Acrobat Pro.app", 1680 | "version": "10.1.16" 1681 | }, 1682 | { 1683 | "name": "Adobe Acrobat.app", 1684 | "path": "/Applications/Adobe Acrobat DC/Adobe Acrobat.app", 1685 | "version": "15.017.20053" 1686 | }, 1687 | { 1688 | "name": "Adobe After Effects CC 2015.app", 1689 | "path": "/Applications/Adobe After Effects CC 2015/Adobe After Effects CC 2015.app", 1690 | "version": "13.7.2" 1691 | }, 1692 | { 1693 | "name": "Adobe After Effects CC.app", 1694 | "path": "/Applications/Adobe After Effects CC/Adobe After Effects CC.app", 1695 | "version": "12.2" 1696 | }, 1697 | { 1698 | "name": "Adobe After Effects CS6.app", 1699 | "path": "/Applications/Adobe After Effects CS6/Adobe After Effects CS6.app", 1700 | "version": "11.0.4" 1701 | }, 1702 | { 1703 | "name": "Adobe After Effects Render Engine.app", 1704 | "path": "/Applications/Adobe After Effects CC/Adobe After Effects Render Engine.app", 1705 | "version": "n/a" 1706 | }, 1707 | { 1708 | "name": "Adobe After Effects Render Engine.app", 1709 | "path": "/Applications/Adobe After Effects CC 2015/Adobe After Effects Render Engine.app", 1710 | "version": "n/a" 1711 | }, 1712 | { 1713 | "name": "Adobe After Effects Render Engine.app", 1714 | "path": "/Applications/Adobe After Effects CS6/Adobe After Effects Render Engine.app", 1715 | "version": "n/a" 1716 | }, 1717 | { 1718 | "name": "Adobe AIR Application Installer.app", 1719 | "path": "/Applications/Utilities/Adobe AIR Application Installer.app", 1720 | "version": "22.0" 1721 | }, 1722 | { 1723 | "name": "Adobe AIR Uninstaller.app", 1724 | "path": "/Applications/Utilities/Adobe AIR Uninstaller.app", 1725 | "version": "22.0" 1726 | }, 1727 | { 1728 | "name": "Adobe Application Manager.app", 1729 | "path": "/Applications/Utilities/Adobe Application Manager/core/Adobe Application Manager.app", 1730 | "version": "10.0.0.49" 1731 | }, 1732 | { 1733 | "name": "Adobe Application Updater.app", 1734 | "path": "/Applications/Utilities/Adobe Creative Cloud/AppsPanel/Updater/Adobe Application Updater.app", 1735 | "version": "3.8.0.310" 1736 | }, 1737 | { 1738 | "name": "Adobe Audition CC 2015.app", 1739 | "path": "/Applications/Adobe Audition CC 2015/Adobe Audition CC 2015.app", 1740 | "version": "8.1.0" 1741 | }, 1742 | { 1743 | "name": "Adobe Bridge CC.app", 1744 | "path": "/Applications/Adobe Bridge CC/Adobe Bridge CC.app", 1745 | "version": "6.2.0.179" 1746 | }, 1747 | { 1748 | "name": "Adobe Bridge CS5.app", 1749 | "path": "/Applications/Adobe Bridge CS5/Adobe Bridge CS5.app", 1750 | "version": "4.0.5.11" 1751 | }, 1752 | { 1753 | "name": "Adobe Bridge CS6.app", 1754 | "path": "/Applications/Adobe Bridge CS6/Adobe Bridge CS6.app", 1755 | "version": "5.0.2.4" 1756 | }, 1757 | { 1758 | "name": "Adobe Character Animator (Preview).app", 1759 | "path": "/Applications/Adobe Character Animator (Preview)/Adobe Character Animator (Preview).app", 1760 | "version": "1.0.3" 1761 | }, 1762 | { 1763 | "name": "Adobe Content Viewer.app", 1764 | "path": "/Applications/Adobe/Adobe Content Viewer.app", 1765 | "version": "3.4.3" 1766 | }, 1767 | { 1768 | "name": "Adobe Device Central CS5.app", 1769 | "path": "/Applications/Adobe Device Central CS5/Adobe Device Central CS5.app", 1770 | "version": "3.0.1.0.3027" 1771 | }, 1772 | { 1773 | "name": "Adobe Dreamweaver CC 2015.app", 1774 | "path": "/Applications/Adobe Dreamweaver CC 2015/Adobe Dreamweaver CC 2015.app", 1775 | "version": "16.1.2.7884" 1776 | }, 1777 | { 1778 | "name": "Adobe Dreamweaver CS5.app", 1779 | "path": "/Applications/Adobe Dreamweaver CS5/Adobe Dreamweaver CS5.app", 1780 | "version": "11.0.4.4993" 1781 | }, 1782 | { 1783 | "name": "Adobe Dreamweaver CS6.app", 1784 | "path": "/Applications/Adobe Dreamweaver CS6/Adobe Dreamweaver CS6.app", 1785 | "version": "12.0.3.5861" 1786 | }, 1787 | { 1788 | "name": "Adobe Edge Animate.app", 1789 | "path": "/Applications/Adobe Edge Animate CC/Adobe Edge Animate.app", 1790 | "version": "2.0.0" 1791 | }, 1792 | { 1793 | "name": "Adobe Extension Manager CC.app", 1794 | "path": "/Applications/Adobe Extension Manager CC/Adobe Extension Manager CC.app", 1795 | "version": "7.3.2.39" 1796 | }, 1797 | { 1798 | "name": "Adobe Extension Manager CS5.app", 1799 | "path": "/Applications/Adobe Extension Manager CS5/Adobe Extension Manager CS5.app", 1800 | "version": "\"5.0.3.4\"" 1801 | }, 1802 | { 1803 | "name": "Adobe Extension Manager CS6.app", 1804 | "path": "/Applications/Adobe Extension Manager CS6/Adobe Extension Manager CS6.app", 1805 | "version": "6.0.8.28" 1806 | }, 1807 | { 1808 | "name": "Adobe Fireworks CS5.app", 1809 | "path": "/Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app", 1810 | "version": "Adobe Fireworks CS5 version 11.0.1.7" 1811 | }, 1812 | { 1813 | "name": "Adobe Fireworks CS6.app", 1814 | "path": "/Applications/Adobe Fireworks CS6/Adobe Fireworks CS6.app", 1815 | "version": "Adobe Fireworks CS6 version 12.0.1.274" 1816 | }, 1817 | { 1818 | "name": "Adobe Flash Builder 4.7 Plug-in Utility.app", 1819 | "path": "/Applications/Adobe Flash Builder 4.7/utilities/Adobe Flash Builder 4.7 Plug-in Utility.app", 1820 | "version": "1.2" 1821 | }, 1822 | { 1823 | "name": "Adobe Flash Builder 4.7.app", 1824 | "path": "/Applications/Adobe Flash Builder 4.7/Adobe Flash Builder 4.7.app", 1825 | "version": "4.7" 1826 | }, 1827 | { 1828 | "name": "Adobe Flash Catalyst CS5.app", 1829 | "path": "/Applications/Adobe Flash Catalyst CS5/Adobe Flash Catalyst CS5.app", 1830 | "version": "1.0.0.273393" 1831 | }, 1832 | { 1833 | "name": "Adobe Flash CC 2015.app", 1834 | "path": "/Applications/Adobe Flash CC 2015/Adobe Flash CC 2015.app", 1835 | "version": "15.0.1" 1836 | }, 1837 | { 1838 | "name": "Adobe Flash CS5.app", 1839 | "path": "/Applications/Adobe Flash CS5/Adobe Flash CS5.app", 1840 | "version": "11.0.2.489" 1841 | }, 1842 | { 1843 | "name": "Adobe Flash CS6.app", 1844 | "path": "/Applications/Adobe Flash CS6/Adobe Flash CS6.app", 1845 | "version": "12.0.2.529" 1846 | }, 1847 | { 1848 | "name": "Adobe Flash Player Install Manager.app", 1849 | "path": "/Applications/Utilities/Adobe Flash Player Install Manager.app", 1850 | "version": "23.0.0.162" 1851 | }, 1852 | { 1853 | "name": "Adobe Help Viewer 1.0.app", 1854 | "path": "/Applications/Adobe Help Viewer 1.0.app", 1855 | "version": "1.0" 1856 | }, 1857 | { 1858 | "name": "Adobe Help Viewer 1.1.app", 1859 | "path": "/Applications/Adobe Help Viewer 1.1.app", 1860 | "version": "1.1" 1861 | }, 1862 | { 1863 | "name": "Adobe Help.app", 1864 | "path": "/Applications/Adobe/Adobe Help.app", 1865 | "version": "4.0.244" 1866 | }, 1867 | { 1868 | "name": "Adobe Illustrator.app", 1869 | "path": "/Applications/Adobe Illustrator CC 2015/Adobe Illustrator.app", 1870 | "version": "19.1.0" 1871 | }, 1872 | { 1873 | "name": "Adobe Illustrator.app", 1874 | "path": "/Applications/Adobe Illustrator CS5/Adobe Illustrator.app", 1875 | "version": "399" 1876 | }, 1877 | { 1878 | "name": "Adobe Illustrator.app", 1879 | "path": "/Applications/Adobe Illustrator CS6/Adobe Illustrator.app", 1880 | "version": "723" 1881 | }, 1882 | { 1883 | "name": "Adobe InCopy CC 2015.app", 1884 | "path": "/Applications/Adobe InCopy CC 2015/Adobe InCopy CC 2015.app", 1885 | "version": "11.4.0.90" 1886 | }, 1887 | { 1888 | "name": "Adobe InDesign CC 2015.app", 1889 | "path": "/Applications/Adobe InDesign CC 2015/Adobe InDesign CC 2015.app", 1890 | "version": "11.4.1.102" 1891 | }, 1892 | { 1893 | "name": "Adobe InDesign CS5.app", 1894 | "path": "/Applications/Adobe InDesign CS5/Adobe InDesign CS5.app", 1895 | "version": "7.0.4.553" 1896 | }, 1897 | { 1898 | "name": "Adobe InDesign CS6.app", 1899 | "path": "/Applications/Adobe InDesign CS6/Adobe InDesign CS6.app", 1900 | "version": "8.1.0.419" 1901 | }, 1902 | { 1903 | "name": "Adobe Lightroom.app", 1904 | "path": "/Applications/Adobe Lightroom/Adobe Lightroom.app", 1905 | "version": "Adobe Lightroom [1090788]" 1906 | }, 1907 | { 1908 | "name": "Adobe Media Encoder CC 2015.app", 1909 | "path": "/Applications/Adobe Media Encoder CC 2015/Adobe Media Encoder CC 2015.app", 1910 | "version": "9.2.0.26" 1911 | }, 1912 | { 1913 | "name": "Adobe Media Encoder CC.app", 1914 | "path": "/Applications/Adobe Media Encoder CC/Adobe Media Encoder CC.app", 1915 | "version": "7.2.2.29" 1916 | }, 1917 | { 1918 | "name": "Adobe Media Encoder CS5.app", 1919 | "path": "/Applications/Adobe Media Encoder CS5/Adobe Media Encoder CS5.app", 1920 | "version": "5.0.1.0" 1921 | }, 1922 | { 1923 | "name": "Adobe Media Encoder CS6.app", 1924 | "path": "/Applications/Adobe Media Encoder CS6/Adobe Media Encoder CS6.app", 1925 | "version": "6.0.2" 1926 | }, 1927 | { 1928 | "name": "Adobe Media Player.app", 1929 | "path": "/Applications/Adobe Media Player.app", 1930 | "version": "1.8" 1931 | }, 1932 | { 1933 | "name": "Adobe Muse CC 2015.app", 1934 | "path": "/Applications/Adobe Muse CC 2015/Adobe Muse CC 2015.app", 1935 | "version": "2015.0.2" 1936 | }, 1937 | { 1938 | "name": "Adobe Photoshop CC 2015.app", 1939 | "path": "/Applications/Adobe Photoshop CC 2015/Adobe Photoshop CC 2015.app", 1940 | "version": "16.1.2" 1941 | }, 1942 | { 1943 | "name": "Adobe Photoshop CS5.app", 1944 | "path": "/Applications/Adobe Photoshop CS5/Adobe Photoshop CS5.app", 1945 | "version": "12.0.4" 1946 | }, 1947 | { 1948 | "name": "Adobe Photoshop CS6.app", 1949 | "path": "/Applications/Adobe Photoshop CS6/Adobe Photoshop CS6.app", 1950 | "version": "13.0.4" 1951 | }, 1952 | { 1953 | "name": "Adobe Photoshop Lightroom 5.app", 1954 | "path": "/Applications/Adobe Photoshop Lightroom 5.app", 1955 | "version": "Adobe Photoshop Lightroom 5.7.1 [994773]" 1956 | }, 1957 | { 1958 | "name": "Adobe Prelude CC 2015.app", 1959 | "path": "/Applications/Adobe Prelude CC 2015/Adobe Prelude CC 2015.app", 1960 | "version": "4.3.0" 1961 | }, 1962 | { 1963 | "name": "Adobe Premiere Pro CC 2015.app", 1964 | "path": "/Applications/Adobe Premiere Pro CC 2015/Adobe Premiere Pro CC 2015.app", 1965 | "version": "9.2.0" 1966 | }, 1967 | { 1968 | "name": "Adobe SpeedGrade CC 2015.app", 1969 | "path": "/Applications/Adobe SpeedGrade CC 2015/Adobe SpeedGrade CC 2015.app", 1970 | "version": "9.1.0" 1971 | }, 1972 | { 1973 | "name": "Adobe Updater.app", 1974 | "path": "/Applications/Utilities/Adobe Utilities.localized/Adobe Updater5/Adobe Updater.app", 1975 | "version": "Adobe Updater 5.1.1.1113" 1976 | }, 1977 | { 1978 | "name": "Adobe Updater.app", 1979 | "path": "/Applications/Utilities/Adobe Utilities.localized/Adobe Updater6/Adobe Updater.app", 1980 | "version": "Adobe Updater 6.2.0.1474" 1981 | }, 1982 | { 1983 | "name": "Adobe Widget Browser.app", 1984 | "path": "/Applications/Adobe/Adobe Widget Browser.app", 1985 | "version": "2.0 Build 348" 1986 | }, 1987 | { 1988 | "name": "adobe_licutil.app", 1989 | "path": "/Applications/Utilities/Adobe Application Manager/LWA/adobe_licutil.app", 1990 | "version": "Adobe License Utility 2.0.0.10 (BuildVersion: 2.0; BuildDate: Tue Jul 05 2011 18:00:00)" 1991 | }, 1992 | { 1993 | "name": "adobe_licutil.app", 1994 | "path": "/Applications/Utilities/Adobe Application Manager/P6/adobe_licutil.app", 1995 | "version": "7.0.1.109" 1996 | }, 1997 | { 1998 | "name": "adobe_licutil.app", 1999 | "path": "/Applications/Utilities/Adobe Application Manager/P7/adobe_licutil.app", 2000 | "version": "10.0.0.34" 2001 | }, 2002 | { 2003 | "name": "AdobeGCClient.app", 2004 | "path": "/Applications/Utilities/Adobe Application Manager/AdobeGCClient/AdobeGCClient.app", 2005 | "version": "2.5.0.75" 2006 | }, 2007 | { 2008 | "name": "AdobeIPCBroker.app", 2009 | "path": "/Applications/Utilities/Adobe Application Manager/IPC/AdobeIPCBroker.app", 2010 | "version": "5.2.0.49" 2011 | }, 2012 | { 2013 | "name": "AirPort Utility.app", 2014 | "path": "/Applications/Utilities/AirPort Utility.app", 2015 | "version": "6.3.2" 2016 | }, 2017 | { 2018 | "name": "Analyze Documents.app", 2019 | "path": "/Applications/Adobe Illustrator CC 2015/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Analyze Documents.localized/Analyze Documents.app", 2020 | "version": "n/a" 2021 | }, 2022 | { 2023 | "name": "Analyze Documents.app", 2024 | "path": "/Applications/Adobe Illustrator CS5/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Analyze Documents.localized/Analyze Documents.app", 2025 | "version": "n/a" 2026 | }, 2027 | { 2028 | "name": "Analyze Documents.app", 2029 | "path": "/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Analyze Documents.localized/Analyze Documents.app", 2030 | "version": "n/a" 2031 | }, 2032 | { 2033 | "name": "Android File Transfer.app", 2034 | "path": "/Applications/Wacom Tablet.localized/Android File Transfer.app", 2035 | "version": "1.0" 2036 | }, 2037 | { 2038 | "name": "Anime Studio Pro.app", 2039 | "path": "/Applications/Anime Studio Pro.app", 2040 | "version": "9.2" 2041 | }, 2042 | { 2043 | "name": "App Store.app", 2044 | "path": "/Applications/App Store.app", 2045 | "version": "1.3" 2046 | }, 2047 | { 2048 | "name": "AppleScript Editor.app", 2049 | "path": "/Applications/Utilities/AppleScript Editor.app", 2050 | "version": "2.6.1" 2051 | }, 2052 | { 2053 | "name": "Audio MIDI Setup.app", 2054 | "path": "/Applications/Utilities/Audio MIDI Setup.app", 2055 | "version": "3.0.6" 2056 | }, 2057 | { 2058 | "name": "Automator.app", 2059 | "path": "/Applications/Automator.app", 2060 | "version": "2.4" 2061 | }, 2062 | { 2063 | "name": "Blue Jeans Launcher.app", 2064 | "path": "/Applications/Blue Jeans Launcher.app", 2065 | "version": "1.0" 2066 | }, 2067 | { 2068 | "name": "Blue Jeans Scheduler for Mac.app", 2069 | "path": "/Applications/Blue Jeans Scheduler for Mac.app", 2070 | "version": "1.0.205" 2071 | }, 2072 | { 2073 | "name": "Blue Jeans.app", 2074 | "path": "/Users/chapleauj/Applications/Blue Jeans.app", 2075 | "version": "1.16.65" 2076 | }, 2077 | { 2078 | "name": "Bluetooth File Exchange.app", 2079 | "path": "/Applications/Utilities/Bluetooth File Exchange.app", 2080 | "version": "4.2.7" 2081 | }, 2082 | { 2083 | "name": "Boot Camp Assistant.app", 2084 | "path": "/Applications/Utilities/Boot Camp Assistant.app", 2085 | "version": "5.1.2" 2086 | }, 2087 | { 2088 | "name": "Calculator.app", 2089 | "path": "/Applications/Calculator.app", 2090 | "version": "10.8" 2091 | }, 2092 | { 2093 | "name": "Calendar.app", 2094 | "path": "/Applications/Calendar.app", 2095 | "version": "7.0" 2096 | }, 2097 | { 2098 | "name": "cc2350294e8f598a249f59183245e456", 2099 | "path": "/Applications/Adobe/AdobePatchFiles/{809CAFEA-B905-4940-8451-DBA0AE0AA825}/cc2350294e8f598a249f59183245e456", 2100 | "version": "n/a" 2101 | }, 2102 | { 2103 | "name": "CCLibrary.app", 2104 | "path": "/Applications/Utilities/Adobe Creative Cloud/CCLibrary/CCLibrary.app", 2105 | "version": "2.6.10-838" 2106 | }, 2107 | { 2108 | "name": "CCXProcess.app", 2109 | "path": "/Applications/Utilities/Adobe Creative Cloud/CCXProcess/CCXProcess.app", 2110 | "version": "1.3.0-237" 2111 | }, 2112 | { 2113 | "name": "CEPHtmlEngine.app", 2114 | "path": "/Applications/Adobe Dreamweaver CC 2015/configuration/CEP/CEPHtmlEngine/Mac/CEPHtmlEngine.app", 2115 | "version": "n/a" 2116 | }, 2117 | { 2118 | "name": "Chess.app", 2119 | "path": "/Applications/Chess.app", 2120 | "version": "3.10" 2121 | }, 2122 | { 2123 | "name": "Cisco Jabber.app", 2124 | "path": "/Users/chapleauj/Applications/Cisco Jabber.app", 2125 | "version": "11.5.1" 2126 | }, 2127 | { 2128 | "name": "Citrix ICA Client Editor.app", 2129 | "path": "/Applications/Citrix ICA Client/Citrix ICA Client Editor.app", 2130 | "version": "10.0.0" 2131 | }, 2132 | { 2133 | "name": "Citrix ICA Client.app", 2134 | "path": "/Applications/Citrix ICA Client/Citrix ICA Client.app", 2135 | "version": "10.0.0" 2136 | }, 2137 | { 2138 | "name": "ColorSync Utility.app", 2139 | "path": "/Applications/Utilities/ColorSync Utility.app", 2140 | "version": "4.9.0" 2141 | }, 2142 | { 2143 | "name": "Console.app", 2144 | "path": "/Applications/Utilities/Console.app", 2145 | "version": "10.9" 2146 | }, 2147 | { 2148 | "name": "Contact Sheets.app", 2149 | "path": "/Applications/Adobe Illustrator CC 2015/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Contact Sheet Demo.localized/Contact Sheets.app", 2150 | "version": "n/a" 2151 | }, 2152 | { 2153 | "name": "Contact Sheets.app", 2154 | "path": "/Applications/Adobe Illustrator CS5/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Contact Sheet Demo.localized/Contact Sheets.app", 2155 | "version": "n/a" 2156 | }, 2157 | { 2158 | "name": "Contact Sheets.app", 2159 | "path": "/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Contact Sheet Demo.localized/Contact Sheets.app", 2160 | "version": "n/a" 2161 | }, 2162 | { 2163 | "name": "Contacts.app", 2164 | "path": "/Applications/Contacts.app", 2165 | "version": "8.0" 2166 | }, 2167 | { 2168 | "name": "Core Sync.app", 2169 | "path": "/Applications/Utilities/Adobe Creative Cloud/CoreSync/Core Sync.app", 2170 | "version": "2.2.0.256" 2171 | }, 2172 | { 2173 | "name": "Creative Cloud Installer.app", 2174 | "path": "/Applications/Utilities/Adobe Creative Cloud/Utils/Creative Cloud Installer.app", 2175 | "version": "3.8.0.310" 2176 | }, 2177 | { 2178 | "name": "Creative Cloud Uninstaller.app", 2179 | "path": "/Applications/Utilities/Adobe Creative Cloud/Utils/Creative Cloud Uninstaller.app", 2180 | "version": "3.8.0.310" 2181 | }, 2182 | { 2183 | "name": "Creative Cloud.app", 2184 | "path": "/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app", 2185 | "version": "3.8.0.310" 2186 | }, 2187 | { 2188 | "name": "CreativeCloud(URIHandler).app", 2189 | "path": "/Applications/Utilities/Adobe Creative Cloud/Utils/CreativeCloud(URIHandler).app", 2190 | "version": "3.8.0.310" 2191 | }, 2192 | { 2193 | "name": "Dashboard.app", 2194 | "path": "/Applications/Dashboard.app", 2195 | "version": "1.8" 2196 | }, 2197 | { 2198 | "name": "Dictionary.app", 2199 | "path": "/Applications/Dictionary.app", 2200 | "version": "2.2.1" 2201 | }, 2202 | { 2203 | "name": "DigitalColor Meter.app", 2204 | "path": "/Applications/Utilities/DigitalColor Meter.app", 2205 | "version": "5.9" 2206 | }, 2207 | { 2208 | "name": "Disk Utility.app", 2209 | "path": "/Applications/Utilities/Disk Utility.app", 2210 | "version": "13" 2211 | }, 2212 | { 2213 | "name": "DPS App Builder.app", 2214 | "path": "/Applications/DPS App Builder.app", 2215 | "version": "32.4.5" 2216 | }, 2217 | { 2218 | "name": "DVD Player.app", 2219 | "path": "/Applications/DVD Player.app", 2220 | "version": "5.7" 2221 | }, 2222 | { 2223 | "name": "Eclipse.app", 2224 | "path": "/Applications/Adobe Flash Builder 4.7/eclipse/Eclipse.app", 2225 | "version": "3.7" 2226 | }, 2227 | { 2228 | "name": "Equation Editor.app", 2229 | "path": "/Applications/Microsoft Office 2011/Office/Equation Editor.app", 2230 | "version": "14.2.0" 2231 | }, 2232 | { 2233 | "name": "Export Flash Animation.app", 2234 | "path": "/Applications/Adobe Illustrator CC 2015/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Export Flash Animation.localized/Export Flash Animation.app", 2235 | "version": "n/a" 2236 | }, 2237 | { 2238 | "name": "Export Flash Animation.app", 2239 | "path": "/Applications/Adobe Illustrator CS5/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Export Flash Animation.localized/Export Flash Animation.app", 2240 | "version": "n/a" 2241 | }, 2242 | { 2243 | "name": "Export Flash Animation.app", 2244 | "path": "/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Export Flash Animation.localized/Export Flash Animation.app", 2245 | "version": "n/a" 2246 | }, 2247 | { 2248 | "name": "ExtendScript Toolkit 2.app", 2249 | "path": "/Applications/Utilities/Adobe Utilities.localized/ExtendScript Toolkit 2/ExtendScript Toolkit 2.app", 2250 | "version": "2.0.2 . 77" 2251 | }, 2252 | { 2253 | "name": "ExtendScript Toolkit.app", 2254 | "path": "/Applications/Adobe ExtendScript Toolkit CC/ExtendScript Toolkit.app", 2255 | "version": "ESTK CC 4.0.0.1" 2256 | }, 2257 | { 2258 | "name": "ExtendScript Toolkit.app", 2259 | "path": "/Applications/Utilities/Adobe Utilities-CS5.localized/ExtendScript Toolkit CS5/ExtendScript Toolkit.app", 2260 | "version": "ESTK CS5 3.5.1.59" 2261 | }, 2262 | { 2263 | "name": "ExtendScript Toolkit.app", 2264 | "path": "/Applications/Utilities/Adobe Utilities-CS6.localized/ExtendScript Toolkit CS6/ExtendScript Toolkit.app", 2265 | "version": "ESTK CS6 3.8.0.12" 2266 | }, 2267 | { 2268 | "name": "ExtendScript Toolkit.app", 2269 | "path": "/Applications/Utilities/Adobe Utilities.localized/ExtendScript Toolkit.app", 2270 | "version": "36.182408" 2271 | }, 2272 | { 2273 | "name": "FaceTime.app", 2274 | "path": "/Applications/FaceTime.app", 2275 | "version": "3.0" 2276 | }, 2277 | { 2278 | "name": "Firefox.app", 2279 | "path": "/Applications/Firefox.app", 2280 | "version": "49.0" 2281 | }, 2282 | { 2283 | "name": "Flash Player Debugger.app", 2284 | "path": "/Applications/Adobe Flash Builder 4.7/player/mac/11.4/Flash Player Debugger.app", 2285 | "version": "11.4.402.265" 2286 | }, 2287 | { 2288 | "name": "Flash Player Debugger.app", 2289 | "path": "/Applications/Adobe Flash CC 2015/Players/Debug/Flash Player Debugger.app", 2290 | "version": "17.0.0.134" 2291 | }, 2292 | { 2293 | "name": "Flash Player Debugger.app", 2294 | "path": "/Applications/Adobe Flash CS5/Players/Debug/Flash Player Debugger.app", 2295 | "version": "10.1.52.14" 2296 | }, 2297 | { 2298 | "name": "Flash Player Debugger.app", 2299 | "path": "/Applications/Adobe Flash CS6/Players/Debug/Flash Player Debugger.app", 2300 | "version": "11.4.402.265" 2301 | }, 2302 | { 2303 | "name": "Flash Player.app", 2304 | "path": "/Applications/Adobe Flash CC 2015/Players/Flash Player.app", 2305 | "version": "17.0.0.134" 2306 | }, 2307 | { 2308 | "name": "Flash Player.app", 2309 | "path": "/Applications/Adobe Flash CC 2015/Players/Release/Flash Player.app", 2310 | "version": "17.0.0.134" 2311 | }, 2312 | { 2313 | "name": "Flash Player.app", 2314 | "path": "/Applications/Adobe Flash CS5/Players/Flash Player.app", 2315 | "version": "10.1.52.14" 2316 | }, 2317 | { 2318 | "name": "Flash Player.app", 2319 | "path": "/Applications/Adobe Flash CS5/Players/Release/Flash Player.app", 2320 | "version": "10.1.52.14" 2321 | }, 2322 | { 2323 | "name": "Flash Player.app", 2324 | "path": "/Applications/Adobe Flash CS6/Players/Flash Player.app", 2325 | "version": "11.4.402.265" 2326 | }, 2327 | { 2328 | "name": "Flash Player.app", 2329 | "path": "/Applications/Adobe Flash CS6/Players/Release/Flash Player.app", 2330 | "version": "11.4.402.265" 2331 | }, 2332 | { 2333 | "name": "Font Book.app", 2334 | "path": "/Applications/Font Book.app", 2335 | "version": "5.0.1" 2336 | }, 2337 | { 2338 | "name": "FontNuke.app", 2339 | "path": "/Applications/FontNuke.app", 2340 | "version": "1.2.9" 2341 | }, 2342 | { 2343 | "name": "Game Center.app", 2344 | "path": "/Applications/Game Center.app", 2345 | "version": "1.1" 2346 | }, 2347 | { 2348 | "name": "GarageBand.app", 2349 | "path": "/Applications/GarageBand.app", 2350 | "version": "10.0.2" 2351 | }, 2352 | { 2353 | "name": "Google Chrome.app", 2354 | "path": "/Applications/Google Chrome.app", 2355 | "version": "53.0.2785.116" 2356 | }, 2357 | { 2358 | "name": "Grab.app", 2359 | "path": "/Applications/Utilities/Grab.app", 2360 | "version": "1.8" 2361 | }, 2362 | { 2363 | "name": "Grapher.app", 2364 | "path": "/Applications/Utilities/Grapher.app", 2365 | "version": "2.5" 2366 | }, 2367 | { 2368 | "name": "iBooks.app", 2369 | "path": "/Applications/iBooks.app", 2370 | "version": "1.0.1" 2371 | }, 2372 | { 2373 | "name": "iDVD.app", 2374 | "path": "/Applications/iDVD.app", 2375 | "version": "7.1.2" 2376 | }, 2377 | { 2378 | "name": "Image Capture.app", 2379 | "path": "/Applications/Image Capture.app", 2380 | "version": "6.3" 2381 | }, 2382 | { 2383 | "name": "iMovie HD.app", 2384 | "path": "/Applications/iMovie HD.app", 2385 | "version": "6.0.3" 2386 | }, 2387 | { 2388 | "name": "iMovie.app", 2389 | "path": "/Applications/iMovie.app", 2390 | "version": "10.0.3" 2391 | }, 2392 | { 2393 | "name": "Install.app", 2394 | "path": "/Applications/Utilities/Adobe Creative Cloud/HDCore/Install.app", 2395 | "version": "3.8.0.310" 2396 | }, 2397 | { 2398 | "name": "iPhoto.app", 2399 | "path": "/Applications/iPhoto.app", 2400 | "version": "9.5.1" 2401 | }, 2402 | { 2403 | "name": "iTunes.app", 2404 | "path": "/Applications/iTunes.app", 2405 | "version": "12.5.1" 2406 | }, 2407 | { 2408 | "name": "iWeb.app", 2409 | "path": "/Applications/iWeb.app", 2410 | "version": "3.0.4" 2411 | }, 2412 | { 2413 | "name": "Keychain Access.app", 2414 | "path": "/Applications/Utilities/Keychain Access.app", 2415 | "version": "9.0" 2416 | }, 2417 | { 2418 | "name": "Keynote.app", 2419 | "path": "/Applications/iWork '06/Keynote.app", 2420 | "version": "3.0.2" 2421 | }, 2422 | { 2423 | "name": "Keynote.app", 2424 | "path": "/Applications/Keynote.app", 2425 | "version": "6.2" 2426 | }, 2427 | { 2428 | "name": "Launchpad.app", 2429 | "path": "/Applications/Launchpad.app", 2430 | "version": "1.0" 2431 | }, 2432 | { 2433 | "name": "LogMeIn Client.app", 2434 | "path": "/Applications/LogMeIn Client.app", 2435 | "version": "4.1.5229" 2436 | }, 2437 | { 2438 | "name": "LogTransport2.app", 2439 | "path": "/Applications/Utilities/Adobe Application Manager/UWA/LogTransport2.app", 2440 | "version": "2.1.2.1652" 2441 | }, 2442 | { 2443 | "name": "Mail.app", 2444 | "path": "/Applications/Mail.app", 2445 | "version": "7.3" 2446 | }, 2447 | { 2448 | "name": "Make Calendar.app", 2449 | "path": "/Applications/Adobe Illustrator CC 2015/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Calendar.localized/Make Calendar.app", 2450 | "version": "n/a" 2451 | }, 2452 | { 2453 | "name": "Make Calendar.app", 2454 | "path": "/Applications/Adobe Illustrator CS5/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Calendar.localized/Make Calendar.app", 2455 | "version": "n/a" 2456 | }, 2457 | { 2458 | "name": "Make Calendar.app", 2459 | "path": "/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Calendar.localized/Make Calendar.app", 2460 | "version": "n/a" 2461 | }, 2462 | { 2463 | "name": "Maps.app", 2464 | "path": "/Applications/Maps.app", 2465 | "version": "1.0" 2466 | }, 2467 | { 2468 | "name": "Messages.app", 2469 | "path": "/Applications/Messages.app", 2470 | "version": "8.0" 2471 | }, 2472 | { 2473 | "name": "Microsoft Alerts Daemon.app", 2474 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Alerts Daemon.app", 2475 | "version": "14.6.6" 2476 | }, 2477 | { 2478 | "name": "Microsoft Chart Converter.app", 2479 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Chart Converter.app", 2480 | "version": "14.6.6" 2481 | }, 2482 | { 2483 | "name": "Microsoft Clip Gallery.app", 2484 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Clip Gallery.app", 2485 | "version": "14.6.6" 2486 | }, 2487 | { 2488 | "name": "Microsoft Communicator.app", 2489 | "path": "/Applications/Microsoft Communicator.app", 2490 | "version": "13.0.0" 2491 | }, 2492 | { 2493 | "name": "Microsoft Database Daemon.app", 2494 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Database Daemon.app", 2495 | "version": "14.6.6" 2496 | }, 2497 | { 2498 | "name": "Microsoft Database Utility.app", 2499 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Database Utility.app", 2500 | "version": "14.6.6" 2501 | }, 2502 | { 2503 | "name": "Microsoft Document Connection.app", 2504 | "path": "/Applications/Microsoft Office 2011/Microsoft Document Connection.app", 2505 | "version": "14.6.6" 2506 | }, 2507 | { 2508 | "name": "Microsoft Excel.app", 2509 | "path": "/Applications/Microsoft Office 2011/Microsoft Excel.app", 2510 | "version": "14.6.6" 2511 | }, 2512 | { 2513 | "name": "Microsoft Graph.app", 2514 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Graph.app", 2515 | "version": "14.6.6" 2516 | }, 2517 | { 2518 | "name": "Microsoft Language Register.app", 2519 | "path": "/Applications/Microsoft Office 2011/Additional Tools/Microsoft Language Register/Microsoft Language Register.app", 2520 | "version": "14.6.6" 2521 | }, 2522 | { 2523 | "name": "Microsoft Office Reminders.app", 2524 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Office Reminders.app", 2525 | "version": "14.6.6" 2526 | }, 2527 | { 2528 | "name": "Microsoft Office Setup Assistant.app", 2529 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Office Setup Assistant.app", 2530 | "version": "14.0.0" 2531 | }, 2532 | { 2533 | "name": "Microsoft Outlook.app", 2534 | "path": "/Applications/Microsoft Office 2011/Microsoft Outlook.app", 2535 | "version": "14.6.6" 2536 | }, 2537 | { 2538 | "name": "Microsoft PowerPoint.app", 2539 | "path": "/Applications/Microsoft Office 2011/Microsoft PowerPoint.app", 2540 | "version": "14.6.6" 2541 | }, 2542 | { 2543 | "name": "Microsoft Query.app", 2544 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Query.app", 2545 | "version": "12.0.0" 2546 | }, 2547 | { 2548 | "name": "Microsoft Upload Center.app", 2549 | "path": "/Applications/Microsoft Office 2011/Office/Microsoft Upload Center.app", 2550 | "version": "14.6.6" 2551 | }, 2552 | { 2553 | "name": "Microsoft Word.app", 2554 | "path": "/Applications/Microsoft Office 2011/Microsoft Word.app", 2555 | "version": "14.6.6" 2556 | }, 2557 | { 2558 | "name": "Migration Assistant.app", 2559 | "path": "/Applications/Utilities/Migration Assistant.app", 2560 | "version": "5" 2561 | }, 2562 | { 2563 | "name": "Mission Control.app", 2564 | "path": "/Applications/Mission Control.app", 2565 | "version": "1.2" 2566 | }, 2567 | { 2568 | "name": "My Day.app", 2569 | "path": "/Applications/Microsoft Office 2011/Office/My Day.app", 2570 | "version": "14.6.6" 2571 | }, 2572 | { 2573 | "name": "naib.app", 2574 | "path": "/Applications/Adobe Fireworks CS5/Configuration/Mac/Shared/AdobeAIR/SDK/lib/nai/lib/naib.app", 2575 | "version": "APP_VERSION2" 2576 | }, 2577 | { 2578 | "name": "naib.app", 2579 | "path": "/Applications/Adobe Flash Builder 4.7/sdks/4.6.0/lib/nai/lib/naib.app", 2580 | "version": "APP_VERSION" 2581 | }, 2582 | { 2583 | "name": "naib.app", 2584 | "path": "/Applications/Adobe Flash CC 2015/AIR17.0/lib/nai/lib/naib.app", 2585 | "version": "APP_VERSION" 2586 | }, 2587 | { 2588 | "name": "naib.app", 2589 | "path": "/Applications/Adobe Flash CS5/AIK2.0/lib/nai/lib/naib.app", 2590 | "version": "APP_VERSION2" 2591 | }, 2592 | { 2593 | "name": "naib.app", 2594 | "path": "/Applications/Adobe Flash CS6/AIR3.2/lib/nai/lib/naib.app", 2595 | "version": "APP_VERSION" 2596 | }, 2597 | { 2598 | "name": "naib.app", 2599 | "path": "/Applications/Adobe Flash CS6/AIR3.4/lib/nai/lib/naib.app", 2600 | "version": "APP_VERSION" 2601 | }, 2602 | { 2603 | "name": "Notes.app", 2604 | "path": "/Applications/Notes.app", 2605 | "version": "2.0" 2606 | }, 2607 | { 2608 | "name": "Numbers.app", 2609 | "path": "/Applications/Numbers.app", 2610 | "version": "3.2" 2611 | }, 2612 | { 2613 | "name": "Office365Service.app", 2614 | "path": "/Applications/Microsoft Office 2011/Office/Office365Service.app", 2615 | "version": "14.6.6" 2616 | }, 2617 | { 2618 | "name": "Open XML for Excel.app", 2619 | "path": "/Applications/Microsoft Office 2011/Office/Open XML for Excel.app", 2620 | "version": "14.6.6" 2621 | }, 2622 | { 2623 | "name": "Pages.app", 2624 | "path": "/Applications/iWork '06/Pages.app", 2625 | "version": "2.0.2" 2626 | }, 2627 | { 2628 | "name": "Pages.app", 2629 | "path": "/Applications/Pages.app", 2630 | "version": "5.2" 2631 | }, 2632 | { 2633 | "name": "PDApp.app", 2634 | "path": "/Applications/Utilities/Adobe Application Manager/core/PDApp.app", 2635 | "version": "10.0.0.49" 2636 | }, 2637 | { 2638 | "name": "Photo Booth.app", 2639 | "path": "/Applications/Photo Booth.app", 2640 | "version": "6.0" 2641 | }, 2642 | { 2643 | "name": "Pixel Bender Toolkit.app", 2644 | "path": "/Applications/Utilities/Adobe Utilities-CS5.localized/Pixel Bender Toolkit 2/Pixel Bender Toolkit.app", 2645 | "version": "n/a" 2646 | }, 2647 | { 2648 | "name": "Preview.app", 2649 | "path": "/Applications/Preview.app", 2650 | "version": "7.0" 2651 | }, 2652 | { 2653 | "name": "QuickTime Player.app", 2654 | "path": "/Applications/QuickTime Player.app", 2655 | "version": "10.3" 2656 | }, 2657 | { 2658 | "name": "Reminders.app", 2659 | "path": "/Applications/Reminders.app", 2660 | "version": "2.0" 2661 | }, 2662 | { 2663 | "name": "Remote Desktop Connection.app", 2664 | "path": "/Applications/Remote Desktop Connection.app", 2665 | "version": "2.1.0" 2666 | }, 2667 | { 2668 | "name": "Safari.app", 2669 | "path": "/Applications/Safari.app", 2670 | "version": "9.1.3" 2671 | }, 2672 | { 2673 | "name": "Self Service.app", 2674 | "path": "/Applications/Self Service.app", 2675 | "version": "9.92.1466020067" 2676 | }, 2677 | { 2678 | "name": "Setup.app", 2679 | "path": "/Applications/Utilities/Adobe Application Manager/D6/Setup.app", 2680 | "version": "9.0.0.65" 2681 | }, 2682 | { 2683 | "name": "Setup.app", 2684 | "path": "/Applications/Utilities/Adobe Application Manager/DECore/Setup.app", 2685 | "version": "9.0.0.65" 2686 | }, 2687 | { 2688 | "name": "Setup.app", 2689 | "path": "/Applications/Utilities/Adobe Application Manager/DWA/Setup.app", 2690 | "version": "5.0.65.0" 2691 | }, 2692 | { 2693 | "name": "SimController.app", 2694 | "path": "/Applications/Adobe Flash CS6/Common/Configuration/Simulator/SimController.app", 2695 | "version": "1.0.1" 2696 | }, 2697 | { 2698 | "name": "Solver.app", 2699 | "path": "/Applications/Microsoft Office 2011/Office/Add-Ins/Solver.app", 2700 | "version": "1.0" 2701 | }, 2702 | { 2703 | "name": "Stickies.app", 2704 | "path": "/Applications/Stickies.app", 2705 | "version": "10.0" 2706 | }, 2707 | { 2708 | "name": "Suitcase Fusion 5.app", 2709 | "path": "/Applications/Suitcase Fusion 5.app", 2710 | "version": "16.2.5" 2711 | }, 2712 | { 2713 | "name": "SupportMenu.app", 2714 | "path": "/Applications/SupportMenu.app", 2715 | "version": "3.0.5.1978" 2716 | }, 2717 | { 2718 | "name": "SyncServicesAgent.app", 2719 | "path": "/Applications/Microsoft Office 2011/Office/SyncServicesAgent.app", 2720 | "version": "14.6.6" 2721 | }, 2722 | { 2723 | "name": "System Information.app", 2724 | "path": "/Applications/Utilities/System Information.app", 2725 | "version": "10.9.1" 2726 | }, 2727 | { 2728 | "name": "System Preferences.app", 2729 | "path": "/Applications/System Preferences.app", 2730 | "version": "13.0" 2731 | }, 2732 | { 2733 | "name": "Template.app", 2734 | "path": "/Applications/Adobe Fireworks CS5/Configuration/Mac/Shared/AdobeAIR/SDK/runtimes/air/mac/Adobe AIR.framework/Versions/1.0/Resources/Template.app", 2735 | "version": "2.0" 2736 | }, 2737 | { 2738 | "name": "Template.app", 2739 | "path": "/Applications/Adobe Flash Builder 4.7/sdks/4.6.0/runtimes/air/mac/Adobe AIR.framework/Versions/1.0/Resources/Template.app", 2740 | "version": "3.1" 2741 | }, 2742 | { 2743 | "name": "Template.app", 2744 | "path": "/Applications/Adobe Flash CC 2015/AIR17.0/runtimes/air/mac/Adobe AIR.framework/Versions/1.0/Resources/Template.app", 2745 | "version": "17.0" 2746 | }, 2747 | { 2748 | "name": "Template.app", 2749 | "path": "/Applications/Adobe Flash CS5/AIK2.0/runtimes/air/mac/Adobe AIR.framework/Resources/Template.app", 2750 | "version": "2.0.1" 2751 | }, 2752 | { 2753 | "name": "Template.app", 2754 | "path": "/Applications/Adobe Flash CS5/AIK2.0/runtimes/air/mac/Adobe AIR.framework/Versions/1.0/Resources/Template.app", 2755 | "version": "2.0.1" 2756 | }, 2757 | { 2758 | "name": "Template.app", 2759 | "path": "/Applications/Adobe Flash CS5/AIK2.0/runtimes/air/mac/Adobe AIR.framework/Versions/Current/Resources/Template.app", 2760 | "version": "2.0.1" 2761 | }, 2762 | { 2763 | "name": "Template.app", 2764 | "path": "/Applications/Adobe Flash CS6/AIR3.2/runtimes/air/mac/Adobe AIR.framework/Versions/1.0/Resources/Template.app", 2765 | "version": "3.2" 2766 | }, 2767 | { 2768 | "name": "Template.app", 2769 | "path": "/Applications/Adobe Flash CS6/AIR3.4/runtimes/air/mac/Adobe AIR.framework/Versions/1.0/Resources/Template.app", 2770 | "version": "3.4" 2771 | }, 2772 | { 2773 | "name": "Terminal.app", 2774 | "path": "/Applications/Utilities/Terminal.app", 2775 | "version": "2.4" 2776 | }, 2777 | { 2778 | "name": "TextEdit.app", 2779 | "path": "/Applications/TextEdit.app", 2780 | "version": "1.9" 2781 | }, 2782 | { 2783 | "name": "Time Machine.app", 2784 | "path": "/Applications/Time Machine.app", 2785 | "version": "1.3" 2786 | }, 2787 | { 2788 | "name": "Toolkit.app", 2789 | "path": "/Applications/Toolkit.app", 2790 | "version": "4.1.7009" 2791 | }, 2792 | { 2793 | "name": "Traffic.app", 2794 | "path": "/Applications/Traffic.app", 2795 | "version": "12.0.0" 2796 | }, 2797 | { 2798 | "name": "Uninstall Product.app", 2799 | "path": "/Applications/Utilities/Adobe Application Manager/DECore/DE5/resources/uninstall/Uninstall Product.app", 2800 | "version": "5.0.65.0" 2801 | }, 2802 | { 2803 | "name": "Uninstall Product.app", 2804 | "path": "/Applications/Utilities/Adobe Application Manager/DECore/DE6/resources/uninstall/Uninstall Product.app", 2805 | "version": "9.0.0.65" 2806 | }, 2807 | { 2808 | "name": "Uninstaller.app", 2809 | "path": "/Applications/Utilities/Adobe Creative Cloud/HDCore/Uninstaller.app", 2810 | "version": "3.8.0.310" 2811 | }, 2812 | { 2813 | "name": "UpgradeXScanUtility.app", 2814 | "path": "/Applications/Xerox/Xerox Scan Utility/UpgradeXScanUtility.app", 2815 | "version": "0.0.2" 2816 | }, 2817 | { 2818 | "name": "VoiceOver Utility.app", 2819 | "path": "/Applications/Utilities/VoiceOver Utility.app", 2820 | "version": "6.0" 2821 | }, 2822 | { 2823 | "name": "Wacom Desktop Center.app", 2824 | "path": "/Applications/Wacom Tablet.localized/Wacom Desktop Center.app", 2825 | "version": "Wacom Desktop Center 6.3.8-2" 2826 | }, 2827 | { 2828 | "name": "Wacom Display Settings.app", 2829 | "path": "/Applications/Wacom Tablet.localized/Wacom Display Settings.app", 2830 | "version": "1.0.6" 2831 | }, 2832 | { 2833 | "name": "Wacom Tablet Utility.app", 2834 | "path": "/Applications/Wacom Tablet.localized/Wacom Tablet Utility.app", 2835 | "version": "v6.3.8-2" 2836 | }, 2837 | { 2838 | "name": "Web Gallery.app", 2839 | "path": "/Applications/Adobe Illustrator CC 2015/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Web Gallery.localized/Web Gallery.app", 2840 | "version": "n/a" 2841 | }, 2842 | { 2843 | "name": "Web Gallery.app", 2844 | "path": "/Applications/Adobe Illustrator CS5/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Web Gallery.localized/Web Gallery.app", 2845 | "version": "n/a" 2846 | }, 2847 | { 2848 | "name": "Web Gallery.app", 2849 | "path": "/Applications/Adobe Illustrator CS6/Scripting.localized/Sample Scripts.localized/AppleScript.localized/Web Gallery.localized/Web Gallery.app", 2850 | "version": "n/a" 2851 | }, 2852 | { 2853 | "name": "X11.app", 2854 | "path": "/Applications/Utilities/X11.app", 2855 | "version": "1.0" 2856 | }, 2857 | { 2858 | "name": "Xerox Scan Utility.app", 2859 | "path": "/Applications/Xerox/Xerox Scan Utility/Xerox Scan Utility.app", 2860 | "version": "1.0" 2861 | }, 2862 | { 2863 | "name": "XPSLauncher.app", 2864 | "path": "/Applications/Xerox/PrintingScout/XPSLauncher.app", 2865 | "version": "1.0" 2866 | }, 2867 | { 2868 | "name": "XPSUi.app", 2869 | "path": "/Applications/Xerox/PrintingScout/XPSUi.app", 2870 | "version": "2.0.9" 2871 | } 2872 | ], 2873 | "fonts": [ 2874 | 2875 | ], 2876 | "plugins": [ 2877 | 2878 | ] 2879 | }, 2880 | "extension_attributes": [ 2881 | { 2882 | "id": 82, 2883 | "name": "[1] Contact Address", 2884 | "type": "String", 2885 | "value": "demo@example.com" 2886 | }, 2887 | { 2888 | "id": 93, 2889 | "name": "[A] Hardware - Current Uptime", 2890 | "type": "String", 2891 | "value": "13 days" 2892 | }, 2893 | { 2894 | "id": 23, 2895 | "name": "[A] Hardware - Kernel Panics", 2896 | "type": "Number", 2897 | "value": "0" 2898 | }, 2899 | { 2900 | "id": 27, 2901 | "name": "[A] Memory - General Errors", 2902 | "type": "String", 2903 | "value": "OK" 2904 | }, 2905 | { 2906 | "id": 26, 2907 | "name": "[A] Power-On Self Test Errors", 2908 | "type": "String", 2909 | "value": "Passed" 2910 | }, 2911 | { 2912 | "id": 91, 2913 | "name": "Battery Cycle Count", 2914 | "type": "Number", 2915 | "value": "74" 2916 | }, 2917 | { 2918 | "id": 28, 2919 | "name": "Battery Health Status", 2920 | "type": "String", 2921 | "value": "OK" 2922 | } 2923 | ], 2924 | "groups_accounts": { 2925 | "computer_group_memberships": [ 2926 | "[BCKP] CrashPlan PROe", 2927 | "[POLICY] Policies Package", 2928 | "[APPS] GoToMeeting", 2929 | "[APPS] Slack", 2930 | "[RC] Automatic Patching Enabled", 2931 | "[PRINT] Printer Drivers" 2932 | ], 2933 | "local_accounts": [ 2934 | { 2935 | "name": "_coreaudiod", 2936 | "realname": "Core Audio Daemon", 2937 | "uid": "202", 2938 | "home": "/var/empty", 2939 | "home_size": "20MB", 2940 | "home_size_mb": 20, 2941 | "administrator": false, 2942 | "filevault_enabled": false 2943 | }, 2944 | { 2945 | "name": "_mysql", 2946 | "realname": "MySQL Server", 2947 | "uid": "74", 2948 | "home": "/var/empty", 2949 | "home_size": "20MB", 2950 | "home_size_mb": 20, 2951 | "administrator": false, 2952 | "filevault_enabled": false 2953 | }, 2954 | { 2955 | "name": "_postgres", 2956 | "realname": "PostgreSQL Server", 2957 | "uid": "216", 2958 | "home": "/var/empty", 2959 | "home_size": "20MB", 2960 | "home_size_mb": 20, 2961 | "administrator": false, 2962 | "filevault_enabled": false 2963 | }, 2964 | { 2965 | "name": "_softwareupdate", 2966 | "realname": "Software Update Service", 2967 | "uid": "200", 2968 | "home": "/var/empty", 2969 | "home_size": "20MB", 2970 | "home_size_mb": 20, 2971 | "administrator": false, 2972 | "filevault_enabled": false 2973 | }, 2974 | { 2975 | "name": "daemon", 2976 | "realname": "System Services", 2977 | "uid": "1", 2978 | "home": "/var/root", 2979 | "home_size": "69MB", 2980 | "home_size_mb": 69, 2981 | "administrator": false, 2982 | "filevault_enabled": false 2983 | }, 2984 | { 2985 | "name": "admin", 2986 | "realname": "admin", 2987 | "uid": "0", 2988 | "home": "", 2989 | "home_size": "-1MB", 2990 | "home_size_mb": -1, 2991 | "administrator": false, 2992 | "filevault_enabled": false 2993 | }, 2994 | { 2995 | "name": "manager", 2996 | "realname": "manager", 2997 | "uid": "80", 2998 | "home": "/private/var/manager", 2999 | "home_size": "8MB", 3000 | "home_size_mb": 8, 3001 | "administrator": true, 3002 | "filevault_enabled": false 3003 | }, 3004 | { 3005 | "name": "nobody", 3006 | "realname": "Unprivileged User", 3007 | "uid": "-2", 3008 | "home": "/var/empty", 3009 | "home_size": "20MB", 3010 | "home_size_mb": 20, 3011 | "administrator": false, 3012 | "filevault_enabled": false 3013 | }, 3014 | { 3015 | "name": "root", 3016 | "realname": "System Administrator", 3017 | "uid": "0", 3018 | "home": "/var/root", 3019 | "home_size": "69MB", 3020 | "home_size_mb": 69, 3021 | "administrator": true, 3022 | "filevault_enabled": false 3023 | } 3024 | ] 3025 | }, 3026 | "iphones": [ 3027 | 3028 | ], 3029 | "configuration_profiles": [ 3030 | { 3031 | "id": -2, 3032 | "name": "", 3033 | "uuid": "", 3034 | "is_removable": true 3035 | } 3036 | ] 3037 | } 3038 | } 3039 | --------------------------------------------------------------------------------